TCP三次握手流程:
- 首先客户端发起请求,想服务端发送SYN报文
- 服务端接收到客户端请求过后,产生SYN+ACK报文,并将SYN+ACK报文返回给客户端
- 客户端收到SYN+ACK报文之后将此报文再发回服务端,至此三次握手完成,连接建立
那么为什么要三次握手,不是两次?不是四次?
核心观念在于TCP是面向连接的全双工通信,他需要验证两端的通信连通
- 首先客户端请求SYN报文,这将服务器与客户端之间建立请求连接,并且服务端接收到,证明客户端到服务端之间的连接时没问题的
- 服务端响应SYN+ACK,客户端成功接收到,这将证明客户端可以成功接收到服务端发送的消息
- 客户端将服务端发送的SYN+ACK返回至服务端,服务端成功收到,这证明客户端可以成功和服务端做数据交互