社区
网络编程
帖子详情
tcp 的 2MSL状态 究竟指哪两个数据包的MSL?
shark_boss
2013-11-05 04:48:18
tcp 的 2MSL状态 究竟指哪两个数据包的MSL?
...全文
364
3
打赏
收藏
tcp 的 2MSL状态 究竟指哪两个数据包的MSL?
tcp 的 2MSL状态 究竟指哪两个数据包的MSL?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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数据包的
TCP
的TIME_WAIT
状态
为什么要等待
2
MSL
的时长
TIME_WAIT
状态
之后为什么要经过
2
MSL
(
2
MSL
,即
两个
最大报文段生存时间)的时长后才进入CLOSED
状态
,为什么不直接进入CLOSED
状态
? 因为客户端发送的第四次挥手的ACK
数据包
,服务端可能没有收到,那么服务端会在等待一...
说一下什么是
tcp
的
2
MSL
,为什么客户端在 TIME-WAIT
状态
必须等待
2
MSL
的时间?
说一下什么是
tcp
的
2
MSL
,为什么客户端在 TIME-WAIT
状态
必须等待
2
MSL
的时间?
TCP
中的
2
MSL
详解
MSL
是一个
TCP
段在网络中可以存活的最长时间,
2
MSL
就是两倍的这个时间。让网络中的
TCP
报文段自然消失。防止"老"
数据包
在网络中滞留。
TCP
的四次挥手中的等待
2
MSL
如果说主动关闭方发送ack包给被动关闭方,被动关闭方没有收到请求,就会请求主动关闭方重传这个
数据包
,等待
2
MSL
是说如果遇到这种
数据包
的丢失,还可以重传
数据包
。 如果不等待
2
MSL
的话,遇到
数据包
丢失,就不可以...
TCP
四次挥手中为什么 TIME_WAIT 等待的时间是
2
MSL
?
TIME_WAIT 等待 2 倍的
MSL
,比较合理的解释是...比如,若 ACK 在一个
MSL
内丢失,这样被动方重发的 FIN 会在第 2 个
MSL
内到达,TIME_WAIT
状态
的连接可以应对。因为
TCP
报文基于是 IP 协议的,而 IP 头中有一个。
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章