一种面向多样化网络业务融合的SDN网络架构

时间:2022-03-06 04:47:29

一种面向多样化网络业务融合的SDN网络架构

中图分类号:TN915.03; TP393.03 文献标志码:A 文章编号:1009-6868 (2013) 05-0016-006

提出一种支持多样化网络业务融合的软件定义网络(SDN)基础架构——SDNIMS。SDNIMS在数据平面上提供了高灵活度的可编程性,支持以软件定义方式实现不同业务异质化的融合数据转发;利用网络虚拟化,为不同的业务网络提供独立且相互隔离管理控制平面;支持多种业务在统一的SDN网络基础设施中的部署。

软件定义网络;业务融合;网络虚拟化

In this paper, we propose a software-defined network infrasturcture for multiple services (SDNIMS). This infrastructure converges different networks and services. In SDNIMS data plane, highly flexible programmability allows software-defined data forwarding to be implemented for heterogeneous services. The network is also virtualized to provide separate control planes for different network services. The proposed infrasturcture allows diverse services to be deployed in a unified SDN.

software-defined networks; service convergence; network virtualization

软件定义网络(SDN)[1]是一种革新的网络体系架构设计技术。由于其支持控制与转发分离、开放的编程接口,以及软件可定义的转发控制,SDN极大地提高了实现网络与业务的管理控制的灵活性。当前,SDN已在诸多领域成功应用,但SDN在核心网络架构设计中的应用仍存在大量问题,包括SDN对网络/业务异构性支持、在大规模网络中控制平面的可扩展性与安全性等。

网络与业务融合是未来网络发展的重要趋势,网络基础设施应能支持不同业务融合高效地转发。SDN技术为实现这一目标提供了一条崭新途径。利用SDN的可编程性,设计者能够有效解决网络架构设计中复杂的网络管理与控制问题。

为使SDN网络支持业务融合与服务异质化的网络环境,首先需要在SDN转发平面上提供高灵活度的软件可编程性,以支持多样化的用户需求、设备、通信协议及数据处理方式;其次,需要在控制平面上对不同业务网络进行区分和隔离。将SDN网络资源映射到不同虚拟网络,实现网络虚拟化是一种可行的隔离方案。

1 SDN相关工作

为使SDN网络支持业务融合,文献[2]提出了一种基于OpenFlow的自治SDN框架模型,支持多种业务部署在统一的物理网络上,并在控制平面中利用自治网络技术提高网络和业务的自管理能力。OpenFlow 1.3协议[3]在转发平面中引入了多级流表构成流水线,流表项的匹配采用类型/长度/值(TLV)格式。TLV格式易于扩展,适于支持多种不同的业务和网络协议。欧盟FP7的SPARC[4]多个研究项目探索了如何扩展OpenFlow以满足电信级网络的需求,如支持标签交换和多业务融合。

SDN网络的虚拟化是多业务SDN网络体系结构研究中的另一关键技术[5]。虚拟化需要通过抽象、分配、隔离等机制将SDN物理网络映射为多个虚拟SDN网络,且能够在各虚拟SDN网络上互不影响地部署不同的网络架构和协议体系,支持不同的网络业务,并可按需对虚拟网络进行动态的资源配置。

现有的SDN网络虚拟化方案可分为3类。一是基于交换机的虚拟化[6],此类方案提供良好的隔离性,但不适于动态的扩展和调整。第二类包括ADVisor[7]、FlowVisor[8]等方案,在交换机与控制器间加入一个虚拟化层。此方案简单易部署,但其虚拟化层对用户透明,用户无法通过软件编程方式来动态调整其资源配置。第三类方案在控制器上实现虚拟化,如SPARC、FlowN[9]等,将虚拟化管理作为网络操作系统(NOS)的一项基础服务,支持虚拟化配置的动态调整。

文献[10]探索了在OpenFlow网络中部署内容中心网络(ICN)的方法。研究表明,基于SDN进行创新网络研究通常需扩展SDN功能。然而扩展现有SDN的架构和功能,往往需要代码重写和升级,缺乏灵活性。理想方式是支持用户直接对设备编程,定义新属性和功能。

2 面向多业务融合的SDN

基础架构

2.1 目标与需求

业务融合要求在统一的SDN基础设施上支持多样化的业务和应用。不同种类的业务通常需要不同的传输模式、协议和网络管理和控制方式。SDN控制与转发分离的设计思想以及开放、灵活、可编程的特征,为实现多业务融合提供了一条新途径。本文的目标是对SDN网络架构进行扩展,提出一种面向多业务类型、具有高灵活性和可编程性的SDN网络基础架构——SDNIMS。在该架构设计中需解决以下问题:

(1)支持多样化网络业务的融合

SDNIMS架构支持业务运营者以软件定义方式部署多种类型网络业务。该架构应满足不同特性业务的需求,包括实时话音、图像和广播电视业务,传统互联网等,并支持创新网络技术的研究;也可支持不同数据传递模式,在物理接口支持的情况下,实现基于电路交换、标签交换或光交换的SDN。业务开发者能根据业务特性独立地选择不同的数据传输模式、通信协议以及数据处理方式,并在该架构中部署网络业务或进行创新性研究。

(2)网络的虚拟化与隔离

SNDIMS在转发平面上支持多业务的融合;同时也支持不同业务具有各自独立的控制逻辑。SDNIMS将物理网络资源映射到不同虚拟SDN网中;同时,保证虚拟网之间相互隔离,包括网络拓扑/资源的隔离、数据流隔离以及控制流的隔离。网络虚拟化对于上层用户透明,不同的业务提供者可在虚拟网中部署完全异质化的网络架构(寻址/路由和网络协议)、业务以及控制管理逻辑。

(3)物理网络的高灵活可编程性

OpenFlow利用软件定义的流表实现对转发行为的可编程。SDNIMS进一步扩展了用户对物理设备的可编程能力。除流表外,SDN交换机还具有多方面可编程性,用户可对交换结点的多种行为进行细粒度编程,满足业务多样化以及日趋复杂的网络管理控制的需求。交换结点的可编程性包括:可编程的传输转发/交换方式(如分组转发、虚电路交换、标签交换等)、可编程的网络协议、可编程的数据流处理(转发、过滤、QoS控制等)以及可编程的网络管理控制(性能监测、资源管理等)。

2.2 SDNIMS体系架构

SDNIMS的体系结构模型如图1所示。图1整体上分为3个层次:物理网络层、SDN控制器层、业务管理与控制层。

物理网络层(即数据转发层)完成数据传输与转发功能,是整个架构的底层基础设施。物理网络由一系列支持SDN的交换结点依据运营商规划的拓扑互联而成。SDN结点在上层控制器的控制下进行数据流处理(利用扩展的OpenFlow协议)。SDNIMS架构中的交换结点(及物理网络)均支持多样化、高灵活的可编程。在SDN控制器层的统一策略和编程控制下,物理网络构成统一融合的多业务数据传输平面,支持多种业务以不同接入方式、传输/交换模式和网络协议进行传输。

SDN控制器层在架构中承担SDN控制器的角色,在逻辑上可看作是一个集中式控制器,对数据转发层的行为进行统一控制和管理。在物理上,控制器层可由若干相互协作的控制器构成,或采用云计算平台实现,以提高可靠性和可扩展性。对外,整个SDN控制器层表现为一个集中式的逻辑控制器实体。

在功能结构上,控制器层由网络操作系统(NOS)及若干基本功能组件(拓扑、资源管理等)构成。其南向接口采用扩展的OpenFlow协议,实现对物理设备的编程和控制;其北向提供SDN应用编程接口(API),使高层软件能对物理网络中的数据传输进行编程和控制。SDN网络的虚拟化是SDNIMS控制器层的重要功能,实现底层物理网络与虚拟SDN网络之间的映射,并保证虚拟网络之间相互隔离。

业务管理/控制层,实现各种业务网络的控制和管理功能。SDNIMS支持基于虚拟网络构建业务网络,不同虚拟网分配给不同的业务提供者,独立部署其业务及其管控逻辑。在用户视角上虚拟SDN网络与实际SDN网络并无差异,均向用户提供NOS、基本的SDN功能及开放的SDN API。业务提供者可在业务控制器上利用SDN的方法,在虚拟SDN网中部署其网络业务和应用。

总体来看,SDNIMS允许不同业务网络的数据流共享统一融合的数据转发平面;同时通过网络虚拟化,将不同业务网络的控制平面的功能相互隔离,分别独立由其各自业务提供者来进行控制和管理。

2.3 SDNIMS功能模型与组件

SDNIMS架构的功能模型及其主要功能组件如图2所示。架构的底层由高可编程的SDN交换机构成。通过扩展的OpenFlow协议,上层软件可对交换机进行多种功能的软件定义,以支持网络虚拟化与多业务融合。SDNIMS的控制部分包括两个层次:SDN控制器层负责全局SDN网络的管理控制,业务管理控制层负责业务网络(虚拟SDN网络)的管理控制。

2.3.1 高灵活可编程SDN交换机

OpenFlow交换机仅支持通过流表实现数据流处理的可编程。该方式适合于互联网的分组转发,但难以满足异构网络协议和多业务融合的需求。新型SDN交换机需提供更多的可编程性,包括:

(1)流表匹配项的可编程

OpenFlow的流表使用分组中一组固定字段作为数据流的匹配项。这实际上是对IP协议进行了预先优化,但无法灵活支持其他协议类型,包括用户定义的新型协议。新型交换机将允许用户灵活定义流表匹配项的格式、位置和类型等属性,实现对异构协议的支持。

(2)数据流操作与处理的可编程

现有OpenFlow流表无法支持诸如隧道封装、标签交换、服务质量(QoS)控制等复杂的数据流处理能力,而这些能力往往是实现网络业务管理控制必需的。解决这一问题的方法是提供一种软件定义的方式,使业务开发者能够按需扩展数据流的处理能力。

(3)网络维护/管理处理与操作的可编程

交换机设计将性能监测、资源/队列管理等维护管理的底层操作行为标准化,并开放其编程接口。上层软件能够编程和配置这些底层操作,设计基于软件定义的网络的维护管理功能。

SDN交换机设计结构分为控制通道与数据通道两部分,如图3所示。为支持异构网络协议,数据通道中引入了可编程的协议解析组件,可根据协议描述模版,解析到达分组的协议格式,并提取指定字段作为流表匹配项。协议描述模版由上层控制器配置,使解析组件能识别任意协议格式。输出的流表匹配项以TLV格式表示,在后续的数据流水线(Pipeline)中用于进行流表匹配。

数据流水线中使用并行化的多级流表。通过编程,可将不同业务/协议的流表相互独立,配置成不同的流水线,进行并行处理。流表的操作集合是可扩展的,上层软件可按需定义和添加新的操作方法,以支持复杂的数据流处理,如标签交换、QoS操作、隧道封装、安全性等。

系统支持以软件定义的方式实现网络管理/维护功能。交换机还增加了与网络管理相关的操作和处理功能。通过对一些特殊流表的配置,上层软件可利用这些操作协同完成网络维护/管理功能。同样,上层软件可定义交换机上各队列的属性、调度策略、带宽和优先级,实现网络资源的精细化管控。

交换机的控制通道负责与上层控制器的交互,其协议采用扩展的OpenFlow。协议扩展用于支持交换机上新增的可编程属性,包括可编程的协议解析和数据流操作,以及性能测量与队列管理等。

2.3.2 SDN控制器层

SDN控制器层对整个物理网络实现管理和控制,同时向上层提供编程接口。在逻辑上,控制器层是一个集中式实体,包括两部分:网络操作系统(NOS)以及一组SDN基础功能组件。NOS及功能组件主要提供了数据流编程与控制、网络管理、网络虚拟化等3类功能。

数据流编程/控制功能用于定义交换机上与数据流处理相关的行为和配置,如接口配置、协议描述模板、流表及流表的操作等。网络管理组件提供网络维护管理相关的功能,如拓扑发现和管理、路由,以及网络资源管理和性能监测等。

为支持多业务融合,控制器层实现了SDN网络的虚拟化。不同网络业务分别在隔离的虚拟网中开发和部署。虚拟网管理组件的结构如图4所示。图4实现物理网络与虚拟网之间的拓扑与资源的映射、网络事件的映射与分发以及资源分配与隔离等功能。虚拟网向上层软件提供一个虚拟的NOS以及一组SDN服务组件及其API接口。系统从两个方面实现虚拟网络之间的隔离。一方面通过统一控制的资源及网络事件映射,将不同虚拟网的管理控制平面相互隔离;另一方面,通过对底层交换机的编程(包括对流表、队列的配置),使不同虚拟网络的数据平面也实现了相互隔离。

转发平面为支持多业务虚拟网,交换机中的多级流表和队列将被编程配置成图5所示的形式。利用多级流表的特性,交换机对不同虚拟网络使用的流表进行了隔离。流表被进行逻辑划分,分别为每个虚拟网形成一条独立流表流水线,并为每条数据流水线配置独立的数据转发队列。为区分不同虚拟网的数据流,利用交换机对网络协议和操作的可编程性,在边缘交换机上对不同虚拟网的数据流添加虚拟网标识(VNID)标签(在全网中标识其所属虚拟网)。交换机多级流表中的0号流表作为全局流表,用于匹配和识别到达分组的VNID,并根据VNID将分组引导到其对应虚拟网的流水线上。若到达分组无可匹配VNID,则控制器可向0号流表下发一条特殊流表项,为到达分组添加相应的VNID标签,然后进行后续的处理。

SDNIMS允许不同的虚拟网采用不同的网络体系和寻址路由架构。虚拟SDN控制器可根据各自的需要生成专用的流表,这些流表经控制器层的虚拟网管理组件的映射,被编程和配置到物理网络交换机中该虚拟网的流表流水线中。在图5中,虚拟网1支持信息中心网络(ICN)网络架构,其流表中使用统一资源定位符(URL)进行匹配和数据转发;虚拟网2支持标签交换,在其流表中利用分组的多协议标签交换(MPLS)标签来进行转发;采用传输控制协议/网间协议(TCP/IP)架构的虚拟网络则在流表中采用传统的k元组匹配方式处理分组。

2.3.3 业务网络的管理与控制层

不同虚拟网络用户可独立开发和部署其业务网络的控制和管理功能。SDNIMS向虚拟网用户提供标准SDN网络编程API,用户可使用虚拟网NOS、SDN组件及API,利用SDN设计方法和工具,在虚拟SDN网络中开发和部署其网络业务和应用。在SDNIMS中,业务管控系统的功能和设计结构是与其网络业务特性高度相关的,取决于虚拟网用户的设计。

3 SDNIMS架构的应用场景

实例

SDNIMS的一个应用场景如图6所示。图6将现有的话音通信业务、广播电视业务和传统互联网部署在统一的SDN物理网络上。不同的网络业务具有不同的需求。话音业务实时性要求高,在管理控制上类似于电路交换的控制。广播电视业务对于网络带宽需求较高,同时需要交换节点能够支持广播式转发。

多业务部署时,首先为每种业务网络定义所需的网络拓扑及资源属性(包括带宽、流表、优先级等),然后定义各业务网络的数据平面所采用的传输协议。SDNIMS交换机支持用户自定义的传输协议,用户可根据需要选择高效的数据传输模式。例如,话音业务和广电业务均可采用标签交换形式,从而避免繁琐的TCP/IP封装。在此基础上,运营者可利用SDN API来设计和部署其业务管理与控制逻辑。

4 结束语

本文提出了一种支持多业务融合的SDN网络基础架构——SDNIMS。SDNIMS在数据平面上提供了高灵活度的可编程性,支持以软件定义方式实现不同业务异质化数据的融合转发;同时利用网络虚拟化,为不同的业务网络提供独立且相互隔离管理控制平面,支持多样化业务在统一的SDN基础设施中的融合。

参考文献

[1] MCKEOWN N. Software-defined networking: the new norm for network [R]. White Paper. ONF, 2012.

[2] WANG W, HU Y, QUE X, et al. Autonomicity design in Openflow based software defined networking [C]//Proceedings of the 2012 IEEE Globecom Workshops(GC Wkshps’12), Dec 3-7,2012, Anaheim, CA, USA. Piscataway, NJ, USA: IEEE, 2012:818-823.

[3] PFAFF B, LANTZ B, HELLER B, et al. OpenFlow switch specification, version 1.3.0 [S]. Open Networking Foundation, 2012.

[4] EU FP7 project: SPARC (Split Architecture Carrier Grade Networks) [EB/OL]. [2012-09-12]. http://www.fp7-sparc.eu/.

[5] CHOWDHU N M K, BOUTABA R. A survey of network virtualization [J]. Computer Networks, 2010,54(4):862-876.

[6] SONKOLY B, GULY?S A, CZENTYE J, et al. Integrated OpenFlow virtualization framework with flexible data, control and management functions [C]//Proceedings of the 31st Annual Joint Conference of the IEEE Computer and Communications (INFOCOM’12), Mar 25-30,2012, Orlando, FL, USA. Piscataway, NJ, USA: IEEE, 2012.

[7] SALVADORI E,DORIGUZZI CORIN R, GEROSA M, et al. Demonstrating generalized virtual topologies in an OpenFlow network [J]. ACM SIGCOMM Computer Communication Review, 2011,41(4):458-459.

[8] SHERWOOD R, GIBB G, YAP K, et al. Flowvisor: A network virtualization layer [R]. OpenFlow Switch Consortium, 2009.

[9] DRUTSKOY D, KELLER E, REXFORD J. Scalable network virtualization in software-defined networks [J]. IEEE Internet Computing, 2013,17(2):20-27.

[10] VELTRI L, MORABITO G, SALSANO S, et al. Supporting information-centric functionality in software defined networks [C]//Proceedings of the IEEE International Conference on Communications (ICC’12), Jun 10-15,2012, Ottawa, Canada. Piscataway, NJ,USA: IEEE, 2012: 6645-6650.

上一篇:软件定义网络架构研究与实践 下一篇:基于软件定义的弹性智能边缘网络