【概述】
交换技术,是指各台主机之间、各台通信设备之间、主机与通信设备之间为交换信息采用的数据格式和交换装置的方式
常见的交换技术有:电路交换、报文交换、分组交换
下图给出了三种数据交换方式的比较
由图可以看出,若要传送的数据量很大,且发送时间远大于呼叫时间,采用电路交换比较合适;当端到端的通路由多段链路组成,采用分组交换较为合适
从提高整个网络的信道利用率来看,报文交换和分组交换优于电路交换,其中分组交换比报文交换时延小,适用于计算机间突发的数据通信
【电路交换】
在进行数据传输前,两个结点间必须先建立一条专用的物理通信路径,其由通信双方间的交换设备和链路逐段连接而成,且可能经过诸多中间结点,该线路在整个数据传输期间一直被独占,直到通信结束后才被释放
由此,电路交换技术分为三个阶段:连接建立、数据传输、连接释放
需要注意的是,当电路建立后,除了源结点与目的结点外,电路上的任何结点均采用直通式收发数据,即不存在存储转发所消耗的时间
电路交换的优缺点如下:
优点 | 缺点 |
---|---|
通信时延小,数据量大时是否明显 | 建立连接耗时间长 |
有序传输,不存在失序问题 | 线路独占,信道利用率低 |
无冲突,不会出现争用物理信道的问题 | 灵活性差,通信双方连接通路上任一结点出现故障,必须重新建立连接 |
适用范围广,既可传模拟信号,又可传数字信号 | 数据直达,不同终端间的通信难以规格化 |
实时性强,通信双方连接一旦建立,可随时通信 | 难以进行差错控制 |
控制简单,交换设备的控制较为简单 |
【报文交换】
报文交换数据交换的单位是报文,报文携带有目标地址、源地址等信息
报文交换在交换结点采用存储转发方式,即交换设备会将到来的报文缓存,在检查数据包是否正确后,根据查找表选择一条合适的空闲线路,将报文转发出去
报文交换的优缺点如下:
优点 | 缺点 |
---|---|
无需建立连接,用户可随时发送报文 | 存在转发时延,即数据进入交换结点后要经历存储、转发这一过程,包括接收报文、检验正确性、排队等 |
动态分配线路,根据网络状况选择合适的线路转发报文 | 对报文大小无限制,要求网络结点要有较大的缓存空间 |
线路可靠性高,若某条线路出现故障,可重新选择另一条路径传输 | |
线路利用率高,通信双方不是固定占有一条通信线路,而是在不同时间段内占有该条物理信道 | |
提供多目标服务,一个报文可同时发送到多个目的地址 |
【分组交换】
概述
分组交换也采用存储转发方式,但其解决了报文交换中大报文传输的问题
分组交换限制了每次传送的数据块大小的上限,将大的数据块划分为合理的小数据块,再加上必要的控制信息,从而构成分组(Packet)
网络结点根据分组的控制信息将分组发送到下一结点,下一结点接收到分组后,暂存下了排队等待传输,然后再根据分组信息继续选择下一结点,直到到达目的结点
根据通信子网向端点系统提供的服务,分组交换还可进一步分为面向连接的虚电路方式、无连接的数据报方式,这两种服务方式均由网络层提供
分组交换的优缺点如下:
优点 | 缺点 |
---|---|
无建立时延,用户可随时发送分组 | 存在传输时延,且要求交换结点具有更强的处理能力 |
线路利用率高,通信双方不是固定占有一条通信线路,而是在不同时间段内占有该条物理信道 | 要传送额外的控制信息,一定程度上降低了通信效率,增加了处理时延 |
结点的缓冲区大小固定,存储管理比报文交换简单 | 若采用数据报服务,可能会出现失序、丢失、重复分组 |
流水线方式传输,减少传输时间 | 若采用虚电路服务,有呼叫建立、数据传输、虚电路释放三个过程,较为繁琐 |
分组较短,减少出错几率与重发数据量 |
数据报方式
当作为通信子网用户的端系统要发送一个报文时,在端系统中实现的高层协议会将报文拆为若干带序号的数据单元,并在网络层加上控制信息形成数据报分组(网络层 PDU),之后,在发送过程中,中间结点会尽快找到最佳路由,转发各个分组
值得注意的是,不同的分组可以走不同的路径,也可以按照不同的顺序到达目的结点,在到达目的结点后,会对分组按照编号进行排序
以下图为例,假定主机 $A$ 要向主机 $B$ 发送分组,那么采用数据报方式转发分组过程如下:
- 主机 $A$ 将分组逐个发往与其直相连的结点 $A$,交换结点 $A$ 会将收到的分组缓存
- 交换结点 $A$ 查找自己的转发表,由于不同时刻网络状态不同,因此转发表内容会改变,故有的分组转发给结点 $C$,也有的分组转发给结点 $D$
- 网络中的其他结点收到分组后,与步骤 2 相似,类似的转发分组,直到分组到达目的主机 $B$
可以发现,数据报方式具有以下特点:
- 发送分组前不需建立连接
- 网络尽最大努力交付,不保证传输可靠性
- 每个分组独立选择路由,分组不一定按序到达目的结点
- 分组在交换结点存储转发时需要排队等待,会带来一定的时延
- 网络具有冗余路径,对故障适应力强
- 收发双方不独占某一链路,信道利用率较高
虚电路方式
虚电路方式是电路交换与数据报方式的结合,充分发挥了两种方法的优点,以达到最佳的数据交换效果
在分组发送前,要求发送方和接收方建立一条逻辑上相连的虚电路,并且一旦连接建立,虚电路对应的物理路径就固定了
与电路交换类型,整个通信过程分为三个阶段:虚电路建立、数据传输、虚电路释放
端系统每次建立虚电路时,会选择一个不曾使用过的虚电路号分配给该虚电路,以区别于系统中的其他虚电路
在传输数据时,每个数据分组不仅要有分组号、检验和等控制信息,还要有其要通过的虚电路号,以区别于其他虚电路上的分组
同时,在虚电路网络上的每个结点都维持着一张虚电路表,其每一项记录了一个打开的虚电路的信息
以下图为例,假定主机 $A$ 要向主机 $B$ 发送分组,那么采用虚电路方式转发分组过程如下:
- 主机 $A$ 与主机 $B$ 之间建立一条逻辑通路,主机 $A$ 发送一个特殊的呼叫请求分组,该分组通过中间结点发往主机 $B$,若主机 $B$ 同意建立连接,就发送呼叫应答分组进行回应
- 虚电路建立后,主机 $A$ 可以通过虚电路以存储转发的方式向主机 $B$ 发送数据,主机 $B$ 也可以通过虚电路以存储转发的方式向主机 $A$ 发送数据
- 数据传送完毕后,主机 $A$ 发送释放请求分组以申请拆除虚电路,若主机 $B$ 同意拆除,就发送释放应答分组,之后整个连接逐段断开
可以发现,虚电路方式具有以下特点:
- 虚电路的建立与拆除需要额外的时间开销,适用于长时间、频繁的数据交换
- 虚电路的路由选择体现在连接建立阶段,连接建立后,传输路径就确定了
- 虚电路提供可靠通信功能,能保证每个分组正确有序到达
- 虚电路可以对两个数据端点进行流量控制,当接收方来不及接收数据时,可通知发送方暂缓发送
- 当网络中某个结点出现故障时,所有经过该结点的虚电路将遭到破坏