当前位置:   article > 正文

为啥要三次握手,四次挥手?_为什么是三次握手四次挥手

为什么是三次握手四次挥手

三次握手的目的是“为了防止已经失效的连接请求报文段突然又传到服务端,因而产生错误”

客户端发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达服务器。本来这是一个早已失效的报文段。但服务器收到此失效的连接请求报文段后,就误认为是客户端再次发出的一个新的连接请求。于是就向客户端发出确认报文段,同意建立连接。

假设不采用“三次握手”,那么只要服务器发出确认,新的连接就建立了。由于现在客户端并没有发出建立连接的请求,因此不会理睬服务器的确认,也不会向服务器发送数据。但服务器却以为新的运输连接已经建立,并一直等待客户端发来数据。这样,服务器的很多资源就白白浪费掉了。

四次挥手的目的

是为了保证连接的可靠传输,防止未传输完成而导致字节丢失。

TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议

首先客户端发送fin给服务器端,告诉自己没有数据要传送了,服务器端收到后发送对应的ack报文段给客户端,告诉他我知道了,不过这次服务器端还可以向客户端传送数据,当服务器端没有要传送的数据后就发送fin给客户端,客户端收到后发送对应ack给服务武器端,告诉他我知道了,然后双方断开链接

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/702538
推荐阅读
相关标签
  

闽ICP备14008679号