SDNLAB技术分享:开源SDN控制器DCFabric及云计算高效网络

通信网络

650人已加入

描述

**1.DCFabric控制器的由来

**1.1 SDN是云计算数据中心网络技术发展的必然要求

随着以虚拟化为基础的云数据中心的发展和成熟, 应用数据猛增,虚拟服务器的迁移等要求VLAN可延展到所有汇聚层、接入层交换机。传统二层技术存在链路冗余能力、负载均衡能力、可扩展性和网络稳定性差等诸多缺陷。因此,大二层网络技术如Trill、SPB等应运而生,却存在过长收敛时间、低转发效率、有限网络规模和昂贵的专有设备等缺点。而SDN则凭借其大二层网互通、全网拓扑、以及多路径流量均衡等灵活高效的功能,使其成为构建数据中心大二层网络的理想方案。

1.2 SDN控制器在云计算数据中心的主要挑战

随着数据中心规模的扩大,SDN控制器面临的主要问题:交换机和用户主机数目的增长,使得每个交换机需存储的流表内容也在相应增加(理论上每台交换机上的流表最多需覆盖到网络中的所有主机),这不仅需要每台交换机有更大的存储容量和更快的查询速度,也对控制器的工作效率提出了更高的要求。尽管当前已有若干开源SDN控制器,但受制于性能和可扩展性等,它们所能管理的网络规模还有限,尚不具备直接的商业化运营的能力。因此,随着大数据浪潮的到来,我们迫切需要可面向云计算数据中心的高性能SDN控制器。

1.3 DCFabric:面向云计算的SDN开源控制器

为了能尽快推进SDN技术在云计算数据中心的产业化应用进程,在国家高技术研究发展计划(863计划)项目“软件定义网络(SDN)关键技术研发与示范”的资助下,上海宽带中心、武汉绿网、中国电信联合设计开发了面向云计算数据中心的开源SDN控制器——DCFabric控制器(http://www.sdn863.org.cn/)。

数据中心

图:DCFabric控制器架构

相较于其他开源SDN控制器,DCFabric具有以下的主要特性:

1)基于高效C语言,借助于高效的内存管理能力和多线程优化,DCFabric具有强大的拓扑发现(单实例>1000个交换机)、消息处理和流表下发能力(>100,000 OpenFlow流表/S)。

2)针对数据中心网络流量特点创新地提出了基于流表预先下发和流表聚合的SFabric算法,突破了物理OpenFlow交换机流表数量限制和通信路径建立的抖动等难题,从而实现了基于物理OpenFlow交换机的超大规模组网与高效交换。

3)架构简洁,南向接口只支持OpenFlow和OVSDB,基于四种基础服务,致力于云计算环境下的网络交换。

4)易于扩展,可方便灵活的进行系统定制,实现各种场景下的SDN应用。

2.SFabric算法

当前主流的SDN网络中的流表下发方式主要有两种:前应式(Proactive)和反应式(Reactive)。由于在云计算环境下的NAT等功能的要求,反应式的流表下发是必不可少的。受制于OpenFlow流表下发的不确定性和并发性下发的复杂性,通信路径的建立常会出现由于交换机和控制器之间的多次Packet-in消息和流表下发的交互而带来的长时间剧烈抖动,且随着通信路径的增长而快速恶化。再加上交换机TCAM流表容量有限带来的限制,已有的云计算数据中心内的SDN方案一般采用基于传统交换网上的通道技术的OVERLAY网络方案:控制器只控制网络边界的虚拟交换机。这不仅会带来由于封包、解包所带来的性能下降问题,而且会导致在物理网络上的网络流量的不可视、不可控等问题。

针对上述两个问题,SFabric创新性的提出了“两步式”流表下发法和基于交换机ID的流表聚合,从而提高了控制器的效率和降低了流表数量。当控制器完成网络拓扑发现以后,SFabric首先每一个交换机分配一个唯一的Switch ID,然后会为每对交换机计算两条有向的通信路径。计算路径时主要有两个问题需要考虑:一是到同一个目的交换机的路径应该是收敛的,即到同一个目的交换机的所有路径应该是构成一个以其为根节点的树;二是出于流量均衡等因素,应该把所有的路径在整个网络拓扑中做到均匀分布。

计算好路径以后,控制器就会把路径信息以OpenFlow流表的形式装载到交换机中。由于网络中到每一个目的交换机的路径构成一个树,所以需要下发的OpenFlow流表只需要把目的交换机的Switch ID作为匹配字段即可。由于而不需要关心路径的起始点,所以所有交换机中的流表的个数最多只有n条,其中n表示网络中交换机的个数。因此,SFabric可预先构建好交换机级别的路由规划,从而为后续数据包的端到端单播路径建立做好提前准备。考虑到与其它现有OpenFlow交换机和网卡的兼容 性,SFabric推荐采用VLAN ID作为Switch ID存储字段。

数据中心

图. 示例网络拓扑和SFabric流表

当SFabric构建好转发路径以后,系统就完成了初始化程序。由于网络中交换机之间的转发路径都已建立,当主机实际通信时,控制器只需在主机的接入交换机上下发对数据包进行打标签的一个流表即可。考虑图1中连接在交换机1和6上的两个主机Host A和Host B(其IP和MAC分别为IP_A、MAC_A和IP_B、MAC_B),当其需要通信时,SFabric首先查询其所对应的接入交换机的Switch ID分别是1和6,然后只需在这两个交换机的Table1分别下发如图中所示的两个流表来对数据包添加Vlan标签。

3.基于DCFabric的OpenStack高效网络

**3.1当前OpenStack主要网络架构:OverLay

**数据中心

OverLay网络的主要缺点如下:

1)需要耗费主机的CPU资源进行数据的封包和解包过程

2)封包、解包的低效导致了VM的有限的网络吞吐量(<2.5 Gpbs in 10GE链路)

3)在物理网络上的流量的不可视带来的不可控问题

4)南北向流量都需要从网络节点通过带来的流量瓶颈问题

5)网络配置的复杂性带来的配置困难和低可靠性

**3.2基于DCFabric的全物理OpenFlow交换机网络

**

为了能更好的发挥SDN在OpenStack中的应用潜力,避免Overlay网络带来的各项难题,我们提出了基于物理OpenFlow交换机和DCFabric的高效网络方案,其主要优点如下:

1)无须封包、解包带来的高网络吞吐量,10 Gbps环境下的虚拟机最大网络带宽可以达到9.3 Gpbs以上;

2)VM的南北向流量可以直接通过物理交换网转发,不仅南北向带宽可以达到线性速度,而且NAT、Floating IP和负载均衡等高级网络功能都可在控制器的统一调度下由交换机来实现;

3)基于标准OpenFlow协议,无厂商绑定,造价较传统网络方案可大幅降低,而且网络可动态线性扩展;

4)物理网络中流量可视带来的可管可控优势,可支持网络安全功能和流量工程等功能扩展,提高系统的灵活性。

数据中心

图:基于DCFabric的OpenStack高效网络架构

数据中心

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分