Freebsd 还是 Linux?作为 100mbps 以上的 BGP 路由器

Freebsd 还是 Linux?作为 100mbps 以上的 BGP 路由器

我正在构建一个服务器,作为 ISP 中 100mbps 上行链路的 BGP 边界路由器。

我需要这些功能:

1) 双栈 BGP 对等/路由(至少 100Mbps,可能更高)。2) 潜在的完整互联网 BGP 馈送。3) 一些基本的 ACL 功能。

硬件是 L3426/8G ram。NIC 将是板载双端口 Broadcom 5716。

我之前曾广泛使用过 Linux,它似乎能够处理 100mbps,但我听说 FreeBSD 在网络方面更快。我应该使用哪一个?我们有一些性能基准测试数据吗?

干杯。

答案1

多年来,我们一直对关键基础设施采取这种做法。我们通过 Quagga 获得三个完整的上游 BGP 馈送bgpd,它使用高达 658MB 的 RAM 来运行整个系统。就此而言,根据我们的经验,Debian 比其他操作系统更稳定(而且它需要更少的安全更新,安装占用空间最小,比我们尝试过的其他两个操作系统重新启动次数少得多)。我们使用拼接所以我们只启动关键软件包更新。完全不用担心与 ISP 上其他供应商的兼容性...成熟RIR 使用 Quagga!

令人惊讶的是,硬件并不那么重要,重要的是 NIC。快速 CPU 基本上只是意味着如果您刷新会话,前缀的加载速度会更快(假设您有 1 GB 的 RAM 并且它们会加载到内存中),因此入门级四核的规格远远超出了预期。我们花了很长时间尝试不同的 NIC,根据我们的经验,最好的是使用驱动程序的英特尔卡igb(大约 100 英镑/NIC,我们使用:82576,ET 双端口服务器适配器),其次是e1000。有一些考虑因素,例如您的入口和出口 NIC 如何与主板通信,但对于低于 250Mbps 的速度,如果您使用这些 NIC,您可能不会注意到。我们使用此架构击退了复杂的 UDP DDoS 攻击(它使用了路由器难以处理的最小 UDP 数据包)。请记住,您最关心的是能够处理最多的数据包,而不一定是吞吐量(以 Mbps 为单位)。我们只需花费很少的钱就可以指定一个千兆多宿主路由器,它可以处理标准互联网大小的数据包,即正常运行,速度高达 850Mbps!

我一开始使用的是 Cisco(bgpd配置几乎完全相同,因此如果你有使用 Cisco 套件的经验,那么过渡起来会非常快),但由于 Linux 的可塑性很强(例如,能够向路由器添加一些低资源脚本来帮助报告和管理),在我看来,这使得它对于这种类型的设置非常强大(并且被低估了)。阅读一些Nanog 邮件列表档案如果您仍有任何疑问或需要进一步的帮助。

这应该可以帮助你快速开始使用 Debian:简易 Quagga 教程

答案2

它们都是功能强大的平台。在良好的服务器级硬件上运行 Debian 或 Centos 等稳定软件。请确保您指定的服务器具有英特尔服务器网卡,它们的稳定性比 Broadcomm 好得多。

就 BSD 与 Linux 而言,这很容易..选择您最擅长的那个。

答案3

我见过老款赛扬处理器在 Debian/Quagga 设置下轻轻松松处理 80-90Mb/s 的正常流量,并且有 3 个完整的输入。但是,这里的限定词是“正常”流量,主要是 HTTP/SMTP 和 DNS。同样的机器在 DDOS 情况下表现不佳,每秒数据包数量达到荒谬的水平,主要是 UDP 数据包。

通常您需要担心的不是带宽,而是您将要处理的 PPS。

不幸的是,我无法帮助您解决 Linux 与 BSD 的路由性能问题,但对于几个 100Mb 连接而言,对于当前的商品硬件来说,这应该不会产生任何区别。

答案4

数据点:

我在 Fedora 上运行了两台 Dell R200 服务器,其中一台在 1GigE 链路上使用 NAT、iptables、LVS、quagga、bgpd 时峰值达到 500 Mbps。在 100Mbps 下,任何现代硬件都应该可以正常工作。为了处理完整的表格,您应该能够咨询 Cisco 或 Juniper 的相应 RAM 要求并从那里开始。即使没有过滤,1 GB 的 RAM 也应该足够了。我的路由器配置了 2 GB,但我只采用默认路由。

相关内容