(三)数据报方式的分组交换

我们根据图 5—12 所示的网络来解释数据报方式的分组交换工作原理。图中虚线框内属通信子网,子网有 6 个节点,分别标为 1,2,3,4,5,

6。每个节点都连接有若干用户设备(计算

(三)数据报方式的分组交换 - 图1

机或终端)。现在假定用户 A 要和用户 C 进行通信,交换报文 M,那么对于通信子网的这些转接节点来讲,节点 1 是源节点,节点 6 是目的节点,其余节点是中转节点。为了分组传输,报文 M 进网后,源节点 1 要对它进行如下处理:

  1. 将报文按规定的长度划分成一个分组数据块,并给予编号。这里我们假定报文 M 划成 5 个数据块。

  2. 根据 M 的头部信息(目的地址、源地址、传输控制等)形成分组的控制信息并与分组数据一起计算出用于差错控制校验码,加到分组的尾部。这样就将各个分组数据分别装配成分组 P1、P2、P3、P4 和 P5,等待发送。

一般情况下,通信子网中的任何一个节点都有若干条线路与相邻节点相连。这意味着一个节点中的分组可以发往多个节点。假定任一时刻,每条线路上只能传送一个分组。本例中各个分组在子网内的传输可以结合表 5—2

和表 5—3 加以说明。

各分组经过的路径分别如下: P1:(1—2,2—4,4—6) P2:(1—3,3—4,4—5,5—6) P3:(1—6)

表 5-2 各分组在各线路段上的时刻

线路段

t0-t1

t1-t2

t2-t3

t3-t4

t4-t5

t5-t6

1-2

P1

P4

1-3

P2

P5

1-6

P3

P1

2-3

P1

2-5

2-6

3-5

3-4

P2

P5

P4

4-5

P2

4-6

P1

P5

P4

5-6

表 5-3 各分组到各节点的时刻

时刻节点

t1

t2

t3

t4

t5

2

P1

P4

3

P1

P4

4

P1

P5

P4

5

6

P3

P1

P5

P2

P4

P5:(1—3,3—4,4—6)

各个节点可以根据自身的转发业务量和线路段的负荷决定所经过分组的发送时间和输出线路。这样,由于各个分组经历不同的传输路径,各分组到达目的节点 6 的顺序为 P3,P1,P5,P2,P4。

目的节点 6 每收到一个分组,立即对分组的头部信息作分析。如果确认本节点是该分组的目的节点,则对分组作以下处理:

  1. 去掉分组的头部和尾部控制信息,获得数据块,并将它存入存储器;

  2. 根据分组编号检查构成一个报文的所有分组是否都已到齐;

  3. 如果构成一个报文的分组已经全部存储到了存储器(分组全部到达),立即将它们重新合成一个报文。否则等待其余分组的到达;

  4. 所有分组合成一个报文后,一方面通知用户 C

    准备接收报文,另一方面向源节点 1 发回一个确认信息,表示整个报文已经正确收到。

如果目的节点在指定的时间内没有正确收到一个报文的全部分组,就向源节点发送一个否认信息,要求源节点重新发送该报文的全部分组。

(四)虚电路方式的分组交换

第二章我们介绍数据交换方式时提到过,所谓虚电路交换指通信双方一次通信所要转送的报文,它的所有分组都按照编号顺序从源节点沿着同一条路径到达目的节点,就好像收发双方占用这一条通路一样。但它又与线路交换方式有本质上的区别。线路交换在通信期间,通信双方自始至终地占用这一条通路上的所有线路段。但虚电路交换采用的仍然是存储转发的分组交换,所以只是继续占用该通路上的线路段,一个时间段内只占用其中的一个线路段,通路上其余的线路段仍然可以被其他用户占用。因此这条通路只是一条逻辑上存在的通路,是一条“虚”通路。

(三)数据报方式的分组交换 - 图2我们用图 5—13 说明虚电路交换的工作过程。假设用户 A 要与用户 C 交换数据。那么通信子网节点 1 就是源节点,节点 6 就是目的节点。首先,用户 A 先从节点 1 处取得一个逻辑信道号 CH1,然后发出建立通信线路的呼叫分组。

呼叫分组中给出发起通信的计算机(主呼站)和目的计算机(被呼站) 的全称网络地址以及主呼逻辑信道号 CH1。为了提供虚电路服务,分组交换网的每个节点中都有一个虚电路转换表,记录虚电路与进入/输出线之间的对应关系。各节点上的转换表是在存储/转发呼叫分组时,依据路径选择算法, 边选择路径边动态建立的。呼叫分组到达节点 6 后,它也会取得一个逻辑信道号(比如 CH3),从而在 CH1 和 CH3 之间通过各中转节点的转换表建立起一条传输通路,亦即虚电路。

虚电路建立起来之后。通信双方只要使用较短的逻辑信道号而不再使用网络地址就可在通信双方之间进行分组传输。此后双方要传送的所有分组都沿着这条通路按照存储/转发方式在 A 与 C 之间传送。

(五)虚电路与数据报的组合应用

虚电路与数据报方式各有其优缺点。数据报方式适合传输短报文(比如只包含一个分组的报文),而虚电路方式适用于通信时间比较长的应用,特别是大批量数据传送。数据报方式由于各个分组的传送是独立进行的,到达终点的分组顺序有可能被打乱,个别分组还可能丢失,因此数据报方式的可靠性比虚电路方式要差。

刚才我们所说的是分组在通信子网内的两种传输情况。实际上,用户节点与通信子网的交接口上,同样既可以采用虚电路方式,也可以采用数据报方式。而且在接口处所采用的方式可以与子网内的传输方式不同。

仍以图 5—12 为例,如果在用户计算机与通信子网的接口上采用虚电路方式入网,用户 A 通过虚呼叫与被呼用户 C 建立起一条虚电路,并且按序将分组 P1、P2、P3、P4 和 P5 发送到节点 1,即用户 A 的分组按序进入通信子网。随后通信子网如何对这五个分组进行传输,完全取决于通信子网的传输策

略,既可按数据报方式发送到节点 6,也可以通过虚电路到达目的节点。目的节点负责将收到的分组组合成报文递交给用户 C。这样的通信子网称为提供可靠服务的网络。

如果用户计算机 A 与通信子网的接口采用数据报方式,则用户 A 的分组P1、P2、P3、P4 和 P5 每一个作为一个单独的处理对象入网,进入通信网的顺序都有可能被打乱。这种情况下各分组在子网内也按数据报方式进行传输, 最终到达目的节点 6。节点6 每收到一个分组就转交给用户 C,由用户负责将各个分组组合成报文。这种传输方式通信子网只负责尽力向前传送分组,不进行流量控制、差错检验等工作,也不负责将分组合成报文,这样的通信子网称为提供不可靠服务的网。

总结起来,网内和网外的传输方式可以有以下三种实用的组合。

  1. 网外虚电路,网内虚电路:用户之间通过呼叫请求建立起一条穿越网络的专用逻辑通路,双方所有的分组都沿着同一条通路传输。

  2. 网外虚电路,网内数据报:进网的所有分组各自独立地选取传输路径,但网络要负责将分组装配成报文递交给目的用户。这样就要求网内的目的节点拥有足够多的缓冲区,以便能够存储足够多的分组,然后完成排序重新装配成报文。

  3. 网外数据报,网内数据报:从用户到网络内部,对每个分组都作独立的处理。这种方式要求目的主机完成报文的重新装配。

提供(1)或者(2)传输方式的网被称为提供可靠服务的网,提供(3) 传输方式的网被称为提供不可靠服务的网。在目前实用的公共交换数据网中,这三种方式都有应用。其中遵循 X.25 协议的网提供第一种方式的服务, 遵循 TCP/IP 协议的网提供第三种方式的服务。