[王素彬 曹维华]
技术交流
IP路由器转发容量测试方法探讨
[王素彬曹维华]
摘要随着世界通信产业的持续飞速发展,路由器进入了大容量时代,路由器的转发容量验证测试成为了网络建设至关重要的环节。文章根据路由器的功能定位,提出了从网络环境、业务需求和路由承载三个方面进行综合仿真建模的一种测试方法。这种路由器转发容量评估方案,可提升测试方法的科学性与合理性,更真实有效评估路由器设备的业务承载能力。
关键词:路由器 转发容量 仿真 测试方法
王素彬
中国电信股份有限公司广东研究院工程师,从事IP网络技术和下一代互联网研究。
曹维华
中国电信股份有限公司广东研究院高级工程师,主要研究方向为移动互联网。
自思科公司1986年正式商用第一台路由器以来,路由器在网络中担当着举足轻重的角色,联结各个信息站点(Site)与终端,带来互联网20年的繁荣,使得人类进入信息时代。当前世界通信产业规模持续飞速发展,IP网络业务与带宽基本遵循摩尔定律,IP网络容量面临前所未有的压力。互联网流量增长率维持在50%以上,以OTT视频、云化服务为代表的新型互联网业务进一步加剧网络流量增长。与此同时,芯片技术与高速背板技术高速发展,IP大容量设备及高速端口陆续面市,单槽400G能力IP网络设备逐渐成为主流,40GE/100GE高速端口替代40G POS成为主要端口类型。
路由器是IP网络核心组成部分,其转发容量是业务开展的基础保障,直接决定IP网络业务承载能力。因此,对路由器的转发容量评估测试成为了网络建设至关重要的环节。
从过去的十年来看,IP路由器容量的发展主要经历了三个阶段:
(1)10G/40G带宽时代:自2002年IEEE802.3标准组织发布10GE以太网的标准开始,骨干网设备进入10G带宽时代。这个时期网络设备还是单机的形态,设备单槽位达到10G吞吐量,并具备向40G演进的能力。
(2)集群时代:单机形态由于集成度和端口容量的发展,已无法满足网络流量的爆炸式增长,由此推动了集群系统的诞生。路由器集群(Multi-Chassis)是设备技术发展的一大里程碑式突破,采用并行分组交换技术扩展单机交换平面与管理平面,使得多台路由器能够协同工作、并行处理,对外呈现为一台逻辑路由器。路由器集群打破了单机系统在交换容量的限制,从而可大幅度提升设备的整机转发容量。
(3)超大容量时代:随着芯片和光模块集成度的进一步提升,设备容量已经进入400G/1T时代,设备不仅具备单机/集群等多种形态能力,同时还具备向更大容量演进的能力,以此来满足容量持续增长的需求。预计在2017年会出现2Tbps/槽的产品,单机可达32Tbps容量,是前期400G平台的5倍。
3.1测试拓扑构建
路由器容量测试的出发点是为了验证设备的最大转发能力,因此标准的测试拓扑是向所有业务端口加载收发双向流量,查看路由器是否能顺利转发,是否会出现丢包、乱序或延时增大等异常现象。被测设备所有的端口都应该与测试仪表直接相连,由测试仪表发送所有端口之间的全网状测试流量,以评估被测设备最大转发容量的测试方法。
IP路由器已经进入大容量时代,一台设备的业务端口可能是几百上千个;而实验室通常只有最多几十个网络测试仪表端口。在这种环境下要测试路由器的整机转发性能,就只能依靠其它技术手段来弥补物理资源的不足。实验室测试,我们通常可以用蛇形流量来弥补直连流量的不足。被测设备可以仅用两个端口与测试仪直接相连,其余端口使用跳线在设备上进行环接,并配合一定的流量转发策略,使测试流量从与仪表直连的一个端口输入设备,从一个端口转发出去后再由另一个端口输入设备,如此反复多次后由另一个与仪表直连的端口输出,从而保证被测设备的所有端口均有业务流量输入和输出。
蛇形流的构建可以通过多种方式实现:
①通过配置策略路由,设定由连接测试仪的端口1进入的流量通过端口2转发,端口2外部跳线连接端口3,由端口3进入的流量通过端口4转发……直至最后连接测试仪的另一个端口;反向流亦然。
②将被测设备端口每2个一组划分到一个单独的虚拟路由器,虚拟路由器之间通过外部跳线串联,并启用静态或动态路由实现蛇形转发。
③将被测设备端口每2个一组分配到一个单独的2层或3层MPLS VPN,不同VPN之间通过外部跳线串接,从而实现蛇形转发。
3.2 常规测试方法
常规测试方法遵循标准的测试方法学理论,关注路由器在单纯IP转发环境下,对单字节测试流的转发性能,如采用RFC2544/2889等测试标准考察路由器的吞吐量、时延及丢包。但是现网的运营环境中路由器是同时承载多种业务,并且启用了多种业务控制策略的;这些特性通常会增加额外的系统开销,采用常规的测试方法无法反映出这部分开销对设备性能的影响程度,从而导致不能准确评估路由器的转发容量。
下面以路由器100G板卡分别在纯IP报文转发、叠加包过滤防火墙转发、叠加NAT转发、叠加QoS转发及三类业务叠加下转发等五个场景转发性能测试为例说明业务处理对转发性能的影响,测试数据如图4,设备在不同场景下小字节处理能力差异非常大,如在64字节的转发性能如下:
图1 IP路由器容量发展历程
图2 蛇形测试拓扑
①在单纯的IP转发环境下,路由器的转发性能为线速的82%左右;
②当仅加载包过滤防火墙时,路由器的转发性能下降到63%左右;
③当仅加载NAT或QoS时,路由器的转发性能进一步下降到28%左右;
④当同时加载所有上述业务时,路由器的转发性能下降到10左右。
图3 不同场景下路由器转发结果
3.3 仿真测试方法
IP路由器通常处于大型运营网络的核心位置,其主要功能是业务流量的汇聚和转发,并根据业务开展策略进行有效的流量调度和管理。
3.3.1网络模型构建
在现网实际部署中,路由器主要用于三种网络场景:1)国家骨干网,主要是用于连接跨省干或大型的城域网络,作为整个网络的核心节点;2)省干或者城域网络的出口节点,主要用于本省和城域网内部业务汇聚;3)国际互联互通或者国际关口局节点,用于和其他国内和海外运营商联的场景。
3.3.2业务模型构建
根据IP路由器所处的网络环境和其承担的功能角色,我们基本可以模拟出运营网络中路由器所承载的业务类型及其策略需求。实验室可以分三步构建路由器的业务模型:
图4 IP路由器网络模型
(1)直连业务流仿真
测试仪表与被测路由器的部分端口采用背靠背连接方式,仿真经过路由器的穿透流量。考虑测试涵盖范围的普适性,路由器的每种业务板卡至少用2块跟测试仪表连接,用Backbone的方式跨板跨框打入测试流。流量由IPv4、MPLS、IPv6混合组成,混合比例为45%:30%:20%,使直连业务端口的总业务压力为95%。这些流量由被测路由器按路由或标签正常转发到另一端的测试仪端口,不在被测路由器内部绕行。
(2)构建蛇形流量
在蛇形流的三种构建方式中,为了尽量保证业务策略的有效加载,建议采用虚拟路由器的方式。借助VRF和光纤回路,对路由器的每种物理端口类型,用测试仪表的一对物理端口产生的流量在被测设备的多个端口(跟测试仪直连的端口除外)之间逐个穿透,最终让路由器上没有跟仪表直连的所有端口都被加载双向99%的测试流。流量采用80%:19%的IPv4/IPv6混合业务流。
(3)组播业务仿真
模拟组播源,用测试仪表的多个端口模拟组播源,发送占仪表端口容量20%的组播流量;每种端口类型使用4个组播源,共模拟400个IPv4+200个IPv6组播组。所有跟仪表直连的业务端口仿真组播用户,同时接收所有的组播组;此时这些直连端口的接收方向负载超过100%,出现拥塞。
(4)QoS和业务策略仿真
在直连业务端口的入方向配置流分类和流标记,在出方向配置8个QoS队列及相应调度的策略和丢包策略(WRR中各队列的权重参数,和WRED的WRED最小阈值、最大阈值、丢包概率等参数可自由设置,以实现各队列按优先级差异丢包)。优先保证MPLS和组播业务,在各直连端口可检查各队列的带宽和时延保证是否符合预期。
加载访问控制策略,按入方向各3600个ACL/物理端口,其中3000条匹配IPv4流量,600条匹配IPv6流量,在所有端口(包括业务端口和蛇形流端口)叠加访问控制策略。接着加载安全策略,在被测试设备的所有端口启用IPv4和IPv6的严格URPF功能。检查此时各类业务流是否有丢包、时延、乱序。然后在所有端口(包括业务端口和蛇形流端口)上开启流量采样功能,使用v9版本,按照1000:1的采样比,采集端口入方向的所有数据包(包括V4、MPLS、V6、组播入出接口 ),并通过管理口将采集信息传送给采集分析服务器。最后随机选取任意一个10GE的业务仿真端口进行端口双向的线速镜像,再选取一个100GE的端口进行入向10%的限速镜像,通过抓包观察镜像结果,观察业务仿真结果。
3.3.3路由模型构建
运营网络的IP路由器不仅承载了高负荷的流量转发压力,同时也承担着大量的路由信息存储和计算的压力;通常路由器要同时负责域内IGP和域间BGP路由信息的通告、计算和优化。在进行路由器容量测试时,设备也应该同时加载相应的路由压力。
(1)域内路由
域内路由仿真:当前的主流域内路由协议是ISIS,路由器需要实时维护全网的节点拓扑信息。我们仿真最典型的层次化路由网络拓扑,将模拟拓扑分核心 、汇接、边缘三层构建。核心层采用全full-mesh结构,汇接、边缘采用双归链路上联结构;拓扑中的路由网段先取节点互连链路所在子网,不够的从边缘层节点补充子网路由;最终根据节点数量、路由子网数量、各层节点比例生成一个层次化仿真拓扑。考虑目前最大的IGP路由网络和路由表的增长趋势,我们用测试仪加载这样的仿真信息:包含2000个IPv4路由节点、20000条IPv4路由条目,和500个IPv6路由节点、3000条ISISv6路由的大型拓扑;同时借助子端口建立数百个直连路由邻居以仿真路信息交换过程。
图5 域内路由仿真模型
(2)域间路由
测试仪同时向被测路由器建立多个EBGP和IBGP邻居,并通告一张仿真Internet路由表。我们主要从路由前缀、子网掩码和as path三个方面来仿真现网路由表,设置路由条目数、通告路由网段地址范围、路由前缀长度分布比例、嵌套路由网段地址范围、嵌套路由比例、AS Path取值范围、AS Path长度取值范围等相关参数;根据现网路由信息的分布规律设计算法,保证生成的路由表能完全涵盖当前Internet网络的复杂度。
按照骨干网目前的运营环境,可以将测试仪划分8个子接口,与被测路由器建立IBGP邻居(开启V4/V6的负载分担),路由器配置为这些邻居的路由反射器,所有邻居在一个反射簇中。每个IBGP邻居向被测路由器宣告4万条IBGP子网路由;其中每个子接口导入的90%路由条目相同,10%路由条目不相同。另选一个仪表端口划分成50个子端口,与被测路由器建立50个EBGP直连邻居,每个邻居导入8万条EBGP子网路由,每个子接口也是大部分条目相同。同时以其导入的BGP路由条目为目的地址发送测试流,以使仪表导入的路由信息真正下载到路由器中,仿真路由查找和计算过程。
转发容量测试是IP路由器设备引入的重要评估环节,是运营商直接判断设备是否满足应用要求的第一依据。本文所探索的业务仿真测试方法,为当前的大容量IP路由器提供了一种高可信的方案,提升测试的科学性与合理性。由于互联网业务变化较快、设备融合功能更新快,路由器容量测试后续应重点关注各项需求变化,不断地完善整体技术方案。此外,还可叠加上四层仿真流量(如TCP流量),模拟真实的流量(P2P流量、HTTP流量等)注入至被测设备,更能反映出路由器的能力。
参考文献
1陈华南等. IP路由器技术发展趋势. 电信科学,2015,04:2015107-1~2015107-4
2康亮等. 4G移动通信终端数据吞吐量测试研究.电信科学,2015,06:2015140-1~2015140-6
DOI:10.3969/j.issn.1006-6403.2016.01.014
收稿日期:(2015-12-08)