处理一个数据包需要多少 CPU 能力?

网络工程 IPv4 中央处理器
2022-03-03 05:52:59

与朋友就网络的 CPU 要求进行了辩论。我不是网络工程师,但我的理解是,IPv4 网络流量的 CPU 处理量最少,并且大部分都被卸载到 NIC。

在我所在的地区可用 1 Gbps 互联网时,争论的焦点是您是否需要高性能 CPU 来跟上流量吞吐量。

我意识到答案可能会因操作系统、NIC 和设备用途而有很大差异,但我们假设您将 pfSense 用作家庭使用的简单路由器/网关,设备少于 20 个(没有 IDS\IPS\DHCP\DNS\流量整形服务),只是普通的网络(路由\NATing\states)。有没有办法确定 100Mbs\1000Mbs\10000Mbs 发生或需要多少 CPU 处理?有没有办法计算处理网络数据包所需的典型 CPU 时间?

1个回答

没有标准的数字。这在很大程度上取决于执行的操作和软件的编写方式。对于像 NAT 这样的功能,它还取决于会话表的大小和创建新会话的速率。

举一些轶事:我见过一个标准的 Linux 内核,带有 Jool NAT64 模块在几个内核上处理 8Gbps,一直到 VPP 处理 190Gbps 分布在 32 个内核上。