概述
三次握手过程
- 客服端向服务器发送SYN数据包
- 服务器向客户端发送SYN/ACK数据包
- 客服端向服务器发送ACK数据包
为什么要三次握手
双方确认自己与对方能收发数据
- 第一次握手,服务端确认了自己能收数据,客服端能发数据;客服端确认了自己能发数据。
- 第二次握手,服务端确认了自己能收、发数据,客服端能发数据;客服端确认了自己能收、发数据,服务端能收、发数据
- 第三层握手,服务端确认了自己能收、发数据,客服端能收、发数据,客服端确认了自己能收、发数据,服务端能收、发数据
四次挥手过程
- 主动关闭方向被动关闭方发送FIN数据包
- 被关闭方向主动关闭方发送ACK数据包
- 被动关闭方关闭连接,并向主动关闭方发送FIN数据包
- 主动关闭方向被动关闭方发送ACK数据包
为什么药四次挥手
主动关闭方提出关闭连接后,被动关闭方收到FIN并确认后,TCP连接进入半关闭状态,
被动关闭方可能还有数据没有传完,需等待被动关闭方发起FIN数据包后,并收到主动关闭方的确认后,TCP连接才算完全关闭