三次握手是客户端和服务端建立连接的机制,用于确认双方的发送和接收功能都是正常的

    • 第一次握手:客服端发送一个 SYN 报文,询问服务端是否能收到
    • 第二次握手:服务端收到客户端发的SYN报文后,发送一个 ACK 报文,表示自己收到了,同时发送一个 SYN 报文,询问客户端是否能收到
    • 第三次握手:客户端收到服务端的SYN报文后,发送一个 ACK 报文,表示自己收到了。至此,连接建立完成。

    四次挥手是客户端和服务端释放连接的机制

    • 第一次挥手:客户端向服务端发送一个 FIN 报文,表示自己不再发送数据,但仍可以接收数据
    • 第二次挥手:服务端向客户端发送一个 ACK 报文,表示收到
    • 第三次挥手:服务端向客户端发送一个 FIN 报文,表示自己不再发送数据。(在第二次挥手后,服务端可能还有数据要发送, 所以第二次和第三次挥手不能合并)
    • 第四次挥手:客户端向服务端发送一个 ACK 报文,表示收到。至此,连接释放完成。