交换方式

掌握三种交换方式的发送方法,并且学会计算传输时延和传输时间,可能在选择题中考察。

交换

交换方式 是指在通信网络中,数据从发送方传输到接收方时,网络节点(如交换机、路由器)处理和转发数据的方式。它决定了数据传输的路径、资源分配和效率。交换方式是通信网络设计的核心,直接影响网络的性能、时延和资源利用率。

电路交换、报文交换和分组交换是三种主要方式,其中分组交换又可以进一步分为 数据报和虚电路 两种方式:

交换方法
电路交换
报文交换
分组交换
数据报
虚电路

电路交换

电路交换(Circuit Switching)是一种传统的通信方法,其中在发送方和接收方之间建立一个专用的通信路径(电路),该路径在整个通信过程中保持不变,其过程如下:

  1. 连接建立:发送方发起请求,通过交换设备(如电话交换机)在网络中为通信双方寻找并分配一条固定路径,建立端到端的专用电路。这需要信令系统协调。
  2. 数据传输:电路建立后,数据(语音、视频等)通过这条固定路径连续传输。整个通信期间,路径保持独占,即使没有数据传输,资源也不会释放。
  3. 连接释放:通信结束后,发送方或接收方发出终止信号,交换设备拆除电路,释放占用的资源(如带宽、端口)供其他用户使用。
A
S1
S2
S3
S4
S5
S6
B
Data

电路交换的典型应用是 传统电话网络(PSTN)。其优缺点如下:

  • 优点:
    • 稳定性:一旦建立连接,通信是连续且稳定的。
    • 低延迟:由于路径是专用的,数据传输没有竞争,延迟较低。
  • 缺点:
    • 资源浪费:路径在整个通信过程中被独占,即使没有数据传输时,资源仍然占用。
    • 建立时延:建立连接需要时间,初始延迟较高。

报文交换

报文交换(Message Switching)不需要建立专用路径,整个报文作为一个单元传输,节点存储并转发整个报文。其过程如下:

  1. 报文发送:发送方将完整的数据消息(大小可变,可能包含文本、文件等)发送到网络中的第一个节点(通常是交换机或路由器)。
  2. 存储转发:每个节点接收整个报文,存储在缓冲区,检查目标地址后,选择下一跳节点转发。报文在网络中逐跳传输,直到到达接收方。
  3. 接收与处理:接收方收到完整报文后,进行处理或存储。

报文交换主要用于早期的电报和一些数据网络中。报文交换的优缺点如下:

  • 优点:
    • 灵活性:不需要建立专用线路,可以动态选择路径。
    • 适应性:适合于突发性的数据传输。
  • 缺点:
    • 高延迟:每个节点都需要存储和转发整个报文,增加了延迟。
    • 资源占用:大报文可能占用较多的存储资源。

分组交换

分组交换(Packet Switching)将数据分成小的分组(或数据包),每个分组独立传输,并可能通过不同路径到达目的地。其过程如下:

  1. 数据分割:发送方将消息拆分为多个分组,每个分组附带头部信息(如源地址、目标地址、序列号)。
  2. 分组传输:每个分组独立在网络中传输,节点(路由器)根据头部信息选择最佳路径,分组可能走不同路径到达目的地(动态路由)。
  3. 存储转发:每个节点接收分组,存储后快速转发到下一跳,分组大小小,处理速度快。
  4. 重组与接收:接收方收到所有分组后,根据序列号重新组装成原始消息。如果有分组丢失,可请求重传。

分组交换已经广泛应用于互联网,比如当前的 IP 协议就是分组交换的一种实现。

注意

报文(Message)和分组(Packet)的区别?

报文是一个完整的、不可再分的数据单元,通常包含一个完整的信息或者文件。

分组是将数据分割成较小的、固定大小的单位,每个单位可以独立传输。

如今互联网已经很少见到报文交换了,报文和分组时一种概念。IP 分组(Packet)就是分组的一种实现,如果没有网络层的话,UDP 的 Datagram 直接进入数据链路层,UDP 的 Datagram 就是一个报文(Message)。

分组交换是对报文交换的一种改进,它具备如下优点:

  • 高效性:网络资源按需分配,多个通信可以共享同一物理路径。
  • 鲁棒性:分组可以通过不同路径传输,网络故障时能自动选择替代路径。
  • 适应性强:适合于多种类型的数据传输(语音、视频、数据等)。

其缺点与报文交换类似,由于分组可能通过不同路径到达,可能导致抖动和延迟。

对比

  • 电路交换 通过建立专用物理电路实现连续数据传输,资源独占但效率低,适合实时通信如电话;
  • 报文交换 以整个消息为单位存储转发,无需预连接但时延高,适合低频大数据传输;
  • 分组交换 将数据拆分为小分组独立传输,资源共享且效率高,适合现代互联网,但需处理分组丢失或乱序问题。

下图包含三种交换方式传输的时空图,横向表示距离,纵向表示时间:

连接建立
A
B
C
D
数据传送
连接释放
电路交换
A
B
C
D
报文交换
A
B
C
D
分组交换
报文
报文
报文
报文
P
P
P
P
P
P
P
P
P
比特流直达终点
报文
报文
报文
分组
分组
分组
存储转发
存储转发

需要能够图中的那一部分是 传播时间,哪一部分是 传输时间,这一部分内容可以和 数据链路层信道利用率 对比学习。

传输时间计算

电路交换 的传输时间包含 连接建立 和 数据传输的时间:

  1. 建立时间:在进行数据传输之前,需要建立一个专用的电路连接,这个过程会产生一定的延迟。设立连接时间为 $T_{\text{setup}}$。

  2. 传输时间:一旦电路建立,数据传输时间主要取决于数据量和带宽。传输时间 $T_{\text{transmission}}$ 可以用公式表示为:

    $$ T_{\text{transmission}} = \frac{\text{数据大小}}{\text{带宽}} $$

  3. 总传输时间:总传输时间包括建立时间和传输时间:

    $$ T_{\text{total}} = T_{\text{setup}} + T_{\text{transmission}} $$


报文交换分组交换 的场景更加复杂一些,我们需考虑多种时延 以及 不同链路之间的带宽差异。 但是两者的思路类似,不同点在于报文和分组的大小不同,这里以分组交换来进行说明。

下面举一个比较全面的例子来说明一下,网络中有 A、B、C、D 四个结点,其中链路的带宽分别为 $B_1$、$B_2$、$B_3$。 在从结点 A 发送分组至结点 D 的过程中,总时间主要包含三种时延:传播时延、传输时间 和 排队时间。

首先,假设信号传播速度为 $\text{speed}$,A 到 D 之间的距离为 $L$,则:

$$\text{传播时延} = \frac{L}{\text{speed}}$$

假设每个分组的大小为 $P$,则 A → B 的传输时间为 $P / B_1$,B → C 的传输时间为 $P / B_2$,C → D 的传输时间为 $P / B_3$。由下图可知,不同链路间的分组传输存在流水线的 overlap 现象,A 向 B 发送完第一个分组后即可发送第二个分组。 在这种情况下,如果 A 向 D 传输 $k$ 个分组的话,则总传输时间受限于带宽最低的链路,若 $B_1$ 为链路最低的带宽的话,则:

$$\text{总传输时间} = \frac{k \times P}{B_1} + \frac{P}{B_2} + \frac{P}{B_3}$$

上述公式是一种特殊的情况,如果 $B_{i} < B_{j} < B_{k} < \cdots$ 的话,则

$$\text{总传输时间} = \frac{k \times P}{B_i} + \frac{P}{B_j} + \frac{P}{B_k} + \cdots \text{(一般情况)}$$

一般排队时间在试题中都不需要考虑,所以总时间为传输时间和传播时延之和:

$$\text{总时间} = \frac{L}{\text{speed}} + \frac{k \times P}{B_1} + \frac{P}{B_2} + \frac{P}{B_3}$$

数据报和虚电路

分组交换 中,根据分组的路由和连接方式,分组交换分为数据报(Datagram)和虚电路(Virutal Circiut)两种模式:

  • 数据报:一种 无连接 的分组交换方式,每个分组(数据报)独立传输,包含完整的源地址和目标地址,网络根据每个分组的头部信息动态选择路由路径。
  • 虚电路 :一种 面向连接 的分组交换方式,在通信开始前建立一条逻辑路径(虚电路),所有分组沿此路径传输,模拟电路交换的稳定连接。
注意

电路交换和虚电路的区别

  • 电路交换:在通信开始前,为发送方和接收方建立一条 专用物理电路,整个通信期间独占该路径。数据通过固定路径连续传输,资源不共享。
  • 虚电路:在 分组交换 网络中,模拟电路交换 的行为,通过逻辑路径(虚电路)传输数据。虚电路并非物理独占,而是通过协议在分组交换网络中建立的逻辑连接。

下表对比了数据报和虚电路的特性:

特性数据报虚电路
连接性无连接,每个分组独立处理有连接,建立虚电路后传输分组
路由每个分组独立路由虚电路建立后,沿着相同路径路由
通信开销较低,不需要建立和维护连接较高,建立连接需要额外开销
分组到达顺序不保证分组到达的顺序保证分组按照发送顺序到达
分组丢失可能出现分组丢失,需要上层协议处理较低的丢包率,可靠传输
带宽利用率不需要预留带宽,按需使用预留带宽,可能造成资源浪费
适用场景Internet 中的 IP 数据包电路交换、ATM 等有连接通信
例子Internet 中的 IP 分组早期电话网络、ATM 网络

数据报和虚电路是两种不同的通信服务模型,适用于不同的通信需求和网络类型。数据报适合于互联网等不保证可靠传输的环境,而虚电路适合于对可靠性要求较高的电路交换和 ATM 等网络。选择合适的通信模型取决于应用需求和网络设计。