tcp协议 与 三次握手 四次挥手

三次握手步骤

1.客户端发送连接请求SYN包 其中seq=x;客户端进入SYN-SENT阶段

2.服务器端收到SYN包之后,会发送一个SYN+ACK包,ack=x+1(ack为确认号,以为SYN包中不包含数据,但是tcp规定SYN也消耗一个字节),seq=y

服务端进入SYN-RECD阶段

3.客户端收到之后,在发送ACK包,seq=x+1,ack=y+1,服务端收到之后,客户端和服务端都进入ESTABLISHED,三次握手完成

四次挥手

 1.客户端发送一个一个连接释放报文FIN包,seq=y,进入FIN-WAIT-1状态

2.服务端收到之后发送一个确认报文ACK包,ack=y+1,seq = v,此时进入CLOSE-WAIT状态。

3.客户端收到确认报文之后,就进入FIN-WAIT-2状态。此时客户端停止向服务端发送数据,但是服务端还有可能还要发送数据,因此客户端需要等待服务端发送完成

4.服务端没有要发送的数据之后,就向客户端发送一个连接释放报文FIN,seq=u,ack=y+1;

5.客户端收到之后发送ACK确认包,seq=y+1,ack=u+1。进入TIME-WAIT,经过2MSL,关闭连接

6.服务端收到ACK之后,关闭连接

原文地址:https://www.cnblogs.com/lzh66/p/13048673.html