交换方式
历年真题选择题经常围绕三种交换方式的传输时间进行考查,当然也不排除未来在大题考查的可能性。这一节为理解性内容,需要理解基于比特流和存储转发方案的传输时间计算。
交换
交换方式 是指在通信网络中,数据从发送方传输到接收方时,网络节点(如交换机、路由器)处理和转发数据的方式。它决定了数据传输的路径、资源分配和效率。交换方式是通信网络设计的核心,直接影响网络的性能、时延和资源利用率。
电路交换、报文交换 和 分组交换 是三种主要方式,其中分组交换又可以进一步分为 数据报和虚电路 两种方式:
电路交换
电路交换(Circuit Switching)是一种传统的通信方法,其中在发送方和接收方之间建立一个专用的通信路径(电路),该路径在整个通信过程中保持不变,其过程如下:
- 连接建立:发送方发起请求,通过交换设备(如电话交换机)在网络中为通信双方寻找并分配一条固定路径,建立端到端的专用电路。这需要信令系统协调。
- 数据传输:电路建立后,数据(语音、视频等)通过这条固定路径连续传输。整个通信期间,路径保持独占,即使没有数据传输,资源也不会释放。
- 连接释放:通信结束后,发送方或接收方发出终止信号,交换设备拆除电路,释放占用的资源(如带宽、端口)供其他用户使用。
电路交换的典型应用是 传统电话网络(PSTN)。其优缺点如下:
- 优点:
- 稳定性:一旦建立连接,通信是连续且稳定的。
- 低延迟:由于路径是专用的,数据传输没有竞争,延迟较低。
- 缺点:
- 资源浪费:路径在整个通信过程中被独占,即使没有数据传输时,资源仍然占用。
- 建立时延:建立连接需要时间,初始延迟较高。
报文交换
报文交换(Message Switching)不需要建立专用路径,整个报文作为一个单元传输,节点存储并转发整个报文。其过程如下:
- 报文发送:发送方将完整的数据消息(大小可变,可能包含文本、文件等)发送到网络中的第一个节点(通常是交换机或路由器)。
- 存储转发:每个节点接收整个报文,存储在缓冲区,检查目标地址后,选择下一跳节点转发。报文在网络中逐跳传输,直到到达接收方。
- 接收与处理:接收方收到完整报文后,进行处理或存储。
报文交换主要用于早期的电报和一些数据网络中。报文交换的优缺点如下:
- 优点:
- 灵活性:不需要建立专用线路,可以动态选择路径。
- 适应性:适合于突发性的数据传输。
- 缺点:
- 高延迟:每个节点都需要存储和转发整个报文,增加了延迟。
- 资源占用:大报文可能占用较多的存储资源。
分组交换
分组交换(Packet Switching)将较长数据划分为较小分组,在结点间存储转发。数据报网络中的每个分组独立选路,可能经不同路径到达;虚电路网络则让同一虚电路的分组沿预先建立的逻辑路径转发。其过程如下:
- 数据分割:发送方将消息拆分为多个分组,每个分组附带头部信息(如源地址、目标地址、序列号)。
- 分组传输:结点根据分组首部或虚电路标识决定下一跳;数据报模式下不同分组可能走不同路径。
- 存储转发:每个节点接收分组,存储后快速转发到下一跳,分组大小小,处理速度快。
- 重组与接收:接收方或上层协议根据需要把分组中的数据恢复为原始消息。如果需要可靠性,由相应的链路层、传输层或应用层协议处理丢失、乱序与重传;IP 本身不负责可靠重传。
分组交换已经广泛应用于互联网,比如当前的 IP 协议就是分组交换的一种实现。
报文(Message)和分组(Packet)的区别?
报文是上层交付的一段完整逻辑数据,例如一条消息或一个应用层协议报文;“完整”是相对于上层语义而言,并不表示它在网络中绝对不可再分。
分组是将数据分割成较小的、固定大小的单位,每个单位可以独立传输。
如今互联网主要采用分组交换。报文和分组不是同一概念:应用层报文可由传输层分段,再封装为一个或多个 IP 分组;每个 IP 分组又会在具体链路上封装成帧。UDP 用户数据报仍需交给网络层封装为 IP 数据报,不能绕过网络层直接进入数据链路层。
分组交换是对报文交换的一种改进,它具备如下优点:
- 高效性:网络资源按需分配,多个通信可以共享同一物理路径。
- 鲁棒性:分组可以通过不同路径传输,网络故障时能自动选择替代路径。
- 适应性强:适合于多种类型的数据传输(语音、视频、数据等)。
其缺点与报文交换类似,由于分组可能通过不同路径到达,可能导致抖动和延迟。
对比
- 电路交换 通过建立专用物理电路实现连续数据传输,资源独占但效率低,适合实时通信如电话;
- 报文交换 以整个消息为单位存储转发,无需预连接但时延高,适合低频大数据传输;
- 分组交换 将数据拆分为小分组独立传输,资源共享且效率高,适合现代互联网,但需处理分组丢失或乱序问题。
下图包含三种交换方式传输的时空图,横向表示距离,纵向表示时间:
需要辨认图中哪一部分是 传播时间、哪一部分是 发送时间,这一部分内容可以和 数据链路层信道利用率 对比学习。
传输时间计算
电路交换 的总时间包含连接建立、数据发送和信号传播。设连接建立时间为 ,数据量为 bit,端到端电路速率为 bit/s,总传播时延为 ,忽略释放时间与处理时延,则
建立时间是指在进行数据传输之前建立一个专用电路连接所产生的延迟。传输时间则指电路建立后,把全部数据推入链路所需的时间,主要取决于数据量和带宽。
若题目只问“发送时延”,则只取 ;若问端到端总时间,不能漏掉传播时延和题目明确给出的建立、处理等时间。
报文交换 和 分组交换 的场景更加复杂一些,我们需考虑多种时延 以及 不同链路之间的带宽差异。 但是两者的思路类似,不同点在于报文和分组的大小不同,这里以分组交换来进行说明。
下面举一个比较全面的例子。网络中有 A、B、C、D 四个结点,三段链路带宽分别为 、、。从 A 发送分组至 D 时,总时间可能包含发送时延、传播时延、处理时延和排队时延。
若三段链路长度分别为 ,传播速率分别为 ,则总传播时延为
若全程传播速率相同为 、总距离为 ,才可简写为 ,不能写成 。
假设每个分组大小为 bit,则三段链路分别需要 、、 的发送时间。存储转发允许分组形成流水线:第一个分组必须完整走过三段链路,之后每增加一个分组,完成时刻至少向后推进最慢链路的发送时间。忽略处理与排队时延,发送 个等长分组的总时间为
若 是最低带宽,即 为最大单链路发送时延,上式可化为原例的特殊形式:
若各分组还带有首部,应把 取为 每个分组的总长度;若各链路还给出处理或排队时延,也应按经过次数累加。
这个例子保留了原来的判断思路:不同链路间的分组传输存在流水线的 overlap 现象,A 向 B 发送完第一个分组后即可发送第二个分组;总传输时间受限于发送时延最大的瓶颈链路。一般排队时间在基础计算题中常被明确忽略,但如果题目给出排队时间,就必须计入总时间。
数据报和虚电路
在 分组交换 中,根据分组的路由和连接方式,分组交换分为数据报(Datagram)和虚电路(Virtual Circuit)两种模式:
数据报
:一种 无连接 的分组交换方式,每个分组(数据报)独立传输,包含完整的源地址和目标地址,网络根据每个分组的头部信息动态选择路由路径。
虚电路
:一种 面向连接 的分组交换方式,在通信开始前建立一条逻辑路径(虚电路),所有分组沿此路径传输,模拟电路交换的稳定连接。
电路交换和虚电路的区别
- 电路交换:在通信开始前,为发送方和接收方建立一条 专用物理电路,整个通信期间独占该路径。数据通过固定路径连续传输,资源不共享。
- 虚电路:在 分组交换 网络中,模拟电路交换 的行为,通过逻辑路径(虚电路)传输数据。虚电路并非物理独占,而是通过协议在分组交换网络中建立的逻辑连接。
下表对比了数据报和虚电路的特性:
| 特性 | 数据报 | 虚电路 |
|---|---|---|
| 连接性 | 无连接,每个分组独立处理 | 先建立虚电路,再传输分组 |
| 路由 | 每个分组可独立选择下一跳 | 建立后通常沿同一逻辑路径 |
| 分组首部 | 携带完整目的地址 | 携带较短的虚电路标识 |
| 结点状态 | 不为一次端到端通信维护连接状态 | 沿途结点维护虚电路表项 |
| 通信开销 | 无建立时延,但逐包首部较大 | 有建立/释放开销,逐包首部可较小 |
| 分组到达顺序 | 不保证有序 | 同一虚电路通常按序转发,但故障或实现细节仍需按协议判断 |
| 分组丢失与可靠性 | 可能丢失,由上层处理 | 建立逻辑路径本身不等于可靠传输,可靠性取决于具体网络协议 |
| 带宽利用率 | 通常按需使用 | 可采用统计复用;是否预留资源取决于具体虚电路网络,并非必然预留 |
| 典型例子 | Internet 中的 IP 分组 | ATM、帧中继等虚电路网络 |
数据报和虚电路是两种不同的分组交换服务模型。数据报适合互联网这类无连接、尽力而为的环境;虚电路适合希望沿既定逻辑路径转发并维护连接状态的网络。虚电路不是电路交换,也不天然等同于带宽预留或可靠传输。
记忆时可抓住原有对比:数据报 无连接,每个分组独立处理、每个分组独立路由,不需要建立和维护连接;虚电路 有连接,建立虚电路后传输分组,虚电路建立后沿着相同逻辑路径路由,沿途设备需要维护相应状态。
数据报和虚电路适用于不同的通信需求和网络类型。选择合适的通信模型取决于应用需求和网络设计;判断题中尤其要把“建立逻辑连接”“预留物理资源”“保证可靠传输”三个命题分开判断。