码迷,mamicode.com
首页 > 其他好文 > 详细

TCP状态变迁流程

时间:2014-06-30 13:11:44      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   使用   2014   line   

主动建立TCP链接情况:

bubuko.com,布布扣

被动建立TCP链接情况

bubuko.com,布布扣

 

主动断开链接的情况

bubuko.com,布布扣

被动断开连接的情况

bubuko.com,布布扣

在TIME_WAIT阶段需要停留2倍的MSL,MSL即Maximum Segment Lifetime,表示任何报文被丢弃前在网络内的最长时间,TCP/IP详解中额外注解了:RFC793指出MSL为2min,然而实现中常用的值是30s,1min或2min。如此处理的原因是:当TCP之行一个主动关闭,并发回最后一个ACK,该连接必须在TIME_WAIT状态停留的时间为2被的MSL,这样可让TCP再次发送最后的ACK,以防这个ACK丢失(另一端超时并重发最后的FIN)。

 

这种2被的MSL等待的另外一个结果是:在TIME_WAIT期间,连接所使用的socket(SIP:SPORT:DIP:DPORT)不能再被使用,只能在2MSL之后才能被使用。但对于本地的IP:DPORT,可以设置socket的SO_REUSEADR选项绕过这个限制,这也是现在服务端之行监听的socket通常会设置SO_REUSEADDR选项的原因。

处于TIME_WAIT阶段时,该链接上任何迟到的报文都将被丢弃。

 

TCP状态变迁流程,布布扣,bubuko.com

TCP状态变迁流程

标签:style   blog   http   使用   2014   line   

原文地址:http://www.cnblogs.com/lanyuliuyun/p/3813637.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!