TCP连接的三次握手与四次挥手
TCP连接的三次握手与四次挥手
第一章、三次握手
第一次握手
由客户端(用户)发送建立TCP连接的请求报文,其中报文中包含seq序列号,是由发送端随机生成的。并且还将报文中SYN字段置为1,表示需要建立TCP连接请求。
第二次握手
服务端会回复客户端(用户)发送的TCP连接请求报文,其中包含seq序列号,也是由回复端随机生成的,并且将回复报文的SYN字段置1,而且会产生ACK验证字段, ACK验证字段数值是在客户端发过来的seq 序列号基础上加1进行回复:并且还会回复ack确认控制字段,以便客户端收到信息时,知晓自己的TCP建立请求已得到了确认。
第三次握手
客户端收到服务端发送的TCP建立请求后,会使自己的原有序列号加1进行再次发送序列号,并且再次回复ACK验证请求,在B端发送过来的seq基础上加1,进行回复;同时也会回复ack确认控制字段,以便B收到信息时,知晓自己的TCP建立请求已经得到了确认。

第二章、四次挥手
第一次挥手
Client发送一个FIN,用来关闭Client到Server的数据传送, Client进入FIN_WAIT_1状态。
第二次挥手
Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1 (与SYN相同,一个FIN占用一个序号), Server进入CLOSE_WAIT状态。
第三次挥手
Server发送一个FIN,用来关闭Server到Client的数据传送, Server进入LAST_ACK状态。
第四次挥手
Client收到FIN后, Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,Server进入CLOSED状态,完成四次挥手。


浙公网安备 33010602011771号