Tungsten Fabric:为云网络而生的SDN控制器

2020-11-19 11:33:37 浏览数 (1)

本文作者Farzaneh Pakzad是云解决方案服务商Aptira的网络顾问,拥有美国昆士兰大学软件定义网络博士学位。她的研究领域专注在SDN、云计算和网络安全方面,曾为澳大利亚电信巨头提供SDN传输、部署、SD-WAN等解决方案的咨询服务。2019年,Farzaneh对最受欢迎的几个开源SDN控制器进行了比较,评级和评估,帮助机构选择适合其网络设计和要求的平台,引发业界关注。

在当前的IT市场中,组织正将其旧的基础设施迁移到云上,其基础设施的每个部分都在向云化的方向发展。因此,我们有必要来看一下为云级网络(cloud-grade network)而生的SDN控制器,其中一个就是Tungsten Fabric(TF)。

对于云的构建者和云原生平台的工程师来说,TF是一个合适的选择,它由Juniper开源项目OpenContrail发展而来,现在迁移到了Linux基金会(Linux Foundation)下面。

体系结构

Tungsten Fabrics架构包含两个主要的软件组件:TF vRouter和TF Controller。

TF vRouter用于数据包转发,并将网络和安全策略应用于网络中的设备。

•vRouter需要在网络中的每个主机或计算节点中运行。它取代了Linux桥接器和传统路由堆栈IP表,或者在计算主机上联网的OpenVSwitch。

•TF Controller通过可扩展消息传递和协议(XMPP)与vRouters通信,以应用所需的网络和安全策略。

TF Controllers包含以下软件服务:

•用于与vRouter通信并维护网络拓扑和网络策略的Control和Configuration服务。

•用于遥测和故障排除的Analytics服务。

•用于与用户交互的Web UI服务。

•最后,提供与私有云和公共云、CNI插件、虚拟机和裸机集成的服务。

在Tungsten Fabric 5.0及更高版本上,其体系架构使用基于Docker容器的微服务(如下图所示)以部署上述服务。这使得控制器在用户体验方面具有抵御故障的弹性,并提供高可用性。

模块化和可扩展性

基于TF微服务的体系架构,允许根据性能要求和持续增加的负载来开发特定的服务。同样,微服务本质上是模块化的,这使得平台的维护和可扩展性变得简单,同时也将服务的故障相互隔离开。

可扩容性

集群的可扩容性

•TF以模块化方式实现集群的可扩容性。这意味着可以通过为相关角色添加更多节点从而水平扩展每个TF角色的节点数量。而且,每个节点的Pod数量是可扩容的。通过利用Zookeeper来选择活动节点,而根据Zookeeper算法的性质,在Controller和Analytics节点中部署的Pod数量必须为奇数。

架构的可扩容性

•TF支持BGP协议,每个TF controller都可以通过BGP协议连接到其它controller。这意味着TF可用于连接不同的SDN岛。

接口

•南向:TF使用XMPP协议与vRouters(数据平面)进行通信,以提供overlay SDN解决方案。BPG还可以用于与旧设备进行通信。

•北向:TF支持Web GUI和RESTful API。插件与其它平台集成,例如编排器、云和OSS/BSS等。

遥测

Analytics节点从基础设施中提取可用的遥测信息。随后,可以将数据标准化为通用格式,通过Kafka服务将输出发送到Cassandra数据库中。从问题解决到容量规划,可以以多种方式使用此数据。Redis使用该数据生成图形和运行查询。Redis pod部署在Analytics pod和Web UI pod之间。

弹性和容错能力

Tungsten Fabric的模块化体系架构使其具有抵御故障的弹性,通常在多个服务器上运行多个Controller/Pod以实现高可用性。并且,服务的故障是被隔离的,不会影响到整个系统。通过负载均衡器,TF可以访问API和Web GUI服务。负载均衡器可以允许Pod位于不同的子网中。

编程语言

TF支持C 、Python、Go、Node.js。

社区

TF最初与Juniper相关联,现在得到Linux Foundation Networking umbrella的支持,拥有庞大的开发人员和用户社区。

总结

可以给出这样的评价:TF是云的构建者和云原生平台工程师的合适选择。因为它可以与私有云和公共云、CNI插件、虚拟机和裸机等,灵活地协同工作。

通过其所集成的编排器,它公开Heat API、Kubernetes API等以实例化网络和安全策略。TF的可扩展性使其具有高可用性,并且能够抵御故障,从而增加了客户的用户体验。

最后,它的模块化功能使用户可以轻松而又独立地自定义、读取、测试和维护每个模块。


作者:Farzaneh Pakzad 译者:TF编译组

原文链接:

https://aptira.com/comparison-of-software-defined-networking-sdn-controllers-part-8-tungsten-fabric/


sdn

0 人点赞