上一篇文章已经简单介绍了TCP连接三次握手、四次挥手的原理。 有网友对如何判定TCP报文超时有点疑惑,这里作者按照自己的理解简单阐述一下,如有错误与不足之处,欢迎大家指正和交流。 2*MSL(最长报文段寿命)与报文没有关系,每次客户端或者服务器发出报文之后都会开始计时 2*MSL (除第二次挥手外) ...
分类:
其他好文 时间:
2020-07-26 01:38:31
阅读次数:
149
1. SO_REUSEADDR(端口重用) 服务端主动断开连接以后,需要等 2 个 MSL 以后才最终释放这个连接,重启以后要绑定同一个端口,默认情况下,操作系统的实现都会阻止新的监听套接字绑定到这个端口上。 TCP 连接由四元组唯一确定。{local-ip-address:local-port , ...
分类:
其他好文 时间:
2020-05-10 16:55:22
阅读次数:
77
主要介绍了一些网络面试的常见问题,答案会在后续补充。 一.从输入URL到加载完成,过程 二.osi、tcp/ip模型 三.TCP 1.报文头部 2.三次握手(两次可以吗) 3.四次挥手(msl是什么,为什么设置2msl) 4.SYN攻击 5.滑动窗口 6.拥塞控制 7.TCP和UDP区别 四.应用层 ...
分类:
其他好文 时间:
2020-03-23 11:25:34
阅读次数:
78
Unix 网络编程 传输层部分知识点 TIME_WAIT状态 MSL: maximum segment lifetime 任何TCP的实现都需要为MSL选择一个合适的值, RFC的建议值是2分钟。分组可能出现迷途,若迷途分组在MSL中找到路, 造成重复,TCP必须修复 存在的理由: 1. 可靠的实现 ...
分类:
其他好文 时间:
2020-02-18 14:55:18
阅读次数:
57
一、TCP四次挥手 MSL是TCP报文里面最大生存时间,它是任何报文段被丢弃前在网络内的最长时间。 第一次挥手:A->B,A向B发出释放连接请求的报文,其中FIN(终止位) = 1,seq(序列号)=u;在A发送完之后,A的TCP客户端进入FIN-WAIT-1(终止等待1)状态。此时A还是可以进行收 ...
分类:
其他好文 时间:
2019-10-12 01:13:01
阅读次数:
72
1、使用keep alive连接(待补充) 2、修改tcp参数 根据TCP协议的连接断开规定,发起socket主动关闭的一方,socket将进入TIME_WAIT状态,TIME_WAIT状态将持续2个MSL(Max Segment Lifetime),在Windows下默认为4分钟,即240秒,TI ...
分类:
其他好文 时间:
2019-08-18 11:29:27
阅读次数:
75
最长报文寿命 在TCP协议中,当发送方发送释放连接报文收到确认报文后,只是在一个方向上断开了TCP连接,然后,接收方发送释放连接的报文,发送方回复确认。此时,连接还没有释放,发送方要等待2MSL(maximum segment lifetime——最大的生命周期)后关闭连接。 问题 主动发起关闭连接 ...
分类:
其他好文 时间:
2019-07-19 12:25:18
阅读次数:
204
在终端区范围内(使用QNH的范围),航空器的高度都是用QNH(修改海压高度)表示。 修正海压QNH是指,将场面气压读数,按照标准大气条件修正到平均海平面(MSL)的气压值。 进行修正的原因: 机场附近的障碍物、机场设施等的海拔高度都是按平均海平面修正的的高度。 如果飞机的高度直接采用场面气压来计算, ...
分类:
其他好文 时间:
2019-04-11 12:07:49
阅读次数:
176
TIME_WAIT状态原理 通信双方建立TCP连接后,主动关闭连接的一方就会进入TIME_WAIT状态。 客户端主动关闭连接时,会发送最后一个ack后,然后会进入TIME_WAIT状态,再停留2个MSL时间(后有MSL的解释),进入CLOSED状态。 下图是以客户端主动关闭连接为例,说明这一过程的。 ...
分类:
其他好文 时间:
2019-01-28 17:46:08
阅读次数:
137
close wait是被动关闭那方,time wait是主动关闭连接那方。 四次握手第三次后,也就是主动关闭连接的那方,收到被动关闭那方的fin后,自己直接进入time-wait状态,然后发一个ack给被动那方,经过2*msl时间无论如何都会直接关闭。可以保证对方重发过来的fin消息可以顺利收到,而 ...
分类:
其他好文 时间:
2018-12-30 20:24:30
阅读次数:
210