网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > Routers配置

了解路由器关键指标包转发性能 YuS

包转发性能(Throughput)也可以称为吞吐量,这里吞吐量,我不讨论三层交换机的交换容量和背板吞吐量,因为三层交换机是交换芯片来处理数据,能实现线速转发,我这里讨论的包转发(吞吐量)是指网络数据从一个以太网口到另一以太网口由CPU处理的转发性能,这代表了路由器CPU和内存的性能(基于x86处理器的软路由也可作为参考)。

MikroTik官方从1518Byte、512Byte和64Byte给出了详细的吞吐量测试数据,在这方面MikroTik路由器和交换机的数据是非常真实的,比很其他一些厂商数据含糊不清要良心许多!这些数据,包括桥接和路由的性能转发测试,还有添加25条策略的转发测试等,但不含nat,因为nat转发和会话数量有很大关系。

通常数据包处理都要经过CPU(路由器或三层交换机也支持由交换芯片处理,这里不做讨论),如当前RB、CCR和CRS等设备采用的是MIPS、PowerPC、Tile和ARM等构架的CPU,基于x86平台的就是大家熟知的Intel和AMD。CPU的处理能力直接决定数据包转发性能,处理数据包就像流水线一样,对每个包进行拆包、重新封装和转发。

数据包的大小决定了处理速度和吞吐量,例如我们在上网时,发送聊天信息、网页浏览、播放视频和下载数据,封装的数据包大小是不一样的。假如一个数据包封装了网页图片是512Byte,CPU每秒能处理10000个,并不能做到比512Byte小一半的256 Byte包每秒就能处理20000个,对于CPU处理数据包有点类似计件式的工作,当然实际情况不是这样,只是做一个类比。下图是一台CCR2004-16G-2S+的吞吐量数据:

了解路由器关键指标包转发性能 YuS

一共分了3组数据1518Byte、512Byte和64Byte,每组数据又分为Mbps和Kpps,Mbps大家比较好理解是每秒多少Mbit,Kpps(packet per second)则是,每秒处理多少K的数据包。官方测试包含了bridge桥接转发和Routing路由转发两种,bridge转发下增加了配置25条桥接过滤规则转发,routing路由转发也增加了25条流控规则和25条防火墙过滤规则的转发性能,这样的转发数据更接近用户实际使用的环境。

我们以第一项Bridging none(fast path)为例:每个数据包封装1518Byte,CCR2004能处理31.47Gbps,每秒能转发2591.6k的数据包,如果将数据封装大小调整为64Byte,每秒能处理5.27Gbps,每秒转发9697.9k的数据包,数据包封装越小,转发的数量就越多,对CPU性能要求越高。

举一个例子,假设一个在流水线检验员,检查每个产品的包装是否合格,第一天,产品包装是大箱子,里面有8个小包装,但他只需检查大包装是否合格,无需检查里面的小包装,他一分钟能检查20个大箱包装,出货的数量也多。

了解路由器关键指标包转发性能 YuS

第二天,流水线不再用大包装了,都是小包装,那请问他的每分钟的检查数量是否会提高8倍?估计提升2倍都很不错了。

了解路由器关键指标包转发性能 YuS

这和我们的路由器处理大包和小包的道理是一样,CPU处理大数据包很轻松,而处理小数据包就很吃力,大包装的数据多,一次就可以转发很多数据,而小包数据少,数量又多,很考验CPU的性能。我们衡量路由器CPU性能一个重要指标是看64byte的小包转发能力,三种封装有不通的衡量:

64byte包吞吐量反应了CPU的性能

512byte包反应了CPU和内存整体综合性能

1518byte包吞吐量反应了内存性能

吞吐量的标准单位是pps(packet per second),在MikroTik给出的Mbps和Kpps数据是可以相互转换的,例如1518Byte的31472Mbps约等于2591.6kpps*1000*1518*8

MikroTik所有吞吐量测试是通过以下方式完成:

通过路由器转发测试路由转发

精简RouterBOARD设置,仅安装system功能包

通过Agilent N2X设备测试

下面图则是近年来,RB、CRS和CCR等产品的对比,注意单位是kpps,每秒转发包

了解路由器关键指标包转发性能 YuS

上图可以看到CCR系列的吞吐量性能和RB系列有明显的差距。

(责任编辑:admin)