在计算机网络庞大的体系结构中,"交换"(Switching)处于核心地位。它解决了这样一个根本问题:在不直接相连的两个节点之间,如何通过中间节点网络(Switched Network)动态分配通信资源并转发数据?
这一问题的答案经历了三个阶段的演进:电路交换(Circuit Switching) 、报文交换(Message Switching)和分组交换(Packet Switching) 。对于专业学习者而言,理解它们不仅仅是记忆定义,更需要从资源分配策略 和时延分析的角度去洞察其本质。
一、 电路交换 (Circuit Switching)
电路交换是电信网络的基石,起源于传统的PSTN(公共交换电话网络)。其核心思想是面向连接的、独占式的资源预留。
1. 工作原理
电路交换的过程严格遵循三个阶段:
- 建立连接 (Call Setup): 发送方发送呼叫请求,网络节点逐跳(Hop-by-Hop)寻找路径并预留带宽资源。若资源不足,呼叫被拒绝(阻塞)。
- 数据传输 (Data Transmission): 一旦连接建立,一条物理的(或逻辑上独占的)通路被打通。数据流以比特流的形式连续传输,无需携带头部地址信息。
- 释放连接 (Teardown): 通信结束,释放资源。
2. 技术特性分析
- 资源独占性: 只要连接建立,即便双方无数据传输(例如通话中的静默期),带宽资源依然被占用。这在统计复用角度看,信道利用率极低。
- 时延分析:
假设建立连接的时间为 tsetupt_{setup}tsetup,数据传输速率为 RRR (bps),数据量为 LLL (bits),信号在链路上的传播延迟为 tpropt_{prop}tprop,释放时间为 tteardownt_{teardown}tteardown。
则总时延 TcircuitT_{circuit}Tcircuit 为:
Tcircuit=tsetup+LR+tprop+tteardown T_{circuit} = t_{setup} + \frac{L}{R} + t_{prop} + t_{teardown} Tcircuit=tsetup+RL+tprop+tteardown
注意: 电路交换最大的优势在于,在数据传输阶段,中间节点不需要进行存储处理,因此节点处理时延 和排队时延几乎为零。这保证了数据传输的实时性和确定性(Jitter极小)。
3. 现代视角
虽然纯粹的物理电路交换在计算机数据网中已不常见,但在 光传送网(OTN) 和 波分复用(WDM) 系统中,电路交换的概念依然存在。光波长通道的建立本质上就是一种大容量的电路交换。
二、 报文交换 (Message Switching)
为了解决电路交换对突发性数据(Bursty Data)利用率低的问题,报文交换引入了存储-转发 (Store-and-Forward) 机制。这是现代分组交换的前身,常见于早期的电报系统。
1. 工作原理
- 发送方将要发送的完整信息组装成一个"报文"(Message),并在报头添加目的地址。
- 报文在网络中一跳一跳地传输。每个中间节点(交换机/路由器)必须完整地接收整个报文,进行校验(CRC等),存储在缓冲区中,查找路由表,然后再转发给下一跳。
2. 技术特性与弊端
- 无连接性: 不需要预先建立连接,信道共享。
- 对中间节点要求极高: 由于报文大小没有严格限制(可能很大),中间节点需要巨大的缓存空间(Buffer)。
- 阻塞与丢包: 存储转发机制导致如果一个大报文出错,整个报文都需要重传,信道利用率在误码率高的环境下反而下降。更严重的是,大报文会长时间占用链路,导致后续小报文的排队时延剧增。
三、 分组交换 (Packet Switching)
分组交换是现代计算机网络(包括Internet)的主流技术。它继承了报文交换"存储-转发"的优点,通过限制数据块大小(即"分组"或"包")解决了报文交换的缺陷。
1. 工作原理
系统将长报文切割成若干个固定或可变长度的较小数据块(Packet),加上头部信息(Header)后进行传输。
2. 核心优势:流水线效应 (Pipelining)
这是理解分组交换效率的关键。
假设有一个报文大小为 LLL,被分为 nnn 个分组,每个分组长度 p=L/np = L/np=L/n(忽略头部开销)。经过 kkk 段链路(即 k−1k-1k−1 个中间节点)。
- 在报文交换中: 只有当整个 LLL 到达节点1,才能向节点2转发。
- 在分组交换中: 当第1个分组到达节点1并被转发向节点2时,源节点已经开始发送第2个分组。这种并行传输极大地降低了总传输时延。
如果不考虑传播时延和建立时间,分组交换将最后一位数据送达目的地所需的时间 TpacketT_{packet}Tpacket 大致满足:
Tpacket≈LR+(k−1)pR T_{packet} \approx \frac{L}{R} + (k-1)\frac{p}{R} Tpacket≈RL+(k−1)Rp
其中,LR\frac{L}{R}RL 是发送所有数据所需的串行时间,(k−1)pR(k-1)\frac{p}{R}(k−1)Rp 是最后一个分组穿过中间节点所需的额外时间。显然,ppp 远小于 LLL,因此 TpacketT_{packet}Tpacket 往往小于报文交换的总时延。
3. 分组交换的两种模式
科学严谨地讲,分组交换在网络层又分为两类:
-
数据报 (Datagram): 如 IP协议。
- 无连接。
- 每个分组独立选择路径,可能乱序到达。
- 鲁棒性强: 某个节点故障,后续分组可自动绕行。
-
虚电路 (Virtual Circuit, VC): 如 ATM、X.25、Frame Relay。
- 逻辑上的电路交换。传输前建立逻辑连接(VC ID)。
- 分组沿着预定路径传输,按序到达。
- 结合了电路交换的顺序控制和分组交换的带宽统计复用优势。
四、 三种技术的深度对比
为了科学地对比,我们关注以下几个核心指标:
| 特性 | 电路交换 | 报文交换 | 分组交换 |
|---|---|---|---|
| 资源分配 | 静态、预留、独占 | 动态、按需 | 动态、按需、统计复用 |
| 数据处理单位 | 比特流 (Continuous bit stream) | 完整报文 (Entire Message) | 分组 (Packet) |
| 建立连接 | 必须 | 不需要 | 数据报不需要;虚电路需要 |
| 时延构成 | 主要为传播时延 + 建立时延 (无排队/处理时延) | 巨大的跳间发送时延 (Store-and-Forward delay) | 发送时延 + 处理时延 + 排队时延 |
| 信道利用率 | 低 (突发数据浪费带宽) | 较高 | 高 (流水线 + 统计复用) |
| 应用场景 | 传统电话、OTN光网络 | (纯粹形式已淘汰) | 互联网、局域网、4G/5G核心网 |
五、 现代技术中的融合与发展
在当代网络技术中,这三种交换技术的界限正在变得模糊,呈现出相互融合的趋势。
-
MPLS (多协议标签交换):
在IP网络(分组交换)之上,MPLS引入了类似虚电路的机制。通过在IP包头前添加"标签"(Label),路由器不再需要查找庞大的IP路由表,而是根据标签进行快速转发。这在本质上是在无连接的IP网络中构建了面向连接的逻辑通道,以提供QoS(服务质量)保证和流量工程能力。
-
VoIP (Voice over IP):
传统上属于电路交换的语音业务,现在运行在分组交换网络上。为了模拟电路交换的"实时性",现代网络使用了RTP/RTCP协议、抖动缓冲(Jitter Buffer)以及QoS优先队列技术,尽量减少分组交换中不确定的排队时延。
-
光突发交换 (OBS) 与 光分组交换 (OPS):
在光通信领域,研究者正在尝试突破电路交换(波长交换)的限制。OBS试图在光层实现类似"报文/分组交换"的颗粒度,将控制报文与数据突发在时间上分离,试图结合光的高带宽和分组交换的灵活性。
结语
总结来说,电路交换 胜在传输的实时性和确定性,但在突发流量下效率低下;报文交换 提出了存储转发的革命性思想,但受限于长报文带来的阻塞;分组交换通过将数据颗粒化,完美实现了链路的统计复用和流水线传输,成为了构建现代互联网的基石。