为什么TCP 要采用「3次握手」建立连接?1个例子教会你
起首说说为什么是三次握手? 当客户端发送一次哀求A后,可是A在收集耽误了好久, 接着客户端又发送了一次B,可是此时A已经无效了。 接着处事器响应了B,并返回TCP连讨论,成立毗连(这里就2次哈)。 然后,A 历经千山万水终于随处事器了, 处事器一看有哀求来了,则接管。 因为一开始A带着的TCP名目都是正确的,那么处事器,理所该当的也返回乐成毗连的flag,可是,此时客户端已经判定该次哀求无效,废弃了。 然后处事器,就这么一向挂着(挥霍资源),造成的一个题目是,md, 这个锅是谁的?以是,为了保险起见,再增补一次毗连就可以了。 以是3次是最吻合的。在Chinese中,以3为起称为多,假如你用4,5,6,7,8...次的话,这不更挥霍吗? TCP作为一种靠得住传输节制协议,其焦点头脑:既要担保数据靠得住传输,又要进步传输的服从,而用三次恰好可以满意以上两方面的需求。 在TCP/IP协议中,TCP协议提供靠得住的毗连处事,回收三次握手成立一个毗连,链接进程是这样:
为什么要举办三次握手?举个栗子吧! 在赤军时期,A连和B连分在阁下翼,约定在几时几分一同提倡冲击。这个几时几分的信息就必要人工通过通信员来走路转达。以是A连批示官派出通信员。 这是第一次。 假设通信员达到了B连,而且奉告了B连批示官几时几分,B连批示官必然会让通信员再归去关照A连批示官,可怜的通信员只能冒着伤害返回A连,由于A连批示官看不到通信员返回的话,不知道几时几分这个信息到底转到达了B连没有。 这是第二次。 此刻B连批示官开始担忧通信员是否回到了A连,假如没回到,B连批示官会设身处地的想一想A连批示官见不到返回的通信员,必定是不敢打的,以是B连批示官最渴望的是再次看到通信员呈此刻B连,以是A连批示官会让通信员再回B连一次。 因此可以说三次握手是在最快最省力的环境下作出的选择。 上面说明还不足形象,很轻易健忘,下面我们操作wireshark来证明一下上面的说明进程。 从下面的的输出就可以很轻易看出来,必必要颠末前面的三次tcp哀求才会有起一次http哀求。 第一次握手数据包,客户端发送一个TCP,符号位为SYN,序列号为0, 代表客户端哀求成立毗连,如下图所示 (第一次握手) 第二次握手的数据包,处事器发回确认包, 符号位为 SYN,ACK. 将确认序号(Acknowledgement Number)配置为客户的I S N加1以.即0+1=1,如下图所示 (第二次握手) 第三次握手的数据包,客户端再次发送确认包(ACK) SYN符号位为0,ACK符号位为1.而且把处事器发来ACK的序号字段+1,放在确定字段中发送给对方.而且在数据段放写ISN的+1,如下图所示 (第三次握手) 以上就是 wireshark中的tcp三次握手进程。 本日的分享就把到这了。
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |