四、面向连接的TCP协议——连接的建立与断开

四、面向连接的TCP协议——连接的建立与断开,第1张

四、面向连接的TCP协议——连接的建立与断开 0. 引言

在上一节中,以现实中的邮政系统为例,各层的计算机网络协议分别有着对应和特点

计算机网络邮政系统特点物理层马路,航线,水面是真实世界中的载体(机械,电气,功能,过程特性)数据链路层高速路上的快递车司机
城市内的跑腿小哥1. 货物被打包到快递盒内(封装成帧)
2. 啥货物只要打包好都可以送(透明传输)
3. 保证货物不被雨淋损坏(差错控制)
【而且不知道运的是什么,只保证将货物安然无恙的送到目的地】网络层邮政中央调度系统1. 每个片区分配一个唯一的邮政编码(IP地址)
2. 负责规划运输路线(最佳路径)
3. 出错了要及时处理(网际控制)传输层小区内的服务点1. 一个邮政编码的片区里会有多个服务点(一个主机内有多个端口)
2. 服务点与服务点之间传输(点对点)
3. 用户只管寄货,不用管怎么运的(逻辑传输)应用层每个客户各种各样具体的需求,例如生鲜运输冷链,邮报系统…

我们把传输层比作邮政系统内的服务点,而服务点又根据用户的需求将业务分为了两大类:

    收发快递——UDP协议信件交流——TCP协议

在本文里我们就来着重分析一下TCP协议。

1. TCP协议的特点

类比与打电话,TCP这种业务的特点在于:

    打电话要双方在场,且接通(TCP是面向连接的)打电话只能一对一(TCP是一对一的)打电话双方都能听到对方的所有内容(TCP是可靠交付的)打电话能说也能听(TCP是全双工的)打电话交换的是“话”(TCP是面对数据流)
2. 连接的一生?——如何建立和断开

既然TCP是面向连接的,那问题自然就出来了

    如何建立连接?如何断开连接?
2.1 Hello?——连接的建立

连接建立的最基本原则“每一方都能确知对方的存在”。

那一个问题就是:

双方需要最少交谈多少次才能保证这个最基本原则?

接下来,我们就以表白确定恋爱关系的例子探索这个问题

a. 一次交谈——“舔狗的单相思”

就像舔狗的单相思一样,一次交谈显然是不够的。

因为你的女神可能根本不想鸟你(/狗头),啊哈哈哈。

b. 两次交谈——“我孩子都出生了!”

那两次呢?表面看起来女神回复了就可以,但是有一种情况如下:

在这种情况下,很荣幸你女神答应你了!

但是不幸的是… 你孩子都出生了。

所以两次是不够的,这是因为客户端可能会因为超时而退出。

c. 三次交谈——“大功告成”

正如图中所示,三次交谈刚刚好,这样:

    双方都能知道对方的态度其中一方也不会因为时间太长而退出
总结:三次握手

所以在连接的建立中,需要三次交谈才能建立最基本的连接,这又被称为三次握手

其三次握手的过程为:

    第一次握手:客户端主动发送请求【客户端:我想连接,你在吗?】

    主动请求标志:SYN=1客户端序列号:seq=x 第二次握手:服务器端回答客户端【服务器端:久等,我在,可以连接,你还在吗?】

    连接建立标志:SYN=1回答标志:ACK=1服务器端序列号:seq=y回答对象:ack=x+1 第三次握手:客户端回答服务器端【客户端:我在我在!】

    回答标志:ACK=1客户端序列号:seq=x+1回答对象:ack=y+1

2.2 byebye!——连接的断开

类比于建立连接,最直接的感觉是连接的断开也只需要三次交谈。

但是其实不然,连接与断开的一个区别在于:

断开的时候可能还有资源没有传输完毕(就像情侣分手了但是账还没有算清楚) a. 不提倡的方式

b. 提倡的方式

总结:四次挥手

由于需要所有资源都传输完毕,不同于三次握手,断开连接的时候需要四次挥手。

四次挥手

第一次挥手:客户端发送关闭连接的报文段【客户端:我想关闭】

关闭标志:FIN=1客户端序列号:seq=u 第二次挥手:服务器收到 FIN 报文后,发回确认报文【服务器端:收到了,等一下】

确认标志:ACK=1服务器端序列号:seq=v确认对象:ack=u+1 第三次挥手:服务器发送完所有数据后,会向客户端发送 FIN 报文段【服务器端:好了,传输完了,可以关闭】

关闭标志:FIN=1确认标志:ACK=1服务器序号:seq=w确认对象:ack=u+1 第四次挥手:客户端收到来自服务器的 FIN 报文段后,向服务器发送 ACK 报文【客户端:好了,明白,拜拜】

确认标志:ACK=1客户端序号:seq=u+1确认对象:ack=w+1

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5704214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存