客户端将同步号(同步请求的标志)SYN置为1,随机产生一个值seq=x,将该数据包发送给服务端,客户端进入SYN_SENT状态(发送了syn请求),等待服务端确认
- SYN=1, 同步请求 2. seq=x, 序号
服务端接收到SYN=1的客户端建立连接的请求, 服务器端向客户端发送应答(响应):SYN=1, ACK=1 ,seq=y, ack=x+1,发送完服务器进入SYN-REVD状态(接收到客户端的syn请求, 并已经响应了客户端的syn请求报文)
1.ACK=1, 1确认收到 2. ack=x+1, 希望对方下一次发送, 从序号x+1开始
客户端在收到同意连接的报文之后,还要向服务器端发送一个确认报文,表示我已近收到了服务器同意连接的
报文:ACK=1, seq=x+1, ack=y+1,发送完客户端进入ESTAB-LISHED状态(成功建立连接的状态)
==========================================================================
客户端需要释放连接,因此向服务器发送连接释放请求:FIN=1, seq=u,发送完毕后进入FIN-WAIT-1(断开连接等待状态1)
- FIN=1, 断开连接的报文 2. seq=u 序号
服务端收到结束标志FIN=1后,响应客户端: ACK=1, ack=u+1, seq=v, 服务端进入CLOSE_WAIT状态(关闭等待状态), 此时还可以发送数据
1.ACK=1 确认
2.2. ack=u+1 下次请求序号为u+1