我正在为ISP中的100mbps上行链路构建服务器以充当BGP边界路由器。
我需要这些功能:
1)双栈BGP对等/路由(至少100Mbps,也许更多)。2)潜在的完整Internet BGP提要。3)一些基本的ACL功能。
硬件是L3426 / 8G内存。NIC将是板载双端口Broadcom 5716。
以前,我已经与Linux进行过广泛的合作,它似乎能够处理100mbps,但是我听说FreeBSD在联网方面速度更快。我应该使用哪一个?我们是否有一些性能基准数字?
干杯。
我正在为ISP中的100mbps上行链路构建服务器以充当BGP边界路由器。
我需要这些功能:
1)双栈BGP对等/路由(至少100Mbps,也许更多)。2)潜在的完整Internet BGP提要。3)一些基本的ACL功能。
硬件是L3426 / 8G内存。NIC将是板载双端口Broadcom 5716。
以前,我已经与Linux进行过广泛的合作,它似乎能够处理100mbps,但是我听说FreeBSD在联网方面速度更快。我应该使用哪一个?我们是否有一些性能基准数字?
干杯。
Answers:
多年来,我们已经为关键基础设施完全做到了这一点。我们通过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教程
tc
在tc的初步学习曲线之后轻松地调整流量。值得一提的是,根据我们所见,在转发箱上运行IPtables会大大降低内核性能。
我已经看到旧的赛扬在Debian / Quagga设置中以3次完整馈送的速度处理80-90Mb / s的正常流量,甚至不冒汗。但是,限定词存在“正常”流量,主要是HTTP / SMTP和DNS。在DDOS情况下,每秒的数据包数量达到荒谬的数量(主要是UDP数据包)的情况下,同一台计算机的面目全非。
通常这不是您通常需要担心的带宽,而是您将要处理的PPS。
不幸的是,我无法在Linux VS BSD上为您提供路由性能方面的帮助,但是对于仅有100Mb连接的当前商用硬件来说,这应该不会有任何区别。