数据交换技术是数据经过编码后在通信线路上进行传输的技术,就是在两个互连的设备之间直接进行数据通信。但网络中所有的设备并不都是两两相连的,而是有多个中间节点。中间节点并不关心所传数据的内容,只是提供一种交换技术。常见的网络交换技术包括电路交换、报文交换和分组交换3种交换模式,如图2-1所示。
图2-1
电路交换(Circuit Switching)是在两个站点之间,通过通信子网的节点建立一条专用的通信线路,这些节点通常是一台采用机电与电子技术的交换设备(例如程控交换机)。在两个通信站点之间需要建立实际的物理连接,其典型实例就是两台电话之间通过公共电话网络的互连实现通话。
电路交换实现数据通信需经过三个步骤:首先是建立连接,即建立端到端(站点到站点)的线路连接;其次是数据传送,所传数据可以是数字数据(如远程终端到计算机),也可以是模拟数据(如声音);最后是拆除连接,通常在数据传送完毕后由两个站点之一终止连接。
电路交换的优点是实时性好,但将电话采用的电路交换技术用于传送计算机或远程终端的数据时,会出现下列问题。
● 用于建立连接的呼叫时间大大长于数据传送时间。这是因为在建立连接的过程中,会涉及一系列硬件开关动作,时间延迟较长,如某段线路被其他站点占用或物理断路,将导致连接失败,并需重新呼叫。
● 通信带宽不能充分利用,效率低。这是因为两个站点之间一旦建立起连接,就独自占用实际连通的通信线路,而计算机通信时真正用来传送数据的时间一般不到10%,甚至可低到1%。
报文交换(Message Switching)是通过通信子网上的节点采用存储转发的方式来传输数据,它不需要在两个站点之间建立一条专用的通信线路。报文交换中传输数据的逻辑单元称为报文,其长度一般不受限制,可随数据不同而改变。一般将接收报文站点的地址附加于报文一起发出,每个中间节点接收报文后暂存报文,然后根据其中的地址选择线路再把它传到下一个节点,直至到达目的站点。
实现报文交换的节点通常是一台计算机,计算机具有足够的存储容量来缓存所接收的报文。一个报文在每个节点的延迟时间等于接收报文的全部位码所需时间、等待时间,以及传到下一个节点的排队延迟时间之和。
报文交换的主要优点是线路利用率较高,多个报文可以分时共享节点间的同一条通道;此外,该系统很容易把一个报文送到多个目的站点。报文交换的主要缺点是报文传输延迟较长(特别是发生传输错误后),而且随报文长度变化,不能满足实时或交互式通信的要求,不能用于声音连接,也不适用于远程终端与计算机之间的交互通信。
分组交换(Packet Switching)的基本思想包括数据分组、路由选择与存储转发。分组交换类似于报文交换,但它限制每次所传输数据单位的长度(典型的最大长度为数千位),对于超过规定长度的数据必须分成若干个等长的小单位,称为分组。从通信站点的角度来说,每次只能发送其中一个分组。
各站点将要传送的大块数据信号分成若干等长而较小的数据分组,然后顺序发送;通信子网中的各个节点按照一定的算法建立路由表(各目标站点各自对应的下一个应发往的节点),同时负责将收到的分组存储于缓存区中(不使用速度较慢的外存储器),再根据路由表确定各分组下一步应发向哪个结点,在线路空闲时再转发;以此类推,直到各分组传到目标站点。由于分组交换在各个通信路段上传送的分组不大,故只需很短的传输时间(通常仅为毫秒数量级),传输延迟小,故非常适合远程终端与计算机之间的交互通信,也有利于多对时分复用通信线路;此外由于采取了错误检测措施,故可保证非常高的可靠性;而在线路误码率一定的情况下,小的分组还可减少重新传输出错分组的开销;与电路交换相比,分组交换带给用户的优点则是费用低。根据通信子网的不同的内部机制,分组交换子网又可分为面向连接与无连接两类。前者要求建立称为虚电路的连接,一对主机之间一旦建立虚电路,分组即可按虚电路号传输,而不必给出每个分组的显式目标站点地址,在传输过程中也无须为之单独寻址,虚电路在关闭连接时撤销。后者不建立连接,数据报(Datagram,即分组)带有目标站点地址,在传输过程中需要为之单独寻址。