- 建立连接的三次握手
- 客户端发送报文 SYN标识位置为1,随机生成seq=j。此时进入SYN_SENT状态。
- 服务端接收到报文 将SYN和ACK标识位置为1,ack=j+1,seq=k,发送报文。此时进入SYN_RCVD状态。
- 客户端收到报文 将ACK标识置为1,ack=k+1,发送报文。服务端收到报文后双方连接成功,进入ESTABLISHED状态。
- 图示:
- 断开连接的四次握手
- 客户端发送报文,FIN标识位置为1,seq=u,进入FIN-WAIT-1状态。
- 服务端收到报文后,将ACK标识位置为1,ack=u+1,seq=v,发送报文。
- 服务端再次发送报文,将FIN和ACK标识位置为1,ack=u+1,seq=w,发送报文,这就是比握手多一步的原因服务端也需要自己发送FIN报文。
- 客户端收到后,将ACK标识位置为1,ack=w+1,seq=u+1,断开连接。
- 图示: