免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3806 | 回复: 4
打印 上一主题 下一主题

TCP状态机的2MSL Wait state问题。 [复制链接]

论坛徽章:
3
天蝎座
日期:2014-10-25 13:44:312015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:48:31
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-31 23:17 |只看该作者 |倒序浏览
本帖最后由 ilex 于 2010-06-01 07:42 编辑

进入该状态(TIME_WAIT即2MSL),需要等2MSL的定时器再进入CLOSED状态,

TCP/IP I卷描述该状态时,描述大致为“TCP ACTIVE CLOSE,发送了FIN; 收到PASSIVE方的FIN&ACK后,ACTIVE方发送ACK到PASSIVE; 为防止最后一个ACK丢失,而PASSIVE方重传FIN(ACTIVE需要等2*MSL时间,此时为2MSL状态)”

假设,最后一个ACK确实丢失了,PASSIVE也重传了FIN,

此时,ACTIVE收到该重传的FIN后,ACTIVE方的TCP状态?2MSL定时器是不是要重新启动?


图如下:

论坛徽章:
0
2 [报告]
发表于 2010-05-31 23:59 |只看该作者
应该是要重新计时吧,但如果再丢失的话,PASSIVE方等待重传FIN的时间是不是延长了好多,将导致ACTIVE方等到2MSL后就完全关闭这个连接?期待详解。我对这方面也不是很了解,如果有误答,望指正。

论坛徽章:
0
3 [报告]
发表于 2010-06-01 07:47 |只看该作者
http://www.faqs.org/rfcs/rfc793.html
协议里面有描述的:
TIME-WAIT STATE The only thing that can arrive in this state is a retransmission of the remote FIN. Acknowledge it, and restart the 2 MSL timeout.

论坛徽章:
0
4 [报告]
发表于 2010-06-01 09:29 |只看该作者
所以原来freebsd 有个bug, 防火墙没设定好,会不停的ack 给 端口。导致这个端口关不掉。 就是这个原因啊。

论坛徽章:
3
天蝎座
日期:2014-10-25 13:44:312015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:48:31
5 [报告]
发表于 2010-06-01 20:27 |只看该作者
协议里面有描述的:
TIME-WAIT STATE The only thing that can arrive in this state is a retransmissi ...
xiexiecn 发表于 2010-06-01 07:47




明白了,多谢~~


以后继续请教。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP