包转发率怎么计算

包转发率是指网络设备(如交换机、路由器)每秒能够处理并转发的数据包数量,单位通常是 Mpps(兆包每秒)。计算包转发率的关键是确定设备在所有端口满负荷情况下的总处理能力。


1. 单个端口的包转发率计算

(1)最小包(64字节)的转发率

以太网标准规定,设备需要能够线速(全带宽)转发最小 64字节 的帧(包括 8字节前导码+帧起始符,但通常计算时只算 64字节数据部分)。

计算公式:

包转发率 (pps)=端口带宽 (bps)帧大小 (bit)包转发率 (pps)=帧大小 (bit)端口带宽 (bps)​

其中:

  • 端口带宽:如千兆端口 = 1 000 000 000 bps(1 Gbps)
  • 帧大小(bit):64字节×8=512 bit64字节×8=512 bit

千兆端口(1Gbps)的包转发率:

PPS=1 000 000 000512≈1 953 125 pps=1.953 MppsPPS=5121000000000​≈1953125 pps=1.953 Mpps

但实际行业标准通常采用 1.488 Mpps,原因是:

  • 考虑了 12 字节的帧间隙(IFG),即实际传输的是 64 + 12 = 76 字节(608 bit):PPS=1 000 000 000608≈1.644 MppsPPS=6081000000000​≈1.644 Mpps
  • 设备厂商通常采用保守值 1.488 Mpps(基于历史标准)。

不同端口的包转发率参考:

端口类型带宽最小包(64B)转发率
百兆(100M)100 Mbps0.1488 Mpps
千兆(1G)1 Gbps1.488 Mpps
万兆(10G)10 Gbps14.88 Mpps

2. 交换机的总包转发率计算

交换机的总包转发率 = 所有端口的包转发率之和

示例:16口全千兆交换机

  • 每个千兆端口的包转发率 = 1.488 Mpps
  • 16 个端口同时满负荷转发:16×1.488 Mpps=23.808 Mpps16×1.488 Mpps=23.808 Mpps因此,正确答案是 C. 23.808 Mpps。

3. 特殊情况:不同包大小的转发率

  • 64字节(最小帧):计算理论最大值(如 1.488 Mpps @ 1Gbps)。
  • 1518字节(标准最大帧):转发率会降低,因为单个包占用更多时间。PPS=1 000 000 0001518×8≈82,381 pps=0.082 MppsPPS=1518×81000000000​≈82,381 pps=0.082 Mpps
  • 实际场景:交换机通常以 64字节 计算,确保最差情况下的性能。

总结

  1. 单个端口包转发率 = 带宽 / (最小包大小 × 8)
    • 千兆端口 ≈ 1.488 Mpps(64B 包)
  2. 交换机总包转发率 = 端口数 × 单个端口包转发率
    • 16口千兆交换机 = 23.808 Mpps
  3. 行业标准:通常以 64字节 计算,确保最坏情况下的性能。