标签:需要 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信息存储到完成三次握手的连接的队列中,然后删除此半连接。
标签:需要 sync 时间 strong 技术分享 ima blog 释放 分享
原文地址:http://www.cnblogs.com/luntai/p/6275291.html