顾 强,张庆顺,陈 勇
(山东省邮电规划设计院有限公司,山东 济南 250101)
摘 要: 软件定义网络(Software-Defined Networking,SDN)作为一种新型的网络体系结构,通过将网络控制与网络转发解耦合来构建开放可编程的网络,从而支持未来网络和新业务的创新。OpenFlow协议作为SDN发展的里程碑,在一些领域已经实现了效果良好的应用,在数据中心、移动接入网络、光传送网络、信息中心网络的应用前景更加令人瞩目。
关键词: 软件定义网络;OpenFlow协议;第五代移动通信网络;软件定义光网络;信息中心网络
0 引言
云计算、云存储已经进入快速发展阶段,对网络可编程控制能力提出了异常迫切的需求,由于现有网络设备多由厂家封闭的系统实现,对网络可编程控制能力的支持非常有限,这促使人们重新思考网络体系构架的变革,而不只是单纯进行协议的增加和完善。
为了解决传统因特网发展面临的这些问题,软件定义网络(Software-Defined Networking,SDN)应运而生,其核心理念是:控制平面和数据平面相分离;控制平面与数据平面之间通过开放的接口和标准的协议进行交互。控制平面与数据平面间南向接口协议的研究成为SDN发展的首要任务,能够被广泛支持的南向接口协议是改变目前封闭因特网构架的关键,OpenFlow南向接口协议[1]的出现成为SDN[2]发展的里程碑。
1 OpenFlow协议介绍
开放式网络基金会(ONF)提出的SDN构架如图1所示,从上至下依次为应用平面、控制平面和数据平面[2]。所有业务逻辑均部署在应用平面;控制平面由集中设置的软件控制器组成,通过北向接口向上层应用开放多层次的网络设备可编程能力,允许用户根据特定的网络应用场景灵活地制定各种网络策略,通过南向接口协议对底层网络设备进行集中管理、状态监测、转发决策以处理和调度数据平面的流量;数据平面由数据转发设备组成。
OpenFlow交换机规范明确定义了交换机组成和OpenFlow协议在交换机中的实现方式。OpenFlow交换机内部包含一个或多个流表(flow table)和一个组表(group table),以及与OpenFlow控制器进行通信的安全通道接口。为避免单流表过度膨胀,在OpenFlow协议1.1以后的版本引入了多级流表机制。OpenFlow规范中定义的交换机结构如图2所示。
OpenFlow协议1.0[3]、1.1[4]、1.2[5]中每个流表项包含匹配字段、计数器及一组指令,每个数据包包头的信息与匹配字段进行匹配,如果匹配则执行这个流表后面定义的指令并进行计数。如果这个交换机里所有流表均不能匹配,则把这个数据包的包头或整个数据包通过安全通道上交给OpenFlow控制器,由OpenFlow控制器决定这个数据包如何转发,并生成流表通过安全通道下发到相应的OpenFlow交换机。OpenFlow交换机里设置了这个数据包对应的流表,可以正确转发这个数据包。计数器对经过交换机的数据包进行分类计数以满足各种管理统计。
在OpenFlow协议1.3[6]、1.4[7]中流表又增设了优先级、超时设定、保留字段等参数。OpenFlow协议流表结构如图3所示。
流表表头部分的匹配字段在OpenFlow协议1.0版本中共包含12个参数:输入端口、MAC源地址、MAC目的地址、以太网类型、VLANID、VLAN优先级、IP源地址、IP目的地址、IP协议、IP ToS 位、TCP/UDP 目标端口、TCP/UDP源端口。OpenFlow协议1.1版本中增加了对于VLAN和MPLS标签的处理。OpenFlow协议1.2版本中下发规则的匹配字段不再通过固定长度的结构来定义,而是采用了TLV(Type,Length,Value)结构定义匹配字段,称为OXM(OpenFlow Extensible Match),这样用户就可以灵活下发自定义的匹配字段,增加了更多关键字匹配字段的同时也节省了流表空间。OpenFlow协议1.3版本流表支持的匹配关键字已经增加到40个。这样就可以跨越物理层、介质层、网络层、应用层四个层级对参数进行匹配,每个参数都可以通配,参数之间可以灵活组合,数据报文以流为基础进行匹配转发,而不是像传统因特网以数据包为基础进行匹配转发,大大提高了转发效率,而且更加灵活。
OpenFlow控制器利用OpenFlow协议通过安全通道对OpenFlow交换机内的流表进行添加、修改、删除、查询等操作,最终完成各种网络行为。
2 软件定义网络应用及发展前景
以OpenFlow协议为基础的SDN体系结构是一种崭新的构架,激发了研究机构、新兴网络设备制造商的浓厚兴趣,自2009年发布可用于商业化产品的OpenFlow协议1.0版本至今,在网络实验测试平台、校园网、企业网等场景已经实现了效果良好的应用。其在数据中心、移动接入网络、光传送网络、信息中心网络等领域的应用前景更加令人瞩目。
3 数据中心
SDN能以流为颗粒度对报文进行灵活转发,这就赋予它在流量工程方面的天然优势。数据中心多个节点之间的备份同步均需要巨大的带宽开销,传统网络技术为保证链路的可用性,往往需要链路保持在轻载状态,造成了链路资源的严重浪费。谷歌公司在2012年实施的B4项目充分展示了SDN这方面的优越性,谷歌公司采用OpenFlow技术把分布在美国、智利、比利时、爱尔兰、芬兰、新加坡及中国台湾的12个数据中心连接起来,成为第一个广域商用的SDN,通过OpenFlow技术在流量工程方面的应用,其平均链路利用率从30%~40%提升到70%左右,甚至在很多链路中忙时能够接近100%,这个项目的成功使产业界对SDN充满信心[8]。
SDN在数据中心运营管理和节能减排方面同样具有广泛的发展前景。随着云计算、虚拟化技术的飞速发展,虚拟机的广泛应用使数据中心为新租户分配计算、存储资源和删除现有租户、释放资源变得异常便捷,但传统组网技术无法动态适应这种变化,租户网络资源的分配和隔离需要耗费大量时间来调整实体网络设备并更改设置,SDN通过集中的控制平面可以非常方便灵活地完成网络资源的调整和配置。
数据中心近年来一直以惊人的速度发展,数据中心的处理能力需要经得住忙时峰值业务的考验,这就造成数据中心设备忙时和闲时利用率差别较大。数据中心设备多为高耗能设备,2014年全国数据中心的耗电量近一千亿度,闲时设备的利用率甚至不足20%,如何在闲时把业务归集迁移然后休眠多余计算能力是目前研究的重点。虚拟机迁移技术解决了业务的迁移,但以传统网络技术为基础的网络资源无法随业务迁移同步智能改变网络结构,成为解决数据中心能源浪费问题的瓶颈。虚拟机技术和SDN相结合来解决数据中心节能减排、绿色发展的研究得到了广泛的关注。
4 无线接入网络
第五代移动通信网络(IMT-2020)的研发工作正如火如荼地开展,采用SDN组网和全新的空中接口设计成为共识。融合SDN的理念,软件定义空中接口(Software-Defined Air Interface,SDAI)可能成为IMT-2020无线侧有效的解决方案[9,10]。OpenRadio项目[11]在SDAI方面做了一些有意义的尝试,利用可编程的物理层和介质层来构建无线接入网络的数据平面,这个数据平面可以通过编程兼容多种技术制式的网络(如WIFI、WiMAX、GSM、3G、LTE等),这些数据平面接入到SDN中来,然后通过北向接口连接到业务应用控制平台,由业务应用控制平台对用户集中进行业务逻辑控制、移动性管理,这样用户就可以跨越异构的无线网络仅以接入信号质量为标准选择网络。
ONF于2013年9月发布了《移动无线网络OpenFlow应用白皮书》[12],其对OpenFlow技术在移动无线网络中的应用给出了构架建议,提出了在小区间无线干扰管理和移动流量管理等方面的应用实例。
5 光网络
互联网和电信业务的蓬勃发展,对传送网带宽和灵活组网技术提出了更高的要求,智能光传送网络因此也得到了快速发展。但是光网络集中控制(特别是多厂家设备集中控制)、灵活设置转发策略、根据业务对光转发设备进行编程控制等诸多技术还有待突破[13]。
软件定义光网络(Software-Defined Optical Networks, SDON)将SDN技术应用于光网络,构建面向业务的新一代光网络体系架构。SDON通过将控制与传送平面解耦,屏蔽光网络物理技术细节,简化现有光网络复杂和私有的控制管理协议;采用集中控制策略,提高光网络的智能调度和协同控制能力;通过开放网络接口,提供光网络的可编程能力,满足未来网络虚拟化、业务灵活快捷提供、网络和业务创新等发展需求。
ONF于2013年4月成立了光传送工作组(Optical Transport Working Group,OTWG),已完成SDON架构,于2014年下半年联合举办了SDON互操作性演示,基于Openflow和RESTful协议成功实现了多厂商互操作。2014年12月份中国电信协调华为、中兴、烽火进行了基于Openflow和RESTful协议的SDON互通测试,业务测试也在进行之中[14]。
6 信息中心网络
互联网诞生时计算资源比较稀缺,为了提高计算资源的利用率,设计了一种以主机为中心的互联网模式,其最基本的特征是使用IP地址标识主机,所有的网络行为都与IP地址密切相关。随着移动互联网的发展,信息成为网络应用的主体,用户访问网络的主要行为已经演变成对海量内容的获取,不同用户对同一内容的访问在主机为中心的模式下会造成部分网络反复传送相同的内容,既浪费了资源,也影响了服务质量,目前的网络架构很难适应今后互联网的发展。
为解决这个问题,学术界提出未来网络应该从当前以主机为中心的体系架构,演进到以信息为中心的架构,即网络的基本行为模式应该是请求和获取信息,而非实现端到端可达,这类网络体系架构统称为信息中心网络(Information-Centric Networking,ICN)。目前实践ICN 的研究项目主要有:CCN、NDN、DONA、NetInf、PSIRP 等。下面以CCN(Content-Centric Networking)为例介绍其原理。
CCN中包含两种数据结构,分别是兴趣分组(Interest Packet)和数据分组(Data Packet)。兴趣分组主要包含内容命名;数据分组除了内容命名外,还有安全签名和数据。CCN网络的通信是由数据请求者驱动,为了获取内容,请求者向网络发送兴趣分组,路由器记录收到兴趣分组的接口,先查询与路由器相连的内容仓库(Content Store,CS),如果 CS 中已经缓存了该内容,则直接返回数据分组,通信完成;如果在CS 未能命中,则检索待定兴趣表(Pending Interest Table,PIT),如果发现命名相同的条目,意味着同样的请求已经由本节点发出,但请求者却还未收到数据分组,此时只需将收到兴趣分组的端口添加到现存条目中,当数据分组返回时,会按照多个记录端口返回,这样就减少了数据分组不必要的重发;如果在PIT未能命中,则在PIT中存储该兴趣分组,然后在转发信息库(Forwarding Information Base,FIB)中查找命名并转发兴趣分组。当兴趣分组到达目的节点后,数据分组将会按记录的PIT原路返回,沿路删除 PIT 条目,并根据缓存策略决定是否缓存在途经节点的CS中便于其他同类请求使用,这样的一次请求和内容返回就构成了CCN网络的基本通信过程[15-18]。
通过CCN网络的基本通信过程可以看出:以内容请求为中心的ICN网络架构避免了内容的冗余传输,但其也存在一些不足,如缺乏内容的主动推送,缺乏全网的集中控制机制,缺乏协议快速演进部署的能力,而这些正是SDN技术的优点; SDN 技术缺乏缓存机制、缺乏内容控制,而这些缺点恰好是ICN网络的优点。综合研究利用SDN和ICN这两种技术架构的优势,取长补短,是解决目前网络问题和确定未来网络体系架构发展的重要方向之一。
7 结束语
通过控制平面和转发平面分离和设置集中的控制平面,SDN降低了网络管控的复杂度,大大增强了网络的软件编程控制能力。得益于SDN开放的体系架构,学术界和产业界均能在SDN平台上进行网络创新和业务创新,产生了一些令人瞩目的研究成果,随着SDN的发展成熟其应用前景会更加光明。
参考文献
[1]OpenNetworking Foundation.OpenFlow[EB/OL].https://www.opennetworking.org/sdn-resources/openflow.
[2]ONF White Paper Software-Defined Networking: The New Norm for Networks[Z].
[3]OpenFlow Switch Speci_cationVersion 1.0.0 ( Wire Protocol 0x01 )[Z].December 31, 2009.
[4]OpenFlow Switch Speci_cationVersion 1.1.0 Implemented ( Wire Protocol 0x02 )[Z].February 28, 2011.
[5]OpenFlow Switch SpecificationVersion 1.2 ( Wire Protocol 0x03 )[Z].December 5, 2011.
[6]OpenFlow Switch SpecificationVersion 1.3.4 ( Protocol version 0x04 )[Z].March 27, 2014.
[7] OpenFlow Switch SpecificationVersion 1.4.0 (Wire Protocol 0x05)[Z].October 14, 2013.
[8]黄韬, 刘江, 魏亮, 等.软件定义网络核心原理与应用实践[M].北京:人民邮电出版社,2014.
[9]IMT-2020(5G) [EB/OL]. http://www.imt-2020.org.cn/zh, 2015.
[10]Li Xichun, GANI A, SALLEH R, et al.The future of mobile wireless communication networks[C]. In Communication Software and Networks, 2009. ICCSN'09. International Conference on, 2009:554-557.
[11]BANSAL M, MEHLMAN J, KATTI S, et al.OpenRadio: a programmable wireless dataplane[C]. In Proc. 1st Workshop on Hot Topics in Software Defined Networks,ACM, 2012:109-114.
[12]ONF White Paper Software-Defined Networking: OpenFlow-Enabled Mobile and Wireless Networks[Z].
[13]纪越峰, 张杰, 赵永利. 软件定义光网络 (SDON) 发展前瞻[J]. 电信科学,2014,30 (8):19-22.
[14]张鹏. SDN 破解多厂商组网难题——电信联合设备商完成首个 SDON 多域组网测试[J].通信世界,2014,(26):57.
[15]吴超, 张尧学, 周悦芝, 等. 信息中心网络发展研究综述[J]. 计算机学报,2015,38(3): 455-471.
[16]夏春梅,徐明伟.信息中心网络研究综述[J]. 计算机科学与探索,2013,6(7): 481-493.
[17]黄韬, 刘江, 霍如, 等.未来网络体系架构研究综述[J]. 通信学报,2014,35(8):184-197.
[18]曹健, 王兴伟, 张金宏, 等.数据驱动的信息中心网络认知路由协议[J].计算机研究与发展,2015,52(4): 798-805.