3次握手4次挥手

178 阅读1分钟

3次握手:

第一次握手:客户端向服务器 发送一个SYN包,请求链接 等待服务器确认

第二次握手:服务器收到syn包,同时自己也发送一个SYN包,向浏览器确认

第三次握手:客户端收到服务器的包,并向服务器发送确认包 完成链接

image.png

每次握手的目的:

第一次握手:客服端发送一个报文(SYN),服务器接收到了,说明:客户端的发送能力 和 服务器的接受能力没有问题

第二次握手:服务器回应客户端发送一个报文(ACK),客户端接收到了。说明:服务器的发送能力和接收能力没有问题,客户端的发送和接收能力没有问题

第三次握手:客户端回应服务器并发送一个报文,服务器接收到了。说明: 通过这次接收,服务器确认客户端的接收能力和发送能力没有问题

为什么需要三次握手,两次不行吗

 三次握手是为了防止当已失效的连接请求报文段突然又传到服务端,造成双方的不一致,导致资源的浪费
 

4次挥手

1 客户端发送一个数据包给服务器,发起关闭链接的请求
2 服务器收到数据包后,确认一下关闭请求
3 服务器回复一个数据包给客户端, 告诉客户端可以关闭了,
4 客户端收到数据包后 会发送一个,确认收到的包给服务器
服务链接 就此关闭

最后大白话总结:

b984b4335723464f55bd2ae884c3742.png