2.6 数据交换方法
在近代通信系统中,通信都需要在多点之间进行,以此构成通信网络。一般不考虑以两点直通方式占有线路,而是按照需要来设置两点之间的通信路径,以有效的利用整个网络的通信设施。交换方式是指计算机之间、计算机与终端之间和各终端之间交换信息所用信息格式和交换装置的方式。数据通过通信子网的传输过程可以分为报文与报文分组交换和线路交换与存储转发交换。
2.6.1 线路交换方式
线路交换方式又称电路交换方式,circuit exchanging),电路交换是通过网络结点在两个工作站之间建立一条专用的物理通信信道,线路交换方式的工作原理如图2-32所示。常见的电路交换是电话系统,当交换机收到一个呼叫后,就在网络中寻找一条临时通路供两端的用户通话,这条临时通路可能要经过若干个交换局的转接,并且一旦建立就成为这一对用户之间的临时专用通路,别的用户不能打断,直到电话结束才拆除连接。电路交换的通信过程如下:
图2-32 线路交换方式的工作原理
(1)通话前先拨号建立连接。
可能只要经过一个交换机(如A到C), ②可能要经过多个交换机(如D到B)。
(2)通话过程中,通信双方一直占用所建立的连接。
(3)通话结束后,挂机释放连接。
线路交换方式的特点:
(1)线路利用率低:电路交换方式用在计算机之间通信时,由于在大部分连接时间内可能没有数据传输,但线路仍然必须保持连通状态,因而信道容量未加利用,线路利用率低。
(2)数据传送需要可靠、迅速,不丢失且保持着传输的顺序,因此电路交换方式能适应实时性传输。从性能上看,在呼叫发出后,电路建立阶段存在延时,但一旦电路建立,网络对用户是完全透明的,数据可以固定的速率进行传输,除了传输延迟外,不再有其他延迟,也不会发生冲突,数据传送可靠、迅速,不丢失且保持着传输的顺序,因此电路交换方式能适应实时性传输。但是如果通信量不均匀,则容易引起阻塞。
(3)通信子网中的节点交换设备不能存储数据,无纠错功能。
线路交换是面向连接的服务;两台计算机通过通信子网进行数据交换之前,首先要在通信子网中建立一个实际的物理线路连接;线路交换在数据传输过程中要经过建立连接、数据传输与释放连接的三个阶段;线路交换方式的优点是通信实时性强,适用于交互式会话类通信;线路交换方式的缺点是对突发性通信不适应,系统效率低,系统没有存储数据的能力,不能平滑交通量。
2.6.2 存储转发交换方式
存储转发(store and forward exchanging)不需在两站之间建立专用通道。源站在发送报文时,把目的地址添加到报文中,然后报文在网络中从一个结点传至另一个结点。在每个结点中,接收信息后暂时存储起来,待信道空闲时再转发到下一结点,这种工作方式叫存储—转发方式。发送的数据与目的地址、源地址、控制信息按照一定格式组成一个数据单元(报文或报文分组)进入通信子网;通信子网中的节点负责完成数据单元的接收,差错校验、存储、路选和转发功能。这种方式对于有实时性要求的信息传输是不允许的,而对于数据通信则是适合的。存储—转发具有存储信息的能力,所以能平滑通信量和充分利用信道。报文在一个结点的延迟时间为接收全部报文的时间和排队等待时间。
存储转发交换方式与线路交换方式的主要区别是发送的数据与目的地址、源地址、控制信息按照一定格式组成一个数据单元(报文或报文分组)进入通信子网;通信子网中的结点是通信控制处理机,它负责完成数据单元的接收、差错校验、存储、路选和转发功能。
存储转发交换方式的线路效率较高。因为许多报文(或报文分组)可分时共享一条结点到结点的通道。接收者和发送者无需同时工作。在接收者忙时,网络结点可先将报文(或报文分组)暂时存起来。当流量增大时,在电路交换中可能导致一些呼叫不能被接收,而在报文(或报文分组)交换中,报文(或报文分组)仍可接收,只是延时会增加。报文(或报文分组)交换可把一个报文送到多个目的地,而电路交换很难做到这一点。可建立报文(或报文分组)优先级,可以在网络上实现差错控制和纠错处理。报文交换能进行速度和代码转换。两个数据传输率不同的站可以互相连接,也易于实行代码格式的变换(如将ASCII码能变换为EBCDIC码)。这在电路交换中是不可能的。通信子网中通信控制处理机具有路选功能,可以动态选择报文分组通过通信子网的最佳路径。存储转发的主要缺点是网络延时较长,波动范围较大,不宜用于实时通信或交互通信,如:话音、传真、终端与主机之间的会话业务等。
2.6.2.1 存储转发交换方式分类
数据通过通信子网传输时可以有报文(message)与报文分组(packet)两种方式;报文传输中不管发送数据的长度是多少,都把它当作一个逻辑单元发送;报文分组传输时限制一次传输数据的最大长度,如果传输数据超过规定的最大长度,发送结点就将它分成多个报文分组发送。发送时分成几个分组,接收时按序重组。一般为2000比特以内,典型长度为128个字节。报文和报文分组结构如图2-33所示。报文分组工作原理如图2-34所示。报文分组工作过程如图2-35所示。
图2-33 报文和报文分组结构
图2-34 报文分组工作原理
图2-35 报文分组工作过程
公用数据网采用的是分组交换技术。分组交换比报文交换有明显的优点。减少了时间延迟。每个分组传输延时显著小于报文延时,因为,当第一个分组发送给第一个结点后,接着可发送第二个分组,随后发其他分组,这样一个报文分割成多个分组,多个分组可同时在网中传播,总的延时大大减少(一般为秒级)。每个结点上所需缓冲容量减少了(因为分组长度小于报文长度),有利于提高结点存储资源的利用率。传输有错时,只要重传一个分组而不要重发报文,大大减少每次传输发生错误的概率以及重传信息的数量。易于重新开始新的传输。可让紧急报文迅速发送出去,不会因传输优先级较低的报文而堵塞。分组交换的缺点是每个分组都要附加一些控制信息,增加了所传信息的体积(通常增加5%~10%),相应地,加工处理时间也有所增加。
2.6.2.2 分组交换在实际应用中的分类
分组交换在实际应用中分为数据报和虚电路两类。
在数据报中,每个数据包被独立地处理,就像在报文交换中每个报文被独立地处理那样,每个节点根据一个路由选择算法,为每个数据包选择一条路径,使它们的目的地相同。在数据报方式中,每个分组被称为一个数据报,若干个数据报构成一次要传送的报文或数据块。数据报方式采用同报文交换一样的方法对每个分组单独进行处理(把分组看成一个小报文)。由于不同时间的网络流量、故障等情况不同,各个数据报所走的路径就可能不相同,因此,各数据报不能保证按发送的顺序到达目的结点,有些数据报甚至还可能在途中丢失。接收站应具有重新排序分组和将其重装成报文的功能。数据报是分组存储转发的一种形式;在数据报方式中,分组传送之间不需要预先在源主机与目的主机之间建立“线路连接”;源主机所发送的每一个分组都可以独立地选择一条传输路径;每个分组在通信子网中可能是通过不同的传输路径到达目的主机。数据报方式的工作原理如图2-36所示。
图2-36 数据报方式的工作原理
虚电路方式试图将数据报方式与线路交换方式结合起来,充分发挥两种方法的优点,以达到最佳的数据交换效果;数据报方式在分组发送之前,发送方与接收方之间不需要预先建立连接。虚电路方式在分组发送之前,需要在发送方和接收方建立一条逻辑连接的虚电路;虚电路方式与线路交换方式相同,整个通信过程分为以下三个阶段:虚电路建立、数据传输与虚电路释放阶段。虚电路方式的工作原理如图2-37所示。
图2-37 虚电路方式的工作原理
虚电路技术与电路交换方式的一条专用物理通道不同,它仍是使用存储转发方式传输数据,分组信息要暂存于每个结点,进行排队等待转发。由于采用的是存储转发的分组交换,所以只是断续地占用一段又一段的链路,分组在每个结点仍然需要存储,并在线路上进行输出排队,但不需要为每个分组做出路径判定。虚电路的标识符只是对逻辑信道的一种编号,并不指某一条物理线路本身。一条物理线路可能被标识为许多逻辑信道编号,这正体现了信道资源的共享性。
虚电路方式在每次分组发送之前,必须在发送方与接收方之间建立一条逻辑连接。这是因为不需要真正去建立一条物理链路,连接发送方与接收方的物理链路已经存在;一次通信的所有分组都通过这条虚电路顺序传送,因此报文分组不必带目的地址、源地址等辅助信息。分组到达目的结点时不会出现丢失、重复与乱序的现象;分组通过虚电路上的每个结点时,结点只需要做差错检测,而不需要做路径选择;每个结点可以和任何结点建立多条虚电路连接。