APP下载

软件定义网络技术及发展趋势综述

2014-02-09李纪舟

通信技术 2014年2期
关键词:网络设备架构定义

李纪舟,何 恩

(1.解放军91746部队,北京102206;2.中国电子科技集团公司第三十研究所,四川成都610041)

软件定义网络技术及发展趋势综述

李纪舟1,何 恩2

(1.解放军91746部队,北京102206;2.中国电子科技集团公司第三十研究所,四川成都610041)

软件定义网络是继云计算、移动互联网、大数据之后,信息通信领域又一热议的对象,被称作下一次网络革命,对下一代互联网发展有着重要的影响。首先介绍了软件定义网络的发展背景、原理、架构与内涵,然后阐述了SDN的关键技术,最后分析了SDN的优缺点及应用领域。

软件定义网络 关键技术 发展趋势

0 引 言

互联网自其发明以来,经过几十年的发展,网络规模快速扩大,业务不断创新,用户数量不断增加,原有的网络架构已经难以满足未来发展需要。软件定义网络(SDN,Software-defined Networking)是一种新型的网络架构模型,将控制与转发分离,并通过开放的软件定义API实现网络功能的灵活重构,极大地改善了网络的扩展能力和灵活性,成为信息通信领域热议的又一对象,对下一代互联网的发展有着重要的影响。

1 SDN发展背景

2006年,美国斯坦福大学联合国家自然科学基金会(NSF)以及7家公司一起启动了Clean Slate项目,目的是探索出一个全新的互联网络模型,摆脱目前Internet基础架构的限制,利用新兴技术,支撑新服务、新应用,发展出创新实验平台[1]。Clean Slate项目提出了Ethane网络架构,通过一个中央控制器向基于流(Flow)的以太网交换机下发策略,交换机根据接收到的策略进行转发。Ethane架构的提出是软件定义网络(SDN)技术的思想源头。

2008年4月,在Ethane架构基础上,斯坦福大学的研究者们又进一步提出了OpenFlow的概念,并发表了题为《OpenFlow:Enabling Innovation in Campus Networks》的论文,首次阐述了OpenFlow的工作原理及应用场景等[2]。2009年,Technology Review (MIT)发表了一篇介绍OpenFlow的文章,用“软件定义网络(SDN)”一词描述OpenFlow技术所带给网络变革的作用,这是世界上第一次正式使用SDN一词。同年,Technology Review网站将SDN技术评选为年度十大前沿技术。自此SDN技术开始被学术界和工业界广泛关注,迅速发展起来。

在工业界,2010年1月,Google数据中心开始采用OpenFlow技术。4月,Big Switch开始投资OpenFlow领域。2011年3月,开放网络联盟(ONF)成立,标志着SDN/OpenFlow从单纯的学术研究正式过渡到产业化发展的轨道中。ONF的发展异常迅速,其成员几乎囊括了IT产业链上下游的所有重要厂家。2011年10月,ONF召开OpenFlow第一届年会Open Networking Summit。2012年,被业界称作SDN商用元年。期间,思科、瞻博科技、Extreme网络三大公司发布了最新的SDN发展蓝图;虚拟化技术和云基础架构厂商VMware以12.6亿美元收购SDN的先驱、开源政策网络虚拟化私人控股企业Nicira。到2012年初,Google通过SDN在其数据中心广域网中实施了流量工程和优先级调度试验工作,将链路使用效率从平均的30%~40%提升到接近100%。

在学术界,2012年8月,国际互联网研究的顶级学术会议SIGCOMM成立Hot SDN Workshop专门会议,并于2013年将SDN纳入SIGCOMM主会的征稿议题。斯坦福、普林斯顿等著名大学涌现了较多与Openflow/SDN有关的研究项目,涉及到网络安全、路由决策、网络虚拟化、无线接入、数据中心节能等研究领域。

在标准推进方面,ONF专门致力于软件定义网络及其核心技术OpenFlow的标准化以及商业化。2012年1月,ONF发布了OpenFlow管理和配置协议第一个版本(OF-CONFIG 1.0&1.1)。2012年4月,ONF发布OpenFlow 1.3,开始支持多级流表驱动的转发模型。同月,发布了SDN白皮书。2013年发布OpenFlow 1.4版,提供OpenFlow-hybrid机制解决Hybrid SDN(混合式SDN网络)兼容问题,目的为降低对既有网络设备的冲击。同年又启动Open-Flow一致性测试项目,来认证供应商在交换器,路由器和网络软件中SDN协议的实施。在ONF的不懈努力下,OpenFlow成为当前业界影响力最大的SDN协议。

除ONF外,包括互联网工程任务组(IETF)、国际电信联盟(ITU)、欧洲电信标准协会(ETSI)也在推动了SDN的发展和应用。

2 SDN原理、架构及内涵

目前,学术界和工业界讨论的“SDN”一般分为广义和狭义两种[3]:其中,广义SDN一般指向上层应用开放资源接口,能够实现软件编程控制的各种基础网络架构;狭义上的SDN,则专指符合ONF定义的开放架构,在控制器控制下基于标准OpenFlow协议进行转发的网络架构。无论广义还是狭义, SDN无外乎包括以下设计思想:

1)控制与转发分离。

2)使用开放的、中立于设备提供商的网络控制接口,在狭义SDN中规定采用Openflow,而广义SDN不限于Openflow,可以采用SNMP、Netconf、XMPP等其他控制协议或接口。

3)逻辑上集中的控制平面(网络操作系统):维护网域视图,并向应用开发者提供定义良好的开放API。

ONF定义的SDN架构如图1所示。从下向上,分为基础设施层、控制层及应用层[4]。

图1 SDN架构Fig.1 SDN infrastructure

基础设施层:又称数据转发层,由网络的底层转发设备组成,包含了特定的转发面抽象。负责基于业务流表(Table)的数据处理、转发和状态收集,根据控制层下发的指令,对数据进行转发。

控制层:又称为网络操作系统(NOS),具体负责处理数据转发平面资源的抽象信息,支持网络拓扑、状态信息的汇总及维护,可通过基于应用的控制来调用不同的转发平面资源。控制层由控制软件实现,摆脱了硬件设备对网络控制功能的束缚,主要负责集中维护网络拓扑及网络状态信息,实现不同业务特性的适配。利用控制数据平面接口,控制层可以对底层网络设备的资源进行抽象,获取底层网络设备信息,生成全局的网络抽象视图,并通过API接口提供给上层应用。其结果是,对于上层应用程序来说,网络呈现为一个单一的逻辑开关。通过这种软件模式,网络管理人员可以灵活配置、管理和优化网络资源,实现了网络的可编程及灵活可控。

应用层包括了各类控制平面的应用,主要负责管理和控制网络对应用转发/处理的策略,并支持对网络属性的配置,提升网络利用率、支持安全及QoS的控制。应用层能够根据不同的网络应用需求,进而调用与控制层相接的应用编程接口(API),完成不同应用程序的功能。利用API接口,业务应用可以充分利用网络的服务和能力,并在一个抽象的网络上进行操作,实现常见的网络服务,包括路由、组播、安全、访问控制、带宽管理、流量工程、服务质量、处理器和存储优化、能源使用以及各种形式的政策管理,量身定制以满足业务目标。

SDN网络中的工作流程是,控制层的控制软件与基础设施层中的网络设备通过控制数据面接口(南向接口)交互,与应用层中的APP通过开放的API(北向接口)交互;网络基础设施相当于传统网络中的交换/路由角色,称作OpenFlow交换。Open-Flow交换由安全通道、流表和OpenFlow协议组成,主要负责管理数据层面的转发。OpenFlow交换机接收到数据报文后,首先去查找(flow table)流表,进行报文的匹配,如果数据匹配,则执行相关动作。如果达不到匹配表项的条件,则把数据报文转发给控制层,由控制层决定是否转发。控制层是通过OpenFlow协议来更新OpenFlow交换机中的流表(flow table),进而完成对网络流量的集中管控。控制层对底层的网络设备资源进行抽象,为上层应用提供全局的网络抽象视图,这一切都由软件来完成,摆脱了硬件网络设备对网络控制功能的约束和捆绑。应用层利用控制层的开放接口,对控制层的网络抽象进行编程,进而操控各种流量模型和各类应用的网络流量,使应用产生的流量对网络进行感知,实现了网络的智能化。

SDN架构下的网络,主要有控制器和OpenFlow交换机两种设备,控制层的网络操作系统和应用层的网络控制平面应用通常一起实现在控制器中。

SDN架构使网络的智能都集中在逻辑上中心化的网络操作系统及其应用上,网络运营商可以通过北向接口来开发各种定制化的控制平面网络应用,而网络设备不需要理解各种复杂的网络协议,只需要按照SDN控制器通过南向接口下发的指令转发数据。这样,使网络变成了一台可以编程的计算机,使以往由网络设备完成的控制层面智能开放到运营商和网络管理员可以编程的程度,以更灵活的满足网络的需求。

3 SDN关键技术

ONF颁布的SDN白皮书和OpenFlow标准协议涉及的关键技术主要有[3]:

3.1 网络操作系统(NOS)

网络的核心功能及所有智能化功能均体现在网络控制器中,也称作网络操作系统(NOS)。由网络操作系统对转发面进行转发策略的调度和管理,然后通过无智能的快速转发面设备,支持运行在网络操作系统上的各类业务。

3.2 转发面抽象建模

对转发面进行抽象建模是SDN的关键技术,在SDN OpenFlow协议中,转发面设备被抽象为一个由多级流表(flow table)驱动的转发模型。

3.3 OpenFlow技术

OpenFlow技术指开放网络联盟制定的转发面控制标准协议,这是目前发展最完善的SDN技术。该协议将转发面设备抽象成一个由多级流表(flow table)组成的转发模型,网络操作系统通过Open-Flow协议,下发OpenFlow流表到具体交换机中,进而控制、管理交换机的具体行为。此外,ONF还制定了OpenFlow交换机的配置管理协议OF-Config,可通过该协议对OpenFlow交换机进行配置,Open-Flow和OF-Config协议都提供了开放的、灵活配置手段。

OpenFlow协议主要包涵四个方面内容:(1) OpenFlow的端口(Port)。OpenFlow规范将Switch上的端口分为3类:a)物理端口,即设备上物理可见的端口;b)逻辑端口,在物理端口基础上由Switch设备抽象出来的逻辑端口,如为tunnel或者聚合等功能而实现的逻辑端口;c)OpenFlow定义的端口。目前总共定义了ALL、CONTROLLER、TABLE、IN_PORT、ANY、LOCAL、NORMAL和FLOOD等8种端口。(2)OpenFlow的流表。OpenFlow通过用户定义的或者预设的规则来匹配和处理网络包。(3)OpenFlow的通信通道。协议定义了一个Open-Flow Switch如何与Controller建立连接、通讯以及相关消息类型等。共有三种消息类型:Controller/ Switch消息、异步(Asynchronous)消息、对称(Symmetric)消息。(4)OpenFlow协议及相关数据结构。

试卷共分两部分,第一部分为单项选择题,共25小题,每题2分,共50分;第二部分为非选择题,共8小题,共50分。考查分值所占比例较高的章节有: 生物的遗传和变异(9分),生物与环境(9分),人体生命活动的调节(8分),绿色植物与生物圈中的碳—氧平衡(7分)。

3.4 应用开放接口

SDN上层网络应用开放的应用编程接口,在NOS的控制下,实现开放化,支持控制器软件的多样化和业务定制的网络功能。网络操作系统将应用接口进行封装,并对上层应用开发者进行开放,能使应用APP或者运营商根据自身的需求,灵活地配置、增加或删除业务,允许用户定制、二次开发以及集成第三方业务。应用开放接口可使策略管理和用户之间快速协同,更好地满足智能管道时代个性化用户的各种业务需求,方便用户体验。

4 SDN网络的优势及存在的问题

SDN网络采用了控制功能与数据平面的分离理念,实现了网络可编程管理,为集中化、精准化地控制网络提供了方便。因此,相对于传统网络架构而言,SDN网络具有如下优势[5]:

1)只需对软件进行更新,即可实现对网络功能升级,无需再针对每一个硬件设备进行配置,通过网络服务和应用程序的形式可直接部署实现网络配置,提高网络部署周期。

2)通过控制软件的集中化控制,研究者、企业和运营商可从一个单一的逻辑点获得全网控制权,极大地简化了网络的设计和运行,从而加速了网络创新周期。也方便从宏观角度配置网络传输带宽等资源,提高网络资源的利用率。

3)SDN使封闭的网络设备走向开放,使得网络设备不再需要理解和处理成千上万的协议标准,极大地简化了底层网络设备的功能,有效降低了网络复杂度及网络构建成本。也简化了运维管理的工作量,大幅节约运维费用。

4)SDN网络实现了转发与控制分离,使网络控制功能软件化,方便网络的智能化与自动化及硬件的标准化,业务功能的软件化便于新网络业务的快速部署和测试。同时,SDN网络实行网络协议集中处理,便于提高复杂协议的收敛速度和运算效率

5)SDN网络具有可编程性,能够在一个底层物理基础设施上加速多个虚拟网络,可通过SDN的网络操作系统(NOS)分别为不同的网段实现QoS(服务质量),扩大了网络功能的灵活性和差异化服务的程度。

6)SDN架构将侧重于硬件的网络智能管理,转向侧重于依靠软件管控,用户不需要更新原有的硬件设备就可以实现新的网络功能。同时,SDN整合和简化了控制功能,使网络的硬件设备变得更加安全可靠,也降低了设备购买和运营的成本。另外,控制功能和数据功能分离之后,用户可以通过软件单独开发控制功能,还可以将软件控制功能固化在专用集成电路、芯片或者服务器设备中。

7)具有安全优势。拥有了自由迁移的SDN网络后,管理者能够通过快速且高水平地查看网络的所有区域以及修改网络来改变规则,进而快速限制以及从中央视角查看网络内部的威胁,可以有效地作出更改。SDN快速对网络作出调整的能力,使管理人员以更安全的方式来执行流量整形和数据包QoS。

SDN架构相对于传统网络架构具有诸多优势,是下一代互联网的发展方向,已成为各界研究的热点技术之一,但仍然存在一系列尚待解决的问题。

1)大型网络中引入SDN技术,多域的组网以及大量转发设备的控制算法非常复杂,且SDN技术中基于流的转发性能是否能支持互联网海量的数据转发有待验证。

2)SDN架构中的控制器,也称作网络操作系统(NOS)是网络的关键部件,NOS将会和计算机操作系统、智能手机操作系统一样成为网络链条中的核心,集中式的控制器将给网络安全带来高的风险,并且要求网络操作系统(NOS)的控制能力更具有灵活性、自适应性。

3)SDN技术的标准除了南向接口OpenFlow的协议比较明确外,控制层的标准以及控制层的北向接口都还未得到业内的统一认识,标准化的力度还较弱,难以形成可商用化的系统或者设备。

4)SDN网络架构下,网络操作系统需要为每一条流制定优化的路由选择,运算量大,并且运算量会随着控制网元数量的增加而大规模的上升。同时, SDN架构的不同应用会建立起不同的逻辑网络,大量的应用程序运行,相互之间会产生干扰或妨碍,使一些功能无法发挥,造成对网络资源的激烈竞争。为了协调各应用程序的正常运行,提高网络资源利用率,往往会提高网络资源分配算法的复杂度,也会造成运算量的指数级上升。另外,为了实现网络的可编程性,应用程序一般会对环境拥有较大的控制权,这样反而很容易导致网络系统的崩溃。

5)SDN目前还处于发展的初期阶段,在体系结构设计、接口抽象、控制平面扩展以及虚拟化管理方面还需进一步研究,原型系统研制、实验平台构建、新型网络体系结构和业务支持验证等方面尚不成熟。

6)SDN网络的架构是采取集中控制模式,面临着集中所带来的“单点失效”缺点,易造成固有的安全性隐患。

5 SDN应用领域

目前,SDN主要用于校园网、数据中心、网络管理、安全控制和负载均衡等领域,随着SDN技术的深化发展,其应用领域会更加广泛[2]。

5.1 应用于校园网

基于OpenFlow技术的SDN,当初就是针对校园网设计的,OpenFlow技术是通过构建一个可以灵活配置网络新协议和新算法的创新模型,实现基本的网络管理和安全控制功能。美国斯坦福大学及多所高校已部署了30多个基于OpenFlow技术的SDN网络,搭建了应用环境。

5.2 应用于数据中心

随着云计算和大数据技术的发展,数据中心处理的数据呈现出“大数据”特征,规模大、速度快、流量大。数据中心的交换机层次管理结构复杂,随着技术的发展,原有的信息系统不断被功能更强大的新系统所取代,需要对服务器和虚拟机进行快速配置和数据迁移。如果不能在大量的服务器机群中进行快速高效的寻址与数据传输,就极容易造成网络拥塞,发挥不出网络功能。在数据中心网络中部署OpenFlow交换机,可以借助SDN技术,实现高效寻址、优化传输路径、负载均衡等功能,提高数据交换的效率,提高数据中心的可控性。Google的数据中心广域网(B4)给出了一个SDN实际商用的案例。

5.3 应用于网络管理

SDN网络架构下的数据流是由控制层决定是否转发数据,可以通过软件实现对网络的技术管控,方便网络管理的实现,特别是动态路由、负载平衡、流量管理等功能,可以通过配置控制层提前设置数据转发策略,进而实现可视化的网络管控模式。

5.4 应用于网络安全

随着SDN应用技术的发展,其在网络管理中的应用优势明显。SDN网络的流管理功能很容易进行扩展,能方便实现数据流的安全控制,因此,可以将SDN技术应用于网络的安全控制,提升网络安全。目前,SDN在校园网的部署里,有很多应用都是针对网络安全管控设计的。例如,NEC公司系统平台研究实验室针对目前校园网划分VLAN进行访问控制不够灵活、配置难度大的现状,提出了一种基于Openflow的网络访问控制方案,显著提高了网络访问控制的自动化程度,不需要针对每个交换机进行繁琐的配置,降低了由于WIFI接入用户经常移动、部门变动而带来的VLAN重新划分的工作量。

5.5 应用于负载均衡

传统的负载均衡方案一般需要在服务器集群的入口处,通过一个gateway或者router来监测、统计服务器工作负载,并据此动态分配用户请求到负载相对较轻的服务器上。SDN网络中所有的网络设备都可以通过OpenFlow进行集中式的控制和管理,同时应用服务器的负载可以及时地反馈到Open-Flow控制器,使SDN非常适合做负载均衡的工作。

6 结 语

SDN(软件定义网络)采用控制和转发的分离架构,使研究者可以通过软件实现任意的网络控制逻辑,而不需对网络设备本身进行修改,具备极强的灵活性,已经在路由决策、网络虚拟化、无线接入、云计算数据中心网络等领域得到研究和应用,成为一项热点技术。自从SDN概念于2009年提出后,SDN技术发展已有较大的进步,但从实际应用看,还仍然处于发展阶段,包括Openflow芯片、网络操作系统设计等难点问题值得深入研究,而实际的大规模商业应用也还有待验证。

[1] 郭春梅.SDN网络技术及其安全性研究[J].信息网络安全,2012(08):112-114.

GUO Chun-mei.Research on Technology and Security of Software-Defined Networking[J].Netinfo Security,2012 (08):112-114.

[2] 左青云.基于OpenFlow的SDN技术研究[J].软件学报,2013,24(05):1078-1097.

ZUO Qing-yun.Research on OpenFlow-Based SDN Technologies[J].Journal of Software,2013,24(05): 1078-1097.

[3] 刘露.对SDN技术的研究与思考[J].互联网天地, 2013(03):1-3.

LIU Lu.Research and Thinking of Software Definition Network[J].China Internet,2013(03):1-3.

[4] 张顺淼.软件定义网络研究综述[J].计算机应用研究,2013,30(08):2246-2251.

ZHANG Shun-miao.Survey on Software Defined Network Research[J].Application Research of Computers,2013, 30(08):2246-2251.

[5] 郑毅.SDN的特征、发展现状及趋势[J].电信科学, 2013,29(09):102-107.

ZHENG Yi.Characteristics,Development and Future of SDN[J].Telecommunications Science,2013,29(09): 102-107.

LI Ji-zhou(1967-),male,senior engineer,mainly engaged in the research of information security and communications technology.

何 恩(1980—),男,硕士,高级工程师,主要研究方向为信息安全。

HE En(1980-),male,M.Sci.,senior engineer,majoring in information security.

Technologies and Future Development Trend of Software-Defined Networking

LI Ji-zhou1,HE En2
(1.Unit 91746 of PLA,Beijing 102206,China;2.No.30 Institute of CETC,Chengdu Sichuan 610041,China)

SDN(Software-Defined Networking),which is called a new networking revolution and has great influence on the next generation of the Internet,is a hot topic after cloud computing,mobile internet,big data in the area of information and communication.This paper firstly introduces the background,principle,architecture and connotation of SDN,then elaborates on its key technologies,finally analyzes its advantages and shortcomings as well as application area.

SDN(Software-DefinedNetworking);key technology;development trend

文献标志码:A

1002-0802(2014)02-0123-05

10.3969/j.issn.1002-0802.2014.02.001

李纪舟(1967—),男,高级工程师,主要研究方向为信息安全与通信技术;

猜你喜欢

网络设备架构定义
基于FPGA的RNN硬件加速架构
网络设备的安装与调试课程思政整体设计
功能架构在电子电气架构开发中的应用和实践
一种基于C# 的网络设备自动化登录工具的研制
基于云服务的图书馆IT架构
WebGIS架构下的地理信息系统构建研究
成功的定义
修辞学的重大定义
地铁通信网络设备的维护
山的定义