三次握手四次挥手是什么意思?为什么是3,不是2或者4?
三次握手是TCP协议建立连接的过程,它确保双方都准备好进行通信。这个过程可以类比于电话通话,其中每一步都是确认双方的准备状态。
- 第一次握手:客户端发送一个SYN(同步序列编号)标志的数据包到服务器,以开始建立连接。这个数据包包含客户端的初始序列号。
- 第二次握手:服务器收到客户端的SYN包后,会回复一个SYN+ACK(确认应答)包。这表明服务器已经准备好接收客户端的数据,并且也请求建立连接。
- 第三次握手:客户端收到服务器的SYN+ACK包后,会发送一个ACK包作为响应,完成连接建立。
四次挥手是TCP协议断开连接的过程,它涉及到客户端和服务器的四个步骤。
- 第一次挥手:客户端决定关闭连接,发送一个FIN(结束)标志的数据包到服务器。
- 第二次挥手:服务器收到这个FIN包后,发送一个ACK包作为响应,确认收到客户端的断开请求。
- 第三次挥手:服务器发送完所有待发送的数据后,也发送一个FIN包到客户端,请求断开连接。
- 第四次挥手:客户端收到这个FIN包后,发送一个ACK包作为响应,然后等待一段时间以确保服务器收到确认包,最终双方都关闭连接。
因为网络传输有延迟,客户端发送请求到服务器端要求建立连接,如果服务器端直接返回的话可能会产生丢包的情况导致客户端接收不到数据,客户端会因为超时就关闭了,可能就去发送新的请求了,然而服务端并不知道丢包导致客户端没有接收数据,服务端端口就一直开着,造成了额外的开销。所以需要3次握手确认这个过程。
浙公网安备 33010602011771号