当前位置:   article > 正文

TCP的三次握手和四次挥手之三次握手真的能保证传输可靠吗?_三次握手是一种不可靠的方式

三次握手是一种不可靠的方式

之前分析过为什么要三次握手,因为两次握手不可靠。

比如 

A告诉B打算建立连接,可能过了很久B才收到这个消息,B表示同意并发了个确认消息给A,这时两次握手了,倘若连接建立了,那么很可能A早已关闭连接,而B以为连接已经建立(遵循两次握手建立连接的原则),B就傻等A,浪费资源(该例中A是客户端,B是服务器)。

这个例子常常用来说明两次握手不可靠,那么难道三次握手就可靠吗?

当A收到来自B的确认消息决定发个反馈,也就是第三次握手给B,倘若这时B的网络出了故障或者B关闭连接了或者这消息传输过程丢失了。那么根据三次握手原则,连接建立,对A来说,自是如此,然而对B只经历了两次握手,连接尚未建立。或者B收到了第三次握手,但此时已距离第二次握手过去很久了,那么B以为建立了连接,A却早已关闭连接。此时连接也没有建立成功。

看的出来,三次握手也不能保证连接就可靠,那么追加第四次握手呢?一样的,因为每次握手都是对收到上次握手的确认,却不能保证本次握手就能顺利到达。换句话说,握手发出的那一刻,只能说明上一次消息传递是顺畅的,却不能保证现在网络是畅通的。

所以陷入死循环,无论多少次握手,严格意义上来说都不能保证建立可靠连接。

那么三次握手的意义何在?

它的意义就在于让双方都知道“对方能收到自己的消息,同时自己能收到对方”的消息,也就是说线路是双向通顺的。当然了,这个双向通顺严格来说只限于之前的时间,接下来的时间就不能保证了。

四次乃至更多的握手也只能说明每次最新握手之前双方是通顺的,握手发出之后的时间也不能保证,本质上这与

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

闽ICP备14008679号