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

TCP毗连为什么只能是“3次握手”,不是2次,也不是4次?

发布时间:2019-05-07 21:29:21 所属栏目:教程 来源:老王谈运维
导读:我们知道客户端(Client)A 和处事器端(Server)B 的通讯方法可分为:全双工、半双工、单工: 单工:A 可以发给 B ,B 不能发给 A ,叫做单工 半双工:A 可以发给 B , B 也可以发给 A ,可是两者的步调不能同时举办,即 A 给 B 发信息的时辰,B 不能给 A 发。

我们知道客户端(Client)A 和处事器端(Server)B 的通讯方法可分为:全双工、半双工、单工:

  • 单工:A 可以发给 B ,B 不能发给 A ,叫做单工
  • 半双工:A 可以发给 B , B 也可以发给 A ,可是两者的步调不能同时举办,即 A 给 B 发信息的时辰,B 不能给 A 发。
  • 全双工:即客户端 A 在给处事器端 B 发信息的同时,处事器端 B 也可以给客户端 A 发送信息。

TCP 属于全双工。

TCP毗连为什么只能是“3次握手”,不是2次,也不是4次?

TCP 的事变道理

下面小编就带你们相识 TCP 的事变道理是啥?

由前面的常识我们进修到 TCP 有三次握手(前文参考:HTTP也有黑白之分?HTTP的长毗连vs短毗连)。

TCP 的三次握手的表示图:

详细的寄义领略可以这样看:

1. 第一次握手

客户端想处事器发送一个 SYN 符号位为1的包,以及初始序号X,包装在包的头的序列号字段里。

客户端进入 SYN_SEND 状态,守候处事器端简直认。

2. 第二次握手

处事器发回 ACK(确认包),即将SYN和ACK符号位都定名为1,同时将序列号修改为X+1。

同时本身也发送了一个包,SYN包,序列号(seq =Y),即 SYN +ACK 包。

此时处事器进入 SYN_RECV 状态。

3. 第三次握手

客户端吸取随处事器发送过来的(ACK+SYN)包,SYN 符号位为0。ACK 符号位为1。

同时把处事器发过来的 ACK 包序列号字段+1并放在包中,发给处事器即 ACK=Y+1。

普通表明:

是不是认为照旧很难解啊,那下面就给你举个例子。

起首我们假设 A和B 是本次举办通讯的两边。 而发一次信息就代表着一次握手。

  • 第一次握手: A 给 B 发微信语音谈天,在吗?能听到我谈话吗?
  • 第二次握手:B 收到了 A 发来的微信语音通话,然后对A说:嗯,人在的,我能闻声你说的话,你能听得见我措辞吗,有什么工作?
  • 第三次握手: A 收到了 B 回覆返来的信息语音,我想问你一件事?

然后就开始舒畅的谈天了。

两次握手是否可以?

那我们接下来探讨 两次握手可不行以?

  • 第一次握手之后: 处事器端B 可以吸取到客户端A发来来的信息,可是对付客户端A 来说,它并不能确定本身发送的动静有没有乐成。
  • 第二次握手之后: 处事端B 向客户端A 发送的报文信息,处事器端B可以以为我发送的动静乐成了。
  • 假云云刻没有第三次握手的话,处事器端B 在举办第二次握手之后,会以为我们的毗连时乐成的。

可是对付,客户端A 呢?并不能担保必然能吸取随处事器端B发来的信息吧,假如客户端A没接管随处事器端发来的信息呢?

客户端就会以为我们之间的通讯没有成立起来。 这样的通讯进程显然是不乐成的。

假如存在大量的这种环境产生的话,处事器B 会产生瓦解的。

看样子仅仅两次握手是不可的,完成不了 TCP 的通讯事变道理。

两次不可,那四次呢?

四次握手行不可?

我们按照上面的 TCP 通讯道理可知道,颠末三次握手之后,客户端A 和处事器端B 都可以确认之前他们的所发送的动静,各自都能收到且报文也都乐成发送给对方了。

依据上面谁人结论可知道,你是四次握手照旧五次握手,都是徒劳的。由于颠末“三次握手”之后,把该做的工作都做完了。

结论

TCP 的三次握手是经典,计较机上的通讯协议也都依据于 TCP 的三次握手和四次挥手。

由于计较机应用直接的通讯依据于 HTTP 协议,而 HTTP 实质上是依赖 TCP 协议完成的,这个常识在前面说过。从而形成了:

  • TCP 只能是三次握手,不能是两次,也不能是四次。
  • 少于三次握手,不能担保是否成立了通讯毗连;
  • 多于三次握手,都是徒劳和挥霍的。

我们看出颠末三次握手之后,我们可以得出下面的结论:

  • A 可以给B发送动静了,同时A也能接管到B发来的信息;
  • 与此同时对付B而言,B也可以给A发送动静,同时B也能吸取到A发来的动静。

【编辑保举】

  1. 关于三次握手与四次挥手口试官想考我们什么?
  2. CC进攻&TCP和UDP正确打开姿势
  3. 浅谈TCP拥塞节制算法
  4. 收集编程(一)TCP数据包的说明
  5. 收集通讯协议之TCP
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

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

    热点阅读