【转载】TCP中的2MSL详解
TCP中的2MSL时间
2MSL(Maximum Segment Lifetime)时间是TCP协议中一个非常重要的参数。MSL是一个TCP段在网络中可以存活的最长时间,2MSL就是两倍的这个时间。在TCP连接终止时,连接的两个端点需要等待2MSL时间,以确保所有在网络中可能滞留的重复数据段都已经消失。这一过程防止旧的重复段在新的连接中被误识别。
2MSL的计算
1、MSL的值:RFC 793规定的MSL是2分钟,但在实际应用中,常常设置为30秒、1分钟或2分钟,具体时间取决于系统的实现。
2、2MSL时间:根据MSL的值,2MSL时间通常是:
如果MSL为30秒,则2MSL为60秒。
如果MSL为1分钟,则2MSL为2分钟。
如果MSL为2分钟,则2MSL为4分钟。
2ML等待期的作用:
确保最后一个ACK报文段被正确接收:当客户端发送最后一个ACK报文段给服务器,并进入TIME_WAIT状态时,这个ACK可能会在网络中丢失。如果服务器没有收到这个ACK,它会重发FIN报文段。客户端在TIME_WAIT状态等待2MSL可以确保它能够重新发送这个ACK,以防服务器没有收到。
防止"老"数据包在网络中滞留:由于IP数据包可能在网络中滞留(由于路由循环或其他原因) , TIME_WAIT状态确保任何这样的老数据包(比如之前的FIN或ACK)在新的连接建立之前被丢弃。如果一个新的连接立即在原始连接关闭后建立,并且使用了相同的端口号,那么这些老数据包可能会干扰新连接。2MSL的等待期减少了这种可能性。
让网络中的TCP报文段自然消失:2MSL的时间足以让任何在网络中滞留的TCP报文段由于超时而被丢弃。这有助于避免“幽灵”连接或其他由于旧报文段引起的问题。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_62311779/article/details/140314343
版权声明:
作者:SE_Ning
链接:https://www.cnesa.cn/2232.html
来源:CNESA
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论