tcp三次握手 四次挥手

tcp三次握手中,客户端第一个syn包中途丢包了,怎么办?

  • 客户端会周期性超时重新发送数据包

tcp三次握手中,服务端第二个syn+ack包中途丢包了,怎么办?

  • 服务端会周期性超时重新发送数据包

tcp三次握手中,客户端第三个ack包中途丢包了,怎么办?
此事客户端已处于建立连接阶段,服务端还没建立连接

  • 情况一:服务端会周期性重新数据包,直到接收到客户端的ack包
    -情况二:客户端直接发送data+ack,这种情况服务端接收到ack也会建立连接
image.png

为什么是三次握手,而不是两次或者四次?

  • 二次握手双方未能都建立连接。比如以前用信寄钱,我给你寄钱(第一次握手),你收到了给我回信说收到钱了(第二次握手)。我知道你收到钱了,但是你不知道我是否有收到你的回信,你怕我没有收到而担心,因此我需要给你回信(第三次握手)让你安心。
  • 三次可以满足需求,没必要四次,造成资源的浪费。

四次挥手,服务端和客户端关闭之前都会等待2MLS,为什么要等待2MLS(2 * 最大报文生命时间)

-- 服务端发送FIN+ACK耗时1MLS,客户端发送ACK耗时1MLS,2MLS内服务端没有收到客户端的ACK,就会重传数据包
-- 客户端发送完ACK后,等到2MLS内没有收到任何数据包,表示服务端已经关闭了,那客户端就可以关闭了。

image.png

--------------------资料---------------------

TCP三次握手和四次挥手 | 对线面试官 (gitee.io)

(18条消息) 两张动图-彻底明白TCP的三次握手与四次挥手qzcsu的博客-CSDN博客三次握手四次挥手详解

简说linux的个人空间_哔哩哔哩_bilibili

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容