路由器是IP网络的核心设备,其性能的好坏直接影响IP网网络规模、网络稳定性以及网络可扩展性。路由器区别于一般简单的网络互连设备,在性能测试时还应该加上路由器特有的性能测试。路由器在计算机网络中有着举足轻重的地位,是计算机网络的桥梁。通过它不仅可以连通不同的网络,还能选择数据传送的路径,并能阻隔非法的访问。 路由器的配置对初学者来说,并不是件十分容易的事。 (一)功能测试
路由器功能通常可以划分为如下方面。
(1)接口功能:该功能用作将路由器连接到网络。可以分为局域网接口及广域网接口两种。局域网接口主要包括以太网、令牌环、令牌总线、FDDI等网络接口。广域网接口主要包括E1/T1、E3/T3、DS3、通用串行口(可转换成X.21DTE/DCE、V.35DTE/DCE、RS232DTE/DCE、RS449DTE/DCE、EIA530DTE)等网络接口。(2)通信协议功能:该功能负责处理通信协议,可以包括TCP/IP、PPP、X.25、帧中继等协议。(3)数据包转发功能:该功能主要负责按照路由表内容在各端口(包括逻辑端口)间转发数据包并且改写链路层数据包头信息。(4)路由信息维护功能:该功能负责运行路由协议,维护路由表。路由协议可包括RIP、OSPF、BGP等协议。(5)管理控制功能:路由器管理控制功能包括五个功能,SNMP代理功能,Telnet服务器功能,本地管理、远端监控和RMON功能。通过多种不同的途径对路由器进行控制管理,并且允许纪录日志。(6)安全功能:用于完成数据包过滤,地址转换,访问控制,数据加密,防火墙,地址分配等功能。
路由器对上述功能并非必要完全实现。但是由于路由器作为网络设备,存在最小功能集,对最小功能集所规定的功能,路由器必须支持。因为绝大多数功能测试可以由接口测试、性能测试、协议一致性测试和网管测试所函盖,所以路由器功能测试一般可以只对其他测试无法涵盖的功能作验证性测试。路由器功能测试一般采用远端测试法。
(二)性能测试 路由器是IP网络的核心设备,其性能的好坏直接影响IP网网络规模、网络稳定性以及网络可扩展性。由于IETF没有对路由器性能测试作专门规定,一般来说只能按照RFC2544( Benchmarking Methodology for Network Interconnect Devices)作测试。但路由器区别于一般简单的网络互连设备,在性能测试时还应该加上路由器特有的性能测试。例如路由表容量、路由协议收敛时间等指标。
路由器性能测试应当包括下列指标。
(1)吞吐量:测试路由器包转发的能力。通常指路由器在不丢包条件下每秒转发包的极限,一般可以采用二分法查找该极限点。(2)时延:测试路由器在吞吐量范围内从收到包到转发出该包的时间间隔。时延测试应当重复20次然后取其平均值。(3)丢包率:测试路由器在不同负荷下丢弃包占收到包的比例。不同负荷通常指从吞吐量测试到线速(线路上传输包的最高速率),步长一般使用线速的10%。(4)背靠背帧数:测试路由器在接收到以最小包间隔传输时不丢包条件下所能处理的最大包数。该测试实际考验路由器缓存能力,如果路由器具备线速能力(吞吐量=接口媒体线速),则该测试没有意义。(5)系统恢复时间:测试路由器在过载后恢复正常工作的时间。测试方法可以采用向路由器端口发送吞吐量110%和线速间的较小值,持续60秒后将速率下降到50%的时刻到最后一个丢包的时间间隔。如果路由器具备线速能力,则该测试没有意义。(6)系统复位:测试路由器从软件复位或关电重启到正常工作的时间间隔。正常工作指能以吞吐量转发数据。
在测试上述RFC2544中规定的指标时应当考虑下列因素。
帧格式:建议按照RFC2544所规定的帧格式测试;帧长:从最小帧长到MTU顺序递增,例如在以太网上采用64, 128, 256, 512, 1024, 1280, 1518字节;认证接收帧:排除收到的非测试帧,例如控制帧、路由更新帧等;广播帧:验证广播帧对路由器性能的影响,上述测试后在测试帧中夹杂1%广播帧再测试;管理帧:验证管理帧对路由器性能的影响,上述测试后在测试帧中夹杂每秒一个管理帧再测试;路由更新:路由更新即下一跳端口改变对性能的影响;过滤器:在设置过滤器条件下对路由器性能的影响,建议设置25个过滤条件测试;协议地址:测试路由器收到随机处于256个网络中的地址时对性能的影响;双向流量:测试路由器端口双向收发数据对性能的影响;多端口测试:考虑流量全连接分布或非全连接分布对性能的影响;多协议测试:考虑路由器同时处理多种协议对性能的影响;混合包长:除测试所建议的递增包长外,检查混合包长对路由器性能的影响,RFC2544除要求包含所有测试包长外没有对混合包长中各包长所占比例作规定。笔者建议按照实际网络中各包长的分布测试,例如在没有特殊应用要求时以太网接口上可采用60字节包50%,128字节包10%,256字节包15%,512字节包10%,1500字节包15%。除上述RFC2544建议的测试项外还建议测试如下内容。
①路由震荡:路由震荡对路由器转发能力的影响。路由震荡程度即每秒更新路由的数量可以依据网络条件而定。路由更新协议可采用BGP。②路由表容量:测试路由表大小。骨干网路由器通常运行BGP,路由表包含全球路由。一般来说要求超过10万条路由,建议通过采用BGP输入导出路由计数来测试。③时钟同步:在包含相应端口例如POS口的路由器上测试内钟精度以及同步能力。④协议收敛时间:测试路由变化通知到全网所用时间。该指标虽然与路由器单机性能有关,但是一般只能在网络上测试,而且会因配置改变而变化。可以在网络配置完成后通过检查该指标来衡量全网性能。测试时间应当根据具体项目以及测试目标而定。一般认为测试时间应当介于60秒到300秒之间。另外一般可以根据用户要求和测试目标作设定选择。路由器性能测试一般可采用远端测试法。