2.2 分组交换
分组交换方式首先把来自发信终端的用户数据暂存在交换机的存储器里,接着在网内高速存储和传送,最后传递到收信终端。“分组”是将整个用户数据(也将报文)划分成一定大小的块,再加上接收地址和控制信息(也称为标记)所构成的信息传送单位。分组交换是用分组来传输和交换信息的,分组最前面的3~10B为填写接收地址和控制信息的分组头。分组头后面是用户数据,通常为128B,也可根据通信线路的质量选用32B、64B、256B或1024B。当发送长块报文时,需要把该报文划分成多个分组。分组的形成如图2-3所示。
图2-3 分组的形成
分组交换方式所连接的终端可分为两类,即分组终端和非分组终端。
1)分组终端是指那些可以将数据信息分成若干个分组,并能执行分组通信协议,直接和分组网络相连接进行通信的终端。
2)非分组终端是指没有能力将数据信息分组的普通终端。为使这些普通终端也能利用分组交换网络进行通信,通常在分组交换机中设置分组装拆模块(PAD),帮助完成用户报文信息和分组之间的转换。
2.2.1 分组交换方式
分组交换的过程如图2-4所示。图中A、B、C、D是分组终端,图中存在两个通信过程,分别是A→C和B→D。A→C采用数据报通信方式,B→D采用虚电路通信方式。
图2-4 分组交换的过程
1.数据报通信方式
分组终端A发出带有接收终端C地址标号的报文,北京分组交换机将此报文分成两个分组,存入存储器并进行路由选择,决定将分组1直接传送给上海分组交换机,而将分组2通过广州分组交换机传送到上海(这样做好像有些舍近求远,但实际中有时是必要的,如出现阻塞时)。路由选择完毕,同时相应路由也有空闲,则北京分组交换机将两个分组从存储器中取出送往相应路由。其他相应交换机也进行同样的操作。接收终端C接收的分组是经由不同路径传输而来的,分组之间的顺序会被打乱,接收终端C必须有能力将接收的分组重新排序,然后递交给相应的处理器。终端A和C之间的这种通信方式称为数据报方式,这里分组头部装载有关目的地址的完整信息,以便分组交换机选择路径。这种方式不需要经历呼叫建立和呼叫清除阶段,对短报文通信传输效率比较高,这一点类似数据的报文交换方式。
数据报通信方式的特点是数据分组传输时延较大,但对网络故障的适应性强,一旦某个经由的分组交换机出现故障,可以另外选择传输路径。
2.虚电路通信方式
分组终端B和D之间的通信采用的是虚电路方式。两个用户终端设备在开始互相传输数据之前必须通过网络建立逻辑上的连接,每个分组头部指明的只是虚电路标识号,而不必直接是目的地址信息。数据分组按已建立的路径顺序通过网络,在网络终点不需要对数据重新排序,分组传输时延小。虚电路分组交换方式中电路的建立是逻辑上的,只是为收发终端之间建立逻辑通道,具体地说,在分组交换机中设置有相应的路由对照表,指明分组传输的路径,并没有像电路交换中确定具体电路或是脉冲编码调制(Pulse Code Modulation,PCM)具体时隙。当发送端有数据要发送时,只要输出线上空闲,数据就沿该路径传输给下一个交换节点,否则在交换机中等待。如果收发两端在通信过程中一段时间内没有数据传送,网络仍旧保持这种连接,但并不占用网络的传输资源,别的用户可来使用。
虚电路通信方式的特点是:一次通信具有呼叫建立、数据传输和呼叫释放3个阶段;数据分组中不需要包含终点地址,对于数据量较大的通信传输效率高。虚电路分组方式的通信过程类似于电路交换过程。
2.2.2 虚电路的建立与释放
1.逻辑信道
在虚电路方式下,虽然没有为各个数据终端分配固定的物理上的信道,但是通过对数据分组的编号,仍然可以把各个终端的数据在线路上严格地区分开来,就好像线路也分成了许多信道一样,每个信道用相应的号码表示,因此把这种信道称为逻辑信道。
逻辑信道为终端提供独立的数据传输通路,线路的逻辑信道号可以独立于终端的编号,逻辑信道号作为线路的一种资源可以在终端要求通信时由分组交换机分配给它。对同一个终端,每次呼叫可以分配不同的逻辑信道号,用线路的逻辑信道号给终端的数据分组作为“标记”比用终端号更加灵活方便,这样一个终端可以同时通过网络建立多个数据通路,交换机可以为每个通路分配一个逻辑信道号,并在交换机中建立终端号和逻辑信道号对照表,网络通过逻辑信道号识别出是哪个终端发来的数据。
逻辑信道具有如下特点:
1)由于分组交换采用动态时分复用方法,因此是在终端每次呼叫时,根据当时的实际情况分配逻辑信道号的。要说明的是,同一个终端可以同时通过网络建立多个数据通路,它们之间通过逻辑信道号来进行区分。对同一个终端而言,每次呼叫可以分配不同的逻辑信道号,但在同一次呼叫连接中,来自某一个终端的数据逻辑信道号应该是相同的。
2)逻辑信道号是在用户至交换机或交换机之间的网内中继线上可以被分配的,代表了信道的一种编号资源。每一条线路上,逻辑信道号的分配是独立进行的。也就是说,逻辑信道号并不在全网中有效,而是在每段链路上局部有效,或者说,它只具有局部意义。网内节点的交换设备要负责出/入线上逻辑信道号的转换。
3)逻辑信道号是一种客观的存在。逻辑信道总是处于下列状态中的某一种:准备状态、呼叫建立状态、数据传输状态和呼叫清除状态。
2.虚电路的建立
虚电路可以是永久连接,也可以是临时连接。永久连接的称为“永久虚电路”,用户在向网络预约了该项服务之后,就在两个用户之间建立起永久的虚连接,用户之间的通信直接进入数据的传输阶段,就好像具有一条专线一样,可随时传送数据。临时连接的称为“交换虚电路”,用户终端在通信之前建立虚电路,通信结束后就拆除虚电路。交换虚电路的建立过程如图2-5所示。
图2-5 交换虚电路的建立过程
如果数据终端DTE1要与数据终端DTE2进行数据通信,DTE1首先发出“呼叫请求”。交换机A在收到该分组后,根据其被叫DTE地址,选择通往交换机B的路由,并由交换机A发送“呼叫请求”。但由于交换机A至交换机B之间的逻辑信道号与DTE1至交换机A之间信道号可能不同,为此,交换机A应建立一张图2-6a所示的逻辑信道对应表,DA表示DTE1进入交换机A,逻辑信道号为10,SB表示交换机A出去的下一站是交换机B,逻辑信道号为50。通过交换机A把上述逻辑信道号10与50连接起来。
同理,交换机B根据从交换机A发来的“呼叫请求”,再发送“呼叫请求”至DTE2,并在该交换机内也建立一张逻辑信道对应表,如图2-6b所示,SB表示进入交换机B的是交换机A,逻辑信道号为50,DB表示交换机B出去的下一站是DTE2,逻辑信道号为6。交换机B将逻辑信道50与6连接起来。对于DTE2来讲,它是被叫终端,所以从交换机B发出的“呼叫请求”应称为“呼入”。当DTE2可以接入呼叫时,它便发出“呼叫接受”。由于DTE1至DTE2的路由已经确定,所以“呼叫接受”只有逻辑信道号,无主叫和被叫DTE地址,“呼叫接受”的逻辑信道号与“呼入”的逻辑信道号相同。该分组经交换机B接收后,由B向交换机A发送另一“呼叫接受”,交换机A接收该分组后再向DTE1发“呼叫连接”。“呼叫连接”的逻辑信道号必须与“呼叫请求”的逻辑信道号相同。一旦DTE1收到该分组,DTE1至DTE2之间的呼叫就算完成,虚电路建立完毕。
图2-6 逻辑信道对应表
a)交换机A的逻辑信道对应表 b)交换机B的逻辑信道对应表
3.数据传输
在虚电路建立后,便进入数据传输阶段,DTE1与DTE2之间传送一个个数据分组。在分组交换方式中,普遍采用逐段转发、出错重发的控制措施,以便保证数据传送正确无误。所谓逐段转发、出错重发是指数据分组经过各段线路并抵达每个转送节点时,都需对数据分组进行检错,并在发现错误后要求对方重新发送并进行确认。
4.虚电路的释放
虚电路的释放过程与建立过程相似,只是主动要求释放方必须首先发出“释放请求”,在获得交换机发来的确认信号后便算释放了。此时,呼叫所占用的所有逻辑信道都恢复为“准备”状态。
虚电路是经过分组交换机在主叫DTE与被叫DTE之间建立的一种逻辑连接。主叫或被叫的任何一方在任何时候都可以通过这种连接发送或接收数据,但是虚电路并不独占线路和交换机资源。在一条物理线路上可以同时有许多条虚电路,当某一条虚电路没有数据传输时,线路的传输能力可以为其他虚电路服务。同样,交换机的处理能力也可以用于为其他虚电路服务。因此,线路和交换设备的资源能获得充分的利用。
5.虚电路通信方式的特点
虚电路方式的主要特点如下。
1)一次通信包含呼叫建立、数据传输和呼叫释放3个阶段。数据分组中不需要包含终点地址,对于数据量较大的通信传输效率高。
2)数据分组按建立的路径顺序通过网络,在网络终点不需要对数据重新排序,分组传输时延小,而且不容易产生数据分组的丢失。
3)当网络中由于线路或设备故障时,可能导致虚电路的中断,需要重新建立呼叫,建立新的连接。但是,现在许多采用虚电路方式的网络,已能提供呼叫重新连接的功能。当网络出现故障时,将由网络自动选择并建立新的虚电路,不需要用户重新呼叫,并且不丢失用户数据。
2.2.3 X.25协议标准
公共数据网(Public Data Network,PDN)是在整个国家或全世界提供公共电信服务的数据通信网。公用分组交换网诞生于20世纪70年代,它是一个以数据通信为主要业务的公共数据网。在PDN内,各节点交换机间用存储—转发的方式交换分组。为了使用户设备经PDN的连接能标准化,国际电报电话咨询委员会(CCITT)在1976年制定了X.25协议标准,所以习惯上称PDN为X.25网。X.25建议的含义是:在公共数据网上,以分组方式进行操作的DTE和DCE之间接口的规约。X.25协议标准不涉及网络内部的结构,通常所说的X.25网仅指该网络DCE与DTE的接口遵循X.25标准而已。不同厂家生产的X.25网的具体实现可能有很大差别。目前,X.25公共分组交换网主要适用于低、中速线路,如9.6kbit/s、64kbit/s,现在常用做广域网、城域网或局域网之间互联的通信子网。
X.25协议最初版本既提供数据报服务也提供虚电路服务,在1984年的版本中取消了数据报服务。因此,目前公用分组交换网终端用户的标准接入采用的都是虚电路通信方式。
X.25协议的特点如下。
1)X.25提供点对点的虚电路服务,不支持广播业务。
2)便于不同类型用户设备的接入:X.25网内各节点向用户设备提供了统一的接口,使得不同速率、码型和传输控制规程的用户设备都能接入X.25网,并能相互通信。
3)具有复用功能:当用户设备以点对点方式接入X.25网时,能在单一物理链路上同时复用多条虚电路,使每个用户设备能同时与多个用户设备进行通信。
4)可靠性高:X.25在分组层提供了可靠的面向连接的虚电路服务;X.25每个节点交换机至少与另外两个交换机相连,当一个中间交换机出现故障时,能通过迂回路由维持通信。
5)流量控制和拥塞控制功能:X.25采用滑动窗口技术来实现流量控制,并有拥塞控制机制防止信息丢失。
2.2.4 分组交换的管理功能
在分组交换方式中,分组是交换和传送处理的对象。由于每个分组都带有控制信息和地址信息,所以分组可以在网内独立地传输,并且在网内可以按分组为单位进行流量控制、路由选择和差错控制等通信处理。
1.流量控制
流量控制是分组交换网中的基本管理功能之一。它是指通过一定的手段使得在网中各个链路上的信息流量都保持在一定的上限之下,在分组交换方式中流量控制特别重要,这是因为存在下面3个方面的原因。
1)电路交换中,一对终端在通信时得到的一条信道是供该通信专用的,并可以满足其最大的通信能力要求,因此不需要排队。但在分组交换中,由于中继线路是多用户交叉复用的,所以必须用流量控制的方法来防止线路过分拥挤,导致数据分组排队等待时间过长。
2)由于用户终端的传输速率可能不一致,所以必须用流量控制的方法来调整终端发送数据的速率,以防止向慢速终端发送的数据分组太多,超出其接收能力。在电路交换中,所有终端的通信速率都是一样的,所以不存在这个问题。
3)由于用户终端和交换机处理数据分组的能力限制,必须使用流量控制方法在其不能处理更多数据时抑制对方的数据发送。
分组交换和电路交换的一个重要区别在于:电路交换是立即损失制,即如果路由选择时没有空闲的中继电路可供选择,该呼叫建立就宣告失败,因此,只要根据预测话务量配备足够多的中继电路,就能保证呼叫不阻塞。电路交换的流量控制只是在交换机的处理机过负荷时才起作用,控制功能也较简单,主要是限制用户的发话话务量。分组交换则不同,它是时延损失制,只要传输链路不全部阻断,路由选择总能选到一条链路,但是如果链路上待传输的分组过多,就会造成传输时延的增加,从而引起网络性能下降,严重时甚至会使网络崩溃。因此,流量控制是分组交换网的一项必不可少的功能,其控制机理也相当复杂。
实现流量控制的方法是在接收端给发送端发送特殊的数据分组,用该数据分组来控制发送端停止发送数据或重新开始发送数据。具体的流量控制方法有多种,一种常用的流量控制方法叫作“窗口法”。它把已经发送出去但尚未收到应答的数据分组数记为N,并令N不可大于某一常值W,W被称为窗口尺寸。使用这种流量控制方法,只要控制应答的发送,就可控制对方发送信息的速率。这里窗口尺寸的选择很重要,如果W很大,则对流量控制的响应可能不够及时;同时W也不能太小,如果终端从发送一个数据分组到收到它的响应的时间是T,在这段时间内终端共可发送M个数据分组,而如果W<M,则终端在任何时候都不能以全速发送数据,这样就造成传输效率不高。
2.路由选择
路由选择也是分组交换网中的基本管理功能之一,它是指为网中的分组在多个可能的路由中选择一个合适的路由进行传输。
虽然在电路交换系统中也有路由选择问题,但一些特别的路由选择现象只出现在分组交换系统中。例如,属于同一条虚电路的一些数据分组可能会从相同的起点,经过不同的路径到达相同的终点。这会导致各个分组时延的差别,甚至顺序的颠倒。
路由选择功能并非是分组交换系统必须具有的,但是,在分组交换系统中增加一点简单的路由选择功能,就可以在很大程度上改善系统的性能。这是因为,在一个固定路由结构的网上,各条路径上的信息量往往是极不均匀的,有的路径空闲,有的路径则可能已经发生拥塞。而路由选择功能则可以在一定程度“匀化”各个路径上的业务量。
由于数据业务具有高度突发性,因此在运行中,网络各部分的负荷分布会有很大的波动,合理选择分组的路由,不但可以迅速而可靠地把分组传输到目的地,而且可以保证现有其他数据呼叫的性能不受影响。
(1)路由选择的基本原则
●选择性能最佳的传输路径,通常最为重要的性能就是端到端的传输时延。
●使网内业务量分布尽可能均匀,以充分提高网络资源的利用率。
●具有故障恢复能力,当网络出现故障时,可自动选择迂回路由。
(2)路由选择方法的3个要素
●路由选择准则:确定准则参数和参数的测量方法,选定的路由应使该参数最小化。
●路由选择算法:由各段链路测得的准则参数计算得出最佳路由。
●路由选择协议:链路准则参数变化信息的传送方式,属于网络协议的一部分。
路由选择是网络提供的功能,不同的分组交换网有其各自不同的路由选择方法。
按路由选择准则划分,有最短路径法、最小时延法和最低费用法。这里,路径的定义比较清晰;各网时延的测量有其不同的定义,比较复杂;费用则是由链路长度、数据率、是否要保密、传输时延和链路差错率情况等一个或多个因素综合确定,定义并不统一。
按路由选择对网络变化的适应性划分,有静态法和动态法。前者可不需要路由表,也可采用固定的路由表,因此不需要考虑传送网络变化信息的协议;后者的路由表将随着网络负荷的变化和网络拓扑的变化动态调整。
按路由表调整的方式划分,有分布式和集中式两种方式。前者由各个交换节点根据收到的网络变化信息自行调整其路由表;后者是各个节点将变化信息集中传送到网管中心,由网管中心统一调整路由表后下载到各个节点。
必须指出,每一种路由选择方法只是针对某一种准则及其测量方法而言是最佳的,并不存在一种绝对的最佳选择方案。
3.差错控制
在分组交换系统中,使用反馈重发方法来完成数据传输的差错控制。基本做法有以下两种。
第1种做法是:如果接收端发现接收的数据分组是有差错的,就向发送端发出“重发请求”,发送端收到“重发请求”后,重发数据分组,如此循环交替,直到收到正确的数据分组为止。
第2种做法是:接收端只对接收的正确数据分组向发送端发出确认应答,如果发送端在一定时间内收不到确认应答,或发现确认和数据分组序号不连续,就重发没有确认的数据分组。
在上述反馈重发方法中,有以下两种重要情况必须考虑。
第1种情况是由于信道情况特别恶劣,或是其他原因,导致数据分组总是出错,在这种情况下,反复重发也将徒劳无益,反而导致信道的长时间无效占用,甚至使信道进入死锁状态,为了防止这种情况,一般在接收方或发送方都要设置一个最大重发次数N,超过这个数后,就要停止反馈重发过程,报告发生故障。
第2种情况是由于线路中断或信道情况特别恶劣,请求重发的数据分组也收不到,或任何数据分组都不能传送,导致通信双方进入无限期的等待状态。为防止这种情况的发生,一般在接收方和发送方都设置一个时间常数T,如果在时间T内收不到任何数据分组,就要停止反馈重发过程,报告发生故障。
通信网上两个终端之间的通信,往往要经过若干段用户线路和中继线路才能完成,针对这种情况,反馈重发机制也有两种实施办法。一种办法是“端对端”反馈重发,即反馈重发只在两个终端之间进行。中间线路段上的交换机没有反馈重发机制,也不对数据分组的差错进行检验。另一种办法是逐段反馈重发,即在这若干段用户线路和中继线路中的每一段上进行差错检验和反馈重发。
通常,逐段反馈重发的办法效率较高。这是因为,如果使用端对端方法,在若干段线路上的任一段发生了差错都要在整个链路上(包括若干段线路)进行反馈重发,而使用逐段反馈重发的方法则只要在发生了差错的一段上进行反馈重发就行了,所以在分组交换的方式中采用了逐段反馈重发的方法。
不过,逐段反馈重发的方法也有一个缺点,就是它的控制复杂程度较高。这是因为在每个中间节点即各分组交换机上都要有执行差错检验和反馈重发部件的缘故。