5.3.3 分组的传输方式

5.3.3 分组的传输方式

因为每个分组都带有地址信息和控制信息,所以分组可以在网内独立地传输。分组在分组交换网中的传输方式有两种:数据报方式和虚电路方式。

1.数据报方式

(1)数据报方式的概念

数据报方式将每个数据分组单独对待,分组交换机为每一个分组独立地寻找路径。因此,同一终端送出的不同分组可以沿着不同的路径到达终点。在网络终点,分组的顺序可能不同于发端,需要重新排序。图5-3中一般终端A和分组型终端C之间的通信采用的就是数据报方式。

(2)数据报方式的特点

归纳起来,数据报方式有以下几个特点。

(a)用户之间的通信不需要经历连接建立和连接断开阶段,对于数据量小的通信,传输效率比较高。

(b)数据分组的传输时延较大(与虚电路方式相比),且离散度大(即同一终端的不同分组的传输时延差别较大)。因为不同的分组可以沿不同的路径传输,而不同传输路径的延迟时间差别较大。

(c)同一终端送出的若干分组到达终端的顺序可能不同于发端,需重新排序。

(d)对网络拥塞或故障的适应能力较强,一旦某个经由的节点出现故障或网络的一部分形成拥塞,数据分组可以另外选择传输路径。

2.虚电路方式

(1)虚电路方式的概念

在虚电路方式中,两个用户终端设备在开始互相传输数据之前必须通过网络建立一条逻辑上的连接,即虚电路。虚电路建立以后,用户发送的数据分组将通过该路径按顺序通过网络传送到达终点。通信完成之后,用户发出拆链请求,网络清除连接。图5-3中终端B和D之间的通信采用的是虚电路方式。

虚电路方式的原理如图5-4所示。假设终端A有数据要送往终端C,主叫终端A首先要发出一个“呼叫请求”分组到节点1,要求建立到被叫终端C的连接。节点1进行路由选择后决定将该“呼叫请求”分组发送到节点2,节点2又将该“呼叫请求”分组送到终端C。如果终端C同意接受这一连接,那么它发回一个“呼叫接受”分组到节点2,这个“呼叫接受”分组再由节点2送往节点1,最后由节点1送回给主叫终端A。至此,终端A和终端C之间的虚电路建立起来了。此后,所有终端A送给终端C的分组(或终端C送给终端A的分组)都沿已建好的虚电路传送,不必再进行路由选择。

图5-4 虚电路方式的原理

假设终端B和终端D要通信,也预先建立起一条虚电路,其路径为终端B-节点1-节点2-节点5-终端D。由于终端A和终端C送出的分组也要经节点1到节点2的路由传送,可见两对终端的通信是共享此路由的。

既然一条物理链路上可以建立多条虚电路,如何区分不同终端的分组呢?此时需要对分组进行编号(即分组头中的逻辑信道号)。不同终端送出的分组其逻辑信道号不同,就好像把线路也分成了许多子信道一样。每个子信道称为一个逻辑信道,用相应的逻辑信道号表示。因此,逻辑信道号相同的分组就认为占的是同一个逻辑信道。

那逻辑信道号是如何分配的呢?为了帮助读者更好地理解这个问题,我们仍以图5-4中终端A和终端C之间以及终端B和终端D之间建立的虚电路为例加以说明,参见图5-5。

图5-5 虚电路的建立过程

图5-5(a)中,终端A和终端C之间在建立虚电路时,假设主叫终端A发出的“呼叫请求”分组被分配的逻辑信道号为10,此“呼叫请求”分组到达交换机1时,交换机1查内部的逻辑信道号翻译表,将其逻辑信道号改为50(网络协议规定经过交换节点时,逻辑信道号要改变)。逻辑信道号为50的“呼叫请求”经过线路传输到达交换机2时,交换机2又将其逻辑信道号改为6,然后送给被叫终端C。如果终端C同意建立虚电路,那么终端C发回“呼叫接受”分组,这个“呼叫接受”分组在各段线路上的逻辑信道号与“呼叫请求”分组的相同。终端A和终端C之间建立起虚电路后,双方开始沿建立好的虚电路顺序传数据分组。所有终端A和终端C之间传输的数据分组在终端A和交换机1之间的逻辑信道号一律为10,在交换机1和交换机2之间的逻辑信道号一律为50,在交换机2和终端C之间的逻辑信道号一律为6。按照同样的方法,终端B和终端D之间在建立虚电路时各段线路上分配了相应的逻辑信道号,如图5-5(a)所示。

本例中,就交换机1和交换机2之间的线路来说,可以同时传输终端A和终端C之间以及终端B和终端D之间的分组。由于分组交换采用统计时分复用,要根据逻辑信道号来区分不同终端的分组,即只要是逻辑信道号为50的分组(不管在线路上何位置)就认为占的是一个逻辑信道,它们是终端A和终端C之间传输的分组;只要是逻辑信道号为36的分组就认为占的是另一个逻辑信道,它们是终端B和终端D之间传输的分组,如图5-5(b)所示。

由上述可知,逻辑信道号经过交换机就要改变,因此只有局部意义。多段逻辑信道链接起来构成一条端到端的虚电路。当两个终端暂时无数据分组可传,只要没拆除虚电路,那些各段线路上的逻辑信道号(号码资源)就给它们保留,其他终端不能占用。但这两个终端只是占用了逻辑信道号,并没有占用线路,即虚电路并不独占线路和交换机的资源。由于一条物理线路上可以同时有多条虚电路,在当某一条虚电路没有数据要传输时,线路的传输能力可以为其他虚电路服务。同样,交换机的处理能力也可以为其他虚电路服务。因此,虚电路方式在通信之前建立的电路连接是逻辑上的,只是为收、发两端之间建立逻辑通道,并不是像电路交换中建立的物理链路。这就是虚电路所建立的逻辑连接与电路交换建立的物理链路的本质区别。

虚电路可以分为两种:交换虚电路(SVC)和永久虚电路(PVC)。一般的虚电路属于交换虚电路,但如果通信双方经常是固定不变的(如几个月不变),那么可采用所谓的永久虚电路方式。用户向网络预约了该项服务之后,就在两用户之间建立了永久的虚电路连接,用户之间的通信,可直接进入数据传输阶段,就好像具有一条专线一样。

(2)虚电路方式的特点

虚电路方式有以下几个特点:

(a)一次通信具有连接建立、数据传输和连接清除3个阶段。对于数据量较大的通信传输效率高。

(b)终端之间的路由在数据传送前已被决定(建立虚电路时决定的),而不必像数据报那样每个节点要为每个分组作路由选择的决定,但分组还是要在每个节点上存储、排队等待输出。

(c)数据分组按已建立的路径顺序通过网络,在网络终点不需要对分组重新排序,分组传输时延较小,而且不容易产生数据分组的丢失。

(d)当网络中由于线路或设备故障可能使虚电路中断时,需要用户重新呼叫以建立新的连接。但现在许多采用虚电路方式的网络已能提供重连接的功能,当网络出现故障时将由网络自动选择并建立新的虚电路,不需要用户重新呼叫,并且不丢失用户数据。

(3)虚电路的重连接

虚电路的重连接是由以虚电路方式工作的网络提供的一种功能。在网络中当由于线路或设备故障而导致虚电路中断时,与故障点相邻的节点检测到该故障,并向源节点和终点节点发送清除指示分组(该分组中包含了清除的原因等)。源节点接收到该清除指示分组后就会发送新的呼叫请求分组,而且将选择新的替换路由与终点节点建立新的连接。所有未被证实的分组将沿新的虚电路重新传送,保证用户数据不会丢失,终端用户也感觉不到网络中发生了故障,只是出现暂时性的分组传输时延加大。如果新的虚电路建立不起来,那么网络的源节点和终点节点交换机才向终端用户发送清除指示分组。

仍以图5-4的网络为例加以说明。假设终端B到D的虚电路上节点2和节点5之间线路故障,如图5-6所示。

图5-6 虚电路重连接

节点2和节点5都可以检测到故障,并且沿着原来的虚电路发清除指示分组,要求重新建立连接。源节点1收到清除指示分组后,重新使用原虚电路的目的地址发送呼叫请求分组,建立新的虚电路(如终端B-节点1-节点3-节点4-节点5-终端D)。这种虚电路重连接方式要求在源节点中保留用户呼叫的信息至本次通信结束为止。

网络也可以设计为由与故障点相邻的位于主叫方一侧的节点(如图5-6中的节点2)发送呼叫请求分组,重新建立连接(如虚电路终端B-节点1-节点2-节点4-节点5-终端D)。这时节点2不必发送清除指示分组到源节点l。这种方式的好处是虚电路重连接的时间缩短,但要求在虚电路途径的各节点中都要保留用户呼叫信息。

综上所述,两种虚电路重连接方式各有利弊。由于网络中故障并不多见,为避免各节点都要保留用户呼叫信息,增加节点负担,网络一般采用由源节点重新建立连接的方式。