TCP 为什么要三次握手

TCP为什么要三次握手

为了防止已失效的连接请求报文突然又传送到了服务端,因为产生错误。

具体解释: “已失效的连接请求报文段”产生情况:

client 发出的第一个连接请求报文段并没有丢失,而是在某个网络节点长时间滞留,因此导致延误到连接释放以后的某个时间才到达 service。如果没有三次握手,那么此时server收到此失效的连接请求报文段,就误认为是 client再次发出的一个新的连接请求,于是向 client 发出确认报文段,同意建立连接,而此时 client 并没有发出建立连接的情况,因此并不会理会服务端的响应,而service将会一直等待client发送数据,因此就会导致这条连接线路白白浪费。

如果此时变成两次挥手行不行?

这个时候需要明白全双工与半双工,再进行回答。比如:

第一次握手: A给B打电话说,你可以听到我说话吗?

第二次握手: B收到了A的信息,然后对A说: 我可以听得到你说话啊,你能听得到我说话吗?

第三次握手: A收到了B的信息,然后说可以的,我要给你发信息啦!

三次握手之后,A和B都能确定这么一件事: 我说的话,你能听到; 你说的话,我也能听到。 这样,就可以开始正常通信了。如果是两次,那将无法确定

原创文章,作者:Safeidc,如若转载,请注明出处:https://www.safeidc.cn/2021/01/tcp-handshake.html

发表评论

邮箱地址不会被公开。

评论列表(1条)

联系我们

在线咨询:点击这里给我发消息

时间:周一至周五,9:30-18:30,节假日休息