Skip to content

Latest commit

 

History

History
24 lines (13 loc) · 1.81 KB

pps_compute.md

File metadata and controls

24 lines (13 loc) · 1.81 KB

包转发率计算

包转发率,也称端口吞吐量,是指在某端口进行的数据包转发能力,单位使用pps(包每秒)来衡量。一般来讲,低端的路由器包转发率只有几K到几十Kpps,而高端路由器则能达到几十Mpps(百万包每秒)甚至上百Mpps。如果小型办公使用,则选购转发速率较低的低端路由器即可,如果是大中型企业部门应用,就要严格这个指标,建议性能越高越好。

下面DPDK的10GB网卡的64小包转发能力能改达到极限值14.88Mpps。下面给出计算过程:

  1. 10GB网卡 = 10的10次方 bit/s
  2. 10的10次方 bit/s / 8 = 1,250,000,000 byte/s

由于以太网数据包,最小的包大小是64byte/s,加上8byte的前导字节以及12byte帧间间隙,合计共84bytes。

  1. 最终的包转发率: 1,250,000,000 byte/s / 84 byte = 14,880,952 pps

注意上面是约等于。

此时得出 14.88 Mpps的包转发率。这就是10GB网卡的极限值。

最后要说明一下,对于小包流量来说,同样大小的流量,要处理更多的包性能相较于大包会下降,所以一般性能测试核心是测试64byte的小包测试。

以太网最大的数据帧是1518字节,一般来说1518字节大部分都能跑满其包转发速率。

RFC标准定义以太网的默认MTU值为1500。

注意: 以太网最大的数据帧是1518字节,这样刨去帧头14字节和帧尾CRC校验部分4字节,那么剩下承载上层IP报文的地方最大就只有1500字节,这个值就是以太网的默认MTU值。这个MTU就是网络层协议非常关心的地方,因为网络层协议比如IP协议会根据这个值来决定是否把上层传下来的数据进行分片,如果单个IP报文长度大于MTU,则会在发送出接口前被分片,被切割为小于或等于MTU长度的IP包。