数据交换技术有哪几种(非常全面)
在多个通信系统中,数据从源节点到达目标节点很难实现收发两端直接相连传输,通常要通过多个节点转发才能实现。那么怎么实现数据的交换与转发呢?数据交换方式又分为哪些呢?
数据经编码后在通信线路上进行传输时,最简单的方式是用传输介质将两个端点直接连接起来进行数据传输。但是每个通信系统都采用将收发两端直接相连的方式是不可能的,通常需要通过一个中间网络来实现。这个中间网络由多个节点组成,用于将数据从源节点转发到目标节点,以此实现通信。
中间网络不关心所传输的数据内容,只是为这些数据从一个节点到另一个节点直至目标节点提供数据交换的功能。因此,这个中间网络也叫作交换网络,组成交换网络的节点叫作交换节点。
一般的交换网络拓扑结构如下图所示:

图 1 一般的交换网络拓扑结构
数据交换是在多节点网络中实现数据传输的有效手段。常用的数据交换技术有电路交换(Circuit Switching)技术和存储交换(Store Switching)技术两种,存储交换技术又可细分为报文交换技术和分组交换技术。

图 2 电路交换
① 线路建立。在传输任何数据之前,要先通过呼叫建立一条端到端的线路,如下图所示:

图 3 线路建立
若 T1 要与 T2 连接,则 T1 要先向其相连的 A 节点提出请求,A 节点在有关联的路径中找到下一个支路 B 节点,在此线路上分配一个未用的通道,并告诉 B 节点它要连接 C 节点,接着用同样的方法连接 D 节点,完成所有的连接。再由主机 T2(被叫用户)发出应答信号给主叫用户主机 T1,这样通信线路就接通了。
只有当通信的两个站点之间建立起物理链路之后,才被允许进入数据传输阶段。电路交换的这种“连接”过程所需要时间的长短(建立时间)与连接的中间节点的个数有关。
② 数据传输。线路 A—B—C—D 建立之后,数据就可以从节点 A 发送到节点 B,然后由节点 B 发送到节点 C,再由节点 C 发送到节点 D,节点 D 也可以经节点 C、节点 B 向节点 A 发送数据。在整个数据传输过程中,所建立的线路必须始终保持连接状态。
③ 线路释放。数据传输结束后,由某一方(T1 或 T2)发出线路释放请求,并逐步拆除到对方节点。
报文交换就是针对数据通信的特点而提出的一种交换技术。
在交换过程中,交换设备将接收到的报文先存储起来,待信道空闲时再转发给下一个节点,一级一级中转,直到目的地,这种数据传输技术称为“存储-转发”,如下图所示。

图 4 报文交换
报文传输之前不需要建立端到端的连接,仅需在相邻节点传输报文时建立节点间的连接,这种方式称为“无连接”方式。
在报文交换中,每一个报文由报头和要传输的数据组成,报头中有源地址和目标地址。节点根据报头中的目标地址对报文进行路径选择,并对收发的报文进行相应的处理。
在报文交换过程中,中间设备必须有足够的内存,以便将接收到的整个报文完整存储下来,然后根据报文的头部控制信息,找出报文转发的下一个交换节点。若一时没有空闲的链路,则报文会被暂时存储起来,等待发送。因此,一个节点对一个报文造成的时延往往是不确定的。
报文在交换网络中完全是按接力方式传输的,通信的双方事先并不知道报文所要经过的传输通路,但每个报文确实经过了一条逻辑上存在的通路。由于按接力方式工作,任何时刻一份报文只占用一条链路的资源,不必占用通路上的所有链路资源,因此提高了网络资源的共享性。报文交换技术虽然不要求呼叫建立线路和释放线路的过程,但每一个节点对报文的存储转发时间比较长。
报文交换技术适用于非实时的通信业务,如电报,而不适用于传输实时的或交互式的业务,如语音、传真等。另外,由于报文交换技术是以整个报文作为存储转发单位的,因此,当报文传输出现错误需要重传时,必须重传整个报文。
分组交换不像报文交换以“整个报文”为单位进行交换传输,而是以更短的、标准的“分组”(Packet)为单位进行交换传输。为了更好地利用信道容量,降低节点中数据量的突发性,应将报文交换技术改进为分组交换技术。
分组交换技术将报文分成若干个分组,每个分组的长度有一个上限,有限长度的分组使得每个节点所需的存储能力降低了。分组可以存储到内存中,传输时延减小,提高了交换速度,故其适用于交互式通信,如终端与主机通信。
① 在数据报分组交换中,每个分组自身携带足够的地址信息,能独立地确定路由(传输路径)。由于数据报分组交换不能保证分组按序到达,所以目的站点需要按分组编号重新排序和组装。
例如,主机 A 先后将分组 1 与分组 2 发送给主机 B,分组 2 经过 S1、S4、S5 先到达主机 B;分组 1 经过 S1、S2、S3、S5 后到达主机 B;主机 B 必须对分组重新排序后,才能获得有效数据,如下图所示。

图 5 数据报
数据报的特点如下:
② 虚电路结合了数据报与电路交换的优点,能达到最佳的数据交换效果。
数据报在分组发送之前,发送端和接收端之间不需要预先建立连接;虚电路在分组发送之前,必须先在发送端和接收端建立一条通路,在这一点上,虚电路和电路交换相同。
与电路交换不同的是,虚电路建立阶段建立的通路不是一条专用的物理线路,而只是一条路径。在每个分组沿此路径转发的过程中,经过每个节点仍然需要存储,并等待队列输出。通路建立后,每个分组都由此路径到达目标节点,因此,在虚电路交换过程中,各个分组是按照发送端的分组顺序依次到达目标节点的,这一点又和数据报分组交换不同。
虚电路是为传输某一报文而建立和存在的,其两个用户节点在开始互相发送和接收数据之前需要通过通信网络建立的一条逻辑上的连接即虚电路,所有分组必须沿着事先建立的这条虚电路传输,用户在不需要发送和接收数据时应拆除该虚电路。
虚电路的整个通信过程分为 3 个阶段,分别是虚电路建立、数据传输、虚电路拆除,如下图所示。

图 6 虚电路的通信过程
在虚电路分组交换中,为了进行数据传输,网络的源节点和目标节点之间要先建立一条逻辑的通路。每个分组除包含数据之外,还包含一个虚电路标识符。在预先建好的通路上,每个节点知道把这些分组传输到哪里去,不再需要进行路径选择判定。最后由其中一站用户请求来结束这次连接。它之所以是“虚”的,是因为这条电路不是专用的。

图 7 虚电路分组交换
如上图所示,主机 H1 与主机 H4 进行数据传输,先在主机 H1 与主机 H4 之间建立虚电路 S1—S4—S3,然后依次传输分组 1、2、3、4、5,主机 H4 依次接收分组 1、2、3、4、5,无须重新进行组装和排序,数据传输过程中,不需要再进行路径选择。
虚电路的特点如下:

图 8 3种交换技术的传输过程
在进行数据传输的过程中,若要传输的数据量很大,且传输时间远大于呼叫时间,则采用电路交换较为合适;当端到端的通路由很多段的链路组成时,采用分组交换传输数据较为合适。从提高整个网络的信道利用率来看,报文交换和分组交换优于电路交换,其中分组交换比报文交换的时延小,尤其适用于计算机之间的突发式的数据通信。
数据经编码后在通信线路上进行传输时,最简单的方式是用传输介质将两个端点直接连接起来进行数据传输。但是每个通信系统都采用将收发两端直接相连的方式是不可能的,通常需要通过一个中间网络来实现。这个中间网络由多个节点组成,用于将数据从源节点转发到目标节点,以此实现通信。
中间网络不关心所传输的数据内容,只是为这些数据从一个节点到另一个节点直至目标节点提供数据交换的功能。因此,这个中间网络也叫作交换网络,组成交换网络的节点叫作交换节点。
一般的交换网络拓扑结构如下图所示:

图 1 一般的交换网络拓扑结构
数据交换是在多节点网络中实现数据传输的有效手段。常用的数据交换技术有电路交换(Circuit Switching)技术和存储交换(Store Switching)技术两种,存储交换技术又可细分为报文交换技术和分组交换技术。
电路交换技术
电路交换也叫线路交换,是数据通信领域最早使用的交换技术。使用电路交换进行通信时,需要通过中心交换节点在两个站点之间建立一条专用通信线路。1) 电路交换进行通信的3个阶段
利用电路交换进行通信,包括线路建立、数据传输和线路释放 3 个阶段,如下图所示:
图 2 电路交换
① 线路建立。在传输任何数据之前,要先通过呼叫建立一条端到端的线路,如下图所示:

图 3 线路建立
若 T1 要与 T2 连接,则 T1 要先向其相连的 A 节点提出请求,A 节点在有关联的路径中找到下一个支路 B 节点,在此线路上分配一个未用的通道,并告诉 B 节点它要连接 C 节点,接着用同样的方法连接 D 节点,完成所有的连接。再由主机 T2(被叫用户)发出应答信号给主叫用户主机 T1,这样通信线路就接通了。
只有当通信的两个站点之间建立起物理链路之后,才被允许进入数据传输阶段。电路交换的这种“连接”过程所需要时间的长短(建立时间)与连接的中间节点的个数有关。
② 数据传输。线路 A—B—C—D 建立之后,数据就可以从节点 A 发送到节点 B,然后由节点 B 发送到节点 C,再由节点 C 发送到节点 D,节点 D 也可以经节点 C、节点 B 向节点 A 发送数据。在整个数据传输过程中,所建立的线路必须始终保持连接状态。
③ 线路释放。数据传输结束后,由某一方(T1 或 T2)发出线路释放请求,并逐步拆除到对方节点。
2) 电路交换技术的特点
- 在数据传输开始之前必须设置一条专用的通路,采用面向连接的方式;
- 一旦线路建立,用户就可以以固定的速率传输数据,中间节点不会对数据进行其他缓冲和处理,传输实时性好,透明性好,数据传输可靠、迅速,数据不会丢失且保持原来的顺序。这种传输方式适用于系统间要求高质量数据传输的情况,常用于电话通信系统中。目前的公共电话网和移动网采用的都是电路交换技术;
- 在线路释放之前,该线路由一对用户完全占用,即使没有数据传输也要占用线路,因此线路利用率低;
- 线路建立时延较大,对于突发式的通信,线路交换效率不高;
- 线路交换既适用于传输模拟信号,又适用于传输数字信号。
报文交换技术
电路交换技术主要适用于传输语音业务,这种交换技术对数据通信业务而言有着很大的局限性。数据通信具有很强的突发性,与语音传输相比,数据通信对时延没有严格的要求,但需要进行无差错的传输;而语音传输可以有一定程度的失真,但实时性一定要高。报文交换就是针对数据通信的特点而提出的一种交换技术。
1) 报文交换原理
报文交换的数据传输单位是报文,报文就是站点一次性要发送的数据块,其长度不限且可变。在交换过程中,交换设备将接收到的报文先存储起来,待信道空闲时再转发给下一个节点,一级一级中转,直到目的地,这种数据传输技术称为“存储-转发”,如下图所示。

图 4 报文交换
报文传输之前不需要建立端到端的连接,仅需在相邻节点传输报文时建立节点间的连接,这种方式称为“无连接”方式。
在报文交换中,每一个报文由报头和要传输的数据组成,报头中有源地址和目标地址。节点根据报头中的目标地址对报文进行路径选择,并对收发的报文进行相应的处理。
在报文交换过程中,中间设备必须有足够的内存,以便将接收到的整个报文完整存储下来,然后根据报文的头部控制信息,找出报文转发的下一个交换节点。若一时没有空闲的链路,则报文会被暂时存储起来,等待发送。因此,一个节点对一个报文造成的时延往往是不确定的。
报文在交换网络中完全是按接力方式传输的,通信的双方事先并不知道报文所要经过的传输通路,但每个报文确实经过了一条逻辑上存在的通路。由于按接力方式工作,任何时刻一份报文只占用一条链路的资源,不必占用通路上的所有链路资源,因此提高了网络资源的共享性。报文交换技术虽然不要求呼叫建立线路和释放线路的过程,但每一个节点对报文的存储转发时间比较长。
报文交换技术适用于非实时的通信业务,如电报,而不适用于传输实时的或交互式的业务,如语音、传真等。另外,由于报文交换技术是以整个报文作为存储转发单位的,因此,当报文传输出现错误需要重传时,必须重传整个报文。
2) 报文交换技术的特点
- 线路的利用率高,任何时刻一份报文只占用一条链路的资源,不必占用通路上的所有链路资源,可提高网络资源的共享性;
- 报文交换系统可以把一个报文发送到多个目的地;
- 可以建立报文的优先级,优先级高的报文在节点上可优先转发;
- 报文大小不一,因此存储管理较为复杂;
- 大报文造成存储转发的时延过长,对存储容量要求较高;
- 出错后整个报文必须全部重发;
- 报文交换技术只适用于传输数字信号;
- 数据传输的可靠性高,每个节点在存储转发中都进行差错控制,即进行检错和纠错;
- 源节点和目标节点在通信时不需要建立专用的通路,与电路交换相比,报文交换没有建立连接和释放连接所需的等待和时延;
- 由于每一个节点对完整报文进行存储/转发,因此传输时延较长,不适用于实时或交互式通信。
分组交换技术
分组交换(Packet Switching)又称包交换。与报文交换同属于存储/转发式交换,它们之间的差别在于参与交换的数据单元长度不同。分组交换不像报文交换以“整个报文”为单位进行交换传输,而是以更短的、标准的“分组”(Packet)为单位进行交换传输。为了更好地利用信道容量,降低节点中数据量的突发性,应将报文交换技术改进为分组交换技术。
分组交换技术将报文分成若干个分组,每个分组的长度有一个上限,有限长度的分组使得每个节点所需的存储能力降低了。分组可以存储到内存中,传输时延减小,提高了交换速度,故其适用于交互式通信,如终端与主机通信。
1) 分组交换技术的特点
- 采用“存储-转发”方式,具有报文交换技术的优点;
- 加快了数据在网络中的传输速率。这是因为分组是逐个传输的,后一个分组的存储操作与前一个分组的转发操作可以并行,这种流水线式的传输方式减少了报文的传输时间。此外,传输一个分组所需的缓冲区比传输一堆报文所需的缓冲区小得多,则因缓冲区不足而等待发送的概率小得多,等待的时间也必然少得多;
- 简化了存储管理。因为分组长度固定,相应的缓冲区的大小也固定,在交换节点中存储器的管理通常被简化为对缓冲区的管理,相对易于管理;
- 减少了出错概率和重发数据量。因为分组较短,其出错概率必然减小,重发的数据量也就大大减少了,这样不仅提高了可靠性,也减少了传输的时延;
- 分组短小,更适合采用优先级策略,便于及时传输一些紧急数据。对于计算机之间突发式的数据通信,使用分组交换技术显然更为合适。
2) 分组交换方式
分组交换方式可分为数据报和虚电路两种。① 在数据报分组交换中,每个分组自身携带足够的地址信息,能独立地确定路由(传输路径)。由于数据报分组交换不能保证分组按序到达,所以目的站点需要按分组编号重新排序和组装。
例如,主机 A 先后将分组 1 与分组 2 发送给主机 B,分组 2 经过 S1、S4、S5 先到达主机 B;分组 1 经过 S1、S2、S3、S5 后到达主机 B;主机 B 必须对分组重新排序后,才能获得有效数据,如下图所示。

图 5 数据报
数据报的特点如下:
- 数据报交换方式中,每个分组被称为一个数据报(Datagram),若干个数据报构成一次要传输的报文或数据块;
- 每个数据报在传输的过程中都要进行路径选择。每个分组都必须带有数据、源地址和目标地址,其长度受到限制,一般在 250B 以内,典型长度为 128B,各个数据报可以按照不同的路径到达目的地。各数据报不能保证按发送的顺序到达目标节点,有些数据报甚至可能在途中丢失;
- 同一报文的分组可以由不同的传输路径通过通信子网,到达目标节点时可能出现乱序、重复或丢失现象。在接收端,再按分组的顺序将这些数据报组重新合成一个完整的报文;
- 传输时延较大,适用于突发性通信,不适用于长报文、会话式通信。
② 虚电路结合了数据报与电路交换的优点,能达到最佳的数据交换效果。
数据报在分组发送之前,发送端和接收端之间不需要预先建立连接;虚电路在分组发送之前,必须先在发送端和接收端建立一条通路,在这一点上,虚电路和电路交换相同。
与电路交换不同的是,虚电路建立阶段建立的通路不是一条专用的物理线路,而只是一条路径。在每个分组沿此路径转发的过程中,经过每个节点仍然需要存储,并等待队列输出。通路建立后,每个分组都由此路径到达目标节点,因此,在虚电路交换过程中,各个分组是按照发送端的分组顺序依次到达目标节点的,这一点又和数据报分组交换不同。
虚电路是为传输某一报文而建立和存在的,其两个用户节点在开始互相发送和接收数据之前需要通过通信网络建立的一条逻辑上的连接即虚电路,所有分组必须沿着事先建立的这条虚电路传输,用户在不需要发送和接收数据时应拆除该虚电路。
虚电路的整个通信过程分为 3 个阶段,分别是虚电路建立、数据传输、虚电路拆除,如下图所示。

图 6 虚电路的通信过程
在虚电路分组交换中,为了进行数据传输,网络的源节点和目标节点之间要先建立一条逻辑的通路。每个分组除包含数据之外,还包含一个虚电路标识符。在预先建好的通路上,每个节点知道把这些分组传输到哪里去,不再需要进行路径选择判定。最后由其中一站用户请求来结束这次连接。它之所以是“虚”的,是因为这条电路不是专用的。

图 7 虚电路分组交换
如上图所示,主机 H1 与主机 H4 进行数据传输,先在主机 H1 与主机 H4 之间建立虚电路 S1—S4—S3,然后依次传输分组 1、2、3、4、5,主机 H4 依次接收分组 1、2、3、4、5,无须重新进行组装和排序,数据传输过程中,不需要再进行路径选择。
虚电路的特点如下:
- 虚电路可以看作采用了电路交换思想的分组交换;
- 虚电路的路由表是由路径上的所有交换机中的路由表定义的;
- 虚电路的路由在建立时确定,传输数据时则不再需要,由虚电路号标识;
- 数据传输时只需指定虚电路号,分组即可按虚电路号进行传输,类似于“数字管道”;
- 能够保证分组按序到达,提供的是“面向连接”的服务;
- 虚电路又分为永久虚电路和交换虚电路两种。
数据交换技术比较
如前所述,数据交换技术分为电路交换、报文交换和分组交换3种。1) 分组交换与报文交换对比
与报文交换相比,分组交换的优点如下:- 分组交换减少了时间延迟。当第一个分组发送给第一个节点后,会继续发送第二个分组,随后可发送其他分组,多个分组可同时在网络中传播,总的时延大大减少,大大提高了网络信道的利用率;
- 分组交换把数据的最大长度限制在较小的范围内,减少了每个节点所需要的存储量,有利于提高节点存储资源的利用率;
- 数据出错时,只需要重传错误分组,而不需要重发整个报文,有利于迅速进行数据纠错,大大降低了每次传输发生错误的概率,还减少了重传信息的数量;
- 易于重新开始新的数据传输。可让紧急报文迅速发送出去,不会因传输优先级较低的报文而堵塞。
2) 3 种交换技术比较
电路交换、报文交换和分组交换这 3 种交换技术的传输过程如下图所示。
图 8 3种交换技术的传输过程
在进行数据传输的过程中,若要传输的数据量很大,且传输时间远大于呼叫时间,则采用电路交换较为合适;当端到端的通路由很多段的链路组成时,采用分组交换传输数据较为合适。从提高整个网络的信道利用率来看,报文交换和分组交换优于电路交换,其中分组交换比报文交换的时延小,尤其适用于计算机之间的突发式的数据通信。