如下图:TCP4次挥手过程
Q1: TCP四次挥手中的第三次挥手为什么需要发送ACK & ack?
Q2: 第三次挥手中的ack和第二次挥手中的ack一定一致吗?
谢邀。
A1:ack
的值等于上次请求的seq
+1,表示对该请求的应答,ACK
为1时,ack
字段才有效 ,所以必须要有ACK & ack
A2:一致。前面说了ack
的值上次请求的seq
+1,由于客户端已经挥手(第一次挥手),则意味着,在服务端发出第二次和第三次挥手之间,客户端不会再有请求发过来,那第二次和第三次挥手的ack
的值自然都一致。
7 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
1 回答1.1k 阅读
986 阅读
792 阅读
A1:
我觉得是为了防止挥手2没有传输成功,如果挥手3不带ACK,那么会导致左边进入CLOSING状态,参考
关于TCP的CLOSING状态和CLOSE_WAIT状态浅析
A2:一致。因为左边发送FIN之后不会再发数据报文了,不会有新的seq了