TCP 三次握手、四次挥手
三次握手:(主要是server、client相互同步系列号)
SYN:同步序列号
ACK:确认序列号
第一次握手:client 向server 发送SYN,seq=x,申请同步client端序列号,client 进入 SYN_SENT状态;
第二次握手:server 回复确认,同步client段序列号成功,ACK=x+1,cleint 进入 ESTABLISHED 状态 ; 同时申请同步server端序列号,SYN seq= y,server 进入 SYN_RECV 状态;
第三次握手:clent收到确认,同时受到server同步申请,回复ACK=y+1,回复确认成功,server 进入 ESTABLISHED 状态;
四次挥手:(主要是client告诉server要断开连接,server告诉client要断开连接、双工)
FIN:数据发送到尾部,将要断开连接
第一次挥手:client 告诉 server,数据发送完了,要断开连接,FIN seq=x+2,client进入FIN+_WAIT1状态;同时对上一个接受数据包回复接收到确认,ACK=y+1;
第二次挥手:server收到FIN数据包,同意断开,对client回复确认数据包,ACK=x+3,server进入CLOSE_WAIT状态;client接收到ack确认数据包,进入FIN_WAIT2;
第三次挥手:server像clent申请断开连接,想client发送FIN数据包,FIN seq=y+1,server进入LAST_ACK状态;
第四次挥手:client接收到server的FIN数据包,client进入TIME_WAIT状态,同时确认收到FIN数据包,同意断开,想server发送ACK确认,ACK seg=y+2;
作者:小熊猫小
出处:http://www.cnblogs.com/pandang/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。