社区
网络编程
帖子详情
tcp 的 2MSL状态 究竟指哪两个数据包的MSL?
shark_boss
2013-11-05 04:48:18
tcp 的 2MSL状态 究竟指哪两个数据包的MSL?
...全文
403
3
打赏
收藏
tcp 的 2MSL状态 究竟指哪两个数据包的MSL?
tcp 的 2MSL状态 究竟指哪两个数据包的MSL?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shark_boss
2013-11-07
打赏
举报
回复
一个MSL为ack的MSL,第二个MSL为FIN的MSL,只是如果这两个数据包中途都丢失怎么办?主动关闭方经过2MSL后变为CLOSED状态,被动关闭方还处在LAST_ACK状态,还一直在重发FIN么?那这个重发的FIN会影响后续的相同四元组连接吧,这样来看,不能完全安全的关闭tcp连接呀
shark_boss
2013-11-05
打赏
举报
回复
大家积极参与呀///
shark_boss
2013-11-05
打赏
举报
回复
我的理解是这样的: 主动关闭方发送最后的ACK后有可能经过较长时间到达被动关闭方(或者丢失了),此时被动关闭方因为超时而重传FIN,这个超时时间应该远远小于MSL,所以第一个MSL应该是重传的FIN,第二个MSL应该是对重传的FIN的ACK数据包的
18.6.1
2
MSL
等待
状态
本文详细探讨了
TCP
协议中的
2
MSL
等待
状态
,这是为了确保
数据包
在网络中彻底消失,防止旧的重复数据影响新的连接。了解这个
状态
对于理解
TCP
连接的生命周期至关重要。
说一下什么是
tcp
的
2
MSL
,为什么客户端在 TIME-WAIT
状态
必须等待
2
MSL
的时间?
本文解释了
TCP
中的
MSL
(报文段最大生存时间)及其在
2
MSL
状态
中的应用,强调了
2
MSL
机制在确保连接完整关闭和防止
数据包
混淆中的关键作用。
为什么TIME_WAIT
状态
是
2
MSL
?(2个原因)
本文深入解析
TCP
连接终止过程中TIME_WAIT
状态
为何设定为
2
MSL
,探讨其与全双工连接终止及旧
数据包
在网络中消失的关系。分析了超时重传时间RTO与
MSL
之间的联系,解释了在最坏情况下TIME_WAIT
状态
为
2
MSL
的必要性。
聊聊 IP packet 的 TTL 与
tcp
segment 的
MSL
本文探讨了IP packet的TTL字段和
TCP
segment的
MSL
概念,它们决定了
数据包
在网络中的生存时间。TTL限制了
数据包
能经过的最大路由数,而
MSL
是
TCP
报文段的最大生存时间。在Linux中,
MSL
默认为30s。
TCP
四次挥手过程中,TIME_WAIT
状态
等待
2
MSL
是为了确保连接可靠关闭,防止旧连接报文段干扰新连接。推荐了深入学习网络知识的相关资料。
tcp
四次挥手为什么要等待
2
MSL
本文深入探讨了
TCP
连接中TIME_WAIT
状态
存在的
两个
关键原因:避免资源浪费和确保新旧连接
数据包
不混淆。通过解释TIME_WAIT
状态
的作用,帮助读者理解为何需要等待2倍的
MSL
时间,以确保上次连接的所有数据在网络中消失,防止与新连接的
数据包
发生混淆。
网络编程
18,356
社区成员
64,161
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章