TCP四次挥手

如下图:TCP4次挥手过程
Q1: TCP四次挥手中的第三次挥手为什么需要发送ACK & ack?
Q2: 第三次挥手中的ack和第二次挥手中的ack一定一致吗?

clipboard.png

图片来源

阅读 2.5k
2 个回答

A1:
我觉得是为了防止挥手2没有传输成功,如果挥手3不带ACK,那么会导致左边进入CLOSING状态,参考
关于TCP的CLOSING状态和CLOSE_WAIT状态浅析

A2:一致。因为左边发送FIN之后不会再发数据报文了,不会有新的seq了

谢邀。
A1:ack的值等于上次请求的seq+1,表示对该请求的应答,ACK为1时,ack字段才有效 ,所以必须要有ACK & ack
A2:一致。前面说了ack的值上次请求的seq+1,由于客户端已经挥手(第一次挥手),则意味着,在服务端发出第二次和第三次挥手之间,客户端不会再有请求发过来,那第二次和第三次挥手的ack的值自然都一致

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题