TCP 连接断开时 time_wait 时间是 2min ????

OscerSong 发布于 2013/05/17 19:41
阅读 266
收藏 1
TCP 连接断开时   time_wait 时间是 2min  ????  为啥 啊  
加载中
0
徐长龙
徐长龙
linux内核端口回收慢吧
OscerSong
OscerSong
可以详细点不 谢谢
0
李国刚
李国刚
2msl时延呀!主要是为了处理最后的ack被掉包。等对方重新发送fin。关闭套接字的。
0
OscerSong
OscerSong
这个我知道啊  面试官问我为啥是2min  而不是2min 1s 或者 1min 59s
0
cut
cut
默认设置,4次分手完全可以不等最后那次,反正现在各个协议栈都会有分手超时,肯定死不去的,还有有些芯片可以通过设置keepalive的时间,可以加快这个分手的时间,或者你直接就改分手等的时间。为啥是2min,其实没有什么特别的意义,后面个延迟时间主要是等个fin,关socket的而已,问这样问题的面试官就Tmd什么都不懂装牛逼的Sb。还有这些东西都是死的,活人总不能抱些死东西来究,换着一些Sb客户将网络设备当串口用还装b要用tcp的你试试加个分手延迟会多Sb。
0
CoserSeu
CoserSeu

因为必须持续2MSL(MSL是包最大分节生命期,及在网络中存在的最大时长)时间长度才可以保证最后的ack没掉包。

少一秒无法保证没掉包,多一秒又浪费。

0
CoserSeu
CoserSeu

最后的ACK是主动关闭端发送的,如果该ACK丢失,对方将重发最终的FIN,若不到2MSL便断开连接,主动关闭端将无法收到这可能的FIN。

返回顶部
顶部