数据通信网和国际计算机互联网(因特网)都是采用分组交换方式进行信息传送的。它们都是把要传送的报文划分成若干一定长度的数据分组,即进行分组打“包”,然后以分组为单位用存储—转发的方式发送出去。分组交换有两种不同的传送方式:一种叫“虚电路”方式,另一种叫“数据报”方式。这两种方式各有优缺点,各有各的适用场合。
1.虚电路方式 虚电路是在分组交换散列网络上的两个或多个端点站点间的链路。这种分组交换的方式是利用统计复用的原理,将一条数据链路复用成多个逻辑信道。就是采用时分复用的原理和数据分组插入的技术,把一条数据链路分成多条逻辑信道。在数据通信呼叫建立时,每经过一个节点便选择一条逻辑信道,最后通过逐段选择逻辑信道,在发信用户和收信用户之间建立起一条信息传送通路。由于这种通路是由若干逻辑信道构成的,并非实体的电路,所以叫做“虚电路”。虚电路为两个端点间提供临时或专用面向连接的会话。它的固有特点是,有一条通过多路径网络的预定路径。提前定义好一条路径,可以改进性能,并且消除了帧和分组对头的需求,从而增加了吞吐率。从技术上看,可以通过分组交换网络的物理路径进行改变,以避免拥挤和失效线路,但是两个端系统要保持一条连接,并根据需要改变路径描述。虚电路有永久性和交换型的虚电路两种.永久性虚电路(PVC)是一种提前定义好的,基本上不需要任何建立时间的端点站点间的连接。交换型虚电路(SVC)是端点站点之间的一种临时性连接。
虚电路技术的主要特点是:在数据传输之前必须通过虚呼叫设置一条虚电路。它适用于两端之间长时间的数据交换。优点:可靠、保持顺序;缺点:如有故障,则经过故障点的数据全部丢失.
2.数据报方式 数据报(datagram)是分组交换的另一种业务类型。它属于“无连接型(connectionless)”业务。用数据报方式传送数据时,是将每一个分组作为一个独立的报文进行传送。数据报方式中的每个分组是被单独处理的,每个分组称为一个数据报,每个数据报都携带地址信息。通信双方在开始通信之前,不需要先建立虚电路连接,因此被称为“无连接型”。无连接型的发信方和收信方之间不存在固定的电路连接,所以发送分组和接收分组的次序不一定相同,各个分组各走各的路。收信方接收到的分组要由接收终端来重新排序。如果分组在网内传输的过程中出现了丢失或差错,网络本身也不作处理,完全由通信双方终端的协议来解决。因此一般说来,数据报业务对沿途各节点的交换处理要求较少,所以传输的时延小,但对于终端的要求却较高。数据报的特点是:在目的地需要重新组装报文。优点:如有故障可绕过故障点、:不能保证按顺序到达,丢失不能立即知晓。
从单独的通信网来说,采用有连接的虚电路方式,或是采用无连接的数据报方式都是可以的。但是对于网间互联或IP业务,则是采用数据报方式有利。因为数据报方式可以最大限度地节省对网络节点的处理要求,不需要采取可靠性措施或流量控制,不需要预先建立逻辑的连接路径,它在遇到网内拥塞等情况时,可以迅速改变路由,因而适用于各种不同类型的网络。在国际计算机互联网(因特网)中,用的就是数据报方式。虚电路适合于交互式通信,数据报方式更适合于单向地传送短信息。
 
两种操作方式及两种网络服务的特点
   1.两种操作方式的特点
   虚电路分组交换适用于端系统之间长时间的数据交换,尤其是在频繁的,但每次传送数据又很短的交互式会话情况下,免去了每个分组中地址信息的额外开销,但是每个网络节点却需要负担维持虚电路表的开销。因此,要将这两个因素进行权衡,另外还要考虑如果建立和拆除电路的次数过于频繁也不合适。
   数据报免去了呼叫建立过程,在分组传输数量不多的情况下要比虚电路简单灵活。每个数据报可以临时根据网络中的流量情况选取不太拥挤的链路,不象虚电路中的每个分组必须按照连接建立时的路径传送。每个节点没有额外开销,但每个分组在每个节点都要经过路由选择处理,会影响传送速度。
   虚电路提供了可靠的通信功能,能保证每个分组的正确到达,且分组保持原来顺序。
   另外,还可以对两个数据端点的流量进行控制,当接收方来不及接收数据时,可以通知发送方暂缓发送分组,但虚电路有一个致命的弱点,即当某个节点或某条链路出故障的影响面要小得多,当发生上述故障时,仅有缓存在该节点上的分组可能丢失,其它分组则可绕开故障区到达目的地,或者一直被搁置到故障修复后再传送。不过,数据报不保证数据分组的按序到达,数据的丢失也不会立即被发现。
2.两种网络服务的特点
   虚电路服务与数据报服务的本质差别表现为:是将顺序控制、差错控制和流量控制等通信功能交由通信子网完成,还是由端系统自己来完成。
   虚电路服务向端系统保证了数据的按序到达,免去了端系统在顺序控制上的开销。但是,当端系统本身并不关心数据的顺序时,这项功能便成了多余,反倒影响了无序数据的整体效率。
   虚电路服务向端系统提供了无差错的数据传送,但是,在端系统只要求快速的数据传送,而不在乎个别数据块丢失的情况下,虚电路服务所提供的差错控制也就并不很必要了。相反,有的端系统却要求很高的数据传送质量,虚电路服务所提供的差错控制还不能满足要求,端系统仍需要自己来进行更严格的差错控制,此时虚电路服务所做的工作又略嫌多余。不过,这种情况下,虚电路服务毕竟在一定程度上为端系统分担了一部分工作,为降低差错概率还是起了一定作用。
   至于虚电路服务所提供的流量控制,有时对端系统来说也并不适宜,比如在要求数据交换速率尽可能高的情况下。因为,虚电路服务将数据总是按固定路径传送,而不灵活地走捷径;另外,流量控制本身就可能规定了交换速率的上限。
   虚电路服务提供了可靠的数据传送和方便的进网接口。但是,虚电路服务中电路的建立与拆除在交互式应用中会影响通信效率。
   以上主要对虚电路服务的优、缺点作了分析,数据报服务的优、缺点基本与这相补。
   可以看出,两种服务优、缺点各自参半,对二者的选择取决于应用背景,即网络用户对通信子网是要求只管数据传送而不必多管“闲事”,还是希望通信子网提供更可靠的服务来减轻自身的负担。有人将虚电路服务比作坐公共汽车,将数据报服务比作坐出租车,这种比喻在某种程度上形象地说明了两种服务的特点。
 
虚电路和数据报
网络层上有两种不同的数据传输方式,一种是虚电路,一种是数据报,前者是面向连接的,后者是面向无连接的,两者的差别还在于,前者可以提供由子网完成的差错控制和顺序控制,而后者这两种控制都需要由主机完成。
区别如下:
项目              虚电路                    数据报
目标地址         建立连接时需要             每个分组都需要
初始化设置        需要                      不需要
分组控制         由通信子网负责保证         通信子网不负责
差错控制         由通信子网负责对主机透明   由主机负责
流量控制         通信子网提供               网络层不提供
连接的建立和释放 需要                       不需要