软件定义网络(SDN) 是一种革新的网络体系架构设计技术。由于其支持控制与转发分离、开放的编程接口,以及软件可定义的转发控制,SDN极大地提高了实现网络与业务的管理控制的灵活性。当前,SDN已在诸多领域成功应用,但SDN在核心网络架构设计中的应用仍存在大量问题,包括SDN对网络/业务异构性支持、在大规模网络中控制平面的可扩展性与安全性等。
网络与业务融合是未来网络发展的重要趋势,网络基础设施应能支持不同业务融合高效地转发SDN技术为实现这一目标提供了一条崭新途径。利用SDN的可编程性,设计者能够有效解决网络架构设计中复杂的网络管理与控制问题。
为使SDN网络支持业务融合与服务异质化的网络环境,一首先需要在SDN转发平面上提供高灵活度的软件可编程性,以支持多样化的用户需求、设备、通信协议及数据处理方式;其次,需要在控制平面上对不同业务网络进行区分和隔离。将SDN网络资源映射到不同虚拟网络,实现网络虚拟化是一种可行的隔离方案。
1.SDN相关工作
为使SDN网络支持业务融合,文献提出了一种基于OpenFlow的自治SDN框架模型,支持多种业务部署在统一的物理网络上,并在控制平面中利用自治网络技术提高网络和业务的自管理能力。OpenFlow 1.3协议在转发平面中引人了多级流表构成流水线,流表项的匹配采用类型/长度/值(TLV)格式。TLV格式易于扩展,适于支持多种不同的业务和网络协议。欧盟FP7的SPARC多个研究项目探索了如何扩展OpenFlow以满足电信级网络的需求,如支持标签交换和多业务融合。
SDN网络的虚拟化是多业务SDN网络体系结构研究中的另一关键技术。虚拟化需要通过抽象、分配、隔离等机制将SDN物理网络映射为多个虚拟SDN网络,且能够在各虚拟SDN网络上互不影响地部署不同的网络架构和协议体系,支持不同的网络业务,并可按需对虚拟网络进行动态的资源配置。
现有的SDN网络虚拟化方案可分为3类。一是基于交换机的虚拟化,此类方案提供良好的隔离性,但不适于动态的扩展和调整。第二类包括ADVisor、FlowVisor等方案,在交换机与控制器间加人一个虚拟化层。此方案简单易部署,但其虚拟化层对用户透明,用户无法通过软件编程方式来动态调整其资源配置。第三类方案在控制器上实现虚拟化,如SPARC Flow等,将虚拟化管理作为网络操作系统(NOS)的一项基础服务,支持虚拟化配置的动态调整。
文献探索了在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控制器层、业务管理与控制层。
图1 SDNIMS的体系结构
物理网络层(即数据转发层)完成数据传输与转发功能,是整个架构的底层基础设施。物理网络由一系列支持SDN的交换结点依据运营商规划的拓扑互联而成。SDN结点在上层控制器的控制下进行数据流处理(利用扩展的OpenFlow协议)。SDNIMS架构中的交换结点(及物理网络)均支持多样化、高灵活的可编程。在SDN控制器层的统一策略和编程控制下,物理网络构成统一融合的多业务数据传输平面,支持多种业务以不同接入方式、传输/交换模式和网络协议进行传输。
SDN控制器层在架构中承担SDN控制器的角色,在逻辑上可看作是一个集中式控制器,对数据转发层的行为进行统一控制和管理。在物理上,、控制器层可由若干相互协作的控制器构成,或采用云计算平台实现,以提高可靠性和可扩展性。对外,整个SDN控制器层表现为一个集中式的逻辑控制器实体。
在功能结构上,控制器层由网络操作系统(NOS)及若干基本功能组件(拓扑、资源管理等)构成。其南向接口采用扩展的OpenFlow协议,实现对物理设备的编程和控制;其北向提供SDN应用编程接口(API),使高层软件能对物理网络中的数据传输进行编程和控制。SDN网络的虚拟化是SDNIMS控制器层的重要功能,实现底层物理网络与虚拟SDN网络之间的映射,并保证虚拟网络之间相互隔离。
业务管理/控制层,实现各种业务网络的控制和管理功能。SDNIMS支持基于虚拟网络构建业务网络,不同虚拟网分配给不同的业务提供者,独立部署其业务及其管控逻辑。在用户视角上虚拟SDN网络与实际SDN网络并无差异,均向用户提供NOS、基本的SDN功能及开放的SDNAPI。业务提供者可在业务控制器上利用SDN的方法,在虚拟SDN网中部署其网络业务和应用。
总体来看,SDNIMS允许不同业务网络的数据流共享统一融合的数据转发平面;同时通过网络虚拟化,将不同业务网络的控制平面的功能相互隔离,分别独立由其各自业务提供者来进行控制和管理。
2.3 SDNIMS功能模型与组件
SDNIMS架构的功能模型及其主要功能组件如图2所示。架构的底层由高可编程的SDN交换机构成。通过扩展的OpenFlow协议,上层软件可对交换机进行多种功能的软件定义,以支持网络虚拟化与多业务融合。SDNIMS的控制部分包括两个层次:SDN控制器层负责全局SDN网络的管理控制,业务管理控制层负责业务网络(虚拟SDN网络)的管理控制。
图2 SDNIMS的功能结构
2.3.1 高灵活可编程SDN交换机
OpenFlow交换机仅支持通过流表实现数据流处理的可编程。该方式适合于互联网的分组转发,但难以满足异构网络协议和多业务融合的需求。新型SDN交换机需提供更多的可编程性,包括:
(1)流表匹配项的可编程
OpenFlow的流表使用分组中一组固定字段作为数据流的匹配项。这实际上是对IP协议进行了预先优化,但无法灵活支持其他协议类型,包括用户定义的新型协议。新型交换机将允许用户灵活定义流表匹配项的格式、位置和类型等属性,实现对异构协议的支持。
(2)数据流操作与处理的可编程
现有OpenFlow流表无法支持诸如隧道封装、标签交换、服务质量(QoS)控制等复杂的数据流处理能力,而这些能力往往是实现网络业务管理控制必需的。解决这一问题的方法是提供一种软件定义的方式,使业务开发者能够按需扩展数据流的处理能力。
(3)网络维护/管理处理与操作的可编程
交换机设计将性能监测、资源/队列管理等维护管理的底层操作行为标准化,并开放其编程接口。上层软件能够编程和配置这些底层操作,设计基于软件定义的网络的维护管理功能。
SDN交换机设计结构分为控制通道与数据通道两部分,如图3所示。为支持异构网络协议,数据通道中引人了可编程的协议解析组件,可根据协议描述模版,解析到达分组的协议格式,并提取指定字段作为流表匹配项。协议描述模版由上层控制器配置,使解析组件能识别任意协议格式。输出的流表匹配项以TLV格式表示,在后续的数据流水线( Pipeline)中用于进行流表匹配。
图3 高灵活可编程的SDN交换机
数据流水线中使用并行化的多级流表。通过编程,可将不同业务/协议的流表相互独立,配置成不同的流水线,进行并行处理。流表的操作集合是可扩展的,上层软件可按需定义和添加新的操作方法,以支持复杂的数据流处理,如标签交换、QoS操作、隧道封装、安全性等。
系统支持以软件定义的方式实现网络管理/维护功能。交换机还增加了与网络管理相关的操作和处理功能。通过对一些特殊流表的配置,上层软件可利用这些操作协同完成网络维护/管理功能。同样,上层软件可定义交换机上各队列的属性、调度策略、带宽和优先级,实现网络资源的精细化管控。
交换机的控制通道负责与上层控制器的交互,其协议采用扩展的OpenFlow。协议扩展用于支持交换机上新增的可编程属性,包括可编程的协议解析和数据流操作,以及性能测量与队列管理等。
2.3.2 SDN控制器层
SDN控制器层对整个物理网络实现管理和控制,同时向上层提供编程接口。在逻辑上,控制器层是一个集中式实体,包括两部分:网络操作系统(NOS)以及一组SDN基础功能组件。NOS及功能组件主要提供了数据流编程与控制、网络管理、网络虚拟化等3类功能。
数据流编程/控制功能用于定义交换机上与数据流处理相关的行为和配置,如接口配置、协议描述模板、流表及流表的操作等。网络管理组件提供网络维护管理相关的功能,如拓扑发现和管理、路由,以及网络资源管理和性能监测等。
为支持多业务融合,控制器层实现了SDN网络的虚拟化。不同网络业务分别在隔离的虚拟网中开发和部署。虚拟网管理组件的结构如图4所示。图4实现物理网络与虚拟网之间的拓扑与资源的映射、网络事件的映射与分发以及资源分配与隔离等功能。虚拟网向上层软件提供一个虚拟的NOS以及一组SDN服务组件及其API接口。系统从两个方面实现虚拟网络之间的隔离。一方面通过统一控制的资源及网络事件映射,将不同虚拟网的管理控制平面相互隔离;另一方面,通过对底层交换机的编程(包括对流表、队列的配置),使不同虚拟网络的数据平面也实现了相互隔离。
图4 网络虚拟化功能模型
转发平面为支持多业务虚拟网,交换机中的多级流表和队列将被编程配置成图5所示的形式。利用多级流表的特性,交换机对不同虚拟网络使用的流表进行了隔离。流表被进行逻辑划分,分别为每个虚拟网形成一条独立流表流水线,并为每条数据流水线配置独立的数据转发队列。为区分不同虚拟网的数据流,利用交换机对网络协议和操作的可编程性,在边缘交换机上对不同虚拟网的数据流添加虚拟网标识(VNID)标签(在全网中标识其所属虚拟网)。交换机多级流表中的0号流表作为全局流表,用于匹配和识别到达分组的VNID,并根据VNID将分组引导到其对应虚拟网的流水线上。若到达分组无可匹配VNID,则控制器可向0号流表下发一条特殊流表项,为到达分组添加相应的VNID标签,然后进行后续的处理。
SDNIMS允许不同的虚拟网采用不同的网络体系和寻址路由架构。虚拟SDN控制器可根据各自的需要生成专用的流表,这些流表经控制器层的虚拟网管理组件的映射,被编程和配置到物理网络交换机中该虚拟网的流表流水线中。在图5中,虚拟网1支持信息中心网络(ICN)网络架构,其流表中使用统一资源定位符(URL)进行匹配和数据转发;虚拟网2支持标签交换,在其流表中利用分组的多协议标签交换(MPLS)标签来进行转发;采用传输控制协议/网间协议(TCP/IP)架构的虚拟网络则在流表中采用传统的k元组匹配方式处理分组。
图5 高灵活度可编程SDN交换机对虚拟网的支持
2.3.3 业务网络的管理与控制层
不同虚拟网络用户可独立开发和部署其业务网络的控制和管理功能。SDNIMS向虚拟网用户提供标准SDN网络编程API,用户可使用虚拟网NOS,SDN组件及API,利用SDN设计方法和工具,在虚拟SDN网络中开发和部署其网络业务和应用。在SDNIMS中,业务管控系统的功能和设计结构是与其网络业务特性高度相关的,取决于虚拟网用户的设计。
3.SDNIMS架构的应用场景实例
SDNIMS的一个应用场景如图6所示。图6将现有的话音通信业务、广播电视业务和传统互联网部署在统一的SDN物理网络上。不同的网络业务具有不同的需求。话音业务实时性要求高,在管理控制上类似于电路交换的控制。广播电视业务对于网络带宽需求较高,同时需要交换节点能够支持广播式转发。
图6 SDNIMS的应用场景实例
多业务部署时,首先为每种业务网络定义所需的网络拓扑及资源属性(包括带宽、流表、优先级等),然后定义各业务网络的数据平面所采用的传输协议。SDNIMS交换机支持用户自定义的传输协议,用户可根据需要选择高效的数据传输模式。例如,话音业务和广电业务均可采用标签交换形式,从而避免繁琐的TCP/IP封装。在此基础上,运营者可利用SDN API来设计和部署其业务管理与控制逻辑。
4.结束语
本文提出了一种支持多业务融合的SDN网络基础架构—SDNIMS。SDNIMS在数据平面上提供了高灵活度的可编程性,支持以软件定义方式实现不同业务异质化数据的融合转发;同时利用网络虚拟化,为不同的业务网络提供独立且相互隔离管理控制平面,支持多样化业务在统一的SDN基础设施中的融合。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/