MSL(报文最大生存时间)是 TCP 报文在网络中的最大生存时间。这个值与 IP 报文头的 TTL 字段有密切的关系。我们假设最大跳数的报文在网络中存活的时间不可能超过 MSL 秒。Linux 的套接字实现假设 MSL 为 30 秒,因此在 Linux 机器上 TIME_WAIT 状态将持续 60秒。 TIME-WAIT状态唯一可能收到的是服务端发送的...
51CTO博客已为您找到关于tcp msl多久的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及tcp msl多久问答内容。更多tcp msl多久相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
MSL 是 Maximum Segment Lifetime,即报文最长生存时间,RFC 793 定义的 MSL 时间是 2 分钟,Linux 实际实现是 30s,那么 2MSL 是一分钟。那么为什么要等 2MSL 呢?
默认值为2分钟或30秒。TIME_WAIT的默认值是MSL的2倍,持续时间介于1到4分钟之间。MSL是IP数据包在网络中生存的最长时间。 存在TIME_WAIT的两个原因:1。终止可靠的TCP全双工连接2.允许旧的重复数据包在网络中消失 TCP必须防止在连接终止之后再现连接的旧重复分组,并且被误解为相同连接的实施例。如果TIME_WAIT足够长...
TIME_WAIT时间应该持续多久?: 这个加倍等待时间取决于RTO, 而RTO取决于链路的RTT。这里常使用指数退避算法来使RTO值比上次重传的值更大来实现。RFC 793 指出MSL为2分钟, TIME_WAIT时间为2MSL。然而,实现中的常用值是30秒,1分钟, 或2分钟。 总结下第一个用途如下: ...
MSL是 Maximum Segment Lifetime,包的最大生存时间。超过这个时间,这个包就会丢掉。主动关闭的一方最后一次发送ACK报文,不一定能到达对端,如果没有到达对端,那么对端就有可能继续发送数据过来,这时本端就不能关闭连接;2个MSL的意思就是,网络中数据包的发送被对端接收后 对端又回复了响应报文,所以一来一回需要2...
因此我们把网络包的最长生存时间(MSL)小于4.55小时,因此我们可以认为ISN是唯一的。对于每个连接都有发送序列号和接收序列号,初始发送序列号(ISS)由发送TCP选择,而初始接收序列号是在连接建立过程中产生的。 对于将要连接或初始化的连接,两个TCP必须和对方的初始序列号同步。这通过交换一个控制位SYN和初始序列号完成。
我们仔细想一下,这种情况确实会发生,数据分段并不是一个字节一个字节发送出去的,如果存在一个速率为1Gbps的网络,TCP发送端1秒会发送125MB的数据,32位的序列号空间能传输2的32次方个字节,也就是说32秒左右就会发生回绕,我们知道这个值远小于MSL值,因此会发生的。
而一个包在网络中滞留的时间通常是有限的,这个时间我们称之为MSL(Maximum Segment Lifetime),工程实践中一般认为不会超过2分钟。 所以我们一般不用担心本次连接的早期segment(tcp协议称之为 old duplicates)导致的混淆。 注:在家用千兆以太网已经逐渐普及、服务器间开始使用万兆以太网卡的今天,wrap-around的时间已经...