资讯专栏INFORMATION COLUMN

tcp建立连接为什么要三次握手

maxmin / 635人阅读

摘要:一为了确认建立连接的双方拥有收发能力。具体解释如下图所示两个机器建立连接,发送建立信号这是第一次握手,收到后发送确认信号这是第二次握手,收到确认后再次发送确认信号这是第三次握手。

一:为了确认建立连接的双方拥有收发能力。
二:为了防止超时。
具体解释如下图所示:

A,B两个机器建立连接,A发送建立信号这是第一次握手,B收到后发送确认信号这是第二次握手,A收到确认后再次发送确认信号这是第三次握手。
接下来我们看看三次握手是如何确认收发能力的:
所谓确认收发能力,就是确认自己具有收发能力和确认对方具有收发能力。
当B第一次收到A发来的连接握手时,B方能够确认B拥有接收能力,并且A具有发送能力。
当A收到B的确认握手时,A方能够确认A拥有发送能力(否则B不能回发),B拥有接收能力(否则B不能回发),A拥有接收能力,B拥有发送能力。
此时A确认的有:A接收能力,A发送能力,B接收能力,B发送能力。
此时B确认的有:A的发送能力,B的接收能力。
那么B还需要确认A的接收能力,B的发送能力。
而当B第二次接收到A发来的确认握手时候则B还需确认的能力此时得到确认。

如何防止超时:
如果两次握手就可以建立连接:
那么A的一个超时连接发送给B,B就会认为这个连接是新的建立连接的请求并没有超时,然后建立连接,但是超时连接是对于A来说的,A知道它发送的连接已经超时,只是B不知道,此时B单方面建立连接,不过A并没有,此时不仅是连接超时,而且B还建立了脏连接。
如果是三次握手的话:
A的超时连接发送给B,B发送确认连接,因为A知道已经超时,所以A不会理会B发来的握手,那么B等待一段时间后发现自己的连接超时,连接就没有建立。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72282.html

相关文章

  • TCP/IP 什么三次握手

    摘要:三次握手的目的是同步连接双方的序列号和确认号并交换窗口大小信息。可是,在的应答分组在传输中被丢失的情况下,将不知道是否已准备好,不知道建议什么样的序列号,甚至怀疑是否收到自己的连接请求分组。 转自:忘了地址了。 TCP 连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程: ...

    tomato 评论0 收藏0
  • 简析TCP三次握手与四次分手

    摘要:在协议中,协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换窗口大小信息。采用三次握手的办法可以防止上述现象发生。 TCP是什么? 具体的关于TCP是什么,我不打算详细的说了;当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续。它只是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备...

    LucasTwilight 评论0 收藏0
  • JAVA面试题(21)

    摘要:当一次数据包完成后,立即通过的指令发出通过优化程序设计,使接收方及时接收数据将数据包按数据字段,人为控制多此接收然后合并的七层模型都有哪些参考博客物理层数据链路层网络层传输层会话层表示层应用层     本文首发于cartoon的博客    转载请注明出处:https://cartoonyu.github.io/c... 简述 TCP 和 UDP 的区别? 参考博客:https:/...

    Genng 评论0 收藏0
  • TCP/IP协议族

    摘要:协议族的构成数据链路层网络层传输层应用层和是网络层的协议,但是它所工作的内容是链路层的。。。发送的时候,协议为每个包编号,简称,以便接收的一方按照顺序还原。并没有提供任何机制,表示原始文件的大小,这由应用层的协议来规定。 TCP/IP协议族的构成 * 数据链路层:ARP,RARP * 网络层: IP,ICMP,IGMP * 传输层:TCP ,UDP,UGP * 应用层:Telnet,F...

    CrazyCodes 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<