为什么硬件路由器比具有更好规格(RAM 和 CPU)的 Linux 路由器性能更好?

Blu*_*ene 49 linux router packetloss

我有一个最小的 CentOS 6.3、64 位作为网关,带有 4 个 NIC(1 Gbps),每个绑定在一起一个用于公共流量,另一个用于执行 NAT 的私有。它有 6 GB RAM 和 4 个逻辑内核。过去两年我们一直在使用它,没有任何问题。

我对硬件路由器没有任何经验,但我听说它们的 RAM 和 CPU 较少,并且使用闪存盘。低硬件配置的机器如何比具有更多 RAM 和 CPU 的机器性能更好(例如,处理更多的并发连接)?

除了 IOS 使用不同的方法来处理这个问题之外,还有哪些限制因素?

Sha*_*den 67

ASIC

您可以跳过软件,直接让芯片处理任务,而不是使用通用 CPU 和特定任务的软件。

高性能网络硬件使用 ASIC 而不是软件来执行计算量大(但逻辑上相对简单)的任务,例如将 IP 地址与庞大的互联网路由表进行比较、检查 CAM 表以进行交换决策或根据 ACL 检查数据包. 这在那些对时间敏感的操作的速度上产生了巨大的差异,与通用 CPU 相比具有显着的优势。

  • 总的来说,“速度”在这里是一个非常宽松的术语。我敢肯定,在很多情况下,PC 仍然可以像硬件一样“快”地完成操作,或者可能具有比硬件更长的恒定持续时间。但它确实归结为稳定性和“物超所值”-您仍然购买较少的 RAM/CPU 设备,但它可以从中获得更多收益,并且只做它需要做的事情,以便您获得稳定性 (2认同)

Dav*_*rtz 13

高端专用路由器可以胜过具有更快 CPU 和更多 RAM 的 PC,因为它可以在硬件中执行更多路由。

这与 60 美元的千兆以太网交换机性能优于 2,000 美元的带有 4 个双端口 GigE 卡作为以太网交换机的 PC 的原因相同。该开关是从头开始构建的开关。

  • 我不确定你是对的。我已经为我基于 netmap (http://info.iet.unipi.it/~luigi/netmap/) 工作的公司创建了一个非常基本的反 DDOS 保护,即使在普通硬件上它也表现得非常好(非常完整1Gb/s 或 11M 数据包/秒)。该站点上还有一个用于 netmap 的 openswitch 版本,可以在“正常”硬件上转发 3M 数据包/秒,我不知道有任何便宜的(500 美元)交换机可以做到这一点,但我可能是错的。 (4认同)
  • 而且由于专用路由器在闪存盘上运行,因此在不合时宜的时候发生故障的移动部件较少。 (3认同)
  • @XzKto 典型的廉价(60 美元)5 端口 GigE 交换机可以全线速在所有端口组合之间转发数据包。他们通常使用一个完整的、非阻塞的 crossbar。 (2认同)

Rya*_*ies 11

“除了IOS”?

IOS 几乎完全不同。CentOS 是一个通用操作系统。它旨在使用大量不同的硬件配置在非常广泛的场景下表现得足够好。另一方面,IOS 非常精细,可以使用 Cisco 设备中的非常特定类型的硬件,仅处理您期望从网络设备中获得的那种工作负载。

知道究竟是什么硬件的作品,你要编程的会带你在性能与兼容性方面很长的路要走。

  • +1。此外,思科拥有工程资源和专业知识,可在需要时*用硬件替换软件*。这意味着,如果特定操作比他们希望的软件操作慢,他们可以努力设计 ASIC,向现有处理单元添加指令,或构建硬件模块以帮助加快速度。当您可以同时控制软件 ** 和 ** 硬件时,这些表格会以压倒性优势支持性能。 (3认同)