网络术语MSL/TTL/RTT

来源:互联网 发布:windows develop 编辑:程序博客网 时间:2024/05/29 09:56

MSL(Maximum Segment Lifetime)最大报文生存时间

        每个TCP实现必须选择一个MSL。它是任何报文段被丢弃前在网络内的最长时间。这个时间是有限的,因为TCP报文段以IP数据报在网络内传输,而IP数据报则有限制其生存时间的TTL时间。RFC 793指出MSL为2分钟,现实中常用30秒或1分钟

2MSL

        当TCP执行主动关闭,并发出最后一个ACK,该链接必须在TIME_WAIT状态下停留的时间为2MSL。这样可以(1)让TCP再次发送最后的ACK以防这个ACK丢失(被动关闭的一方超时并重发最后的FIN);保证TCP的可靠的全双工连接的终止。(2)允许老的重复分节在网络中消失。参考文章《unix网络编程》(3)TCP连接的建立和终止 在TIME_WAIT状态 时两端的端口不能使用,要等到2MSL时间结束才可继续使用。当连接处于2MSL等待阶段时任何迟到的报文段都将被丢弃。不过在实际应用中可以通过设置 SO_REUSEADDR选项达到不必等待2MSL时间结束再使用此端口。


TTL(time-to-live)生存时间字段

        在IP首部中的8位字段。该字段不是存的具体时间,而是设置了数据报可以经过的最多路由器数。它制定了数据报的生存时间。TTL的初始值由源主机设置(通常为32或64),一旦经过一个处理它的路由器,它的值就减去1.当该字段值为0时,数据报就被丢弃,并发送ICMP报文通知源主机。


RTT(round-trip-time)往返时间

       TCP超时与重传中最重要的部分就是对一个给定连接的往返时间RTT的测量。由于路由器和网络流量均会变化,因此这个时间可能经常会变化,TCP应该跟踪这些变化并相应地改变其超时时间。

0 0