Tcp链接状态说明


CLOSED:无链接是活动的或正在进行
 LISTEN:服务器在等待进入呼叫
 SYN_RECV:一个链接请求已经到达,等待确认
 SYN_SENT:应用已经开始,打开一个链接
 ESTABLISHED:正常数据传输状态
 FIN_WAIT1:应用说它已经完成
 FIN_WAIT2:另外一边已赞成释放
 ITMED_WAIT:等待全部分组死掉
 CLOSING:两边同时尝试关闭
 TIME_WAIT:另外一边已初始化一个释放
 LAST_ACK:等待全部分组死掉
服务器

TIME_WAIT:ide

1.防止上一次链接中的包,迷路后从新出现,影响新链接(通过2MSL,上一次链接中全部的重复包都会消失)
2.可靠的关闭TCP链接。在主动关闭方发送的最后一个 ack(fin) ,有可能丢失,这时被动方会从新发fin, 若是这时主动方处于 CLOSED 状态 ,就会响应 rst 而不是 ack。因此主动方要处于 TIME_WAIT 状态,而不能是 CLOSED 。另外这么设计TIME_WAIT 会定时的回收资源,并不会占用很大资源的,除非短期内接受大量请求或者受到***。
设计

相关文章
相关标签/搜索