过滤功能对路由器性能的影响


功能究竟能够在多大程度上影响性能?这是很多人开始感爱好的话题 。对于测试人员来说 , 都希望在基本的性能测试之后 , 能够进行类似的测试 , 从而提供更贴近实际使用情况的测试报告 。《网络世界》评测实验室在以往的测试中 , 已经进行了多次的尝试 , 此次翻译的文章 , 是美国《Network World》进行的一次低端路由器公开比较测试的测试方法 , 他们着重衡量了数据包过滤功能对路由器性能的影响 。
今天市场上的路由器 , 普遍支持数据包的过滤功能 , 数据包的过滤功能一般会用来做如下工作:
● 在公司网络边缘上阻止地址欺诈 。
● 阻止伪造的路由 。
● 阻止有害的应用 。
● 跟踪使用情况:用户访问某一网络了多少次?某一应用消耗了多少带宽?多数路由器的过滤器可被设置为利用记录过滤器被调用的次数往返答这些问题 。
当然 , 用户不应用路由器代替防火墙 。但是测试者认为这项数据包过滤功能对于路由器来说是非常重要的 , 所以在测试中重点放在了测试数据包过滤功能对路由器性能的影响上 。
此次测试每个厂商用一对同型号的被两个T-1接口利用转接线线缆连接在一起的路由器构成 。产品配置(配备两条T-1线路和两个以太网接口的路由器)可以认为是企业路由器设置中最常见的情况 。
在确定过滤功能对这类设备的性能影响时 , 测试者先从不开启数据过滤功能(基线测试)入手 , 然后增加数量越来越多的数据包过滤条件再进行测试 。
在所有的测试案例中 , 测试者都将SmartBits连接在每台路由器的两个以太网接口上 , 并使用WAN交叉线缆连接T-1接口 。在基线测试中 , 他们将SmartBits配置依照RFC 2889描述的双向部分网状结构发送数据流 。测量了60秒的吞吐量以及平均与最大时延 。他们采用UDP/IP数据包的64、256和1518字节长度的以太网帧重复进行了此项测试 。
在过滤功能测试中 , 他们提供了同基线测试中同样的数据流 , 但用不同数量的数据包过滤规则配置了被测试路由器 。分别采用8、16、64和256个数据包过滤规则重复了此项测试 。他们选择了不同数量的过滤器是为了观察路由器是否能够根据逐渐增多的规则进行检查 。在测试中 , 他们选择了常用的过滤条件 , 包括源与目的IP地址、协议以及TCP和UDP端口号 。测试者要求厂商将最后的数据包过滤规则设置为答应测试数据流通过的规则 , 强迫路由器循环遍历整个数据包过滤表 。厂商还开启了日志功能 , 因此测试者可以了解到有多少数据包“击中”每条规则 。
从测试的结果看 , 一些依靠ASIC的接入路由器的吞吐量测试结果差距不大 , 但是使用传统的CPU和软件构架的设备会有比较大的影响 。
相比较吞吐量的测试结果 , 测试者更看重的是延迟测试的结果 , 测试的结果不单单证实了采用通用CPU和软件的产品在开启了数据包过滤功能之后 , 性能下降 , 同样一些采用ASIC的接入路由器在开启功能之后性能也受到了影响 。
测试者认为延迟 , 是比吞吐量更重要的指标 。低的和持续的延迟不仅对语音和视频应用而且对于在意响应时间的应用也至关重要 , 比如TCP的数据流 。由于TCP要求及时的数据确认 , 因此延迟会导致重新传输或会话丢失 。另外 , 此次测试记录了数据包的平均延迟和最大延迟两个数值 , 因为对于设备而言虽然多数数据包的延迟在平均延迟四周 , 但是极少数的几个延迟非常大的数据包 , 同样也会对一些敏感应用造成很大的影响 。
另外 , 此次测试中一个很有意思的事情是 , 某厂商的产品缓冲区非常大 , 当测试吞吐量时 , 吞吐量超过了线速度:竟然在测试停止后 , 路由器仍继续转发了17秒的数据包 。这就造成了荒谬的高延迟测量值 。

推荐阅读