3 电路交换、分组交换和报文交换
约 1816 字大约 6 分钟
2025-05-28
路由器(Router)在因特网核心部分中发挥着至关重要的作用,它对收到的分组进行存储转发来实现分组交换。要弄清分组交换的原理,首先要学习电路交换的相关概念。
1.3.1 电路交换
在早期专为电话通信服务的电信网络中,需要使用很多相互连接起来的电话交换机来完成全网的交换任务。电话交换机接通电话线的方式就是电路交换(Circuit Switching)。从通信资源分配的角度看,交换(Switching)实际上就是以某种方式动态地分配传输线路的资源。使用电路交换进行通信的三个步骤如下:
- 建立连接:主叫方必须首先进行拨号以请求建立连接。当被叫方听到电话交换机送来的振铃音并摘机后,从主叫方到被叫方就建立了一条专用的物理通路,简称为连接。这条连接为通话双方提供通信资源。
- 通话:主叫方和被叫方现在可以基于已建立的连接进行通话了。在整个通话期间,通话双方始终占用着连接,通信资源不会被其他用户占用。
- 释放连接:通话完毕挂机后,从主叫方到被叫方的这条专用的物理通路被交换机释放,将双方所占用的通信资源归还给电信网。

在上图中,电话 A 与 E 之间的物理通路共经过了 3 个电话交换机。
计算机之间的数据传送适合采用电路交换方式吗?
不适合,因为计算机之间的数据传送具有突发性,如果采用电路交换方式,则大部分宝贵的通信线路资源会被浪费,线路的传输效率会很低。
1.3.2 分组交换
早在因特网的鼻祖 ARPANET 的研制初期,就采用了基于存储转发技术的分组交换。源主机将待发送的整块数据构造成若干个分组并发送出去,分组传送途中的各交换节点(也就是路由器)对分组进行存储转发,目的主机收到这些分组后将它们组合还原成原始数据块。待发送的整块数据通常被称为报文(Message),较长的报文一般不适宜直接传输,因此需要将较长的报文划分成若干个较小的等长数据段,在每个数据段前面添加一些必要的控制信息(例如源地址和目的地址等)组成的首部(Header),这样就构造出了一个个分组(Packet)。
源主机将分组发送到分组交换网中,分组交换网中的分组交换机收到一个分组后,先将其缓存下来,然后从其首部中提取出目的地址,按照目的地址查找自己的转发表,找到相应的转发接口后将分组转发出去。
一个简化的分组交换网如下所示:

现假设主机 H1 给主机 H3 发送数据,下图展示了分组交换的工作流程:

- 发送方
- 构造分组
- 发送分组
- 交换节点
- 缓存分组
- 转发分组
- 接收方
- 接收分组
- 还原报文
总结:分组交换没有建立连接和释放连接带来的开销,分组在哪段链路上传送才占用这段链路的通信资源,因而数据的传输效率更高。为了提高分组交换网的可靠性,常采用网状拓扑结构。
优点:
- 没有建立连接和释放连接的过程,分组传输过程中逐段占用通信链路,有较高的通信线路利用率。
- 交换节点可以为每一个分组独立选择转发路由,使得网络有很好的生存性。
缺点:
- 分组首部带来了额外的传输开销。
- 路由器存储转发分组会造成一定的时延。
- 无法确保通信时端到端的通信资源全部可用,在通信量较大时可能造成网络拥塞。
- 分组可能会出现失序和丢失等问题。
1.3.3 报文交换
报文交换是分组交换的前身。在报文交换中,报文被整个地发送,而不是拆分成若干个分组进行发送。交换节点将报文整体接收完成后才能查找转发表,将整个报文转发到下一个节点。因此,报文交换比分组交换带来的转发时延要长很多,需要交换节点具有的缓存空间也大很多。

电路交换、报文交换以及分组交换的区别:
- 电路交换必须首先建立连接,然后才能进行数据传送,通信双方始终占用连接,数据传送结束后还需要释放连接。
- 报文交换无须首先建立连接,通信结束后也无须释放连接,传送路径中的交换节点只有在完整接收整个报文后,才能对其进行查表转发。
- 分组交换也无须建立连接和释放连接,数据传送单元是由整个报文划分并构造出的若干个分组,传送路径中的交换节点每完整接收一个分组后,就对其查表转发。
三种交换方式的对比:
- 若要连续传送大量数据,并且数据传送时间远大于建立连接所需的时间,则采用电路交换可以获得较高的传输效率。然而,计算机的数据传输通常具有突发性特点,因此采用电路交换方式会导致通信线路利用率偏低。
- 报文交换和分组交换均无需预先建立连接(即预分配通信资源),这使得它们在传输计算机的突发数据时,能够提高通信线路的利用率。
- 将报文分割成若干个较小的分组进行分组交换,其传输时延通常小于直接进行报文交换。此外,分组交换还可以避免过长报文长时间独占链路,更便于进行差错控制,并提供了更高的灵活性。