是Freebsd还是Linux?超过100mbps的BGP路由器


10

我正在为ISP中的100mbps上行链路构建服务器以充当BGP边界路由器。

我需要这些功能:

1)双栈BGP对等/路由(至少100Mbps,也许更多)。2)潜在的完整Internet BGP提要。3)一些基本的ACL功能。

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

以前,我已经与Linux进行过广泛的合作,它似乎能够处理100mbps,但是我听说FreeBSD在联网方面速度更快。我应该使用哪一个?我们是否有一些性能基准数字?

干杯。


1
为什么不使用Cisco bgp路由器?不幸的是,大多数让客户运行bgp的isp都指定了“兼容性”的要求
Unix Janitor'3

9
Em,第一次听说该限制,我在一个以Dell PowerEdge上的Quagga / Debian开头的网络上工作,直到现在的Juniper和Cisco套件。还与很多不同的公交提供商和交易所打交道。如果ISP设置了这样的限制,请用胜任的人员替换它们。
Niall Donegan'3

1
旁注,由于它是路由器,因此我强烈建议将NIC 放在其中作为备份。如果板载主板损坏,则您要更换主板,而不是换出快速PCIe卡。
克里斯S

1
你在浪费钱。来自Mikrotik的便宜盒子(例如RougerBoard 1100AH)可以以较低的价格处理它,并且基于Linux。
TomTom

有几个人建议使用专用网卡,而不要使用板载Broadcom。Serverfault博客对此有一些有趣的帖子。
ollybee

Answers:


11

多年来,我们已经为关键基​​础设施完全做到了这一点。我们通过Quagga接收了三个完整的上游BGP提要bgpd,它使用高达658MB的RAM来运行整个系统。为此,在我们的经验中,Debian比其他操作系统要坚固得多(并且它还需要最少的安全更新,并且安装量最少),与我们尝试过的其他两个操作系统相比,重新启动的次数要少得多。我们使用Ksplice,因此我们仅引导关键软件包更新。完全不用担心与您的ISP处的其他供应商是否兼容... RIPE RIR使用Quagga!

出乎意料的是,硬件并不是那么重要,而是关于NIC的全部。快速的CPU基本上只是意味着如果刷新会话(假设您有GB的RAM并将它们加载到内存),则前缀加载会更快,因此入门级Quad Core的规格过多。我们花了很长时间尝试不同的NIC,根据我们的经验,最好的是使用igb驱动程序的Intel卡(对于每张NIC约100英镑,我们使用:82576,ET双端口服务器适配器)。e1000排第二。有一些注意事项,例如您的入口和出口NIC与主板如何通信,但是对于250Mbps以下的带宽,您可能不会注意到是否使用这些NIC。我们已经使用这种架构消除了复杂的UDP DDoS攻击(它使用了路由器难以处理的最小的UDP数据包)。请记住,最关心的是能够处理最大数量的数据包,而不一定是吞吐量(以Mbps为单位)。我们花了很少的钱就指定了一个千兆多宿主路由器,它可以处理标准Internet大小的数据包,即正常运行,最高可达850Mbps!

我从Cisco开始(其bgpd配置几乎相同,因此,如果您有使用Cisco套件的经验,这是一个非常快速的过渡),但是因为Linux具有很好的延展性(例如,能够向路由器添加一些低资源脚本) (以帮助进行报告和管理),恕我直言,这种类型的设置功能强大(且被低估了)。如果您仍然有疑问或需要进一步的帮助,那么阅读某些Nanog Mailing列表档案绝对不会错。

这应该可以帮助您快速入门Debian:Easy Quagga教程


运行Linux的另一个好处是,您可以tc在tc的初步学习曲线之后轻松地调整流量。值得一提的是,根据我们所见,在转发箱上运行IPtables会大大降低内核性能。
乔纳森·罗斯

我希望听到更多关于nic <->主板问题的信息。另外,您成功处理多少个pps?
Joris

在我们的平均数据包大小(主要是HTTP,SMTP,DNS)上,我们应该管理双工850Mbps。DDoS是120,000 pps的64字节UDP数据包。效果对性能无济于事,但是当它达到时我们并没有推动那么多的流量。
乔纳森·罗斯

我们选择了具有两个未连接的快速PCIe插槽的主板,因此缓冲区不会成为瓶颈。我忘记了术语,因为距离我们购买硬件已有一段时间了。一个用于出口,一个用于入口。这些天相当标准。
乔纳森·罗斯

5

他们都是有能力的平台。在优质的服务器级硬件上运行诸如Debian或Centos之类的可靠工具。确保指定带有Intel服务器NIC的服务器,它们在稳定性方面比Broadcomm好得多。

就BSD与Linux而言,这很容易。选择最有能力的人。


5
+ 1,FreeBSD通常可以在基准测试中胜出Linux,但是差异(如果有的话)很小,您只需要选择最适合的平台即可。
克里斯S

3

我已经看到旧的赛扬在Debian / Quagga设置中以3次完整馈送的速度处理80-90Mb / s的正常流量,甚至不冒汗。但是,限定词存在“正常”流量,主要是HTTP / SMTP和DNS。在DDOS情况下,每秒的数据包数量达到荒谬的数量(主要是UDP数据包)的情况下,同一台计算机的面目全非。

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

不幸的是,我无法在Linux VS BSD上为您提供路由性能方面的帮助,但是对于仅有100Mb连接的当前商用硬件来说,这应该不会有任何区别。


2
不是“路由性能”。实际上,这是“转发性能”。
poige 2011年

公平警察,guv!:)
Niall Donegan

0

Quagga(Zebra)在Linux和BSD上均可工作。Linux的网络性能并不比BSD差。因此,您只需要考虑其他标准来选择平台。


0

数据点:

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.