ITPub博客

首页 > IT基础架构 > 网络通信/物联网 > 开源SDN平台的可扩展性与部署要点 丨FNDC演讲实录

开源SDN平台的可扩展性与部署要点 丨FNDC演讲实录

原创 网络通信/物联网 作者:TF中文社区 时间:2020-08-21 09:55:55 0 删除 编辑

未来网络是什么样的?

在刚刚结束的“第四届未来网络发展大会”上,多位专家就未来网络的架构、生态、创新与发展等话题,进行了富有前瞻性的高峰对话,不仅是5G、云网融合、工业互联网等看得见的网络形态,更有充满想象力的创新构想。

【直播视频回放】

【pdf文档下载】

有专家认为,在万物互联的未来网络世界,网络架构将发生进一步演化,如何解决可扩展性、移动性、安全性等挑战,考验着人们的智慧。

对此,Tungsten Fabric开源社区技术专家Tatsuya Naganawa就“开源SDN平台的可扩展性”问题进行了探讨。

Tatsuya多年来一直参与瞻博网络Contrail产品的研发,同时支持客户开展IaaS、NFVI、5G等方面的项目部署,具有丰富的实践经验。

社区连载文章“ ”
和“ ” 即由Tatsuya Naganawa编写。
4a1fd1ab-0510-4ee7-aacd-4f50056002a3-image.png

回顾Tungsten Fabric的技术发展,Tatsuya提到,最初Tungsten Fabric只是一个支持MPLS over IP的软件路由器,随着协议标准和数据平面技术的发展,Tungsten Fabric能够支持L2/L3 VXLAN,并可作为具有EVPN/VXLAN的VTEP软件来使用,带来了更多的可扩展性。

通过核心组件vRouter,Tungsten Fabric实际具有很多增加可扩展性的功能,Tatsuya主要介绍了其中三个关键功能:

1、控制器之间的两个XMPP连接和iBGP

当vRouter首先启动时,将基于XMPP连接从控制器接收来往其它虚拟机的路由。

在有多个控制器可用时,控制器将基于它们之间的iBGP连接交换到其它虚拟机的路由,以同步它们之间的所有路由,从vRouter的视角可看作是active/active的高可用模式。
958badb4-d778-4466-b8e2-80f27db6513e-image.png
因此对于vRouters,不需要连接到所有控制器节点,并且就其性质而言,即使有更多的控制器节点可用,vRouter也会仅建立两个XMPP连接。

XMPP的keepalive数据包会消耗大量的CPU周期,如果只使用1个控制器,将16个CPU节点用作控制器节点,则它可以服务有限数量的vRouter,例如500个。如果再添加更多的控制节点(例如15个),CPU使用率将大大降低。

2、路由目标过滤

由于控制进程之间具有iBGP,乍一看,好像每个控制进程在内部具有相同的前缀。实际情况并非如此,每个控制进程的前缀都略有不同,并且它们的路由表彼此不匹配。

为了理解这种行为,路由目标是一个关键概念,它在内部用virtual-network号标记每个前缀,以形成每个虚拟网络中每个前缀的完整表集,也就是VPNV4表。
a0a34362-6c6c-4d10-8a4c-2fd9f9d4a58a-image.png
当在它们之间建立iBGP时,控制进程首先协商它们当前具有的路由目标,然后请求其它控制进程仅发送VPNV4表。

因此,即使集群本身具有大量控件和vRouter,每个控件和vRouter也只需要知道该表的一部分,这样可减少RIB表的大小和所需的物理内存。

此外,此iBGP行为还允许将流量直接联合到其它的Tungsten Fabric集群,因为如果它具有相同的路由目标,则是否在相同的集群这一点并没有关系。

路由目标过滤功能允许在多个Tungsten Fabric集群之间形成更大的VPNV4表,并导入和导出前缀,这是本地vRouter和控制进程所需要的。

3、ERM-VPN

ERM-VPN是Tungsten Fabric的一个独特功能,主要是为了面向大量vRouter优化BUM复制。

由于BUM需要复制到许多节点,因此即使需要从一个vRouter发送少量流量,最终也可能是很大的流量,如果有1000个节点,那么它就需要发送1000次。
3693219f-a8d7-4b8d-af10-4b913afe6470-image.png
从EVPN标准来看,一种选择是使用入口复制(ingress-replication),这基本上意味着情况没变化,vRouter需要将BUM流量发送到其它节点1000次,这可能导致一个特定vRouter上的CPU峰值。

为了克服此问题,Tungsten Fabric使用了ERM-VPN功能。ERM-VPN的一个要点是首先在一个控制进程中形成BUM树,然后在控制进程之间通过iBGP来缝合一些边缘vRouter节点,以形成更大的BUM树,其中包括所有vRouter。

由于每个vRouter都包含在该BUM树中,因此当它们需要转发BUM数据包时,将仅发送BUM数据包到该BUM树直接连接的vRouter。接收到BUM数据包的vRouters会将该数据包发送到BUM树中的其它节点,最终将发送到所有vRouter,以满足BUM复制要求。

有了ERM-VPN,即使需要大量的BUM复制也不是太大的问题,因此vRouter可以作为VTEP控制器的良好来源,尤其是需要支持大量的vRouter和租户组合的时候。
dc446691-c743-43c9-b0e0-78911d91862e-image.png

作为说明,上图描述了将3个vRouter连接到control1和control3时将形成的BUM树。

它首先在一个特定的控制器中形成树,创建了两组3个节点的树,一个是vRouter11、vRouter12、vRouter13,另一个是vRouter21、vRouter22、vRouter23。

之后,ERM-VPN识别该树中的最后一个路由器ID,并通过连接它们形成更大的BUM树。

图中vRouter13和vRouter23已连接,同时形成了一个更大的BUM树,包括了所有vRouter。

针对上述三个功能,Tatsuya尝试了几种设置进行测验,包括具有15个控制节点的1000个vRouter节点,以及具有5个控制节点的2000个vRouter节点,都证明了Tungsten Fabric具有实现大规模软件VTEP集群的良好特性。
325eb12b-c07a-4b78-ad74-cd9e5c59c7a1-image.png

Tatsuya在“控制平面可扩展性”及“ERM-VPN”方面的更多讨论,欢迎关注“ ”
和“ ” 两个社区连载系列文章。

开源是通向未来网络的一把钥匙。Tungsten Fabric作为开源SDN的代表,正积极依靠社区的力量,以“云原生”为技术方向,探索未来网络的边界和解决方法。

欢迎大家加入TF中文社区,了解开源SDN最新信息,参与“未来网络”超级工程的建设。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69957171/viewspace-2713484/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Tungsten Fabric项目是一个开源项目协议,它基于标准协议开发,并且提供网络虚拟化和网络安全所必需的所有组件。项目的组件包括:SDN控制器,虚拟路由器,分析引擎,北向API的发布,硬件集成功能,云编排软件和广泛的REST API。

注册时间:2019-12-11

  • 博文量
    113
  • 访问量
    53024