孟凡博++赵宏昊++吴桐
摘 要:近年来,随着社会的进步与经济的发展,网络技术不断革新,传统的TCP/IP网络更加智能化,同时涌现出许多新兴技术与协议。在新业务运行中,传输理念面临着越来越多的挑战,也出现了许多问题,难以满足当前新形势的发展需求。基于此,业界研究者开始对新型构架进行研究,而SDN(软件定义网络)凭借其本身的开放网络构架,具备着多种优势,例如资源虚拟化、可编程性、集中控制等,得到业界的普遍关注。该文先从理论层面介绍了SDN网络的发展现状,介绍了SDN网络在未来网络架构中的应用前景;随后介绍了OpenFlow协议和SDN的体系架构和特点。运用这些概念,该文设计了基于OpenFlow的架构层次,介绍了虚拟网络架构的4个层次:应用层、虚拟平台、控制层和物理层,为统一管控标准接口打下了理论基础。
关键词:SDN OpenFlow 体系架构 标准接口
中图分类号:TN929;TM73 文献标识码:A 文章编号:1674-098X(2016)09(a)-0009-04
当前阶段,社会对高速信息网络需求不断提升,为应对这一形势,互联网不断开发新协议,通过局部修补实现结构的进一步完善。国际互联网标准化工作组IETF对这一完善过程起着主导作用,通过对新标准的制定与修改提升互联网性能,完善其功能。在这种发展背景下,网络架构日益变得复杂,为管理与维护工作带来较大难度[1]。这一问题的决定性因素在于互联网的最初设计,特别是对TCP/IP的设计。而对于TCP/IP的修改又存在较大困难,因此,社会各界均在寻求一种新的解决途径来化解当前的困境。于是,新型体系架构应运而生。
传统的网络构架中由于逻辑控制和数据转发紧密地耦合于网络设备中,新的网络控制管理策略很难到现网上部署,网络的扩展性和灵活性被束缚,因而从控制和转发分离成为许多研究者的共识。因此,在尝试改变互联网的体系结构的同时,软件定义的网络(software defined networking,SDN)被作为一种新型的网络体系结构提出。OpenFlow技术作为SDN转发抽象的实现之一,已经受到学术界和工业界的普遍关注和广泛研究。OpenFlow实现了将设备控制平面与数据平面相分离,让用户对设备的控制和修改变得更容易[2]。
1 SDN的发展现状
为了有效解决TCP/IP构架带来的问题,国际学术界通过未来网络研究的实施致力于未来网络创新实验平台的开发与建设,同时先后启动了GENI、FINE、4WARD、FIA等项目。IETF开发出了ForCES网络构架,用于标准化控制组件与网络组件的通信,网络设备主要由两部分组成,包括控制件(CE)与转发件(FE),其中CE組件主要执行控制与信令的功能,使用ForCES协议指导转发组件处理报文的方式。ForCES自2003年起开始实行标准化,同时出版了许多应用文档,定义网络实体和接口的框架模型。但是,这一标准化形式只是致力于创新与建模,并未获得设备商的普遍运用。后期,又开发了网络构架Ethane,这一构架主要针对于企业网的应用管理,允许相关网络管理者对精细粒度策略进行定义,并于网络中予以执行。将基于流转发的以太网交换机直接和管理网络接入的路由控制器相连,这种方式看上去较为激进,但其可向后兼容现有主机与交换机。控制器对主机的网络注册、认证及数据流的路由策略有控制作用,而下层交换机主要承担对数据的转发工作。
基于上述的这些研究,斯坦福大学的Nick教授等人提出了OpenFlow,可让研究者在现今的网络运行试验协议。它可以作为像GENI项目这样大规模试验床的重要部件,斯坦福的两栋大楼很快就部署了OpenFlow网络,随后,OpenFlow受到了学术界的广泛关注。OpenFlow思想也逐渐演变成了今天的SDN网络构架,具备控制、转发分离、集中化控制、资源虚拟化等优势。不久后,OFELIA、GENI项目和FIRE项目均提出采用OpenFlow技术搭建未来网络的创新实验平台。在Nick教授等人的推动下,2011年开放网络基金会(ONF)成立,专门负责相关规范和标准的制定以及推广,包括OpenFlow协议版本、配置协议OF-Config和SDN白皮书,有力地促进了SDN/OpenFlow的标准化进程,使它成为未来网络体系构架研宄和创新实验平台构建领域的热点技术。ITU-T与IETF等国际标准化组织也纷纷开始关注SDN的应用场景和组网方式。但SDN不仅停留在学术研究层面,应该说工业界的热情不亚于学术界,谷歌、微软等互联网公司均在SDN领域投入了大量的科研力量。企业界也出现Nicira和Big Switch等为代表的SDN公司,开发出了OpenVSwitch和Floodlight等网络软件。
2 OpenFlow协议及特点
2.1 OpenFlow规范
OpenFlow交换机规范定义了交换机的基本功能以及通过远端控制器对OpenFlow交换机进行管理的协议。远端控制器在安全通道上通过OpenFlow协议对交换机中的安全控制单元直接进行管理(图1)。
在OpenFlow1.0.0的交换机中,数据报文处理和寻址的过程如下。
步骤1,以太网数据进入交换机后被输送至数据解析系统。步骤2,提取报头字段信息,将其置于分组报头,报头信息主要用于匹配操作。步骤3,对分组报头进行查找,成功匹配后送至匹配系统。步骤4,对比数据包报头与OpenFlow流表中流条目规则。OpenFlow流表中流条目存在优先级由高到低的顺序,所以,在查找数据包报头时,应自流表中的首个表项开始。成功匹配后,在匹配的流表条目上继续进行;如果匹配不成功,则将数据报文送至控制器进行处理。具体见图2。
在OpenFlow交换机中流表示进行分组转发查询的最关键部件,在流表中包含了一系列的入口项(用于匹配收到的分组),激活计数器并自动匹配到与该分组所对应的操作。如果在流表中找到对应的入口项,将对该报文执行预先设定的动作,而控制器的作用则是用于确定某一报文没有找到对应入口时的动作,同时还负责流表中每一条记录的增删。
2.2 OpenFlow协议特点
作为一项灸手可热的新技术,OpenFlow之所以能够受到广泛的关注和支持,是和OpenFlow协议的技术特点息息相关的。OpenFlow协议主要有以下特点。
(1)OpenFlow技术将原有的IP承载架构完全打乱。OpenFlow的流表(Flow Table)是由多个流表项共同构成的,任何一个流表项均为一项转发规则。数据包进至交换机后,对流表进行查询以此获取转发端口。OpenFlow的流表中任何一个流表条均包含头部、计数器及行为3部分内容。其中头部属于十元组,不仅包含传统的七元组,另外增加了交换端口、以太网类型以及VlanID,以此对流表进行定义;计数器用于做流二量的数据统计工作;而行为主要指转发、丢弃,规定了与流表项匹配的数据包所应进行的操作行为。对于OpenFlow技术而言,将控制与转发进行分离是其关键特性,这就决定了其远端控制与查询功能的进一步实现。要想对流表进行相应改变,只要通过远端指令操作即可实现;若想对网络状态进行实时掌握,通过远程操控即可查询与获取。这一功能的实现,使网络灵活性获得有效提升,真正实现了网络的智能化。从某种角度来讲,OpenFlow技术实现了传统硬件定义互联网向软件定义互联网的巧妙转变,更加动态化与灵活化,同时使Software Designed Network的核心思想得以凸显。总体而言,可控软件定义互联网的实现,在提升网络灵活性的同时,凭借相应的控制算法,使网络安全性与鲁棒性均得以有效提升,大大改善了其运行效率。
(2)从网络创新角度来看,OpenFlow技术的运用具有非常大的价值。近年来,互联网技术飞速发展,呈现出日新月异的变化的同时,也呈现出许多问题。为应对以上问题,网络体系结构日益复杂化,在解决相关问题的同时,也带来了新的问题,例如OSPF、BGP、NAT、防火墙、流量均衡等技术的应用,使网络设备日益臃肿。相较于网络领域发展瓶颈,可以说计算机领域的变化日新月异。而作为计算机网络体系结构的相关研究者,通过对计算机问题、所遇瓶颈以及成功解决经验进行分析,认为应将功能单元化作为核心思想,将控制与转发功能进行合理分离。基于设计模式与软件工程的分析,交换机与路由器相对简单,满足其基本功能需求的同时,为上层控制层提供API库,并由控制层对其进行有效控制。
如此一来,研究人员就能通过对下层API进行自由调用实现协议的编写,最终促进网络创新的实现。OpenFlow对网络创新思想起到重要的推动作用。以往通过自制数据包的转发过程,经OpenFlow交換机实现了控制器的数据包转发操作,控制器下发流表指令后,自己按照指令对数据包进行相应的处理,进而对转发与控制操作进行有效分离。
OpenFlow的技术特点同时也对交换设备提出了新的要求,OpenFlow提出新的交换机解决方案必须具备以下4个特点。
(1)设备必须具有商用设备的高性能和低价格的特点。
(2)设备必须能支持各种不同的研究范围。
(3)设备必须能隔绝实验流量和运行流量。
(4)设备必须满足设备制造商封闭平台的要求。
3 SDN的体系结构及特点
软件定义网络(SDN)作为一种新型的网络构架,其本质的特征就是网络控制和转发分离,网络具备可编程特性。OpenFlow标准定义了控制层和转发设备间的通信协议,是SDN网络构架的核心[3]。
3.1 SDN体系结构
SDN可以用来提供标准的接口,可以通过软件的方式控制网络中的资源连接和网络业务流,必要时对业务流进行特定的检查和修正,所定义的原始函数被抽象成标准的网络服务。OpenFlow是其中的一种接口协议。
基本的SDN网络部件,如图3所示NE通过D-CPI接口上报设备的能力,SDN业务应用通过A-CPI接口告知控制器其具体的业务需求,控制器根据业务应用的需求实施对于底层设备的控制,通过优化控制策略在有限的网络资源下提供具有竞争力的业务。
SDN几个平面之间的关系:在数据平面,OSS至少应当支持NE的初始建立过程、分配SDN控制功能并配置SDN控制器;在控制平面,OSS需要配置SDN业务的控制策略并监测系统的性能;在应用平面,OSS配置业务合同与业务等级协定(SLA)。对于所有的平面,OSS需要提供安全性的管理和认证方式。
(1)数据平面。
包含了多个网络部件,每个NE包含一系列的网络转发单元和业务处理资源,SDN的资源是根据底层的物理实体和所支持的能力而定的。
(2)控制平面。
SDN控制器组成,每个控制器负责NE分组的专用控制。SDN控制器的最基本功能是执行它所支持的应用程序请求,而每个应用程序之间通常是相互独立的。SDN控制器需要与对等的控制器、下属控制器以及非SDN环境之间进行交互以实现复杂的控制功能。
SDN控制器的一个常见但不必要的功能作为网络的反馈控制元件,可以应对网络的突发事件,如将网络从故障中恢复及资源的再优化分配,等等。
(3)应用平面。
应用平面由一个或多个应用程序,每个都有专用的控制逻辑,负责SDN控制器所管辖的多个资源组。应用程序本身也可以调用其它应用程序,其自身也可以作为一个SDN控制器。
(4)管理平面。
每个应用、SDN控制器、NE均具有与管理者相连的功能接口,可以负责从底层资源池中为高层业务分配资源,并建立底层平面和高层平面的通信方式。
OF-config协议的定位主要是提供管理接口所需要的功能。
OF-switch协议的定位主要是执行D-CPI和A-CPI之间的功能。
3.2 SDN的特点
(1)控制和数据平面分离。
控制平面和数据平面采用分离的设计方法,通过D-CPI接口进行控制。SDN控制器可以控制NE的重要功能,并且能够获知NE的状态信息。
(2)逻辑化的集中式控制。
与本地化控制方式相比,集中控制的方法具有掌控更广范围的资源的能力,并且可以为网络做出更好的决策。为了提升网络的可扩展性,通常在集中式控制方法中不建议获取详细的网络资源,可以通过资源的抽象集合进行表示。逻辑化的集中式控制方式相比传统的集中型网管具有更高的灵活性。
(3)对外部应用的拓扑和资源抽象方法。
应用可以存在于任何级别和粒度的抽象,同时控制器和业务应用均可将对方作为对等级别、客户端或者服务器端。
网络拓扑和资源的抽象通过A-CPI接口进行管理,并可通过程序化的控制方式进行管理。在了解网络中的资源和状态信息后,应用可以通过SDN控制器定制需求并根据网络的实时状态调整网络服务。
SDN垂直体系架构支持信息模型的外送,并可以在客户端执行CRUD操作(Create-Read-Update-Delete)。
分层模型的主要目的在于如下几方面。
可扩展性:更高层次的控制器可以获取更高的抽象度和更广的管辖范围。
安全性:每一层数据分属于不同的信任域,在分层参考点处执行标准的域间安全性管理。
4 基于OpenFlow的架构层次设计
基于openFlow的虚拟网络架构主要分为4个层次,分别为应用层、虚拟平台、控制层和物理层,如图4所示。
(1)应用层对网络架构的具体运行状况进行访问与监控,对数据流处理逻辑与规则进行有效控制。通常来讲,应用层应用程序主要包括两种形式,即GUI与CLI。其中GUI为图形界面,用户通过此界面对网络流量与数据转发等情况全面掌握,同时以自身需求为依据,在网络中对实体与数据流处理规则进行相关处理。CLI为命令行程序,此程序能够为用户提供更多操作功能,仅需执行簡单命令即可完成,工作效率非常高。
(2)VTN虚拟平台作为OpenFlow虚拟网络架构的关键部分,对虚拟网络架构中各项主要业务逻辑均有所涉及。从某种角度来讲,VTN虚拟平台是建立在网络硬件层与用户应用层之间的重要桥梁。在VTN虚拟平台中,最上层为服务器,在外部应用程序的运行中,服务器根据其运行需求向其提供内部数据服务接口;逻辑层通过逻辑网络的建立,对网络请求的处理逻辑进行定义操作,并对各项网络任务用到的控制器与相关设备进行指定,保证虚拟网络流控制、网络监控及流过滤器等各项功能的实现;物理层对物理实体有配置和维护的功能,通过对通信状态的查看与修改,实现其管理功能,同时可对控制器、网络物理设备配置信息及域或边界配置信息进行更改;驱动器则为VTN虚拟平台实现物理设备单独操作的重要接口。
(3)控制层的组成包含了多种网络设备控制器,例如OpenFlow交换机控制器、Overlay交换机控制器与Legacy交换机控制器等,主要负责对物理设备数据转发的控制。
(4)物理层作为整个OpenFlow虚拟网络架构的底层结构,网络通信中涉及的一切硬件均涵盖于此,主要为OpenFlow设备与非OpenFlow设备两种类型,例如OpenFlow交换机、Overlay交换机和Legacy交换机等。
5 结语
经30多年的实践,基于TCP/IP构架的互联网取得一定成果,并被世界多领域广泛应用,逐渐成为产业规模最大的重要基础设施之一。近年来,信息社会不断进步,社会对互联网技术的需求不断提升,这为网络发展带来一定压力。在此发展背景之下,ITU-T提出未来网络的需求指标与发展目标,同时国际学术界通过未来网络研究项目的大量开发,致力于未来网络创新实验平台的建设,并先后启动了GENL FIND、4WARD、FIA等项目。
该文从理论层面介绍了SDN网络的发展现状、OpenFlow协议的特点,并提出了SDN的体系架构。应用这些概念,设计了基于OpenFlow的架构层次。SDN网络依托其可编程性、集中控制、资源虚拟化等优势,必将在工业中广泛应用。
参考文献
[1] 赵宏昊,孟凡博,王杰,等.辽宁电力通信网容灾体系建设[J].东北电力技术,2013,34(7):10-14.
[2] 毕军.SDN体系结构与未来网络体系结构创新环境[J].电信科学,2013,29(8):6-15.
[3] 赵宏昊,孟凡博,王杰.辽宁电力通信传输容灾架构体系研究[J].东北电力技术,2014,35(7):25-27.