陈超,王帅,李智,谭碧莹,段雅倩,舒忠
(荆楚理工学院,荆门448000)
开放性、敏捷性、灵活性和高效性是任何一个计算机网络管理系统所追寻的主要目标,特别是当今以互联网及以下规模的网络系统应用为主体,异构性特点突出的网络系统运行环境。在典型的IP 和光网络并存在的复杂网络环境下,开放性目标需要解决的问题是对不同的网络软硬件系统及网络拓扑结构、不同的网络交换设备等涉及要素可控,还需要考虑到不同的网管系统内部之间的兼容性;敏捷性需要解决的问题是快速地管控信息通信通道构建;灵活性需要解决的问题是对管控目标的发现与相应问题处理能够实现自主运算,对管控对象收放自如;高效性需要解决的问题是考虑投入及运行成本,智能化实现对网络系统的运行与维护。因此,在异构化网络环境中能够及时、准确、自主地发现管理与控制目标,便捷地实现对整个网络系统的运行和维护,是当今网络管理系统研究的主要方向,对构建高效的网络管理系统意义重大。
至目前,在计算机网络管理技术应用中,针对IP网络管理目标的网管技术主要是SNMP(Simple Network Management Protocol,简单网络管理协议)和TMN(Telecommunications Management Network,电信管理网络)[1]。当前,以软件定义网络理念为主的网管技术是SDN(Software Defined Network,软件定义网络)[2]和SDON(Software Defined Optical Network,软件定义光网络)[3]。
SDN 网络管理系统构建的关键是将物理设备层、网络管理功能层和网络管理应用层三层结构有机地融合在一起,目标是实现网管系统的网络设备管理和管理信息控制分离开来,将多样化的网络交换设备从管理的角度,对其设备的标识(不管设备的具体型号及功能信息)和传输信息(针对网管设备的管理与控制信息)进行统一规范性定义,形成清晰地网管系统管理和控制层次。今后一段时期,SDON 技术的研究与应用,将成为网络管理技术领域主流方向,5G 通信时代已经来临,可以对此进行说明。但是,IP 网络在短时期内完全消失的可能性并不大,也就决定了SDN 技术的存在还具有非常重大的意义。近几年里,SDN 技术的研究方向主要体现在网间路由自主更新方面[4],特别是SDN技术在卫星通信网络中的应用有了一定的突破[5],在社会发展各领域的应用也非常广泛。
最初的网络管理技术应用思维,基本同计算机操作系统的应用一样,在一种网管技术提出后,宏观方面,通过版本升级逐步发展;微观方面,采用“补丁模式”改进。随着计算机网络技术的迅猛发展,网络系统异构化特点突现,系统化解决网络管理问题的思维得以应用于实践。
当然,网络管理技术的发展离不开新型网络系统模型的构建。从1990 年开始,美国首先提出了主要针对一种基于互联网架构FIND 全新网络系统构建模型,同时,也为提出了为这种网络系统模型的运行提供实验及验证的GENI 网络系统验证模型[6];至2006 年,日本也针对基于新型网络系统模型的构建进行了研究与实验,并在关键技术上取得了新的突破;至2007 年,欧盟对FIND 模型采用共存、共控、互补的模式对全球网络系统的互联进行了研究[7],并在一些领域进行了应用;至2016 年,逐步提出了基于互联网体系、基于命名数据、基于移动互联网、基于云计算和基于异构化特征的网络体系构建模型[8-12];至今,已出现了组网灵活、技术多样的全球计算机网络体系结构。
在网络管理技术的发展方面,最早起源于电话通信中的语音传输与传输过程控制分离的理念,针对网络系统的数据传输特点,2004 年至2007 年,实现了对数据传输过程的控制与数据存储转发机制的分离,最为突出的是提出了四层网络管理体系的模型,图1 所示为基于网管数据、路由发现、信息传输和控制策略四层网络管理体系结构的模型。四层网络管理体系中的网管信息传输过程由所设计的网络管理对象、网络管控过程和网管信息控制三个集合定义组成,其网管信息以编码运算的方式进行处理与传输;将网管实现通道的构建决策机制(包括一些自主决策机制)独立出来,并对信息通道构建以逻辑运算的方式进行处理与传输。
图1 四层网络管理体系结构模型
基于四层网络管理体系结构模型的提出,为2008年美国提出OpenFlow 技术(一种数据链路层网络通信协议)[2]奠定了基础,同时,也是SDN 网络管理体系构建的基础。OpenFlow 技术通过对种数据传输接口进行规范定义,通过通信协议实现了与网络交换设备(数据交换机或路由器)的连接,图2 为OpenFlow 内部信息通信流程图。至2012 年,制定了基于OpenFlow 技术的网管系统构建标准,并广泛应用于互联网及以下规模的各类计算机网络系统。我国的软件定义网络研究从2013 年开启,至今在研究与应用方面都取得了较大的成就,国内参与研究的机构以企业为主,如:华为、中兴通讯、中国电信、中国移动、中国联通、腾讯等,还有一些国内知名高校也参与其中。
图2 OpenFlow内部信息通信流程图示
SDN 技术的网管路由发现与控制可视化和流表式信息转发机制,大大提高了对计算机网络系统的管理与控制效率。路由可视化,直观地为负载均衡机制的实施提供了便利,促使网络带宽得到了充分利用;流表转发机制,提供了针对网络信息传输的通断检测功能,使得对网络管理数据信息的检测更加及时、主动、灵活。SDN 技术的应用实现了“人工手动”向“自主智能”网管模式的转换。
由于SDN 技术需要实现网管设备对象的描述信息与网管控制信息的分离,并依赖于统一标准的系统设备物理层设备连接和数据信息通信接口,因此,基于SDN 技术应用的网络管理系统构建,需要重点解决以下几个方面的问题:①依据ETSI 标准化组织提出的网络功能虚拟化(NFV)标准,构建以虚拟化物理层、虚拟化功能实现层和虚拟化应用层为基本结构的通用型SDN 网络管理系统模型是首先需要考虑的问题。②网管数据信息的传输分配算法优化,以数据转发为主体的网管资源机制设计,对资源分配算法的实现效果进行评估。③以OpenFlow 协议开放网络路由控制为基础,实现对异构化混合网络的分布式路由可视化管理控制。④对未来新型网络系统的结构分析,结合SDN网络资源动态管理功能的实际需求,在NFV 标准构建的SDN 网络管理系统三层模型的基础上,通过引入SDN 资源管理层,构建真正能够实现网络资源动态管理的网管系统模型,等等。
最初的虚拟SDN 网管系统结构模型于2012 年提出,主要由设备层、控制层和应用层组成,图3 为虚拟化SDN 网管系统的三层结构图。其中,设备层主要负责对网管系统管理的网络交换设备进行定义,当时主要管理的网络交换设备只是网络交换机,采用只盯设备不管设备的具体型号、功能及内部结构的策略,通过统一编制标识对相应的交换设备进行定义,且设备标识在网络系统和管理系统运行的状态下,进行随机有序识别,将被发现的交换设备纳入整个网管系统的对象中。控制层由SDN 软件系统组成,根据SDN 软件制定的网络管理规则,主要负责对网络管理功能实现的控制信息进行统一管理,为网管功能实现提供信息传输通道和组织功能的具体实施。应用层由网管功能的相应执行程序组成,程序通过交互式执行界面表现,负责直接发出进行网管操作的全部指令。设备层与控制层之间的数据交换采用OpenFlow 通信协议进行传输,这也是整个网管系统实现虚拟化管理的关键。控制层与应用层之间的数据交换采用API 程序接口(Application Programming Interface,应用程序接口,是定义数据信息、定义程序之间连接方式和数据传输通信协议等组成元素的集合)与SDN 软件进行数据交换。该网管系统结构模型,突出了OpenFlow 通信协议的重要性,清晰地定义了控制层的控制信息与网络交换设备的管理信息的接口,采用集中式的管理模式,为网管过程的实施提供了很大的便利。主要的缺点是网管的自主性只表现在了对网管对象(数据交换机)的发现上,几乎没有考虑到网管功能实现过程的自主性管理与控制方面。
图3 虚拟化SDN网管系统的三层结构图示
针对最初虚拟SDN 网管系统结构模型在商用中存在问题的总结,研究人员于2013 年提出了一个相对稳定的SDN 网管系统结构模型,并一直沿用至今,虽然近几年来针对这个模型的改进一直没有中断,但都没有打破首次提出模型的总体结构,对模型组成模块的功能进行扩展研究是主要方向。这一阶段对SDN网管系统结构模型研究与应用的改进成果有[13]:①在层次结构上,将原有的设备层(名称改为数据平面)、控制层(名称改为控制平面)和应用层(名称改为应用平面)三层结构的组成元素进行了明确定义,并增加了一些组成元素。②在控制层引入SDN 控制器,在应用层与设备层的连接上,采用代理接口策略;同时,用于规范与设备层与控制层之间的数据传输接口定义。③提出了SDN 数据通道,并制定了通道配置策略;在SDN 管理模块中,引入了SLA 管理服务策略(Service Level Agreement,服务级别协议);增加了网络性能检测模块,全面掌控网络系统的运行状态,为自主分配管理信息传输通道提供便利;提供了网管功能和网管对象的扩展接口,以利于网管功能和网管设备的动态扩展。④在控制层中,明确定义了SDN 北向接口(NBI)、SDN南向接口(CDPI)的概念,北向接口用于与应用层实现连接,通过接口标准统一规划,达到调用设备层资源的目标;南向接口用于与设备层实现连接,发现网络系统中的数据交换设备、跨网连接路由设备,制定管理信息通道的连接策略,管理信息的数据流表下发等是主要其主要任务。⑤OpenFlow 的重要性主要体现在网管信息传输的通信方面,在整个SDN 网管系统的核心地位被削弱。图4 为当前采用的SDN 网管系统模型内部结构图。
图4 当前采用的SDN网管系统模型内部结构图示
一些网络营运机构和网络设备制造商,根据网络管理规模、网络服务需求、网络设备开发设计标准、网络设备功能等自身因素,提供网管技术和方案,基本上也都是遵循了基于OpenFlow 技术的网管系统模型定义规则,实现SDN 网管系统的构建,在网管系统的层次结构和功能组成方面,具有较高的一致性。但是,对于网管系统各功能层的连接,都具有各自的特点,在程序与程序之间、程序与设备之间的通信接口定义都不尽相同,从而产生了SDN 网管系统在构建规则上的差异。在实际应用中,出现了以开放网管信息控制、开放信息传输控制、虚拟化与IP 网管融合、虚拟化网络功能等四种常见的SDN 网管系统构建方案,图5 为四种常见的SDN 网管系统构建方案。
图5 四种常见的SDN网管系统构建方案
以开放网管信息控制为主的SDN 网管系统构建方案,需要严格执行NFV 标准,应按图4 所示构建SDN 网管系统内部结构,针对通用的网络交换设备进行管理,以网管程序为主,运行网管功能,在互联网中被广泛应用。这种网管系统构建规则的应用,实现了对网络传输数据流量的控制和网络管理资源的自主配置。
以开放信息传输接口为主的SDN 网管系统构建方案,需要对API 北向程序接口进行严格统一的定义,清晰地描述网管发生事件,准确地定义网络运行状态的信息传输接口,同时,还需要制定网管应用程序的开发设计规则。
以虚拟化与IP 常规网管策略融合为主的SDN 网管系统构建方案,需要依据IP 网络和虚拟网络两层结构定义网管系统模型,对网络管理对象的数据交换设备都应采用虚拟连接,在IP 网络中只要交换设备能被发现,就可以实现虚拟连接。
以虚拟化网络功能为主的SDN 网管系统构建方案,需要将网络管理功能和网络管理的设备进行分离,对全部网管设备进行虚拟化管理,对于结构复杂的大型网络系统,其运行效果有所提高,并且可以实现动态管理。
SDN 网管技术主要涉及应用层程序的开发和对网管对象资源进行管理(控制层与设备层的连接)两个方面,同时,混合式网络管理与控制的方式选择。
SDN 网管系统的应用,主要是如何实现对网管信息的传输与网管信息传输通道控制进行分离,网管信息的传输必须依托网管操作平台(也就是网管操作系统,交互式和可视化是重点考虑的因素)实现,因此,网管系统应用程序开发首先需要考虑对网络编程工具的选择。当前,已有的网管操作平台编程工具包括:NOX、NOX-MT、Maestro、Onix、HyperFlow、Kandoo、Beacon、Floodlight、POX、Ryu、ONOS、Rosemary、Open Day Light 等[14]。和其他软件系统的开发一样,网管操作系统编程工具设计的控制主控模块,需要考虑的主要因素包括:所支持的线程(或单线程或多线程或虚拟连接)、分布式(或集中式)管理机制的应用、隔离策略的应用、模块化(或容器化或插件化)内部结构的选择、编程语言的选择(或C++或Java 或Python 等)等。
在应用层的设计中,网管信息的获取范围(全局或局部信息)的定义、NBI 接口和CDPI 南向接口的定义、控制与管理对象(OpenFlow 交换机、路由器等设备)的定义、各种管理和控制协议的应用、针对网管信息通信协议的应用等方面,都是非常关键的因素。
在应用层的设计中,相关的研究成果,在技术上已具有很大的优势,但是,在实际应用中,一些优势并没有完全体现出来。所出现的问题主要表现在两个方面:一是虚拟技术的应用在超大型网络系统(特别是互联网)实现有效部署的难度大,隔离策略防范故障发生和网络安全的有效能力难于真正发挥,网管功能、网管对象等方面的扩展能力不强;二是对于超大型网络系统的管理,对所有细节因素的标准化、统一化定义难于实施,特别是针对网管信息描述的细节定义精细与粗疏交融,针对网管信息的传输通道自主匹配、动态组合的控制难于实施。
SDN 网管系统的软硬件资源管理主要体现在控制层和设备层的设计上,特别是控制层与设备层的连接尤为重要。SDN 资源管理以虚拟技术应用为基础,主要涉及对需要管理与控制的设备资源进行合理分配,当然,也涉及对访问这些设备资源的通道进行合理分配;还涉及到对设备资源、访问设备资源的通道的充分利用,以及为了实现资源及通道充分利用的调度与控制。
在SDN 网管系统的构建中,主要的虚拟化技术包括:Flow Visor、Flow N、Auto Slice、Open Virte X、Auto VFlow、Devo Flow、Hedera 等[15-16]。这些网管资源管理技术的关键可以总结为以下几种:①子网系统可以通过共享的方式,应用OpenFlow 通信协议与其他子网系统内的交换设备进行虚拟连接,实现了多个子网系统的共存共融;对网络带宽、网络拓扑结构、信息传输流量、应用层主控系统CPU 的运行能力和信息传输转发表(信息流表)五个技术参量进行明确定义;主控系统的设置不唯一,但分工明确,不跨所划分的子网;所获取的网管信息就是主控系统和OpenFlow 交换机之间的交换信息。这种网管方式的本质也是应用了网管代理策略,网管过程具有较高的透明度。②对管理的网络系统中的网络拓扑结构、网络设备地址和网管控制功能三个目标进行虚拟化管理与控制,同样采用网管代理策略。③通过基于自主部署虚拟节点,以最方便的路由运算为原则实现资源管理,达到提高资源利用率、精确检测管理信息流量、通过统计分析合理分配管理信息流量的目的。④引入多代理策略,利用网络拓扑虚拟映射连接,在多子网之间实现自主的网管信息交换。⑤基于云处理平台下,多网管操作平台可以对全部虚拟连接设备进行管控,还可以自主设计多个网管功能。以上技术需要考虑的主要因素包括:管控资源的参量描述(如:带宽、拓扑结构、信息流量、CPU 运行能力、信息流表、设备地址等)、资源的分配控制策略(单网管操作平台、多网管操作平台、资源利用率调整策略、信息流量控制策略、信息传输通道分配策略、负载均衡策略等)、是否具备动态管控资源的能力、网管信息获取的来源(如:网管操作平台的相应功能模块、网管数据交换机、网管操作平台向交换机发送的信息、交换机向网管操作平台发送的信息等)四个方面。
在控制层和设备层的设计上,主要的难点体现在控制层与设备层的连接方面,同时,也涉及与应用层的连接问题。另外,在应用方面问题最为突出。问题主要表现在两个方面:一是SDN 网管技术的开发应用主体为通讯产业企业,针对自身的业务范围,其网管对象的软硬系统种类、结构、功能等不尽相同,网管对象的主要数据交换设备的管控方式、动态管理策略、自主管理机制等也存在差异,特别是虚拟节点的部署规则没有一个统一的规则。二是针对采集的网络流量数据进行分析,实现对资源进行合理分配与控制的难度较大。
当前,还在广泛实际应用于网络管控方面的技术,都是以产品的方式直接部署于各类网络系统中,这类产品可能还需要通过功能集成后才能应用于实际的网络管理。经过连续的研究与开发,这些传统的网管技术可靠性是比较高的,且还有很高的再利用价值。传统网管技术通常只对设备层进行了定义,对一些网管功能的实现,则通过设计一些控制程序形成一个体系的软件系统完成,并没有形成严格意义的应用层和控制层,应用层和控制层的作用只是通过一些网管控制程序体现。因此,不可能体现网络系统的管控分离思想。需要手动调整控制参数,操作过程过于麻烦。基于这一现状,就出现了在传统网管技术应用的基础上,引入与SDN 技术混合的网管技术,且在实际应用中普遍存在。常用的SDN 混合网管技术主要包括以纯SDN 与纯IP 混合的网管模型(以网络拓扑结构为主要关注点)、纯IP 与IP-SDN 融合的混合网管模型(以网络功能服务为主要关注点)、IP-SDN 融合的混合网管模型(以网络管理类别为主要关注点)和纯SDN 的混合网管模型(以功能集成应用为主要关注点)为划分规则的混合网管模型[17],图6 为常用的四种SDN 混合网管技术应用模型。
图6 常用的SDN混合网管技术应用模型
以网络拓扑结构为基础的SDN 混合网管技术,首先将需要管理的整个网络系统划分为若干个子网,每个子网采用不同的管理方式,让传统网管技术与SDN网管技术相互分离,通过设置在被管理数据交换设备的控制器上,独自完成自己的网管任务,通过跨子网通信机制实现对整个网络系统的管理。
以网络功能服务为基础的SDN 混合网管技术,主要是针对网管对象的数据交换设备改造为突破点,在数据交换设备中设置两个不同的传统网管和SDN 网管控制器,使用两种技术各自完成相应的网管功能服务。
以网络管理类别为基础的SDN 混合网管技术,是在以网络功能服务为基础的SDN 混合网管技术应用基础上,对网管信息的流量进行控制,也就是一部分网管功能的实现由传统网管技术完成,另一部分网管功能的实现由SDN 网管技术完成。
以功能集成模式为基础的SDN 混合网管技术,是在网络系统中直接使用SDN 网管技术对数据交换设备进行管理与控制,在SDN 网管模块引入传统网管模块的数据信息通信协议,确保SDN 管控信息可以访问数据交换设备的控制器。数据交换设备的控制器还是由传统网管机制进行管控,但传统网管控制器可以被SDN 网管模块控制。
SDN 混合网管模型在传统网管模型的基础上,基本可以体现出设备层、控制层和应用层的三层结构,在关键技术的处理上,主要还是针对OpenFlow 虚拟技术的应用方面[18]。主要的技术包括:①通过在OpenFlow虚拟策略中引入路由运算机制,使IP 网络中的数据交换设备被统一定义为路由设备,实现IP 网络与SDN 网络共融。②对OpenFlow 虚拟技术的功能进行扩展,通过设置网管控制器并部署于数据交换设备(网络管理节点)中,使之可以实现与IP 网络中的网络管理节点进行通信,确保网管系统的控制层与设备层之间的连接畅通。③通过引入OpenFlow 交换机,设计网管信息传输通道选择算法(或不同机制的最佳路由运算算法),并应用于OpenFlow 交换机中,在传统网管系统中实现SDN 网管策略。
混合式网络管控技术的应用难点表现在三个方面:一是OpenFlow 虚拟策略引入时虚拟节点的内部设计与虚拟节点部署,需要考虑到传统网络系统及网管策略的因素,确保网管系统设备层、控制层和应用层的三层结构能够完整体现。二是以开放路由信息和数据流信息为原则,构建路由和数据流的联合的可视化功能模块,为网管过程的监控提供便利。三是针对未来新型网络系统的结构特点,引入网络系统异构化特征更为突出(传统IP 网络、混合网络和新型网络系统)的网络资源动态管理机制。
本文厘清了网络系统构建和软件定义网络技术的研发与应用历程,从网络系统管理的角度,重点对基于OpenFlow 技术应用的SDN 网管系统层次结构模型进行了分析,针对今后异构化特征更为突出的大型网络系统管理中存在的难点,提出以下SDN 网管技术应用思路:
(1)一个通用性强的SDN 网管系统基本模型设计,是确保管控分离、自主动态组合分配网管资源和网管过程可视化的重要前提,其通用性的实现必须据国际标准。同时,构建通用的SDN 网管系统也是从事相关研究和实验验证的重要基础平台。
(2)应用数据信息传输的分配算法,是以虚拟数据转发为主体的网络资源管理实现的关键,同时,还需要考虑对网管资源分配的效果进行准确评估。
(3)依据OpenFlow 通信协议的开放路由控制策略准则,交互式可视化系统的设计,可以为实现异构化网络系统的便利管控提供有力支撑。
(4)在通用性SDN 网管系统基本模型的基础上,对其层次结构进行扩展,是实现自主控制、动态组合分配网管资源的研究思路,所考虑的切入点应该在网管系统的控制层,可以考虑将网管资源(数据交换设备)从控制层中剥离出来,对其进行专门管控。
图7 为在当今异构化特征突出的计算机网络系统环境下,构建新型SDN 网管系统需要解决的几个关键问题。
图7 构建新型SDN网管系统模型的关键思路图示