BMWG—一个测试的“圣坛”
在IETF里有一个称为BMWG的工作组,这个工作组的主要任务是制定一系列测量各种互联网络技术性能的建议;今后,工作组会更进一步对在这些技术上搭建的系统与业务提出建议。 每一个提出的建议中都描述了所涉及的设备、系统或业务的类型;讨论与这个类型相关的性能特性;清晰地确定了对这些特性加以描述的指标;规定了对这些指标进行收集的测试方法;最后提出了对测试结果进行报告的要求。 该工作组当前的任务提供一个论坛,这个论坛将致力于推动互联网络的软件测试技术进步。 RFC 2544——测试者的“圣经”
从这个工作组制定的RFC及草案中,可以看出他们的一个工作思路,一般先针对被测对象制定一套术语,随后采用这套术语对被测对象定义测试的方法与手段。
这个工作组最先制定了RFC 1242,在这个RFC中对网络互联设备性能基准制定了一套术语,所以这个RFC的内容基本上是对一些名词技术上的解释。在与之配套的RFC 2544中制定了对网络互联设备基准的测试方法。RFC 2544的前身是RFC 1944。
提到RFC 2544实在不能不多说几句,这个RFC可以说是网络设备测试的“圣经”,无论是测试的高手还是新人,阅读这篇RFC相信都会有很大的收获。
RFC 2544中讨论并定义了一组可以用来反映互联网络性能特性的测试,此外还描述了报告测试结果的具体格式。
这篇RFC的内容具有相当的普遍性,在此以前制定的RFC多是进行名词述语的解释,而这篇建议涉及到具体测试方法。这篇建议不是针对任何一种具体的网络设备与拓朴结构,而是将所有被测的网络设备统称为互联网络设备(Network Interconnect Device),只关心设备的输入与输出,不关心其内部如何处理。而且,文中对测试的描述相当系统,从被测设备与测试设备的设置,一直到测试结果的记录,都提出了一般性的要求。在此以后制定的各种设备、接口的测试建议,都参考了这个建议。
笔者认为这篇建议之所以重要还因为以下几个原因:
1. 在这篇建议里对设备性能的指标与测试方法做出了明确的定义。 在RFC 2544的第26节明确提出了网络性能的几个指标:时延、吞吐量、丢包率、背靠背,并详细描述了测试的配置及测试的过程。这几个指标是当前设备测试必不可少的测试项目。除此之外,文中还提到了另外两个指标,因为测试它们操作上有一定的困难,所以现在实际测试中不常用到。
2. 这篇建议对测试中涉及的一些参数进行了统一的要求。 比如在这篇建议的第9节中,对测试中选用的以太网、令牌环网、FDDI网帧长做出了具体的规定,测试中如果选用的帧长度不统一,数据就不具有可比性,对此做出规定就避免了这种情况的发生。
3. 这篇建议还对测试中应考虑到的问题进行了探讨。 比如流量的组合、流量的发送方向等。由于测试中所涉及的情况多种多样,在一篇建议中不可能全部覆盖,但文中提出的有价值的观点无疑可以开拓读者的眼界,启发读者的思路。 这个工作组针对具体的设备的术语制定了相应的RFC,与之相配的测试方法也分别提出了草案,其中已经成为RFC的是RFC 2889。 RFC 2889中提出了对局域网交换机的测试方法。可以说是对RFC 2544的一个具体化的应用,除此之外,还针对局域网交换机的特性,提出了专门的测试项,比如对于广播包的时延与前转速度的测试。 RFC 2889中所涉及的名词术语,在RFC 2285中有具体的解释。