为什么要三次握手
为什么要三次握手
程序员朱永胜有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准
https://blog.zysicyj.top
三次握手是 TCP 协议用于建立连接的过程,其目的是确保客户端和服务器双方都能够正常发送和接收数据。下面详细解释一下为什么要进行三次握手:
1. 确保双方都能正常通信
- 第一次握手:客户端向服务器发送一个 SYN 包,表示客户端请求建立连接。
- 第二次握手:服务器收到客户端的 SYN 包后,回应一个 SYN+ACK 包,表示服务器接受客户端的请求,并准备好建立连接。
- 第三次握手:客户端收到服务器的 SYN+ACK 包后,再发送一个 ACK 包,表示客户端也接受服务器的请求,连接建立成功。
2. 防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误
- 如果只有两次握手,客户端发送的连接请求在网络中滞留,服务器收到后建立连接并发送了应答,但客户端并没有收到应答,此时客户端会重新发送连接请求,导致服务器上出现多余的连接请求。
3. 防止网络中的延迟数据包导致错误
- 如果只有两次握手,客户端发送的连接请求在网络中滞留,服务器收到后建立连接并发送了应答,但客户端并没有收到应答,此时客户端会重新发送连接请求,导致服务器上出现多余的连接请求。
因此,通过三次握手,可以确保双方都能正常通信,避免已失效的连接请求报文段突然又传送到了服务端,以及防止网络中的延迟数据包导致错误。