计算机网络技术基础(第2版)
上QQ阅读APP看书,第一时间看更新

2.4 数据交换技术

通信子网是由若干网络节点和链路按照一定的拓扑结构互连起来的网络。中间的这些交换节点有时又称为交换设备,这些交换设备并不处理流经的数据,而只是简单地把数据从一个交换设备传送到另一个交换设备,直至到达目的地。子网是为所有进入子网的数据提供一条完整的传输路径的通路,实现这种数据通路的技术就称为“数据交换技术”。

一般按照通信子网中的网络节点对进入子网的数据所实施的转发方式的不同,可以将数据交换方式分为电路交换和存储转发交换两大类。常用的交换技术有电路交换、报文交换和分组交换3种。

2.4.1 电路交换

电路交换(Circuit Switching)方式与电话交换方式的工作过程很类似。两台计算机通过通信子网交换数据之前,首先要在通信子网中通过交换设备间的线路连接,建立一条实际的专用物理通路。

用此方式的交换网能为任意一个入网数据提供一条临时的专用物理通路,由通路上各节点在空间上或时间上完成信道转接而构成,为源主机(输出端)和宿主机(接收端)之间建立起一条直通的、独占的物理线路。因此,在通路连接期间,不论这条线路有多长,交换网为一对主机提供的都是点到点链路上的数据通信,即建立连接的两端设备独占这条线路进行数据传输,直至该连接被释放。公用电话网的交换方式采用的就是电路交换,通话双方一旦建立通话,则可以一直独占这条线路,直至通话结束,释放连接,这时其他用户才能使用这条线路。

电路交换方式最重要的特点是在一对主机之间建立起一条专用的数据通路。通信过程包括线路建立、数据传输和线路释放3个过程,如图2-27所示。通路建立时需要一定的呼叫建立时间。一旦通路建立,在各个节点上几乎没有延时,因此适用于实时或交互式会话类通信,如数字语音、传真等通信业务。但由于通路建立时,线路是专用的,即使是空闲的,其他用户也不能使用,因此线路利用率不高。由于通信子网中的各个节点(交换设备)不能存储数据,也不能改变数据内容,并且不具备差错控制能力,因而整个系统不具备存储数据的能力,无法发现与纠正传输过程中发生的数据差错,系统效率较低。在电路交换方式的基础上,人们提出了存储转发交换方式。

图2-27 电路交换示意图

2.4.2 存储转发交换

存储转发交换(Store-and-Forward Switching)是指网络节点(交换设备)先将途经的数据按传输单元接收并存储下来,然后选择一条适当的链路转发出去。根据转发的数据单元的不同,存储转发交换又分为报文交换和分组交换。

1.报文交换

报文交换(Message Switching)是指网络的每一个节点(交换设备)先将整个报文(Message)完整地接收并存储下来,然后选择合适的链路转发到下一个节点。每个节点都对报文进行存储转发,最终到达目的地,如图2-28所示。

图2-28 报文交换示意图

在报文交换中,中间设备必须有足够的内存,以便将接收到的整个报文完整地存储下来,然后根据报文的头部控制信息,找出报文转发的下一个交换节点。若一时没有空闲的链路,报文就只好暂时存储,并等待发送。因此,一个节点对于一个报文所造成的时延往往不确定。

报文数据在交换网中完全是按接力式传送的。通信的双方事先并不知道报文所要经过的传输通路,但每个报文确实经过了一条逻辑上存在的通路。由于按接力方式工作,任何时刻一份报文只占用一条链路的资源,不必占用通路上的所有链路资源,提高了网络资源的共享性。报文交换方式虽然不要求呼叫建立线路和释放线路的过程,但每一个节点对报文数据的存储转发时间比较长。报文交换方式适合于非实时的通信业务,如电报;而不适合于传输实时的或交互式的业务,如话音、传真等。另外,由于报文交换是以整个报文作为存储转发单位的,因此,当报文传输出现错误需要重传时,必须重传整个报文。

2.分组交换

分组交换又称包交换(Packet Switching),与报文交换同属于存储转发式交换。两者之间的差别在于参与交换的数据单元长度不同。在分组交换网络中,计算机之间要交换的数据不是作为一个整体进行传输,而是划分为大小相同的许多数据分组来进行传输,这些数据分组称为“包”(Packet)。每个分组除含有一定长度需要传输的数据外,还包括一些控制信息,其中包括分组将被发送的目的地址。一个分组的最大长度通常被限制在1000~2000bit。这些数据分组可以通过不同的路由器先后到达同一目的地址,数据分组到达目的地后进行合并还原,以确保收到的数据在整体上与发送的数据完全一致。

这种通信方式类似于“单页邮局”的模式。假设单页邮局规定每封信只能用一页纸,写长信的人就必须给每页信纸编号,放在不同的信封中;收信人在收到信件后,必须按信纸的顺序整理合并,才能读到完整的信件。

在分组交换中,根据网络中传输控制协议和传输路径的不同,可分为两种方式:数据报(Datagram)分组交换和虚电路(Virtual Circuit)分组交换。

(1)数据报分组交换。在数据报方式中,每个报文分组又称为数据报。每个数据报在传输的过程中都要进行路径选择,各个数据报可以按照不同的路径到达目的地。在发送方,每个数据报的分组顺序与每个数据报到达目的地的顺序是不同的。在接收方,再按分组的顺序将这些数据报组合成一个完整的报文,如图2-29所示。

图2-29 数据报分组交换示意图

(2)虚电路分组交换。虚电路方式试图将数据报方式与电路交换方式结合起来,发挥两种方式的优点,达到最佳的数据交换效果。数据报在分组发送之前,发送方和接收方之间不需要预先建立连接;而在虚电路方式中,发送分组之前,首先必须在发送方和接收方建立一条通路。在这一点上,虚电路方式和电路交换方式相同。整个通信过程分为3个阶段:虚电路建立,数据传输,虚电路拆除。但与电路交换不同的是,虚电路建立阶段建立的通路不是一条专用的物理线路,而只是一条路径,在每个分组沿此路径转发的过程中,经过每个节点时仍然需要存储,并且等待队列输出。通路建立后,每个分组都由此路径都达目的地,如图2-30所示。因此在虚电路交换中,各个分组是按照发送方的分组顺序依次到达目的地的,这一点又和数据报分组交换不同。

与报文交换相比,分组交换把整个要传输的数据分成了若干分组,而每一个分组又包含有大量的传输控制信息,因此分组交换的通信方式会明显地降低数据通信的效率。但分组交换却有以下3个优点。

①通信线路是公用的,每个分组都不会占用太长的通信线路时间,有利于合理分配通信线路,兼顾网络上各个主机的通信要求。

②数据传输难免会出错,若某些分组出现传输错误,只需重传该分组即可,而不需要重传整个数据,有利于迅速进行数据纠错。

③能够有效地改善报文传输时的时延现象,网络信道利用率较高。

图2-30 虚电路分组交换示意图