(1) 每个分组都必须携带有目的地址和源地址等控制信息用千路由器的路由工作,造成一定的数据量开销。
(2) 由于分组是独立路由的,因此同一数据的不同分组在到达目的主机时 可能会出现乱序和丢失现象。
(3) 分组在各路由器存储转发时需要排队,会造成一定的传输时延。
(4) 由于分组交换不像电路交换那样独占端到端的线路资源,因此无法绝对保证通信时所需的带宽。对于因特网中的音频/视频等应用,会造成数据的连续性较差,给用户带来不便。为解决这一问题,在一些新的协议中 ,往往通过预留带宽等机制来确保多媒体信息传输的实时性。
2) 虚电路分组交换
虚电路方式试图将数据报方式与电路交换方式的优点结合起来,以获得更好的数据交换效果。虚电路分组交换的工作原理如图所示。
图 虚电路分组交换的工作原理
与电路交换类似,虚电路分组交换在发送分组之前,需要在发送方和接收方之间建立一条逻辑连接的虚电路。整个通信过程分为虚电路建立、数据传输与虚电路释放 3 个阶段。在虚电路建立阶段,节点 A 启动路由选择算法,选择下一个结点(例如 B)' 进而向节点 B 发送“呼叫请求分组”; 同样B节点也要启动路由选择算法选择下一个节点,这里假设为目的节点C。 目的节点C 向源节点A 发送“呼叫接收分组” ,至此虚电路建立完毕。这里需要注意的是,虚电路并不“独占"它所选用的物理链路,同一条物理链路 可被多个虚电路” 复用” ,这一点与电路交换是不同的。在数据传输阶段 ,节点 A 的全部分组都使用这条已建立好的虚电路,逐站以存储转发方式顺序传送分组。传输结束后,按照" C------ 8 ----- A" 的顺序依次拆除该虚电路。
由以上讨论可知,由千虚电路交换中所有分组均使用同一个虚电路进行传送, 因此分组不必携带目的地址、源地址等辅助信息。与数据报分组交换相比 ,虚电路分组交换能更好地适用千源节点和目的节点之间的长时间数据交换,尤其对于交互式会话中每次传送数据很短的情况,可免去分组携带 源地址和目的地址的额外开销。此外,分组到达目的节点时不会出现丢失、重复与乱序的现象。
当然,虚电路交换方式也存在着一些缺点。例如,当某个节点或某条链路因某 种原因失效时,所有经过故障点的虚电路将全部被破坏,必须 重建一条新的虚电路以继续通信。而对千数据报方式,由于每个分组是独立选路的 ,后续的分组可以绕开故障点而到达目的地,因此故障的影响面要比虚电路小得多。此外,数据报交换方式省去了呼叫建立阶段,在进行少量突发分组传输时比虚电路方式简便灵活。
应当说明的是,分组交换所使用的存储转发机制并非全新的概念 。早在 20 世纪 40 年代,电报通信也采用了基于存储转发原理的“报文交换 ( Mess age Switc hing) " 。但由千报文交换以整个报文为存储转发单位,灵活性差,例如在当报文传输过程中链路出现错误,则整个报文都需要重传。报文交换同时对路由器提出了较高的要求,路由器必须要有足够大的缓存以容纳整个报文。因此现在这种交换技术已经很少有人使用了。
图 归纳总结了这3 种交换技术的工作原理与特点。图中A 和D 分别是源主机和目的主机,B 和 C 为通信子网中的中间节点 。