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

TCP/IP 3握手4挥手

时间:2017-01-12 11:02:22      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:需要   sync   时间   strong   技术分享   ima   blog   释放   分享   

转:摘自《图解TCP/IP》P204

三次握手与四次挥手的状态转移图如下:

技术分享

如图,由于第二次握手接收端发送SYN+ACK信号所以握手只用了三次,挥手由于接收端ACK和FIN分两次发的,所以挥手需要四次

最后接收端需要一个TIME_WAIT状态,如果TCP client端最后一次发送的ACK丢失了,它将重新发送。TIME_WAIT状态中所需要的时间是依赖于实现方法的。典型的值为30秒、1分钟和2分钟。等待之后连接正式关闭,并且所有的资源(包括端口号)都被释放。

整个Client(发送端)状态图如下:

技术分享

整个Server(接收端)状态图如下:

技术分享

 

处在SYNC_RECV的TCP连接称为半连接,并存储在内核的半连接队列中,在内核收到对端发送的ack包时会查找半连接队列,并将符合的requst_sock信息存储到完成三次握手的连接的队列中,然后删除此半连接。

TCP/IP 3握手4挥手

标签:需要   sync   时间   strong   技术分享   ima   blog   释放   分享   

原文地址:http://www.cnblogs.com/luntai/p/6275291.html

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