SDN关键技术分析与发展趋势
2015-06-24蒋建锋蒋建峰
蒋建锋 蒋建峰
摘要:阐述了SDN技术的发展现状,分析了SDN网络构架的关键技术,总结了当前SDN的主要应用场景和对互联网基础构架及应用的颠覆性变革,最后分析了SDN技术的发展趋势。
关键词:SDN;OpenFlow;网络虚拟化;北向接口;南向接口
DOIDOI:10.11907/rjdk.151181
中图分类号:TP393
文献标识码:A 文章编号:16727800(2015)006016004
基金项目基金项目:苏州工业园区服务外包职业学院校级科研项目(ky-cyzx402,ky-xjd401)
作者简介作者简介:蒋建锋(1977-),男,江苏苏州人,硕士,苏州工业园区服务外包职业学院网络与通信教研室讲师,研究方向为计算机网络技术、云计算;蒋建峰(1983-),男,江苏苏州人,硕士,苏州工业园区服务外包职业学院网络与通信教研室讲师,研究方向为计算机网络技术、软件技术。
1 SDN概述
SDN(Software Defined Network)是一种新型的网络技术,被MIT列为“改变世界的十大创新技术之一”,也被Gartner誉为“未来5年影响IT的十大关键趋势之一”。SDN的设计理念是将网络的控制层面与数据转发层面进行分离,改变网络设备控制层面和转发层面固化在一个设备中的模式,以进行全局统一的拓扑、路由、安全、策略、流量工程、QoS(服务质量)等控制,提升链路利用率,并实现可编程化控制[1,2]。
SDN是针对传统网络存在的重大问题提出的解决方案。传统网络主要存在以下问题[2]:①网络复杂而刚性。网络由大量单一功能的专用网络节点和碎片化的专用硬件设备构成;②网络节点具有软硬件垂直一体化的封闭架构。该构架导致业务开发周期长、技术创新难、扩展性受限、管理复杂,一旦部署,后续升级改造则受制于厂家;③网络与业务的“烟囱群”问题。新业务的提供往往需要开发新设备,造成设备种类和数量的大量繁衍,形成大批垂直烟囱群,资源无法共享,业务难以融合;④企业支出与运维成本上升。网络运维需要面对大量不同厂家、不同年代设备的采购、设计、集成、部署、维护运行、升级改造,运维成本居高不下。
SDN的目标是通过软硬件解耦隔离,实现网络虚拟化、IT化和软件化。底层只负责数据转发,可由相对廉价的通用商用IT设备(大容量服务器、存储器及以太网交换机)构成;上层负责集中的控制功能,由独立软件构成,网络设备种类与功能由上层软件决定,通过远程、自动配置部署和运行网络,提供所需的网络功能、参数和业务。这种模式符合IT低成本、多样化的大趋势,即硬件负责性能,软件负责功能[3]。SDN开启了网络的IT化进程,是IT和软件业突破电信业壁垒的重要机遇,预示了产业结构的大调整。
自2006年SDN概念诞生以来,2009年12月,作为SDN主要协议的OpenFlow规范发布了具有里程碑意义的可用于商业化产品的1.0版本;2011年3月,开放网络基金会(Open Networking Foundation,ONF)成立,主要致力于推动SDN架构、技术的规范和发展工作,创建该组织的核心会员有7家,分别是Google、Facebook、NTT、Verizon、德国电信、微软、雅虎;2012年底,AT&T、英国电信(BT)、德国电信、Orange、意大利电信、西班牙电信公司和Verizon联合发起成立了网络功能虚拟化产业联盟(Network Functions Virtualization,NFV),旨在将SDN的理念引入电信业。除此之外,IETF和ITU-T等国际标准化组织也正在研究和推进基于不同技术方案的SDN标准化进程。
目前,在互联网企业,不基于专用硬件建设的网络系统已经得到了部分商用。如2014年谷歌宣布,其数据中心之间的骨干网已全面运行在OpenFlow之上。电信运营商也正在加大投入,并开始进行试验。
2 SDN构架分析
传统网络设备紧耦合的构架在SDN体系中被拆分成应用、控制、转发三层分离的、全可编程和开放的构架。控制功能被转移到服务器(软件),上层应用、底层转发设施被抽象成多个逻辑实体。图1为ONF定义的SDN三层构架示意图[4]。
应用层为网络各种应用需求,如移动视频、云存储、企业应用商店、桌面云、物联网、IPv6等,通过北向接口(Northbound API)灵活、可编程地调用控制层提供的统一的网络抽象模型与业务功能。北向接口因为涉及业务较多,开放的标准化过程还处于研究阶段。
控制层为整个SDN构架的核心,也称为网络操作系统,可集中控制拓扑和设备管理,进行流表的控制和下发。其主要功能包括路由优化、网络虚拟化、质量监控、拓扑管理、设备管理、接口适配等。
南向接口(Southbound API)定义了控制层(控制器)与数据转发层(基础设施层)之间的交互协议,通过将转发过程抽象为流表,控制器可直接控制流表、屏蔽硬件,实现了网络虚拟化。物理硬件被淡化为资源池,可按需进行灵活分配和相互隔离。目前主流的控制层与转发层之间交互的协议OpenFlow已经发布了完善的1.4.0版本。
基础设施层包括标准化的网络设备和虚拟的网络设备,负责多级流表处理和高性能的数据转发,并作为硬件资源池,为控制层提供按需的网络拓扑、数据处理和数据转发。目前主流的网络设备和芯片产商已经提供了支持OpenFlow的网络设备。
SDN构架的提出为整个互联网带来了巨大变革,主要优势为:
(1)网络的软硬件解耦和接口开放。解耦后的软件可以实现灵活的控制层面功能,满足用户的多元化需求,还可以快速部署网络功能和参数,如路由、安全、策略、流量工程、QoS等,提升链路利用率。解耦后的硬件专注转发,不仅可以采用通用IT设备,减少设备种类和专用软硬件平台,大幅降低硬件成本,简化运维管理,还可提升转发性能。
(2)网络虚拟化。通过将转发过程抽象为流表,控制器可直接控制流表、屏蔽硬件,实现了网络虚拟化。物理硬件被淡化为资源池,可按需进行灵活分配和相互隔离。
(3)集中式控制。具有全局全网视野,掌握全网信息(拓扑和网络状态等),可最佳地利用网络带宽等资源,提升网络性能(收敛速度和延时等),确保系统路由和性能的可预测性,并提供一些新功能。
(4)网络简化与集成。允许利用单一平台支持不同的应用、用户和租户,从而简化网络。利用高度统一的物理网络平台及与其它支撑平台联系的单一性,改进网络运行和维护效率[3,5]。
3 SDN应用场景
SDN构架的巨大优势,使其在运营商网络、企业网络等方面应用广泛,目前比较明确的应用场景如下[3,5]:
(1)数据中心网络。数据中心网络的需求主要表现在海量的虚拟租户、多路径转发、VM的智能部署和迁移、网络集中自动化管理、绿色节能、数据中心能力开放等方面。
SDN控制逻辑集中的特点,可充分满足网络的集中自动化管理、多路径转发、绿色节能等方面要求;SDN网络能力开放化的特点,可充分满足数据中心能力开放、VM智能部署和迁移、海量虚拟租户的需求。同时,数据中心的建设和维护一般统一由数据中心运营商或ICP/ISP维护,具有相对封闭性,可统一规划、部署和升级改造,SDN部署可行性高。数据中心网络是SDN目前最为明确的应用场景,也是最有前景的应用场景。图2为两个数据中心之间通过SDN技术进行统一管理控制的示意图。
(2)城域骨干网络。在城域骨干网中,基于SDN技术,可以将边缘的接入控制设备中路由转发之外的功能都提升到城域网控制器中,并可以采用虚拟化方式实现业务的灵活、快速部署。网络控制器需要支持各种远端设备的自动发现和注册,支持远端节点和控制节点间的保活功能,并能将统筹规划后的策略下发给远端设备,包括IP地址、路由协议参数、MPLS/VPN封装参数、QoS策略、ACL策略等。同时,多台边缘设备可以虚拟成一台网络设备,接入控制器。
(3)接入网。接入网的节点是网络中的海量节点,日常运维工作量巨大。SDN技术可以实现接入网节点的统一管理,因而使维护大大简化,方便快速部署新业务。用户接入远端节点DSLAM(Digital Subscriber Line Access Multiplexer,数字用户线路接入复用器)变成只保留数据面转发的简单设备,而这些节点的控制面移到独立控制器中,参数配置都由控制器下发。这样,任何新特性的部署,都是由控制器对接入设备的流表进行配置,大大加快了业务部署速度,业务升级也仅需升级控制器软件,而不需升级远端设备硬件。
4 SDN实现技术分析
在具体实现SDN的技术上,主要以ONF提出的控制转发分离、集中控制机制(开放的OpenFlow协议),IETF提出的设备开放API机制,NICIRA公司提出的网络叠加技术(Overlay)为主。OpenFlow获得了众多产商支持,规模发展迅速,业界影响力增大。
OpenFlow的关键特点是控制和转发分离,打破网络中软硬件集成的设备形态,使用标准化的软硬件接口,开放控制平台[4]。OpenFlow定义了控制器和转发层面之间的交互协议,将转发层面的交换机抽象为一个OpenFlow交换机,如图3所示。
与传统路由及交换设备不同,OpenFlow交换机把所有的报文转发和处理进行了抽象和统一,网络设备内部的报文处理流程不再依赖于固定的处理流程,也不使用特定功能的转发表(如路由表、VLAN表),而使用多个通用的流表(Flow Table)和1个组播表(Group Table),执行分组查找和转发,并通过安全信道(Secure Channel)与控制器进行通信。对通用流表统一处理的流程如图4所示。报文进入交换机入口后,每经过一个表,就进行查找和匹配,记录控制器设定的动作(Action),并在报文出口前统一执行所有动作(报文处理,包括转发及包头编辑)。
具体而言,OpenFlow对交换机的流表规范为3个部分:Header Fields、Counters、Actions。其中Header Fields定义了全部常见的网络报文包头格式,包括入口端口、以太类型、VLAN id、源和目的IP等,如图5所示;Counters针对流表、表项、端口分别统计信息;Actions定义交换机如何处理数据包,如Forward、Drop等。
OpenFlow Protocol定义了3种类型的消息:Controller-to-switch、Asynchronous、Symmetric,分别用于管理和检查switch的状态、switch状态发生变化时通告给controller、建立连接、测量连接性或额外功能。
OpenFlow要求数据转发层设备(如交换机)需要满足其定义的流表格式及开放可编程接口,可以屏蔽底层硬件的差异性,使上层控制器能够完全以软件的方式定义和管理网络。
OpenFlow对Controller和应用层的具体实现未做定义,使用OpenFlow的产商或用户可以按照各自的业务,自由定义业务及使用业务的方式,这种设计符合开放创新的原则。在预期的OpenFlow 2.0中,更提出对现有的转发层面构架实现指令集形式的转发面原语,即希望网络处理器实现CPU指令集方式下的软硬件分离发展的模式。
OpenFlow大大推动了SDN的实用化,谷歌数据中心间网络的商用化即是基于OpenFlow的。
然而,OpenFlow在转发层面也面临了较大的技术挑战,关键问题如下:
(1)OpenFlow协议的复杂性快速增长。从OpenFlow 1.0开始的1个流表、12个匹配字段、12个action,至1.3版本,已经增加到多个流表、40个匹配字段、6个指令、16种action,在1.4版本又增加了GRE tunnel、IP in IP、MAC in IP、Trill、VxLAN等当前新的网络技术的支持。
(2)流表格式定义和可编程性。OpenFlow假设交换机处理数据报文的每级流水线均具有最大宽度的TCAM匹配能力,且表项生成不受限制,以实现接口统一的可编程控制。现实是TCAM昂贵且高能耗,即使使用DRAM,其索引和查找的算法开销也很惊人。所以OpenFlow定义的交换机在经济上的可行性较差。
(3)路径能力匹配问题。对于规模稍大的异构网络,不同设备支持的功能不同,控制器在进行路径决策前,必须首先进行相关网络设备的路径能力对比,从而增加了复杂度。
另外,OpenFlow还面临转发层面对控制带宽的需求增大、转发表更新频繁的挑战,这些都是需要逐步解决和优化的问题。
5 SDN面临的挑战和发展趋势
与上文所述的OpenFlow面临的挑战相同,SDN技术在整体发展上仍存在不少急需解决的问题[6,7]:
(1)集中控制的挑战。包括大规模网络节点的集中控制算法、资源感知和拓扑计算方法的复杂度、集中控制先天存在的软硬件失效的弹性等问题。
(2)混合网络演进。分区域、分步骤引入SDN时,与传统的网络设备、网络管理系统之间的协同问题,以及与传统物理网络并存或互通的需求如何解决。
(3)组网性能。如何选择合适的虚拟技术与软件技术,以保证SDN控制权的运算效率和处理能力,以及如何优化转发层面的统一硬件系统。
另外,SDN还面临大量的非技术挑战,例如,产业链还需要更多解决实际问题的商业产品、芯片产商的参与度有待提高、国内数据中心的虚拟化比例过低导致对SDN的引入动力不足等问题。
即便如此,SDN仍是引领新一轮网络变革的关键技术。全球权威咨询公司Infonetics Research对SDN商用进程作出预判:2014年运营商实验室技术成熟,某些领域开始试商用;2015年运营商许多领域试商用,部分转为商用部署;2016年SDN开始广泛地在全球进行商用部署;2017-2020年,SDN开始成为网络基础架构,并将经历一个长期的演进和转型过程。目前SDN的应用尝试和商用部署主要集中于数据中心领域。网络配置周期长、管理复杂、业务迁移困难、业务质量和可靠性难以保障等因素成为推动数据中心从传统方式向SDN部署的动力。国内运营商的主流观点是SDN技术将首选在小范围、相对独立的网络内应用,如园区网、企业网数据中心内、运营商网络的业务边缘等。远期来看,SDN的控制转发分离、集中控制、设备简化统一、面向应用开发可编程接口等理念可能被引入到现有通信网络中。特别是在数据中心,云计算业务的发展对网络提出了新的需求。SDN能够满足业务持续创新和快速上线的要求,适应云业务“实时”、“按需”、“动态化”的快速部署(如虚拟机自动迁移、多租户安全隔离),以构建下一代云数据中心。
参考文献:
[1] 赵慧玲.SDN——未来网络演进的重要趋势[J].电信科学,2012(11):15.
[2] 韦乐平.去电信化与SDN的再思考[J].通信世界,2013(28): 3333.
[3] 王茜,赵慧玲,解云鹏. SDN标准化和应用场景探讨[J].中兴通讯技术,2013,19(5):15,21.
[4] The Open Networking Foundation. Openflow switch specification V1.3.3[S].2013.
[5] 左青云.基于OpenFlow的SDN技术研究[J].软件学报,2013(5):10781097.
[6] 刘汉江.SDN技术现状和未来前景分析[J].移动通信,2014(18):5458.
[7] MARK M CLOUGHERTY.SDN在IP网络演进中的作用[J].电信科学,2014(5):113.
责任编辑(责任编辑:黄 健)