软件定义广域网研究*
2018-01-16谢兆贤张安琳黄道颖王巍振
谢兆贤,陈 慧,张安琳,黄道颖,王巍振
(郑州轻工业学院计算机与通信工程学院,郑州 450002)
0 引言
软件定义网络(Software Defined Network,SDN)从被提出以来,一直成为当今计算机网络管理运行研究中的一个热点问题。根据SDN集中统一管理的特性,更多的部署和研究一般都在规模相对集中的数据中心上。而由于广域网上传统路由和流量工程机制的弊端逐渐凸显,近些年对SDN的研究逐渐转移到了广域网(WAN)。
在近十年中,互联网供应商和网络运营商正在寻找新的方式来管理规模日渐复杂的网络。网络整体的可测量性成为一个重要的点。各个域之间的路由协议是边界网关协议(BGP),BGP对等通信需要全遍历网络,复杂度为n(n-1)/2,域内部路由器会对网路资源消耗巨大。文献[1]提出了一种中央对等集中控制平台来模拟BGP会话,这种中央控制的平台为全网提供了整体网络视图,保证了全网内的正确性,并大大减少了网络资源的浪费。这种中央控制平台的提出对SDN应用于广域网上提供了思路。
随着广域网流量不断加大,更可靠、更高性能及细粒度的管理成为另一个所需要关注的点。由于计算机网络是一个复杂且分布式的系统,一个小的错误并不容易被发现,但可能会造成一连串的蝴蝶效应,最终导致整体服务中断。文献[2]提出了一个对于广域网网络功能的完全重构方案,从中央这个有利的位置全局对网络设备进行控制。这为软件定义网络提供了一个基本的雏形,即一个中央控制、数据转发分离的网络构想。
随着这些构想的出现,由N.McKeown教授在2008年提出了Open Flow[3]SDN体系架构,这使得可编程网络从一个学术研究成果转化为了一个可落地实用的商业解决方案。提供了一种标准化的协议,图1为其提供的交换机框架。主要由流表(Flow table)、安全通道(Secure channel)、和 Open Flow 协议组成。
本文研究了3个不同软件定义广域网(Software Define Wide Area Network,SD-WAN)配置方案,总结其分布式体系架构特点,分析SD-WAN研究存在的问题和所面临的挑战,为未来SD-WAN应关注的问题和发展趋势研究提供参考。
1 分布式控制器架构ONOS
SDN最初的设计并不适用于广域网WAN上,高度集中的架构虽然能够解决WAN上的一些问题,但WAN中的延迟远比其他网络中的大,也更容易发生链路故障,需要更加弹性的故障处理要求和全局的网络视图。因而分布式的转发平面部署和集中式的控制平面部署应运而生,如何在WAN中分布式的架构下实现横向扩展和提供全局网络视图是SDN应用于WAN中的一个挑战。ONOS[4]分布式架构控制器的提出为这个问题提供了一个参考方向。
1.1 ONOS架构
ONOS是采用分布式架构的一种开放式网络操作系统,为上层提供全局网络视图。ONOS最开始着重于在分布式平台上实现横向扩展和容错的全局网络视图。图2为ONOS最初的系统架构。
提供两个主要属性:①所有ONOS实例之间的全局网络视图和抽象共享网络状态;②广泛的横向扩展能力,用于性能和容错。在由ONOS控制的网络中,每个交换机都有一个主控制器来控制其转发平面,然而,交换机的状态在所有控制器实例之间共享,并持续存在于分布式,最终一致的Cassandra键值存储中,使得ONOS的网络视图最终也一致。在交换机或链路故障的情况下,Zookeeper提供的协商一致的协议自动选择一个新的主控制器。
1.2 ONOS系统分析
ONOS利用到了多个Flood Light模块进行分布式管理,每个控制器发现网络拓扑用于构建全局网络视图,应用程序从全局网络视图中读取信息,已进行转发和策略决定,这些决定同时也被写入网络视图中,最终将这些决定发送到相应的Open low控制器,来控制底层数据转发。Titan为全局网络视图的图形数据库,Cassandra用于分布式键值存储,Blueprints图形将网络最终状态公开给应用程序。
ONOS其中一个最关键的特性是分布式架构中的横向扩展。ONOS在多个服务器上运行,每个服务器都作为独占主控制器中的一部分,每个单独的ONOS实例仅负责在其控制交换机与全局网络视图之间传播状态更改。随着转发平面增长或需求增加,可以向ONOS主系统中添加分配其他的控制器实例来分配控制平面的负载。
ONOS另一个特点即为容错能力。在分布式的控制器管理下,交换机可能连接多个控制器,但只有一个控制器是主机,主机单独负责发现交换机信息和下达转发命令。当主控制器发送故障时,则会在其余控制器中选择一个新的控制器成为主控,接管工作,以确保每个交换机有且仅有一个主控制器。控制器到交换机的检测和故障相应通过ZooKeeper来实现,如果一个主控制器与其失去联系,则有另一个控制器接管这个主控制器的工作,只要有大多数控制器可用,则ZooKeeper就是容错的。
在图2的ONOS架构中,很多功能还可以加强,但它提供了在WAN中部署的思路,即在控制器层面采用分布式架构,来获取全网视图。
2 垂直多控制器架构WA-SDN
在SD-WAN中,过于大的延迟很可能造成数据包处理规则混乱,这是因为一些延迟敏感的数据包在达到边缘路由器时,控制器下发流表的速度远大于其转发速度,因而会造成拥塞,使整个网络更新不可靠。文献[5]提供了一种垂直多控制器架构WA-SDN解决方案。
2.1 WA-SDN架构
图3为其整体架构,主要组成部分为网络管理(NM)和区域管理(ZM)。逻辑层有3个,分别为转发层,控制层和管理层。
在底层转发层上,与ONOS类似的架构,在逻辑上划分区域,每个区域由本地控制器控制,这会使控制器上的负载降低,允许控制器对流量进行细粒度的管理。由于WAN的分散属性,可将控制器置于不同的地理位置,有效地降低延迟。同时允许不同的控制器实现和交换机的API在同一个网络中共存,有利于WAN的整体升级。
2.2 WA-SDN系统分析
在Adaptation layer中,ZM中允许包含不同的控制器,作为每个控制器的插件进行安装,利用本地的交换机协议与其区域中的交换机进行通信,这里允许本地的协议可以自由选择。对于上层,ZM则利用标准的控制协议从NM中获取命令,并将这些命令发送给控制器。在ZM中的组件可以从控制器中收集流量信息和拓扑信息,并将信息定期地发送给NM。这样做的好处是把各区域独立出来,分别进行汇总控制,减少了开销。
在Management Service中,存在多个组件用于管理ZM,其主要负责收集信息构建全网视图,验证可信的ZM信息,管理全局流量,统计监控网络并把ZM的相应信息传递给上层应用。最上层的应用包括各种网络管理工具,它们作为NM的插件或独立的组件来进行工作,上层应用为整体的网络提供更加健全的功能。
在这种垂直架构的基础上,文献[6]还提供了一种WAN中新型的监控策略,如图4所示。ZM向上级采用信息推送,向下级采用轮询,这种方式的好处在于可以大大减少NM的负担,并可充分利用ZM,细粒度的管理各区域内网络。
3 Google的B4网络
在WAN中,大型的公司为全球客户提供服务,传统的分布式架构通常会造成数据中心过度配置。在不同时段对数据中心的带宽需求也不相同,除去高峰期,平均利用率只达到30%到40%之间,很多资源被浪费,增加了运营成本。Google为了解决这些流量问题,利用SDN的思想,在全球部署了B4网络[7],这是在WAN中成功部署的一个例子,可以窥见WAN中数据中心的冰山一角。
3.1 B4网络架构
B4的整体逻辑框架也为3层,如图5所示,B4服务多个WAN站点,每个站点都有多个服务器集群,每个Site仅转发流量,不执行控制,集群中都包含一组运行BGP的路由器,与B4之间对等切换,GOOGLE认为基于SDN的B4必须支持现有的分布式路由协议,实现传统网络与SDN的互通。控制全部交给上层的Open Flow控制器(OFC)和网络控制服务器(NCS)来执行。OFC根据NCS指令和交换机各种状态来维护网络。
Cental TE sever为整个网络的逻辑中心控制器。可以从各个数据中心控制器来收集链路信息从而掌握路径信息。
3.2 B4系统分析
B4工作原理是控制所有IP层的边缘设备,把大多数带宽都用于一些低优先级、计划的、和大的复制任务,使整个网络最终仅仅具有几十个站点,使得集中控制的方案可行。B4在控制路径上是与数据中心来维护流表项,这样做的好处可以使得同一类别的数据可以汇聚成一条流,之后根据权重,参数优先级,使用bandwidth函数来分配宽带,达到理想的负载均衡。B4采用定制的Open Flow交换机,控制器可以动态分配应用所需要的带宽,并可在交换机和链路故障情况下动态地重启路由。最重要的是在SDN控制平面还储存了很多传统路由协议,使得当集中TE完全失效的情况下,保持网络完全的可操作性。B4链接基本可以保证百分百链路利用率,使得链路使用时长增大了70%。
B4的成功为后续研究提供了一个分布式控制器的应用案例。它证明了SDN在大型网络中的可用性。并且展示了在SDN中并非仅仅存在Open Flow协议,仍存在传统的动态路由协议。
4 存在的问题与研究热点
通过上述对SD-WAN部署的研究,可以梳理出SDN在广域网领域的一些热点研究问题,总结如下。
4.1 分布式控制器
尽管文献[1]提供了一个完全分布式控制器架构的案例,但在真实场景中,广域网分布较广,延迟很大,分布式控制器仍然需要主控制器分配状态,而分布式控制器的物理距离可能会使得全局网络动态不一致,因此,如何保持在控制器层面上的逻辑集中,在数据平面上需要放置多少分布式控制器是SD-WAN中的一个挑战。文献[8]提供了一个域间交换点的方案,在域间同时路由服务器和SDN控制器的方案,该方案使得每个域间的AS在虚拟交换机上编写相应的路由策略,使得在路由器上同时包含BGP和SDN转发策略。但此种策略需要安装大量的SDN规则,这些规则安装远远超出了现有交换机的功能,实现起来成本过高。
4.2 全网更新不一致问题
在WAN上SDN控制器给予了全局更高效的路径选择策略,但在WAN上出现故障和拥塞时,转发平面需要通过控制器决定转发策略,大型网络中数据平面的更新时延可能会导致数据包处理方式在设备之间严重不一致。如何实时地选择更加高效的路径问题也会是一个研究的热点问题。文献[9]提供了一种静态按照特定顺序更新的机制,但该机制并不能动态适应控制平面的变化,仍会导致更新时方案不一致。文献[10]提供了一种聚合模型来适应全网更新,介绍了每种分组一致性模型,每种模型根据流的一致性被单一地进行处理,相同的分组在网络中被一致处理掉。但这种聚合模型会显著增大控制器的负载,如何以最小代价维护全局网络的一致性也将会是一个值得深入探讨的问题。
4.3 流量控制和负载均衡
SDN具有细粒度管理的优势,但细粒度的管理会增加控制器的负担,一旦主控制器不堪负载,将可能造成全网络中断的后果,尽管B4提供了一些流量控制的参考,但其单独定制的交换机成本可能会过大,并不是一种通用的方式。必须选取一种合适的管理方式降低控制器负载,来增强网络的可靠性。文献[11]是微软公司提供的SWAN方案,使用细粒度策略规则和集中式调度器来承载更多的高优先级流量(如流量用于交互式应用),同时保持同级别的公平性。B4网络集中的关注点在于SDN控制平面和现有路由协议相互交互,在SDN控制器失效时可以回退到传统路由,而SWAN着重于数据平面频繁的更新来保持网络整体利用率。这些大公司的TE为后续的研究提供了一个参考方向,需要找到一个更为通用的方式能够实时分配流量和路径选择。
4.4 网络安全
在传统的WAN中存在许多大规模分布式拒绝服务攻击,这会对社会造成巨大的损失。如何防范并采取相应的措施,来保护广域网中数据的安全也将是未来所面临的一个大问题。文献[12]提供了一种轻量级的自组织映射算法对流进行分类检测。此方法优点在于消耗低,检测率高,但不能实时检测,具有一定的滞后性。文献[13]提供了一种频繁更改主机的IP地址主动防御策略(MTW)。由于识别被攻击目标的活动IP是许多攻击的前兆,因而Open Flow控制器经常为每个主机分配一个随机的虚拟IP,该随机虚拟IP被转换到主机的真实IP。真正的IP保持不变,所以IP突变对终端主机是完全透明的。通过DNS获取的虚拟IP地址可以访问命名的主机,但实际IP地址只能由授权实体访问。这种方式有效防御了基于扫描的攻击但并未在分布式拒绝攻击上提供相应的方案。文献[14]针对Open Flow的两个安全方面挑战,提供了一种连接迁移的Open Flow数据平面扩展和一种加速控制平面对数据平面检测响应机制。连接迁移在DDoS攻击下能够大大减少数据控制平面的交互次数,从而抵御攻击。数据平面检测机制会在被攻击触发条件时,激活新的流规则,提供相应的安全服务。这种方案主要解决了攻击者从控制平面与数据平面之间的接口进行攻击的方式。以上解决方案从不同的方面解决了SDN中的网络安全问题,但针对域间分布式控制器的安全监控和集中式收集数据的难题仍旧存在。
针对下一代广域网的研究,在学术上普遍认同在数据平面和控制平面的分离,软件定义的广域网被认为是一个比较激进的做法。也有部分针对路由的优化研究,例如SCION[15]。SCION把路由区域分为核心和非核心区域,核心区域利用信标来发现非核心区域路由和控制相关路径,通过信标的轮询周期,主动处理各自治领域内存在的问题,而上层应用不会察觉到底层的变化。还有一部分研究是把更多控制功能嵌入到底层的芯片中,把边界路由器作为一个智能路由,主动地处理数据信息。
5 结论
SDN技术在提出伊始,就受到了广泛的关注和探讨,为计算机网络的发展开辟了一种新的思路。该技术在日益需求增加的广域网领域,可显著提升网络性能,降低运营成本,提升网络的可靠性,尤其在软件驱动下,网络的可靠性和性能将会大大提升。但同时,软件定义的广域网仍处于研究阶段,广域网通常由各种昂贵、专用、高性能设备逐步建立,很多软件驱动的设想在实际应用中并没有得到可靠的验证,一些协议和厂商也不够成熟。相比于传统网络中分布式架构,SD-WAN中集中分布式的控制对于企业级大型网络有着难以比拟的优势,但对于小型网络,SD-WAN的效率并没有很大的优势,因此,如何与传统网络之间进行紧密耦合,提供针对性服务显得至关重要。SD-WAN全面部署将会比数据中心经历更长的时间跨度。
有理由相信,下一代互联网将会是一个更加智能和简单的网络,随着业务需求日益增长,特别是随着行业的高度关注,软件定义广域网络SD-WAN将在未来几年继续保持研究热度和快速发展的态势。
[1]CAESAR M,CALDWELL D,FRAMSTER N,et al.Design and implementation of a routing control platform[C]//Proceedings of the 2Nd Conference on Symposium on Networked Systems Design&Implementation-Volume 2.USENIX Association,2005:15-28.
[2]CASADO M,FREEDMAN M J,PETTIT J,et al.Ethane:taking control of the enterprise[C]//ACM SIGCOMM Computer Communication Review,ACM,2007,37(4):1-12.
[3]MCKEOWN N,ANDERSON T,BALAKRISHNAN H,et al.OpenFlow:enabling innovation in campus networks[J].ACM SIGCOMM ComputerCommunication Review,2008,38(2):69-74.
[4]BERDE P,GEROLA M,HART J,et al.ONOS:towards an open,distributed SDN OS [C]//Proceedings of the Third Workshop on Hot Topics in Software Defined Networking,ACM,2014:1-6.
[5]AHMED R,BOUTABA R.Design considerations for managing wide area software defined networks[J].IEEE Communications Magazine,2014,52(7):116-123.
[6]CHOWDHURY S R,BARI M F,AHMED R,et al.Payless:A low cost network monitoring framework for software defined networks[C]//Network Operations and Management Symposium(NOMS),2014 IEEE.IEEE,2014:1-9.
[7]JAIN S,KUMAR A,MANDAL S,et al.B4:experience with a globally-deployed software defined WAN [J].ACM SIGCOMM Computer Communication Review,2013,43(4):3-14.
[8]GUPTA A,VANBEVER L,SHAHBAZ M,et al.SDX:A software defined internet exchange [J].ACM SIGCOMM Computer Communication Review,2015,44(4):551-562.
[9]KATTA N P,REXFORD J,WALKER D.Incremental consistent updates[C]//Proceedings of the second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking.ACM,2013:49-54.
[10]REITBLATT M,FOSTER N,REXFORD J,et al.Abstractions for network update[C]//Proceedings of the ACM SIGCOMM 2012 Conference on Applications,Technologies,Architectures,and Protocols for Computer Communication,ACM,2012:323-334.
[11]HONG C Y,KANDULA S,MAHAJAN R,et al.Achieving high utilization with software-driven WAN[C]//ACM SIGCOMM Computer Communication Review,ACM,2013,43(4):15-26.
[12]BRAGA R,MOTA E,PASSITO A.Lightweight DDoS flooding attack detection using NOX/Open flow[C]//Local Computer Networks (LCN),2010 IEEE 35th Conference on.IEEE,2010:408-415.
[13]JAFARTAN J H,AL-SHAER E,DUAN Q.Openflow random host mutation:transparent moving target defense using software defined networking[C]//Proceedings of the First Workshop on Hot Topics in Software Defined Networks,ACM,2012:127-132.
[14]KLOTI R,KOTRONIS V,SMITH P.Openflow:a security analysis[C]//Network Protocols (ICNP),2013 21st IEEE International Conference on,IEEE,2013:1-6.
[15]BARRERA D,REISCHUK R M,SZALACHOWSKI P,et al.Scion five years later:revisiting scalability,control,and isolation on next-generation networks[J].ArXiv Preprint arX-iv,https://arxiv.org/abs/1508.01651,2015:1508.01651.