TCP 连接建立 与 断开
建立过程:
- 客户端发送SYN同步请求(SYN=1,seq=client)
- 服务端收到SYN请求后,回复ACK报文(SYN=1,seq=server,ACK=client+1)
- 客户端收到回复后,发送ACK报文,确认收到。(SYN=0,seq=client+1,ACK=server+1)
断开过程:
断开过程可以是客户端或者是服务端的主动请求
以客户端主动请求断开为例
- 客户端发送FIN
- 服务端收到FIN,若数据没有传送完,可以继续传送,一旦结束,发送ACK报文。客户端收到ACK报文后,处于FIN_WAIT状态
- 服务端发送FIN请求报文
- 客户端发送ACK确认报文,进入TIME_WAIT状态,若在设定的时间内没有收到回复,则断开连接