浅析 TCP 的三次握手四次挥手

一、三次握手,都做了些什么?

第一次握手:(客户端向服务端伸手)客户端发送请求建立连接的信号给服务端

第二次握手:(服务端向客户端伸手)服务端接收到了信息,然后立马发送了确认的信号,同时还有个请求建立连接的信号。

第三次握手:(客户端向服务端伸手)最后这次不会继续发送请求建立连接的讯号了,只有个确认的信号。

结论:三次握手,实则完成了2次请求信号,2次确认信号,多一个请求则多余,少一个请求则无法正常建立连接,这也是为什么需要三次,而不是两次或者四次。

以下的示例图,参考博客:https://www.cnblogs.com/bj-mr-li/p/11106390.html

二、四次挥手,都做了些什么?

第一次挥手:(客户端向服务端挥手)客户端发送请求断开连接的信号给服务端,同时进入等待,不会再发送数据了,可能还需要接收数据

第二次挥手:(服务端向客户端挥手)服务端接收到了信息,他可能还需要发送数据,他会回应一个 确认收到。

第三次挥手:(服务端向客户端挥手)服务端接数据发送完毕,他会发送一个请求断开连接的信号给客户端,然后进入等待。

第四次挥手:(客户端向服务端挥手)客户端接收到了服务端的请求断开连接信号,他会回应一个 确认收到,然后TCP通断就正式断开了。

以下的示例图,参考博客:https://www.cnblogs.com/bj-mr-li/p/11106390.html

结论:四次挥手,实则也是完成了2次请求信号,2次确认信号,只是因为在已建立连接的条件下,服务端接收到客户端发的请求断开连接,不能第一时间也回复请求断开连接的信号,因此多了一步!

猜你喜欢

转载自www.cnblogs.com/xitingfeng/p/12964703.html