虚电路和数据报的比较
 
表格
表 4.2
   数据报子网  虚电路子网
 延时  分组传输延时  电路建立,分组传输延时
 路由选择  每个分组单独选择路由  建立虚电路时选择路由,以
 后所有分组都使用该路由
 状态信息  子网无需保存状态信息  每个节点要保存一张虚电路表
 地址  每个分组包括源和目的的
 完整地址
 每个分组含有一个短的虚电
 路号
 节点失败
 的影响
 除了在崩溃时正在该节点处理
 的分组都丢失外,无其他影响
 所有经过失效节点的虚电路
 都要被终止
 拥塞控制  难  如果有足够的缓冲区分配给已
 经建立的虚电路,则容易控制

  如果两个端系统间要长时间进行数据传输,特别是在交互式应用中每次传输的数据很短的情况下,使用虚电路方式更加合适些,它免去了数据报方式中每个分组必须包括地址信息而带来的不合适的额外开销,但是每个节点必须维持一张虚电路的表格。

  数据报方式则免去了呼叫建立阶段,它传输少数几个分组时的速度比使用虚电路要简便灵活得多。每个数据报可以临时根据网路中的流量情况来选取路由,不像虚电路中每个分组都必须按照连接建立时的路径传送。每个节点没有额外开销,只是每个分组在每个节点都要进行路由选择,会影响分组传输延迟。

  由于数据报不保证按顺序交付,也不保证丢失和不重复,因此需要主机承担端到端的差错控制。在使用虚电路的情况下,网络应保证分组按顺序交付,而且不丢失、不重复;当采用数据报服务时,端到端的流量控制由主机来负责。当采用虚电路服务时,端到端的流量控制由网络负责。另外,因为每个数据报分组独立进行路由选择,当节点发生故障时,后续的数据报分组就可另选路由,因而提高了可靠性。在使用虚电路时,节点发生故障就必须重新建立另一条虚电路。数据报服务还很适合于将一个分组发送到多个地址(即广播或组播)。虚电路要比数据报更容易进行拥塞控制。这是因为,在虚电路建立好后,可以预约所需的网络资源,当分组到来时,所需的带宽和路由器的缓冲区已经预留好了,可以立即转发。而对于数据报,避免拥塞则更困难些。