MSL(最大分段生存期)指明TCP报文在Internet上最长生存时间,每个具体的TCP实现都必须选择一个确定的MSL值。RFC 1122建议是2分钟。 TIME_WAIT 状态最大保持时间是2 * MSL,也就是1-4分钟。 IP头部有一个TTL,最大值255。尽管TTL的单位不是秒(根本和时间无
转载 2016-08-16 10:08:00
416阅读
2评论
tcpMSL
原创 2016-05-20 21:44:00
10000+阅读
2MSL即两倍的MSLTCP的TIME_WAIT状态也称为2MSL等待状态当TCP的一端发起主动关闭,在发出最后一个ACK包后即第3次握 手完成后发送了第四次握手的ACK包后就进入了TIME_WAIT状态必须在此状态上停留两倍的MSL时间等待2MSL时间主要目的是怕最后一个 ACK包对方没收到那么对方在超时后将重发第三次握手的FIN包主动关闭端接到重发的FIN包后可以再发一个ACK...
原创 2021-07-07 10:17:08
434阅读
借用一张图(https://blog.csdn.net/xp178171640/article/details/103855714)tcptime_wait等待2MSL有两个原因1:如果最后一个ACK丢失,对端需要重传FIN,如果直接是CLOSED的状态,那对于重传的FIN,肯定是RST响应2:如果重传的FIN经过一个MSL才到对端,为了保证最后一个ACK正常的丢失,而不影响新的连接,还需要再一个
原创 2021-01-05 17:02:51
981阅读
2MSL即两倍的MSLTCP的TIME_WAIT状态也称为2MSL等待状态
原创 2022-03-23 17:29:26
391阅读
一、  msl、ttl及rtt的区别    1、 MSL 是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因为tcp报文 (segment)是ip数据报(datagram)的数据部分,具体称谓请参见《数据在网络各层中的称呼》一文;
原创 2013-02-18 15:54:03
10000+阅读
1点赞
1评论
tcp连接一端在进行完三次握手以后进入ESTABLISHED状态,如果连接的对端在某一时刻在网络中消失,而本端没有感知到,还是处于ESTABLISHED状态,那么本端的连接就被称为半打开连接(Half Open)。连接的对端在网络中消失的情况有好多:例如对端主机突然断电,tcp连接来不及发送任何信息就消失啦。还有,连接路径上的某个nat设备aging-time过期,并且nat port被重用,虽然
MSL,即Maximum Segment Lifetime,一个数据分片(报文)在网络中能够生存的最长时间,在RFC 793中定义MSL通常为2分钟,即超过两分钟即认为这个报文已经在网络中被丢弃了。对于一个TCP连接,在双方进入TIME_WAIT后,通常会等待2倍MSL时间后,再关闭掉连接,作用是为 ...
转载 2021-09-29 08:40:00
387阅读
2评论
MSL是Moisture Sensitivity Level的缩写,是湿气敏感性等级的意思。 MSL的提出
转载 2023-06-06 11:01:41
652阅读
   TCP/IP三次握手四次挥手,是非常重要的,这个链接与关闭过程也是非常easy的。但为什么是三次握手?以及为什么要等待2MSL的状态?大部分人或许听到这个问题就蒙了。这篇博客就综合《TCP/IP具体解释:卷一》来分析一下原因:以下看TCP三次握手四次挥手的原理图:1.为什么要三次握手?     为了避免已失效的连接报文段又到达可server。考虑这样一个正常的情况:   如果TCP连接是两次
原创 2022-01-12 11:25:39
155阅读
了解Tcp的有限状态机,有助于我们理解Tcp的3次握手与四次挥手CLOSED:表示初始状态LISTEN:表示服务器端的某个socket处于监听状态,可以接受连接SYN_SENT:在服务端监听后,客户端socket执行CONNECT连接时,客户端发送SYN报文,此时客户端就进入SYN_SENT状态,等待服务端的确认SYN_RCVD:表示服务端接收到了SYN报文,发送SYN+ACK,当收到客户端的AC
tcp长连接和保活时间 TCP协议中有长连接和短连接之分。短连接在数据包发送完成后就会自己断开,长连接在发包完毕后,会在一定的时间内保持连接,即我们通常所说的Keepalive(存活定时器)功能。  www.2cto.com  默认的Keepalive超时需要7,200,000 milliseconds,即2小时,探测次数为5次。它的功效和用户自己实现的心跳机制是一样
转载 2023-07-09 19:22:30
583阅读
MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因为tcp报文(segment)是ip数据报(datagram)的数据部分,具体称谓请参见《数据在网络各层中的称呼》一文,而ip头中有一个TTL域,TTL是time to live的缩写,中文可以
转载 精选 2013-06-06 23:33:09
1369阅读
一、根据TCP协议,主动发起关闭的一方,会进入TIME_WAIT状态,持续2MSL,RFC 793建议MSL设置为两分钟。为什么time_wait需要2*MSL等待时间?MSL就是maximum segment lifetime(最大分节生命期),这是一个IP数据包能在互联网上生存的最长时间,超过这个时间将在网络中消失。假设最终的 ACK 丢失 , server 将重发 FIN , client
原创 2016-05-24 19:12:02
2072阅读
18.6.1 2MSL等待状态TIME_WAIT 状态也称为2MSL等待状态。每个具体TCP 实现必须选择一个报文段最大生存时间MSL()对一个具体实现所给定的MSL值,处理的原则是:当TCP执行一个主动关闭,...
转载 2020-02-24 13:56:00
141阅读
2评论
当情况为宕机时:首先是keepalive的影响:在没有开启 TCP keepalive,且双方一直没有数据交互的情况下,如果客户端的「主机崩溃」了,会发生什么。客户端主机崩溃了,服务端是无法感知到的,在加上服务端没有开启 TCP keepalive,又没有数据交互的情况下,服务端的 TCP 连接将会一直处于 ESTABLISHED 连接状态,直到服务端重启进程。所以,我们可以得知一个点,在没有使用
为什么上图中的A在TIME-WAIT状态必须等待2MSL时间呢?第一,为了保证A发送的最后一个ACK报文能够到达B。这个ACK报文段有可能丢失,因而使处在LAST-ACK状态的B收不到对已发送的FIN+ACK报文段的确认。
TCP
转载 2021-06-29 14:08:51
1078阅读
18.6.1 2MSL 等待状态 TIME_WAIT 状态也称为2MSL等待状态,每个具体TCP实现必须选择一个报文段最大生存时间MSL它是任何报文段被丢弃前在网络内的最长时间。我们知道这个时间是有限的,因为T...
转载 2020-02-19 16:40:00
155阅读
2评论
为什么上图中的A在TIME-WAIT状态必须等待2MSL时间呢?  第一,为了保证A发送的最后一个ACK报文能够到达B。这个ACK报文段有可能丢失,因而使处在LAST-ACK状态的B收不到对已发送的FIN+ACK报文段的确认。B会超时重传这个FIN+ACK报文段,而A就能在2MSL时间内收到这个重传的FIN+ACK报文段。如果A在TIME-WAIT状态不等待一段时间,而是在发送完ACK报文段后就立
转载 2022-02-17 11:56:36
588阅读
CLOSED:没有使用这个套接字[netstat 无法显示closed状态],也是一种初始状态,TCP连接是“关闭着的”或“未打开的”LISTEN:套接字正在监听连接[调用listen后],表示服务器端的某个SOCKET处于监听状态,可以接受客户端的连接。SYN_SENT:套接字正在试图主动建立连接[发送SYN后还没有收到ACK],很短暂,基本上用netstat很难看到这种状态SYN_RECEIV
转载 9月前
50阅读
  • 1
  • 2
  • 3
  • 4
  • 5