TCP之2MSL

1.TCP之2MSL

1.1 MSL

MSL:Maximum Segment Lifetime报文段最大生存时间,它是任何报文段被丢弃前在网络内的最长时间

  • 为什么存在MSL

TCP报文段以IP数据报在网络内传输,而IP数据报则有限制其生存时间的TTL字段,并且TTL的限制是基于跳数

  • MSL大小定义

RFC文档中规定为2分钟,但是实际实现过程中,MSL一般为:30秒、1分钟、2分钟

1.2 何为2MSL状态

在TCP调用connect建立socket的连接后,主动关闭socket连接的过程中有一个状态为Time_Wait(也就是2MSL等待机制,需要停留2MSL的时间),具体见下面的图:

在这里插入图片描述

  • 什么时候有2MSL状态

只有主动关闭socket连接的时候才有此状态,并且在2MSL等待期间,定义这个连接的Socket Pair(客户的IP地址和端口号,服务器的IP地址和端口号)不能再被使用

1.3 2MSL机制作用

保证了最后一个ACK发送给被动关闭端,确保连接双方关闭完成,如果没有该机制,最后一个ACK丢失后会出现半连接的状态

发布了100 篇原创文章 · 获赞 42 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/Hh20161314/article/details/100119253