TCP 2MLS

MSL背景

TCP建立连接三次握手,断开连接四次分手。

image

如上图所示,在四次分手过程,TIME_WAIT状态也被叫做2MSL等待状态。

MSL,the maximum segment lifetime。segment可以在网络中存活的最长时间,超过这个时间会被丢弃。这个时间限制是有界限的,TCP Segment通过IP datagrams进行传输,IP datagrams使用ttl属性来定义这个时间。

MSL定义的规则如下:在TIME_WAIT状态下,客户端发出ACK以后需要等待2个MSL的时间。假如ACK在传输中丢失,服务端会重新发送FIN,客户端收到以后会重新发ACK。假如在2MSL时间中客户端都没有收到服务端重发的FIN,那么认为服务端已经收到了客户端发送的ACK。此时客户端可以安全断开连接。

为什么是2MSL?

客户端发送的ACK segment存活期1MSL,服务端重发FIN segment存活期1MSL,加一起2MSL。2MSL是一个临界值,利用尽量大的等待时间来确保TCP连接断开的可靠性。

引用

TCP/IP详解卷1

猜你喜欢

转载自blog.csdn.net/rambomatrix/article/details/78143299
tcp
今日推荐