为什么路由既不占用 CPU 也不占用内存?

Car*_*bon 7 resources router

我最近一直在检查我的基于 linux 的路由器的性能统计数据,并且对我所看到的感到惊讶。我预计路由工作负载对 RAM 和 CPU 的负担比现在要大得多。你能帮我理解为什么会这样吗?

EEA*_*EAA 14

路由器工作的哪一部分占用内存?珍贵的小。进包,出包。现代操作系统的网络堆栈经过很好的调整,所有数据包检查和路由都直接在内核中进行,因此不需要辅助的用户空间代码。

如果你的路由器也在执行 NAT,那么状态表会消耗一些内存,但即使是一个中等的 2GB 系统也能够在不眨眼的情况下存储数十万个 NAT 状态表条目。

此外,如果您的路由器正在执行动态路由任务(VRRP、BGP 等),它们将消耗内存。

不过,总而言之,大多数防火墙和路由任务在系统资源上都非常容易。

  • 而且,如果您要添加大量内存用于排队数据包以进行传输,您可能会发现每个接口超过几 KB,您可能会看到添加更多内存导致性能下降而不是提高性能。 (2认同)