路由器的转发能力PPS什么意思?

1、PPS(Packet Per Second)是路由设备性能常用的指标,特别是中高端路由器。PPS测试的理论基础可以看IETF的文档。说明一下,TCP/IP协议是由IETF制定的,我们用的internet协议都可以从IEFT上找到,都是公开的标准文档。

http://www.ietf.org/rfc/rfc2544.txt
当然这个是英文,看起来有点累。

RFC2544是关于测试的标准,业界事实上的工业标准测试工具smartbits的应用程序smart applications 正是根据rfc2544来设计的。这个测试工具得到的结果是吞吐量(以PPS来表示),时延,丢包率和背对背缓冲。

英文表示是 Throughput/Latency/Frame loss rate/Back-to-back frames。所谓的线速是指可以达到最大的包转发能力。由于以太网的包长是不定长的,因此,不同的包长在线速情况下的转发能力是不一样的。rfc2544也建议以下包长做为测试的标准, 64、128、256、512、1024、1280、1518字节。
在rfc2544中给出了10M环境下单向转发的各个包长的理论PPS。在实际测试中,为了充分体现路由器的极端转发能力,测试采用了双向转发的测试,比单向转发的压力增大一倍,路由器的以太网口工作在全双工模式,所以,10M双向转发的PPS是以下图的2倍,百兆接口的双向转发的指标是以下图的20倍。

为什么在这个标准中没有给出常见的Mbps(Mbits/second)来表示呢?因为仅仅给出Mbps还不能充分表达路由器的性能。假设一个路由器在1518字节的时候达到线速,在64字节的时候只有40000 PPS;而另外的一个路由器在所有的包长都可以达到线速,那么这两个路由器如果用Mbps来表示,都是200Mbps。显然,后面的路由器的性能比第一个要强很多。由于PPS是充分反映路由器的性能指标,很多厂商都不太会宣传。Cisco也只在内部公开这些数据。
 
2、正如第一点所说的,百兆的物理端口工作在双工状态下,所以计算出来的双向速率可以达到200Mbps。包的最高转发能力达到297618 PPS。下面是smartbits测试得到结果的界面,双向转发,全部线速。

3、单向转发得到的线速是148809 PPS。我们来算一下有效的理论bps。

148809 X 64 X 8 = 76190208
84459 X 128 X8 = 86486016
45290 X 256 X 8 = 92753920
23496 X 512 X8 = 96239616
11973 X 1024 X 8 = 98082816
9615 X 1280 X 8 = 98457600
8127 X 1518 X 8 = 98694288
为什么结果都不是10^8呢,特别是64字节差别这么大?我的理解是64字节发送的时候,因为gap导致利用率不高。

双向转发以上数字都乘以2。

下面再给一个例子,是从思博伦的网站上下载的,对国内路由器的测试,下载网址

http://www.spirentcom.com/docume ... ine-Article-744.pdf

摘抄第12页路由性能测试结果其中的一部分

3、单向转发得到的线速是148809 PPS。我们来算一下有效的理论bps。

148809 X 64 X 8 = 76190208
84459 X 128 X8 = 86486016
45290 X 256 X 8 = 92753920
23496 X 512 X8 = 96239616
11973 X 1024 X 8 = 98082816
9615 X 1280 X 8 = 98457600
8127 X 1518 X 8 = 98694288
为什么结果都不是10^8呢,特别是64字节差别这么大?我的理解是64字节发送的时候,因为gap导致利用率不高。

双向转发以上数字都乘以2。

下面再给一个例子,是从思博伦的网站上下载的,对国内路由器的测试,下载网址

http://www.spirentcom.com/docume ... ine-Article-744.pdf

摘抄第12页路由性能测试结果其中的一部分

由于以太网包的CRC,前导码,GAP等,使得每个以太网的包发送时,实际上增加了大约20个字节的其他内容。由此,我们重新计算一下,得到如下的表格。
第一列是每秒单向能转发的包数PPS,第二列是包长,第三列是上面提到的其他占用信息,第四列是第三列和第四列之和,第五列就是第四列乘以第一列乘以8。可以看出,最后的结果在100M了。