电路交换、报文交换与分组交换
首先我们来看看三种交换方式的示意图
对照上面的图,给出三种交换方式在数据传输阶段的主要特点:
- 电路交换:整个报文的比特流连续的从源点直达终点,好像在一个管道中传送。
- 报文交换:整个报文先传输到相邻的结点,全部存储下来后查找转发表,转发到下一个结点。
- 分组交换:单个分组(报文的一部分)传送到相邻结点,相邻结点存储下来后查找转发表,转发到下一个结点。
1、电路交换
在进行数据传输前,两个结点之间必须先建立一条专用 (双方独占)的物理通信路径(由通信双方之间的交换设备和链路逐段连接而成),该路径可能经过许多中间结点。这一路径在整个数据传输期间一直被独占,直到通信结束后才被释放。
1.1 电路交换的三个阶段
- 建立连接
- 数据传输
- 释放连接
1.2 电路交换的优点
- 通信时延小。由于通信线路为通信双方用户专用,数据直达,因此传输数据的时延非常小。当传输的数据量较大时,这一优点非常明显。
- 有序传输。双方通信时按发送顺序传送数据,不存在失序问题。
- 没有冲突。不同的通信双方拥有不同的信道,不会出现争用物理信道的问题。
- 适用范围广。电路交换既适用于传输模拟信号,又适用于传输数字信号。
- 实时性强。通信双方之间的物理通路一旦建立, 双方就可以随时通信。
- 控制简单。电路交换的交换设备及控制较简单。
1.3 电路交换的缺点
- 建立连接时间长。电路交换的平均连接建立时间对计算机通信来说太长。
- 线路独占。使用效率低。电路交换连接建立后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率低。
- 灵活性差。只要在通信双方建立的通路中的任何一点出了故障,就必须重新拨号建立新的连接,这对十分紧急和重要的通信是很不利的。
- 难以规格化。电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。
2、报文交换
报文交换是以报文为数据交换的单位,报文携带有目标地址、源地址等信息,在交换结点采用存储转发的传输方式。
2.1 报文交换的优点
- 无须建立连接。报文交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接时延,用户可以随时发送报文。
- 动态分配线路。当发送方把报文交给交换设备时,交换设备先存储整个报文,然后选择一条合适的空闲线路,将报文发送出去。
- 提高线路可靠性。如果某条传输路径发生故障,那么可重新选择另一条路径传输数据,因此提高了传输的可靠性。
- 提高线路利用率。通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通道,因而大大提高了通信线路的利用率。
- 提供多目标服务。一个报文可以同时发送给多个目的地址,这在电路交换中是很难实现的。
- 允许建立数据传输的优先级。使优先级高的报文优先转换。
2.2 报文交换的缺点
- 报文交换只适用于数字信号。
- 报文交换对报文的大小没有限制,这就要求网络结点需要有较大的缓存空间。
- 由于数据进入交换结点后要经历存储、转发这一过程,因此会引起转发时延(包括接收报文、检验正确性、排队、发送时间等),而且网络的通信量愈大,造成的时延就愈大,因此报文交换的实时性差,不适合传送实时或交互式业务的数据。
3、分组交换
同报文交换一样,分组交换也采用存储转发方式,但解决了报文交换中大报文传输的问题。分组交换限制了每次传送的数据块大小的上限,把大的数据块划分为合理的小数据块,再加上一些必要的控制信息(如源地址、目的地址和编号信息等),构成分组(Packet)。网络结点根据控制信息把分组送到下一结点,下一结点接收到分组后,暂时保存并排队等待传输,然后根据分组控制信息选择它的下一个结点,直到到达目的结点。到达目地之后的数据分组再重新组合起来,形成一条完整的数据。
分组交换根据其通信子网向端点系统提供的服务,还可进一步分为面向连接的虚电路方式和无连接的数据报方式。这两种服务方式都由网络层提供。要注意数据报方式和虚电路方式是分组交换的两种方式。
3.1 分组交换的优点
- 无建立时延。不需要为通信双方预先建立一条专用的通信线路,不存在连接建立时延,用户可随时发送分组。
- 线路利用率高。通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通路,因而大大提高了通信线路的利用率。
- 简化了存储管理(相对于报文交换)。因为分组的长度固定,相应的缓冲区的大小也固定,在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。
- 加速传输。分组是逐个传输的,可以使后一个分组的存储操作与前一个分组的转发操作并行,这种流水线方式减少了报文的传输时间。此外,传输一个分组所需的缓冲区比传输一次报文所需的缓冲区小得多,这样因缓冲区不足而等待发送的概率及时间也必然少得多。
- 减少了出错概率和重发数据量。因为分组较短,其出错概率必然减小,所以每次重发的数据量也就大大减少,这样不仅提高了可靠性,也减少了传输时延。
3.2 分组交换的缺点
- 存在传输时延。尽管分组交换比报文交换的传输时延少,但相对于电路交换仍存在存储转发时延,而且其结点交换机必须具有更强的处理能力。
- 需要传输额外的信息量。每个小数据块都要加上源地址、目的地址和分组编号等信息,从而构成分组,因此使得传送的信息量增大了5%~10%,一定程度上降低了通信效率,增加了处理的时间,使控制复杂,时延增加。
- 当分组交换采用数据报服务时,可能会出现失序、丢失或重复分组。分组到达目的结点时,要对分组按编号进行排序等工作,因此很麻烦。
- 当分组交换采用虚电路服务,虽无失序问题,但有虚电路建立、数据传输和虚电路释放三个过程。
3.3 数据报(Datagram)
数据报是面向无连接的数据传输,工作过程类似于报文交换。采用数据报方式传输时,被传输的分组称为数据报。
数据报的前部增加地址信息的字段,网络中的各个中间结点根据地址信息和一定的路由规则,选择输出端口,暂存和排队数据报,并在传输媒体空闲时,发往媒体乃至最终站点。
当一堆站点之间需要传输多个数据报时,由于每个数据报均被独立地传输和路由,因此在网络中可能会走不同的路径,具有不同的时间延迟,按序发送的多个数据报可能以不同的顺序达到终点。因此为了支持数据报的传输,站点必须具有存储和重新排序的能力。
3.4 虚电路(Virtual Circuit)
虚电路是面向连接的数据传输,工作过程类似于电路交换,不同之处在于此时的电路是虚拟的。
采用虚电路方式传输时,物理媒体被理解为由多个子信道(称之为逻辑信道LC)组成,子信道的串接形成虚电路,利用不同的虚电路来支持不同的用户数据的传输。
虚电路进行数据传输的三个阶段:
- 虚电路建立:发送方发送含有地址信息的特定的控制信息块,该信息块途经的每个中间结点根据当前的逻辑信道使用状况,分配逻辑信道,并建立输入和输出逻辑信道映射表,所有中间结点分配的逻辑信道的串接形成虚电路。
- 数据传输:站点发送的所有分组均沿着相同的虚电路传输,分组的发收顺序完全相同。
- 虚电路释放:数据传输完毕,采用特定的控制信息块,释放该虚电路。通信的双方都可发起释放虚电路的动作。
3.5 数据报与虚电路的区别
对比的方面 | 虚电路 | 数据报 |
---|---|---|
建立连接 | 需要 | 不需要 |
目的站地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有目的站的全地址 |
路由选择 | 在虚电路连接建立时进行,所有分组均按同一路由 | 每个分组独立选择路由 |
当路由器出故障 | 所有通过了出故障的路由器的虚电路均不能工作 | 出故障的路由器可能会丢失分组,一些路由可能会发生变化 |
分组的顺序 | 总是按发送顺序到达目的站 | 到达目的站时可能不按发送顺序 |
端到端的差错处理 | 由通信子网负责 | 由主机负责 |
端到端的流量控制 | 由通信子网负责 | 由主机负责 |