分组交换基本原理
分组交换是目前计算机网络广泛采用的技术。分组交换需要将待传输数据(即报文)分割成较小的数据块,每个数据块附加上地址、序号等控制信息构成数据分组( packet),每个分组独立传输到目的地,目的地将收到的分组重新组装,还原为报文。分组传输过程通常也采用存储一转发交换方式。 1961年,麻省理工学院(MT)的一名研究生 Leonard Kleinrock,首次提出分组交换技术,并利用排队论证明了分组交换处理突发流量的网络传输的有效性。1964年,兰德公司的巴兰( Paul baran)开始研究应用分组交换技术,实现在军用网络上进行安全语音传输,得出的解决方法就是在计算机网络通信中把要发送的信息分割为“信息块”,每个信息块分别传输。与此同时,英国国家物理实验室( National Physical Laboratory.,NPL)的戴维斯( Donald Davies)也在自己独立的研究中得出类似结论。巴兰提出的“信息块”概念在戴维斯的研究中被称为分组,相应地这种通信技术被称作分组交换,目前世界上广泛使用的分组交换概念即由此而来。 分组交换是报文交换的一种改进,它将一个完整报文拆分成若干个分组,每个分组的长度有一个上限,有限长度的分组使得每个结点所需的存储能力降低,分组可以存储到内存中,提高了交换速度。分组交换是计算机网络使用最广泛的一种数据交换技术,现代计算机网络几乎都是分组交换网络,因此,在下文中不加以特别说明的前提下,默认提到的计算机网络都是分组交换网络。报文交换网络展示了与分组交换网络相同网络的分组交换的场景,但是最初的报文被分割成了4个分组。在分组交换网络中,第1个分组已经到达目的端,第2个和第3个分组正在网络中传送,最后一个分组仍然在源主机。
分组交换的优点
分组交换与报文交换相比,两者都采用存储一转发交换方式,最主要的区别在于是否将报文拆分为更小的分组。分组交换在拆分与组装分组过程中,一方面会消耗一定的计算资源,另一方面还需要附加更多的控制信息,会在一定程度上降低有效数据传输效率。因此,表面上看,似乎报文交换更优于分组交换。但实质上,这个表面上的微小变化却大大地改善了交换网络的性能。与报文交换相比,分组交换主要有如下优点。
交换设备存储容量要求低
作为存储一转发交换方式,报文交换需要缓存整个报文,当报文很大时,要求报文交换设备具有很大的存储容量;分组交换将大报文拆分为较短的分组进行传输。理论上讲,分组交换设备只要能缓存一个小分组,网络就可以工作。因此,分组交换可以大大降低对网络交换结点的存储容量的要求。
交换速度快
报文交换在缓存大报文时,有可能需要将报文存储到速度较慢的外存储设备上,使得报文交换设备完成报文转发需要较长时间;分组交换设备由于只需要缓存一定数量的较短的分组,因此可以利用主存储器进行存储-转发处理,不需访问外存,处理转发速度加快。另外,在分组交换网络中,多个分组可以在网络中的不同链路上进行并发传送,大大提高传输效率和线路利用率,大幅缩短整个报文通过网络的时间。
可靠传输效率高
网络通信通常需要确保可靠、无差错地实现数据从源主机向目的主机的传输。实际通信链路不可能实现100%无差错,对于传输过程出错的数据,纠正错误的最常见措施是请求发送方重新发送出错的数据,直到接收端接收到正确的数据为止。对于报文交换网络,一个报文出现差错(哪怕1位出错),需要重传整个报文;对于分组交换网络,一个分组出现差错,只需重传出错的分组,并不需要重传所有由同一报文拆分出来的分组。报文长度通常远大于分组长度,在差错概率相同的条件下,报文交换网络中的一个报文出现差错的概率,大于分组交换网络中一个分组出现差错的概率,而重传一个报文的代价要远远大于重传一个分组的代价。因此,在存在差错可能的情况下,分组交换实现可靠传输的效率要高于报文交换。
更加公平
报文交换网络中,数据是以报文为单位进行存储一转发的,如果两个大小差异很大的报文沿相同路径向相同的目的传输,且大报文在缓存队列中排在前面,小报文排在后面,按照最常见的转发调度规则,即先到先服务,大报文在每个交换结点上总是在小报文之前转发小报文只有等待大报文转发结束后才能转发。在这种场景下,小报文将经历更长的时间通过网络送达目的地。显然,报文交换不能确保小报文用更短的时间通过网络,是不公平的。同样的场景,对于分组交换,如果分组大小相同,那么大报文将拆分出更多的分组,小报文将拆分出较少的分组,不同报文的分组在交换结点上可能交替排队,每个分组通过网络的时间相当,总体上,小报文将用较短时间通过网络到达目的。因此,分组交换更加公平。
分组长度的确定
分组交换方式中分组长度的选择非常重要。它与交换过程中的延迟时间、交换设备存储容量、线路利用率、信道传输质量、数据业务统计特性以及交换机费用等诸多因素有关,比较复杂。下面讨论分组长度与延迟时间、误码率的关系。
分组长度与延迟时间
分组长度与交换过程的延迟时间关系可以利用排队论进行分析。分组交换网络的存储一转发过程可以抽象为一个排队系统,基于排队论的分析发现,当分组具有相同的长度时,分组在交换过程中的延迟时间较小。因此,把报文按一定的标准长度分割为“分组”,就能够使交换设备以分组为单位对信息进行处理,从而缩短信息在交换过程中的延迟时间,这正是产生分组交换方式的重要理论依据之一。 理论分析发现,在其他条件相同的情况下,分组长度越长,延迟时间越长。所以,对于实时交互式通信,要求延迟时间短,分组长度应该尽可能短;对于诸如文件传送类的非实时数据通信,延迟要求不高,即使分组长度较长,也不致影响正常通信,分组长度可以适当长些。当然,分组长度不宜太短,因为分组长度太短,就意味着一个报文需要拆分的分组数增加,而每个分组是需要附加控制信息的,额外开销会增加,有效数据传输效率会降低,因此,需要在延迟时间与开销之间进行平衡。另外,实际的分组交换网络的分组长度并不总是相同的,通常会规定一个分组长度范围,这样既具有灵活性,又尽可能优化网络延时。
分组长度与误码率
通信链路的信道误码率是确定分组长度时另一个需要重点考虑的因素。设分组长度为L位,其中h位为分组头长度,数据长度为x位,即有 x+h=L (1-1) 若信道误码率为P,则分组传输正确的概率(只考虑分组中位误码的情况)为 Ps=(1-Pe)x+h (1-2) 分组传输错误要求重发的概率为(1-Ps),在考虑到可能多次连续传输错误的情况下可以得到最佳分组长度Lopt为 `L_(opt)= \sqrt{h/P_e}` (1-3) 最高信道利用率可以表示为 `η_(max)=(1-\sqrt{hP_e})^2` (1-4) 由式(1-3)和(1-4)可知,在一定h、Pe。下存在最佳分组长度,且Pe越小,Lopt越长;ηmax随h、Pe增大而降低,这些都是符合物理意义的。 下图(Lopt与Pe的关系)给出了分组最佳长度和信道误码率的关系,信道利用率与信道误码率的关系如下图(ηmax与Pe的关系)所示。从(Lopt与Pe的关系)图和(ηmax与Pe的关系)图可以看到Lopt与ηmax对于Pe的变化均比较敏感。因此,分组交换中必须具有差错控制,以提高传输数据的可靠性。 目前,有关分组数据交换的规格和标准已由国际电信联盟( International Tel Union,IU)以建议的形式制定出,分组长度以16B(1B=8b)到4096B之间的2B为标准分组长度,如32B、64B、256B、512B和1024B等。