纵横千兆天地
发布时间:2006-10-14 7:09:40   收集提供:gaoqian
  —10款全千兆三层交换机横向评测·测试方法

  评测工程师 朱晔 李韬 宋博强 陈琪

  千兆交换机进入企业已经是两三年前的事情了,但是其普及趋势却刚刚开始。原先被网络管理人员“供养”在核心机房的设备,正在走向楼层配线间甚至走向桌面。

  三层交换技术到今天已经相当成熟,同时,三层交换机也从来没有停止过发展,日趋变化的应用环境和用户需求导致了三层全千兆交换机的出现,并且还在主导着更新的三层交换机的发展方向。

  没有几年的时间,以太网的传输速度从10Mbps逐步扩展到100Mbps、1Gbps、10Gbps,网络设备的价格也随着规模经济而迅速下降。三层交换机所面临的应用环境的急剧变化,使得它有了更深层次的技术变革。

  计算机世界评测实验室组织本次全千兆三层交换机的评测,是希望有更多的网络厂家加入到这个方兴未艾的市场中来,也希望让读者了解千兆三层交换机的技术发展现状,帮助用户选择产品。

  安奈特、友讯、神州数码、港湾、惠普网络、联想网络、迈普、美国网件、PLANET、锐捷网络(原实达网络)(以公司名称英文首字母为序)等10家厂商的产品参加了此次评测,我们非常感谢这些在网络市场拼争而且充满自信的代表们。通过我们设计的一组测试流程和指标,希望您能很快选择出适应您需要的产品,并且能够帮助您在心中形成一个评价全千兆三层交换机的技术标尺。

  三层交换机的工作原理

  简单地说,可以处理网络第三层数据转发的交换机就是三层交换机。其产生的最初需求是:为了减小广播风暴的危害,必须把大型局域网按功能或地域等因素划分成多个小局域网(子网,VLAN),这样必然导致不同子网间的大量互访。单纯使用二层交换机无法实现网间的互访,而单纯使用路由器则由于端口数量有限,路由速度较慢,限制了网络的规模和访问速度,所以在这种情况下,使用将二层交换技术和路由技术有机结合的三层交换机就最为适合。三层交换机接口类型简单,拥有很强二层包处理能力,价格又比相同速率的路由器低得多,非常适用于大规模局域网络。

  从硬件上看,第二层交换机的接口模块都是通过高速背板/总线(速率可高达几十Gbps)交换数据的,在第三层交换机中,与路由器有关的第三层路由硬件模块也插接在高速背板/总线上,这种方式使得路由模块可以与需要路由的其他模块间高速地交换数据,从而突破了传统的外接路由器接口速率的限制。

  经典的网络教材是这样描述三层交换的(如图1所示):假设两个使用IP协议的主机通过三层交换机进行通信,主机A在开始发送时,已知目的IP地址,但尚不知道在局域网上发送所需要的MAC地址,因此要用地址解析(ARP)来确定目的MAC地址。主机A把自己的IP地址与目的IP地址比较,从其软件中配置的子网掩码提取出网络地址来确定目的主机是否与自己在同一子网内。若目的主机B与主机A在同一子网内,主机A广播一个ARP请求,主机B返回其MAC地址,主机A得到目的主机B的MAC地址后将这一地址记录下来,并用此MAC地址封包转发数据,二层交换模块查找MAC地址表确定将数据包发向目的端口。若两个主机不在同一子网内,如发送主机A要与目的主机C通信,发送主机A要向“缺省网关”发出ARP包,而“缺省网关”的IP地址已经在系统软件中设置。这个IP地址实际上对应三层交换机的三层交换模块。当发送主机A对“缺省网关”的IP地址广播出一个ARP请求时,若三层交换模块在以往的通信过程中已得到目的主机C的MAC地址,则向发送主机A回复C的MAC地址;否则三层交换模块根据路由信息向目的主机发送一个ARP请求,目的主机C得到此ARP请示后向三层交换模块回复其MAC地址,三层交换模块保存此地址并回复给发送主机A。此后,再进行A与C之间数据包转发时,将用最终的目的主机的MAC地址封装,数据转发过程全部交给二层交换处理,信息得以高速交换,即所谓的一次选路,多次交换。



  测试方法

  在本次测试中,我们使用了思博伦通信公司(Spirent Communications)的硬件测试平台SmartBits 6000C,其安装了四块SmartBits TeraMetrics XD LAN-3325A测试模块(可提供16个全双工的千兆铜缆或光纤接口)以及相关的混合流量测试软件SmartFlow 3.00、路由测试软件TeraRouting Tester 3.10。在搭建实验网络环境时,我们使用了D-Link DGS-3308交换机。

  测试时,我们参考了中华人民共和国通信行业标准YD/T 1251.2-2003、YD/T 1156-2001、YD/T 1171-2001、YD/T1145-2001和RFC 2544等技术文件。

  在这次交换机横向评测中,我们分别对交换机的二、三层性能和路由功能进行了测试。测试时,为了充分考察交换机的性能,在所有测试项目中,我们根据被测交换机支持的最大端口数,模拟全网状拓扑结构(每端口都向其他端口发送数据,并且接受其他端口的数据),并选用了64字节、512字节、1518字节三种长度的帧,进行分组测试。

  数据转发性能测试

  ● 二层性能测试

  目前,二层交换技术已经成熟。二层交换技术可以识别数据帧中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个MAC地址表中。

  在二层测试中,我们重点考查了吞吐量、帧丢失和延迟三项指标。我们把被测交换机的所有端口划到同一个VLAN内(相当于没有VLAN),去除所有路由协议,即保持一个纯二层环境。在吞吐量测试时,考虑到测试时长对吞吐量的影响,我们统一采用300秒,这也是参照了中华人民共和国通信行业交换机测试标准的。考虑到被测设备因时钟抖动造成的丢包或光电转换产生的损失,我们允许十万分之一丢包率(即保证被测设备必须正常转发的99.999%以上的数据)。可以说这样的吞吐量测试环境是比较严酷的,但令人欣慰的是,参测的这10款交换机在允许范围内,各帧长的吞吐量测试结果均达到了100%(即线速转发)。对于帧丢失和延迟测试,我们依据吞吐量测试结果选择了在10%轻度负载和最大负载(即100%负载)两种情况下进行,同时我们还对各帧长的每组数据流进行了跟踪统计,计算了它们的延迟分布和平均延迟标准偏差值,测试时长我们选取了30秒。为了加强测试的准确性,以上所有测试我们至少进行了三遍,然后计算平均值。

  ● 三层性能测试

  在三层测试时,我们主要考核了交换机在内部VLAN间的数据交换性能。我们把被测交换机每个端口配置成一个独立的VLAN,为之分配一个独立的IP网段;把流量发生器的各个端口的IP配置成与之连接端口VLAN在同一网段,并在发送数据流之前,设置了ARP解析。延迟和帧丢失测试条件与二层性能测试相同。



图2 6端口全网状拓扑示意图


  路由功能/性能测试

  对于三层交换机的三层功能测试其实就是指它的路由功能和性能测试。在信息产业部颁行的《千兆位交换机测试规范》中,路由功能和性能测试也同样参照YD/T 1156-2001《路由器测试规范—高端路由器》。

  现在的因特网是一个连接着数以亿计的网络设备的互联网络,它由很多被称为自治系统(Autonomous System)或者路由域(Routing Domain)的区块组成。每一个自治系统又由很多主机和路由器构成,它通常是一个组织的内部网络。这种组织可以是一个ISP、企业、政府机构或者教育科研院所等。

  包交换机制使连接在网络上的计算机能够方便地交换信息。当数据从因特网的某地发出时,决定它在网络中传送路径的设备就是路由器。我们本次测试的三层以太网交换机,简单说来就是具有交换机性能和路由器功能的以太网设备。路由也就是在网络中确定路径的过程,即找到数据源网络和目的网络之间的最优路径。路由协议就是动态地实现这一功能的约定规范。这些协议被设计出来时,人们希望它们能适应变化的网络拓扑结构,智能地为网络数据找到目的地,即便一部分网络出现故障,甚至宕机亦然。

  考虑到目前定位于企业核心或者汇聚层的千兆三层交换机主要用于企业内部的互连,我们选取了RIP和OSPF两种路由协议进行。测试设备在千兆的1%负载、64字节小包背景流量的情况下,验证路由协议的有效性,及其在出现路由抖动和路由需要重新收敛的情况下的性能。之所以选择1%的负载流量,是考虑到路由测试更多的是考察被测设备的功能有效性,对于转发性能来说,读者可以参考性能测试数据。

  我们在测试中模拟网络的异常情况,考验被测设备的应对能力。

  ● 路由稳定性测试

  路由稳定性测试是最简单的路由功能验证测试,也可以同时进行路由表的深度和在路由情况下的吞吐量测试。测试流程如图3。



  ● 路由抖动测试

  路由抖动测试是测试被测路由器在路由信息或者网络连接状态意外中断或者在撤销状态下的反应。比如我们在测试RIP时,模拟了路由信息的撤销;在测试OSPF时,模拟了路由器的宕机。这项测试通过模拟不同层次的网络故障给被测设备制造麻烦,这是我们测试路由的收敛或者恢复的第一步,也同时可以验证被测设备对网络变化的响应速度。



图4是路由抖动的测试流程。


  ● 路由恢复测试

  这是为了测试路由器从振荡的路由信息中恢复的能力,是分析路由器性能的关键指标。我们用图5所示的流程模拟路由器在路由振荡下的工作能力,步骤7是我们撤销了外部的路由信息,而步骤9我们又重新发布了路由信息给被测路由器。不是所有的三层交换机都能通过这样的测试,这和管理员的配置方法以及所采用的交换机版本直接相关。一般来说,更新的版本可以提供更稳定的性能和更多的功能。



图5是路由抖动-恢复的测试流程。


  ● 路由收敛测试

  在这项测试中,我们使用了三个测试端口。由两个端口向被测设备同时发送路由信息,当被测设备学习到路由信息,并形成自己的路由表时,我们开始由测试端口1向被测设备发送验证数据流,因为测试端口2和测试端口3模拟都是连接在同一个外部网络上,它们所发送的路由信息的目的网络都是一样的,只是在路由的权值上不一样。您也可以把路由权值理解为跳数,权值低表明通过此端口的数据可以通过一个较短的路径到达目的网络,而权值高则相反。按照动态路由协议内部的算法,被测设备应该可以判断出最短路径,并且选择路由。图6是路由收敛测试流程。



  根据预期结果,验证数据流应该在第一阶段通过测试端口2。我们在步骤7将测试端口2所模拟的路由器的路由信息撤销,被测背景将首先判断路由发生变化,它将根据从周边路由器所能得到的信息重新计算出到达目的网络的路径。完成计算后,验证数据流从测试端口3所模拟的路由器流向被测网络。

  从发现网络路由变化,到重新计算以找到新的“下一跳”的过程,我们称之为路由收敛。同样,这个过程所经历的时间就是我们常说的“路由收敛时间”,这是考量路由器工作能力的重要指标。当然,您还需要考察被测设备在您的使用环境中的实际情况,比如说在多少的路由信息或者要求负载下的收敛性能。

  我们在本次横向评测中测试了所有10台设备在RIP、OSPF协议工作情况下的路由收敛。


摘自 计算机世界报
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50