sdn nfv 开源白盒_水龙头:用于高速生产网络的开源SDN控制器

sdn nfv 开源白盒

借助开源软件,我们现在可以控制和修改IT系统中几乎每个组件的行为。 我们可以修改从内核中的网络堆栈一直到用户空间中的Web服务器代码的所有内容,以进行改进或实现新功能。

完全控制我们的硬件和软件堆栈的最后障碍是物理网络硬件。 这些设备通常是用我们喜欢的开源工具构建的,但是它们被呈现为黑匣子,网络运营商不容易对其进行修改。

诸如OpenFlowP4之类的开放标准承诺将通过可编程API开放对这些设备的访问,从而改善局面 ,但它们仍需要有人编写控制器来重新实现正常的多交换机功能,例如转发和路由。供应商,符合标准的方式。 这导致我们小组编写了Faucet软件定义网络(SDN)控制器,该控制器使任何人都可以完全实现可编程网络的梦想。

水龙头如何工作

Faucet是一个紧凑的开源OpenFlow控制器,它使用户能够以与运行服务器群集相同的方式来运行其网络。 通过将DevOps工作流程引入网络, Faucet使网络对所有人都适用。 它通过使网络功能(如路由协议,邻居发现和交换算法)易于管理,测试和扩展(通过将其移至运行在服务器上的常规软件)来进行管理,而不是将这些功能嵌入固件中的传统方法交换机或路由器。 Faucet通过摄取代表网络拓扑和所需网络功能的YAML配置文件来工作,并且通过OpenFlow对网络上的每个设备进行编程。

Faucet的故事始于2015年9月,当时REANNZ根据怀卡托大学WAND网络研究小组的原型代码编写了第一版Faucet。 从那时起,这些小组以及新西兰和更远地区的许多其他小组已经合作编写并维护了一个可供大众使用的功能性OpenFlow控制器。 从第一天开始,我们就一直致力于成为一个开源项目,因为我们认为这是最好的方式,可以为社区提供贡献,并且我们很高兴收到40多个不同开发人员的代码更改。

Faucet up close

布拉德·考伊(Brad Cowie)。 CC BY-SA 4.0

测试和跨供应商兼容性

在编写网络控制器时,至关重要的是,在每个版本中交付工作代码,这些版本在升级时不会破坏生产部署。 因此,可测性是水龙头的重要指导原则之一。 我们有一个全面的测试套件,不仅可以使用棉绒和静态分析来测试代码质量,而且还可以测试启用了不同水龙头功能的大量网络拓扑。 每次代码更改都会自动执行此测试。

我们的测试套件还使我们能够鉴定支持Faucet所有功能的硬件设备。 这使得跨供应商的SDN兼容性成为现实,因为许多供应商在其QA流程中运行Faucet测试套件,以验证其固件是否支持Faucet。 这也使我们可以避免编写额外的驱动程序或供应商扩展来对新设备进行编程,这具有使代码库小型且一致的附加好处。

现实世界中的水龙头

水龙头已经在全球许多不同的网络中部署。 最近,我们与2018年ACM / IEEE超级计算会议 (SC18)会议合作,部署了大型水龙头网络作为SCinet网络的一部分,该网络将每秒兆兆的互联网流量提供给展台的展位。 我们构建的网络具有来自Allied Telesis,Cisco和NoviFlow的硬件,并且我们每秒的容量设法超过9 TB。

Faucet SC18 group photo in front of SCinet network.

SCinet网络前的水龙头SC18合影。 图片来源SC会议系列。 经许可使用。

网络的核心路由器是运行Barefoot Tofino P4专用集成电路(ASIC)的NoviFlow设备。 NoviFlow将OpenFlow编写为P4应用程序,这使Faucet能够将OpenFlow用作P4之上的运行时API。 我们编写了一些Ansible自动化代码,以与SC18客户连接数据库集成并即时生成Faucet配置。 数据库为每个展位分配了VLAN和子网信息。

Faucet的工作是在核心路由器上进行VLAN间路由,并与两个核心SCinet路由器进行边界网关协议(BGP)对等,以允许展位路由到互联网。 Faucet内部的链路聚合控制协议(LACP)实现使我们能够将2x100G链路捆绑到每个上游路由器,以实现弹性(以防出现光纤问题)。 每个展位都由一个接入交换机(由一家供应商提供)提供了Internet连接(1Gb,10Gb或100Gb),该交换机也由Faucet控制。 接入交换机确实在每个接入端口上转发并实施了安全策略,以保护网络。 Cyber​​Reboot的Poseidon提供了额外的网络安全性, Poseidon是一种与Faucet集成并且可以识别网络上可疑终端主机的机器学习工具。 网络上的所有服务,例如动态主机配置协议(DHCP)和BGP,都是由开源守护程序(例如dhcpdBIRD )提供的,这些守护程序在Linux服务器上作为网络功能虚拟化(NFV)服务运行。

我们认为,SC18的部署证明了Faucet和OpenFlow在运行实际的大规模生产网络方面的成熟度。 我们还希望看到其他人通过部署SDN来承担控制其网络的挑战。 要了解有关水龙头及其部署方法的更多信息,请访问我们的网站 ,该网站包含指向教程,文档和邮件列表的链接,以供用户讨论。 对于那些对参与我们的开源项目感兴趣的人,我们有一个开发人员指南可以帮助初学者。 最后,要跟踪我们的进度以及与SC18类似的未来会议,教程或部署的公告,请在Twitter上关注我们


Brad Cowie将于1月21日至25日在新西兰基督城的linux.conf.au上展示“ 使用开源SDN控制器部署高速生产网络 ”。

翻译自: https://opensource.com/article/19/1/faucet-open-source-sdn-controller

sdn nfv 开源白盒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值