加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

为什么TCP 要采用「3次握手」建立连接?1个例子教会你

发布时间:2019-07-19 11:40:00 所属栏目:教程 来源:YAWEN
导读:起首说说为什么是三次握手? 当客户端发送一次哀求A后,可是A在收集耽误了好久, 接着客户端又发送了一次B,可是此时A已经无效了。 接着处事器响应了B,并返回TCP连讨论,成立毗连(这里就2次哈)。 然后,A 历经千山万水终于随处事器了, 处事器一看有哀求来

起首说说为什么是三次握手?

当客户端发送一次哀求A后,可是A在收集耽误了好久, 接着客户端又发送了一次B,可是此时A已经无效了。

接着处事器响应了B,并返回TCP连讨论,成立毗连(这里就2次哈)。

然后,A 历经千山万水终于随处事器了, 处事器一看有哀求来了,则接管。

因为一开始A带着的TCP名目都是正确的,那么处事器,理所该当的也返回乐成毗连的flag,可是,此时客户端已经判定该次哀求无效,废弃了。

然后处事器,就这么一向挂着(挥霍资源),造成的一个题目是,md, 这个锅是谁的?以是,为了保险起见,再增补一次毗连就可以了。

以是3次是最吻合的。在Chinese中,以3为起称为多,假如你用4,5,6,7,8...次的话,这不更挥霍吗?

为什么TCP 要回收「3次握手」成立毗连?1个例子教会你

TCP作为一种靠得住传输节制协议,其焦点头脑:既要担保数据靠得住传输,又要进步传输的服从,而用三次恰好可以满意以上两方面的需求。

在TCP/IP协议中,TCP协议提供靠得住的毗连处事,回收三次握手成立一个毗连,链接进程是这样:

  • 第一次握手:成立毗连时,客户端发送syn包(syn=j)随处事器,并进入SYN_SEND状态,守候处事器确认;
  • 第二次握手:处事器收到syn包,必需确认客户的SYN(ack=j+1),同时本身也发送一个SYN包(syn=k),即SYN+ACK包,此时处事器 进入SYN_RECV状态;
  • 第三次握手:客户端收随处事器的SYN+ACK包,向处事器发送确认包ACK(ack=k+1),此包发送完毕,客户端和处事器进入 ESTABLISHED状态,完成三次握手。

为什么TCP 要回收「3次握手」成立毗连?1个例子教会你

为什么要举办三次握手?举个栗子吧!

在赤军时期,A连和B连分在阁下翼,约定在几时几分一同提倡冲击。这个几时几分的信息就必要人工通过通信员来走路转达。以是A连批示官派出通信员。

这是第一次。

假设通信员达到了B连,而且奉告了B连批示官几时几分,B连批示官必然会让通信员再归去关照A连批示官,可怜的通信员只能冒着伤害返回A连,由于A连批示官看不到通信员返回的话,不知道几时几分这个信息到底转到达了B连没有。

这是第二次。

此刻B连批示官开始担忧通信员是否回到了A连,假如没回到,B连批示官会设身处地的想一想A连批示官见不到返回的通信员,必定是不敢打的,以是B连批示官最渴望的是再次看到通信员呈此刻B连,以是A连批示官会让通信员再回B连一次。

因此可以说三次握手是在最快最省力的环境下作出的选择。

TCP/IP

上面说明还不足形象,很轻易健忘,下面我们操作wireshark来证明一下上面的说明进程。

从下面的的输出就可以很轻易看出来,必必要颠末前面的三次tcp哀求才会有起一次http哀求。

第一次握手数据包,客户端发送一个TCP,符号位为SYN,序列号为0, 代表客户端哀求成立毗连,如下图所示

TCP/IP

(第一次握手)

第二次握手的数据包,处事器发回确认包, 符号位为 SYN,ACK. 将确认序号(Acknowledgement Number)配置为客户的I S N加1以.即0+1=1,如下图所示

为什么TCP 要回收「3次握手」成立毗连?1个例子教会你

(第二次握手)

第三次握手的数据包,客户端再次发送确认包(ACK) SYN符号位为0,ACK符号位为1.而且把处事器发来ACK的序号字段+1,放在确定字段中发送给对方.而且在数据段放写ISN的+1,如下图所示

TCP/IP

(第三次握手)

以上就是 wireshark中的tcp三次握手进程。

本日的分享就把到这了。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读