校园级SDN创新试验平台的研究与实践
2014-05-18俞淑妍
俞淑妍 丁 健 刘 江 黄 韬
北京邮电大学网络与交换国家重点实验室 北京 100876
1 校园网络创新试验平台建设背景
网络创新试验平台是推动网络通信技术发展的重要基础,具有公信力的网络创新试验平台对网络通信领域的创新具有良好的验证、评价和推广功能,是孕育创新成果的平台与摇篮,因此,对网络通信技术方面的发展具有重要意义。近年来,世界各主要国家都进一步加强了网络创新平台的建设工作,例如美国的Internet2、NLR和GENI计划、欧盟的FIRE计划、日本的JGN-X平台等,这些网络创新试验平台所采用的核心技术均随着网络技术的发展而演进。
2005年,Larry Peterson、Scott Shenker和Jonathan Turner提出基于网络虚拟化技术构建网络实验平台的思想[1],奠定了目前各国网络试验平台的虚拟化、可切片、可管控、可联邦等基本特征。随着2009年软件定义网络(Software Def i ned Networking,SDN)技术的提出,虚拟化网络创新试验平台进入了工程实践的阶段。SDN是当前网络体系架构演进的主要方向之一,它通过将控制平面集中于一个远端逻辑控制器上,实现网络数据平面和控制平面的分离,通过增强网络控制平面的组合协调工作能力和灵活可扩展能力,既可以为未来互联网架构协议的验证提供虚拟化试验平台,同时,其本身具备的多个虚拟网络并存工作模式也是未来互联网的可行运营模式之一。当前SDN的主要应用方向体现在两个方面:一是SDN的集中控制模型有利于网络的管理和灵活动态调整,因此,广泛应用于大型网络服务商、数据中心等拥有特殊管控需求的环境,例如谷歌已将其数据中心互联网络完全改造为SDN架构;二是SDN通过软件定义的方式,动态修改流表可为网络虚拟化提供实际可操作的平台,例如,目前GENI RACKs计划、源于GENI和Internet2的NDDI实验平台以及FIRE中的OFELIA等项目均采用了SDN技术来构建网络创新试验平台。
综上所述,网络创新试验平台及其相关技术已成为国内外关注的焦点,是未来网络技术的重要发展方向之一,SDN则是网络创新试验平台的基础性技术之一。在这一背景下,北京邮电大学SDN课题组凝聚校内多个学术团队科研力量,开展了基于SDN技术的校园级别的网络创新试验平台建设工作,该试验平台定位于支撑网络通信领域创新科研成果的实验验证,包括潜在破坏性的实验;同时,该试验平台也为国家级网络创新环境的研究奠定了一定的基础。
2 校园SDN网络创新试验平台建设
2.1 总体网络拓扑设计
SDN网络创新试验平台建设初期通过构建基础平台,重点完成了基础实验网络建设。在提供稳定网络服务的基础上,开展承载网与光网络融合、无线网络接入、业务应用等几个方面的建设与应用实验示范,实现内部开放运行。之后,在进一步扩大网络规模的同时,实现虚网之间的高效隔离,同时增加网络管理、网络测量、网络安全、云计算、物联网、应用工具等方面的建设,并进行更大规模的测试实验与应用示范,正式上线开放运行。下一步将着重完善试验平台的整体资源管控和异构协议支持,将试验平台建设成以软件定义技术为基础的面向服务的综合网络创新平台。
校园网络创新试验平台的建设基于SDN代表性技术OpenFlow,其整体架构如图1所示。试验平台总体为分域结构,在每个域部署一个控制器共同组成基础控制平面提供稳定的传统网络服务。校园SDN网络创新试验平台已建成30多个核心节点和部分接入节点,覆盖校园新科研楼、网络中心、主楼、教三楼等区域,并与中国(南京)未来网络创新中心、中科院计算所、西安交通大学、重庆邮电大学等网络节点通过隧道实现了互联。
校园网络创新试验平台拓扑设计如图2所示,汇聚节点位于校内新科研楼科技展厅。在各接入实验室部署节点的同时,各个团队可以根据自身技术业务需求部署专用设备或其他网络设施。为保证不影响校园网正常业务,试验平台与当前校园网隔离,面向全校范围内的学术团队提供创新测试服务,进行若干项理论验证、技术创新以及新业务试用,高效实现网络的虚拟化隔离,在虚网内部根据各个实验的具体需求提供定制化的网络服务。
2.2 数据平面设计
SDN技术的主要思想是控制与转发分离,相比传统的网络结构,网络交换设备不再进行转发决策而仅进行数据转发,因此,需要支持OpenFlow、OnePK等南向控制协议以实现网络功能。随着业界对SDN技术的广泛接受和认可,多家厂商已经推出支持OpenFlow协议的商用交换机,如表1所示。
图1 SDN试验平台架构设想
图2 北邮校园级SDN网络创新试验平台拓扑图
试验平台除了可以采用商用设备作为网络交换节点外,还可以采用基于通用处理器的Open vSwitch[2]。Open vSwitch是在开源的Apache2.0许可下的产品级质量的多层虚拟交换标准,它旨在通过编程扩展,使庞大的网络自动化(配置、管理、维护),同时还支持标准的管理接口,支持完整的OpenFlow 1.0/1.3协议。它被设计为安装在Linux服务器上,通过软件的方式形成交换机部件。与传统的物理交换机相比,虚拟交换机同样具备众多优点,配置更加灵活,一台普通的服务器可以配置出数十台甚至上百台虚拟交换机,且端口数目可以灵活选择。
在试验平台建设的初始阶段,OpenFlow 1.3协议还不完善,设备厂商也在不断地推陈出新。考虑到试验平台的可扩展性、设备性价比、协议支持灵活性等因素,校园级SDN网络创新试验平台初期建设采用了部署更加灵活的Open vSwitch方案,即通过在多网卡服务器上安装Open vSwitch,以实现OpenFlow交换机功能。初期采用这种方式可以按需创建虚拟交换节点、动态更改网络拓扑以及配置网络资源,方便实验者进行各种试验以及对OpenFlow技术的探索和使用。之后随着SDN产业的发展,同时为了增加试验平台的设备多样性,实验网逐步引入了商用OpenFlow设备作为网络核心节点的组成部分。目前,传统的网络设备商(以思科、瞻博、华为、阿朗等为代表)已相继进入SDN领域,主要的技术思路都是在各家传统设备上增加对OpenFlow的支持。此外,一些初创型公司包括Nicira、Big Switch、Pica8、盛科等在对SDN进行深刻理解的基础上,纷纷推出一系列OpenFlow交换设备,凭借其快速敏捷的开发模式,提供灵活便捷的产品形态,满足定制化需求。试验平台在保证设备灵活性、协议支持度以及流表匹配功能等基本特征的基础上,根据不同的业务需求分别选择XNet、盛科、神州数码等厂商的设备,部署在汇聚或出口位置。
表1 部分OpenFlow商用交换机
2.3 控制平面设计
2.3.1 控制平面规划
从OpenFlow协议的角度讲,控制平面的建设分为in-band和out-of-band两种模式,由于在数据平面可能进行破坏性试验,为了数据平面的稳定和安全,试验平台采用了out-of-band的模式,其方法主要有以下三种。一是采用现有互联网络,例如北邮校园网,但这样无法保证控制平面性能,经测试,与使用专用网络相比,使用校园网的控制延迟增长非常明显;二是采取物理分离的专用网络,其主要问题是需要专用交换设备和链路,代价较高;三是采用控制与数据平面共用链路的模式,其主要问题是需要OpenFlow设备支持VLAN划分和QoS保障,以保证数据平面不影响控制平面,配置也比较复杂。根据校内网络基础设施的实际情况,我们采用物理隔离的专用网络,实现控制平面与数据平面的分离,同时保证两个网络的专用性以保障网络性能。
OpenFlow控制平面并没有特定的拓扑约束关系,只需要保证连通性即可,因此,在控制平面使用传统二层交换机汇聚后接入控制器即可完成控制平面部署。
2.3.2 综合控制框架研究与设计
控制平面能够对全网资源进行统一管理,利用控制平面的这个特性可以动态创建并维护网络全局视图,将网络以最直观的形式呈现给网络管理者,极大地提高网管效率,简化故障定位,降低网管复杂度,有利于网络管理者基于全局视图进行资源抽象,从而对业务适配层提供虚拟化的网络资源。校园SDN创新试验平台定制研发设计了可扩展控制框架,可实现对全局网络视图的感知与维护,并在此基础上进行实现全网网络资源分配与调度。图3显示了SDN试验平台控制框架整体架构,图4为网络管理者使用示意图。
图3 校园级SDN平台控制框架整体架构图
图4 校园级SDN试验平台控制框架使用示意图
2.3.3 控制器选择
目前主流的OpenFlow控制器包括NOX/POX[3]、MUL[4]、Floodlight[5]、Jaxon[6]、Ryu[7]等,下面简要介绍其中最具代表性的三种控制器。
POX是一个用Python2.7开发的轻量级控制器。前期由Nicira公司维护开发,主要开发者为Murphy McCauley。目前支持OpenFlow1.0,基于Python语言易于开发相关应用,拥有丰富的实例代码,但是代码效率和稳定性是其主要瓶颈。
Ryu是一个采用Python开发基于组件的开源软件定义网络控制器。Ryu为这些组件定义了良好的API,使得开发者可以简单地创建新的网络管理与控制应用。Ryu支持多种协议,例如OpenFlow、Netconf、OF-config等。对于OpenFlow,Ryu支持1.0、1.2、1.3以及Nicira Extensions。但是Ryu架构模块简单,实现的功能有限。
Floodlight是一个采用Java开发的开源企业级控制器,采用Apache-licensed授权,由包括来自Big Switch的工程师在内的研究人员组成的一个社区维护,拥有丰富的API及相关实例代码,面向开发者可以方便地进行二次开发,并具有较高的稳定性。
综合考虑控制器的稳定性、易用性及强大性,本实验网选择Floodlight作为常备控制器为全网提供正常的网络服务,当然实验者可使用POX、NOX、Floodlight、Ryu等多种控制器进行新业务的开发与部署。本文第三部分将探讨多种控制器并行工作、协同管理等问题。
3 校园级SDN网络创新试验平台管理
3.1 试验平台接入
根据学校的网络基础设施的实际情况,试验平台采用在各实验楼部署教学楼汇聚设备,各学术团队在楼内汇聚后采用两对光纤,分别将数据平面、控制平面接入实验网核心设备。试验平台整体呈星形拓扑,每栋教学楼呈树形拓扑,这样的拓扑规划在保证实验网进行虚网划分时拓扑的灵活性的同时,也方便实验网的日常管理、故障排除、资源备份等事务。
此外,为了解决实验网真实用户的引入问题,在各个接入节点进行了网络规模的进一步拓展,主要有两个方面:一是接入点实验室的用户可以通过有线连接接入实验网,二是校园内WiFi用户可通过部署的普通AP和可编程AP热点接入实验网,目前覆盖范围主要集中在各个接入点实验室附近,未来将进一步扩大WiFi的覆盖规模。
3.2 试验平台QoS保证
SDN创新试验平台实现了基于业务流需求的QoS动态配置模式,使SDN平台能够根据不同需求的业务部署不同级别的QoS策略,根据网络实际部署情况以及业务流量走向,动态配置业务路径上的设备QoS队列数量及参数,最大化网络资源利用率。后续还将研究维护控制平面多控制域间的QoS策略一致性方法,保证跨域的业务流服务质量不降级;同时,研究多级别QoS策略的资源回收机制,回收不再使用的QoS配置,减轻网络设备负担,降低QoS策略部署对网络交换性能的影响。
3.3 虚拟化管理
目前,OpenFlow一个简单有效的切分虚网的方式是利用FlowVisor。FlowVisor是一个特殊的OpenFlow控制器,主要是作为OpenFlow交换机网络和其他标准OpenFlow控制器之间的透明代理,从而建立基于OpenFlow架构的网络虚拟化平台。通过网络基础设施切片技术,可实现将网络资源切分成不同虚网,任何一台网络设备均可以划分给多个虚拟网络,每一个虚网由FlowVisor指定一个或多个控制器进行管理。但是,目前Flowvisor只能在逻辑上隔离不同虚网的流量,不能处理多个虚网在共享物理设备上转发决策不同而引起的冲突。目前实验平台只能通过为每个虚拟网络划分VLAN,并借助OVS的QoS功能将不同虚网上的流量隔离,从而避免虚网之间的冲突与相互影响。
为解决校园SDN网络的虚网隔离问题,课题组目前自主定制研发了支持虚拟化、可靠隔离性、高可用性的新型网络虚拟化代理控制器CNVP。CNVP可以避免实验网中各个用户控制器之间的流表空间冲突、控制规则混淆,并能够有效实现带宽隔离、流表资源隔离和CPU资源隔离等功能。图5显示了CNVP的整体架构与功能模块。
图5 CNVP的整体架构与功能模块
4 已进行的网络创新实验
校园SDN试验平台建成以来,校内多个团队已在该平台上开展了业务试验和技术验证,这些试验的部署一方面可以检验实验网络的基本连通能力和稳定性,另一方面也验证了基于SDN技术的实验平台与传统网络实验平台相比,在管理配置方面的灵活性和更加多样化的网络功能。目前已完成以下几个实验。
1) 面向未来互联网的多媒体视频会议系统实验。在实验网上运行自主开发的多媒体视频会议系统,实现多终端的视频会议通话,验证了实验网运行TCP/IP协议下的连通性和稳定性,利用QoS保证机制,可为用户提供分级视频质量服务。
2) 基于虚网切换的用户透明加速实验。通过在CNVP中动态地将用户在不同虚网间切换,使用户透明地体验到不加速的虚网与使用Nginx透明缓存加速的虚网之间的服务能力差别,验证了实验网灵活管理和定制虚网的能力,该实验对未来电信运营商实现可软定义的虚网服务提供了有益思路。
3) 代理移动IPv6 (PMIPv6)[8]实验。PMIPv6是基于网络的区域移动管理方案,传统网络为了实现AP(Access Point)与AC(Access Controller)之间二层连通性,需要在AP与MAG(Mobile Access Gateway)实体上实现CAPWAP(The Control And Provisioning of Wireless Access Points)协议或厂商私有协议,带来复杂性和兼容性问题,SDN实验网可以灵活、便捷地将逻辑拓扑部署在已有物理拓扑上,直接实现AP与MAG的二层连通性,验证了实验网灵活调度网络流的能力。
4) 内容中心网络(CCN)[9]部署试验。CCN是未来互联网创新体系架构之一,其核心思想是以内容为中心实现网络层,本实验网通过覆盖层技术,实现CCN架构在实验网的部署以及基于CCN协议的文件传输、移动切换等功能,验证了基于实验网创建未来互联网体系架构的可行性。
5) 以太网广播风暴问题实验。在主机接入网络时即感知并将主机信息缓存起来,并提供完整的主机状态信息更新机制。仿真结果表明,该方案可有效消除广播,降低网络流量与控制器负载,具有良好的可扩展性。
此外,利用OpenFlow对设备的集中控制和灵活调度,在试验平台上还进行了面向OpenFlow的智能光网络实验以及网络管理与资源双向感知实验。
5 结束语
校园级SDN创新试验平台旨在基于SDN技术打造面向未来网络技术的创新试验平台。目前,试验平台已经实现高效灵活的虚网隔离和统一的网络资源管控,完成多种网络技术验证和业务部署,为校内各学术团队提供了方便有力的科研实验环境。课题组在现有的良好基础之上,将继续推进试验平台的建设工作,从网络核心设备性能、网络规模、网络虚拟化切片能力、网络管控能力、网络安全性等方面对现有网络创新试验平台进行改进和完善,支撑更大规模、更多种类的网络通信技术验证。
参考文献
[1]Peterson L,Shenker S,Turner J.Overcoming the Internet impasse through virtualization[J].IEEE Computer Society,2005,38(4):34-41
[2]Open vSwitch[EB/OL].(2013-11-07)[2013-11-29].http://openvswitch.org/
[3]NOX[EB/OL].[2013-11-29].http://www.noxrepo.org/
[4]MUL Openflow controller[EB/OL].[2013-11-29].http://sourceforge.net/projects/mul/
[5]Project Floodlight[EB/OL].[2014-01-10].http://www.projectf l oodlight.org/f l oodlight/
[6]Jaxon:Java-based OpenFlow Controller[EB/OL].[2013-11-29].http://jaxon.onuos.org/
[7]Build SDN agilely:Ryu,a component-based softwaredefined networking framework[EB/OL].[2013-11-29].http://www.osrg.net/ryu/
[8]RFC 5213.Proxy Mobile IPv6[S/OL].[2013-11-29].http://tools.ietf.org/html/rfc5213
[9]Jacobson V,Smetters D K,Thornton J D.Networking named content[C]//Jörg Liebeherr,Giorgio Ventre.Proceedings of the 5th international conference on Emerging networking experiments and technologies.ACM Co-NEXT,2009:1-12