计算机网络:数据报与虚电路
计算机网络:数据报与虚电路
分组交换根据其通信子网向端点系统提供的服务,还可进一步分为面向连接的虚电路方式和无连接的数据报方式。
这两种服务方式都由网络层提供。
要注意数据报方式和虚电路方式是分组交换的两种方式。
1.数据报
作为通信子网用户的端系统发送一个报文时,在端系统中实现的高层协议先把报文拆成若干带有序号的数据单元,并在网络层加上地址等控制信息后形成数据报分组(即网络层的 PDU)。中间结点存储分组很短一段时间,找到最佳的路由后,尽快转发每个分组。不同的分组可以走不同的路径,也可以按不同的顺序到达目的结点。
数据报服务特点
发送分组前不需要建立连接。发送方可随时发送分组,网络中的结点可随时接收分组。
网络尽最大努力交付,传输不保证可靠性,所以可能丢失;为每个分组独立地选择路由,转发的路径可能不同,因而分组不一定按序到达目的结点。
发送的分组中要包括发送端和接收端的完整地址,以便可以独立传输。
分组在交换结点存储转发时,需要排队等候处理,这会带来一定的时延。通过交换结点的通信量较大或网络发生拥塞时,这种时延会大大增加,交换结点还可根据情况丢弃部分分组。
网络具有冗余路径,当某个交换结点或一条链路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强。
存储转发的延时一般较小,提高了网络的吞吐量。
收发双方不独占某条链路,资源利用率较高。
2.虚电路
虚电路方式试图将数据报方式与电路交换方式结合起来。
在分组发送之前,要求在发送方和接收方建立一条逻辑上相连的虚电路,并且连接一旦建立,就固定了虚电路所对应的物理路径。通信过程分为三个阶段:虚电路建立(发送呼叫请求、呼叫应答分组)、数据传输与虚电路释放(发送释放请求、呼叫释放分组)。
端系统每次建立虚电路时,选择一个未用过的虚电路号分配给该虚电路,以区别于本系统中的其他虚电路。
在传送数据时,每个数据分组不仅要有分组号、校验和等控制信息,还要有它要通过的虚电路号,以区别于其他虚电路上的分组。
在虚电路网络中的每个结点上都维持一张虚电路表,表中的每项记录了一个打开的虚电路的信息,包括在接收链路和发送链路上的虚电路号、前一结点和下一结点的标识。数据的传输是双向进行的,上述信息是在虚电路的建立过程中确定的。
虚电路服务特点
虚电路通信链路的建立和拆除需要时间开销。
连接建立后,就确定了传输路径。
虚电路提供了可靠的通信功能,能保证每个分组正确且有序到达。此外,还可以对两个数据端点的流量进行控制,当接收方来不及接收数据时,可以通知发送方暂缓发送。
虚电路有一个致命的弱点,即当网络中的某个结点或某条链路出现故障而彻底失效时,所有经过该结点或该链路的虚电路将遭到破坏。
分组首部不包含目的地址,包含的是虚电路标识符,相对于数据报方式,其开销小。
每个结点到其他结点之间的链路可能同时有若干虚电路通过,也可能同时与多个结点之间建立虚电路。每条虚电路支持特定的两个端系统之间的数据传输,两个端系统之间也可以有多条虚电路为不同的进程服务,这些虚电路的实际路由可能相同也可能不同。
注意,数据传输过程是有确认的传输(由高层实现),主机收到分组后要发回相应分组的确认。网络中的传输是否有确认与网络层提供的两种服务没有任何关系。
参考资料:
谢希仁.计算机网络(第 8 版)[M].北京:电子工业出版社,2021.
James F.Kurose,Keith W.Ross.计算机网络:自顶向下方法[M].北京:机械工业出版社,2019.
2023 年王道计算机复习指导[M].北京:电子工业出版社,2021.
版权声明: 本文为 InfoQ 作者【timerring】的原创文章。
原文链接:【http://xie.infoq.cn/article/bfc2a2c55dd5f6156e5d2794f】。未经作者许可,禁止转载。
评论