数据中心内的嵌入式路由器与软件路由器

网络工程 思科 bgp 路由器 杜松 锦缎
2021-07-27 18:25:47

我一直在寻找一个新的“核心”路由器来安装我们的新机架,该机架位于附近的数据中心。我遇到的是通常的 Cisco/Juniper/Brocade 产品线,价格通常不具吸引力;我想知道如果我在一个像样的 2U 盒子上使用软件路由器(如 pfSense 或专有/商业选项)并在其中放置几个​​ NIC 会发生什么。

我对路由器的要求如下:

  • 运行 BGP(显然)并且能够存储至少一个完整的Internet 路由表(~460,000 条路由),如果我决定多归属最好是两个完整的 Internet 路由表
  • 具有至少 1Gbps 的吞吐量(更多用于可扩展性,但现在并不重要)

这些要求可以通过在具有良好 NIC 和 >2GB 内存的体面盒子上的体面软件路由器轻松处理,不是吗?如果是这样(除了品牌名称),是什么让 Cisco/Juniper/Brocade 系统如此昂贵?

4个回答

软件路由器的优势之一是 RIB/FIB 大小仅受硬件中的 RAM 限制,其价格便宜且易于升级。ASIC 路由器通常还有其他限制,例如 TCAM 大小/分配。GigE 球场中软件路由器的路由性能可与基于 ASIC 的路由器相媲美。

一个主要的缺点是软件路由器无法抵御任何有意义的 DDoS 攻击——大量的小数据包意味着大量的上下文切换,路由器很快就会因 CPU 耗尽而死亡。

仅举几件事:软件和硬件的开发、维护测试和支持,当然还有:营销和利润。此外,这些供应商使用专用 ASIC,因此数据包转发(除其他外)是在硬件而不是软件中完成的。基本上,您购买了一个针对一项任务进行了优化的盒子:路由,这意味着所有代码和硬件都已经过测试。

软件路由器通常没问题,特别是如果您没有大量预算或只需要建立实验室设置。但是,如果您遇到问题,则有可能您自己确定是路由软件、硬件、内核还是其他问题。我并不是说这是一件坏事(其中一些项目有很多活跃用户),这只是需要考虑的事情。

顺便说一下,完整的 BGP 馈送现在几乎是 450K IPv4 前缀,以及接近 13K IPv6。如果我要构建一个软件路由器,我会研究使用哪些 NIC 以及如何优化它们,并在盒子中放入超过 2G 的 RAM。

如果您真的想使用基于软件的解决方案,我会选择 Vyatta 平台。它可以为您运行 BGP,并在需要时运行各种其他协议。查看Vyatta 免费版与付费版,将免费版与付费版进行比较。

仅供参考,大多数开源路由守护进程在控制平面上表现良好,但您将获得多少吞吐量将在很大程度上取决于您对操作系统的优化程度以及您决定将哪些 NIC 放入盒子中。我同意查看 Vyatta 的建议。BIRD 和 Quagga 也是选项,如果您除了 BGP 还需要 box 参与 IGP。Quagga/BIRD 都可以很好地执行 OSPF,但 AFAIK 如果您需要 ISIS,许多开源路由守护程序仍在为此工作。