码迷,mamicode.com
首页 > 其他好文 > 详细

对于 TCP 三次握手的理解

时间:2018-12-27 18:56:11      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:表格   img   .com   png   三次握手   三次   com   模拟   alt   

 

假设名叫 A 和 B 的两个人要进行通信,那么他们两人之间,首先要确保通信顺畅。

 

而确保通信顺畅,就要从 3 个维度,确定 8 个能力

3 个维度分别是:

1、人知道(A 知道、B 知道)

2、人(A、B)

3、能力(发出、收到)

那么对应的 8 个能力就分别是:(有点绕,可直接看下面的表格)

能力 1 :A 知道 A 有 发出 的能力

能力 2 :A 知道 A 有 收到 的能力

能力 3 :A 知道 B 有 发出 的能力

能力 4 :A 知道 B 有 收到 的能力

能力 5 :B 知道 A 有 发出 的能力

能力 6 :B 知道 A 有 收到 的能力

能力 7 :B 知道 B 有 发出 的能力

能力 8 :B 知道 B 有 收到 的能力

8 个能力的图表表示:

图表 1(A 知道):

 技术分享图片

图表 2(B 知道):

 技术分享图片

 

接下来,分别模拟一下三次握手的内容,以及每次握手发生之后,两张图表的变化

 

总的对话如下:

A:你好,B,能收到消息吗?

B:你好,A,我收到了。你最近还好吗?

A:我最近还不错哦,你呢?

B:我也不错。

 

第一次握手:

A:你好,B,能收到消息吗?

B:你好,A,我收到了。你最近还好吗?

握手之后:

图表 1(A 知道):

技术分享图片

图表 2(B 知道):

技术分享图片

即,确定了能力 5、8

解释:

对于 A 来说,他发出了消息,但是没有得到 B 的回应,所以他并不知道自己的消息是否成功发送出去了,其他的就更不知道了

对于 B 来说,他收到了 A 的消息,那么他就很清楚,自己可以收到消息,A 可以发出消息

 

第二次握手:

B:你好,A,我收到了。你最近还好吗?

A:我最近还不错哦,你呢?

握手之后:

图表 1(A 知道):

技术分享图片

图表 2(B 知道):

技术分享图片

即,确定了能力 1、2、3、4

解释:

A 收到了 B 的回应,那么 A 肯定清楚刚才自己的消息成功发送出去了,且 B 一定能收到消息,要不然不会作出回应。而且自己收到了 B 的消息,这件事本身,也说明了,A 知道了 B 可以发消息,自己可以收到消息。

而 B 只是作了一个回应,并不知道回应是否成功,所以他知道的跟第一次握手之后是一样的。

 

第三次握手:

A:我最近还不错哦,你呢?

B:我也不错。

握手之后:

图表 1(A 知道):

技术分享图片

图表 2(B 知道):

技术分享图片

即,确定了能力 6、7

解释:

B 收到了 A 的回应,那么 B 知道了自己的消息可以发出去,且 A 可以收到消息

 

三次握手到此结束,8 个能力全部确定完毕

 

对于 TCP 三次握手的理解

标签:表格   img   .com   png   三次握手   三次   com   模拟   alt   

原文地址:https://www.cnblogs.com/stone94/p/10185316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!