APP下载

云网融合的广域安全资源编排技术研究*

2022-01-25廖竣锴程永新

通信技术 2021年12期
关键词:链路部署节点

廖竣锴,程永新

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引言

近年来,随着云计算、大数据等技术的不断发展,企业的数字化转型已成为我们国家经济和社会进阶和升级的一个重要的抓手。在这一背景下,企业内部应用在向云迁移,并通过业务数字化,进行大数据的分析,提升企业的运营效率。IT信息化基础设施,包括移动互联网、广域网等,在5G、软件定义广域网(Software Defined Wide Area Network,SD-WAN)等技术的推动下,不断满足用户和多样化业务的网络需求。在这种场景下,云计算中心需要强大且灵活的网络提供支撑,网络能力和资源优化同样需要软件定义网络(Software Defined Network,SDN)、网络功能虚拟化(Network Functions Virtualization,NFV)等云计算虚拟化技术的支撑。云和网不再各自独立,而是彼此协同,逐渐融合。云网融合是下一代信息网络基础设施的重要特征[1-2],针对云网融合的安全体系架构和关键技术的研究也是未来网络研究的热点方向。

1 云网融合安全保障需求

1.1 云网融合内涵

云网融合的内涵包括云端互联和网络云化两点。云端互联是指数据中心与云之间的连接,以及云与云之间的多云的连接,可按需实现敏捷、高速的云间互联。网络云化是指将传统的传输网络资源进行云化,提高网络功能的按需部署和灵活调整。云网融合后,云和网之间不再有明显的界限,云内部网络与外部网络无缝互联,承载网络可根据云服务需求按需提供网络能力,最终构成自服务、高弹性、智能化的云网一体的网云基础设施[3]。

云网融合不仅仅是以SDN、弹性计算等为代表的技术方面的变化和提升,同时也是对系统架构、网络架构、管理架构等方面的重构。其中,系统架构是以数据中心为中心的云化架构,支持各类业务的快速上线与弹性伸缩;网络架构通过SDN、NFV[4]、SD-WAN[5]等技术实现灵活智能的组网,自动感知网络中的业务需求,实现网随云动;管理重构通过集中管理、分布部署的方式,实现按需自动化、智能化的管理模式,提升管理效能和用户体验。

1.2 云网融合的安全保障需求

云网融合带来了网络与信息系统的巨大变化,从技术、架构、运维等方面均与传统的网络存在较大的差异,这对安全保障也提出了新的挑战。云网融合对安全保障的需求主要表现在以下几个方面[6]。

1.2.1 碎片化的防护转变为体系化的防护

传统的网络和安全策略大多都作用于专用的“硬件盒子”中,这些“硬件盒子”由多个厂商分别提供,安全功能被固定在特定的硬件平台上,功能分散,互相重叠,又难以整合,防护机制碎片化且过于复杂,不仅带来了额外的成本,还会使得运维非常复杂。随着SDN、NFV 等技术的成熟,以通用硬件搭载虚拟化软件功能的技术路线代替了专用硬件软件系统的技术路线。网络安全防护设备的功能需要从硬件设备解耦出来,并且在不同硬件平台上共享。安全防护系统更加开放、灵活,体系化防护能力更加突出。

1.2.2 安全边界的动态变化,要求弹性的安全保障能力

云网融合中的网元功能和网络拓扑可根据业务需求动态变化,相应的网络安全功能也需要根据网络变化及时调整。安全功能和安全策略能够根据服务需求弹性编配,以确保当网络和业务发生变化时,安全功能的部署和安全策略的下发能够随变化调整,有效阻止网络攻击。

1.2.3 差异化的业务服务,需要端到端的安全编排能力

在云网融合的情况下,尤其是在5G 网络的运用中,业务系统提出了利用不同服务质量的网络切片为用户提供差异化的服务。安全防护要对不同网络环境提供差异化的安全保障,需要具备端到端的安全编排能力,在业务的全生命周期提供安全功能的编排,并且解决网络端到端的问题,屏蔽不同网络段带来的影响。同时,安全编排粒度应该是原子化的,保证差异化的安全保障能力的实现。

可以看出,在云网融合网络中,安全资源编排技术是实现资源按需部署和动态调整的核心。安全资源编排接收业务或用户提出的安全服务请求,根据预先定义的流程,分解安全服务,动态调整安全资源分配,满足业务或用户的差异化安全保障需求。

2 云网融合安全资源编排架构

2.1 广域资源编排框架

资源编排通过可视化的编排界面,根据业务场景制定安全服务需求,随后转化为对安全资源的需求,并通过编排算法从安全资源池中调用相应安全资源,部署在各个物理网络节点,最终形成基于业务的动态保障服务[7-8]。

广域安全资源编排包括服务编排、功能编排和功能执行3 部分。服务编排从全局视角出发,通过约定的服务定义,提交安全服务需求描述,明确安全服务的对象、性质、范围和能力等,进一步对安全服务进行实例化,形成子服务或子功能集合以及相互之间的关系及交互行为。功能编排则是从功能组合的视角出发,设计规划安全功能集合内部的拓扑关系、工作流程,形成安全功能部署及安全策略执行方案。功能执行则按照部署方案,具体执行安全功能部署、网络流量调度和安全策略下发生效等工作。

本文设计的广域安全资源编排框架由服务层、资源层、控制层、物理层4 层结构组成,如图1 所示。每层结构的具体功能如下文所述。

图1 广域安全资源编排框架

(1)服务层:实现安全服务注册、安全服务管理、安全服务编排和安全服务优化等功能。

(2)资源层:对上通过安全服务映射接口,获取安全功能的需求,根据不同场景选择适合的编排算法,对安全资源进行动态编排,构建安全功能服务链,并从资源池中调取相应的虚拟安全资源,组合形成虚拟安全资源部署编配方案;对下通过资源映射接口,通知控制层执行安全资源编排方案;对于广域网络环境,资源编排可以分域部署,相互协同完成广域的资源编排。

(3)控制层:包括资源管理和资源控制器,其中SDN 控制器对网络资源进行控制,NFV 控制器对虚拟安全资源进行控制,网络资源与安全资源由资源管理进行统一管理,并上报给资源层。

(4)物理层:是业务和网络的承载主体,包括接入网、骨干网、数据中心等实体,具体由网络设备、安全设备、云平台等组成。

2.2 广域资源编排工作机制

云网融合的安全服务编排工作流程分为安全服务及资源的生产与构建、安全服务提供与消费两大部分,如图2 所示。

图2 广域资源编排工作流程

2.2.1 安全服务及资源的生产与构建

(1)系统管理者或安全服务提供者在网络中部署相应的安全设备与资源,并接受系统管理,形成系统资源池供安全服务调度使用。

(2)系统管理者基于部署的安全资源,向系统注册安全服务,提供服务描述、功能性能、服务约束、服务位置等信息。

2.2.2 安全服务提供与消费

(1)安全服务使用者按规范提交安全服务需求,系统在安全服务层进行业务逻辑的解析,完成服务到资源的映射,将安全服务需求转化为安全资源请求。

(2)在资源管理层,系统进行安全资源的编排,在资源池中查询当前安全资源部署使用状况,通过编排算法将安全资源安排在合适的位置,将安全资源请求转化为安全资源部署指令。

(3)在系统控制层,系统驱动控制组件,将安全资源部署指令转化为相应的设备管理与安全策略,下发到对应位置的安全设备中执行。

(4)最终,完成了安全服务的按需提供和安全资源的动态部署。

3 启发式网络安全资源编排算法

通过广域安全资源编排工作机理的分析,可以看到,如何基于上层用户的安全服务需求,自动构建安全服务链,并根据网络拓扑和现有资源状态,动态编排部署虚拟安全资源,实现网络安全防护目标的同时,优化系统性能是一个关键问题。因此,需要对安全资源编排算法开展研究。

3.1 广域安全资源编排研究现状

文献[9]提出一种虚拟网络功能部署方法,利用维特比(Viterbi)算法在网络拓扑中选择时延最短的服务路径。文献[10]将虚拟网络功能服务链(virtual Networking Function service Chain,vNFC)的映射问题归结为整型优化问题,利用最优化算法实现了基于资源拆分的vNFC 映射策略。文献[11]将遗传算法用于安全服务链编排,实现了云安全服务与策略的按需加载。文献[12]提出一种网络资源控制机制,通过贪婪算法对网络需求排序后再逐一编排,但该方法是针对单一资源的,对系统的整体考虑较少。文献[13]提出了自动化虚拟化的网络功能布局的编排架构,但不涉及编排算法的具体描述。文献[14]提出了虚拟网络功能编排的整数线性规划(Integer Linear Programming,ILP)数学模型,并利用启发式算法进行求解,但未考虑广域网络中的编排管理问题。文献[15]提出一种基于整数线性规划模型的算法,可以减少资源部署整体消耗,也能提高服务链请求的成功率,但是节点规模较大时效率不高。

以上研究对资源编排机制与算法进行了较深入的研究,但在广域网络环境下的安全资源编排还没有太多的涉及。本文将对安全服务的统一描述,安全服务到安全资源的映射机制,以及广域网络下的资源编排算法优化等方面进行进一步的研究探讨。

3.2 问题描述

一个安全服务请求对应着一系列安全服务资源,安全服务资源以及资源的先后处理顺序构成了一条安全服务链,不同的服务功能链代表着不同的服务需求。服务功能链中的每个虚拟网络功能可以被快速的创建、移动和删除,从而实现网络服务的快速部署,降低建设运维成本,满足不同服务的定制化、差异化需求。例如,一个局域网内用户访问云数据中心内的服务,根据不同的安全防护等级,可生成不同的安全服务链。每条安全服务链由多个虚拟安全资源组成,通常包括防火墙、入侵检测、接入认证、流量控制、虚拟专用网络(Virtual Private Network,VPN)网关、应用访问控制、数据安全监控等安全资源,如图3 所示。

图3 安全资源在物理网络中的部署

一般在安全资源编排中,可根据不同网络拓扑、服务需求设定不同的资源优化目标。优化的方向一般分为服务性能和系统开销等方面:考虑服务性能时,优化目标通常包括链路利用率最大化、网络时延最小化、调度部署完成时间最小化等;考虑系统开销时,优化目标通常包括部署节点数最小化、节点资源占用最小化、总体能耗最小化等。这些安全资源分配在不同的物理节点和链路上,部署位置、规模、数量等都是不确定的。少数节点组成的网络可以通过人工配置手动完成,但对于大规模网络的广域环境,节点多、链路复杂,如何快速高效地完成资源分配以满足网络服务需求是安全资源编排面临的主要挑战。

3.3 算法设计

安全资源编排问题是一个非确定性多项式难题(Non-deterministic Polynomial hard,NP-hard)问题,一般的求解算法包括精确式算法、启发式算法两类。精确式算法通过整数规划方法求最优解,分为整数线性规划、非线性规划等多种,一般用于节点数较少的网络。当网络规模较大时,精确式算法运行时间较慢,这时需要引入启发式算法,通过一些限定条件快速计算出优化目标的一个可行解,通常是次优解。常见的启发式算法包括遗传算法、模拟退火算法、蚁群算法等。启发式算法的执行时间相较于精确式算法明显缩短,可应用于大规模系统中。

本文中,将讨论精确式算法和启发式算法。算法设计如下文所述。

3.3.1 物理网络及拓扑的抽象描述

将物理网络表示为无向图G=(N,L),其中N表示网络节点的集合,L表示网络链路的集合。对于每一个网络节点,有n∈N,由于网络节点需要提供安全服务部署的资源,故N上的资源R可表示为Rn(cn,mn,sn,wn),c表示计算资源,m表示为内存资源,s表示为存储资源,w表示为物理位置。物理节点的平台属性可表示为An,包括平台类型、型号等,可用于评估计算处理性能。对于每一条链路,有l∈L,链路资源包括链路的带宽和传输时延,用El(dl,el)表示,如图4 所示。

图4 物理网络及拓扑抽象描述

3.3.2 网络安全虚拟功能抽象描述

当系统的虚拟安全资源注册后,虚拟安全资源将纳入到安全资源池中管理。每一个安全虚拟功能表示系统能够提供的安全资源类型和特性。系统安全资源池是网络安全虚拟功能的合集,可用集合P(rp,cp,ep)表示,其中:r表示资源需求,包含部署网络安全虚拟功能需要的CPU、内存、存储等资源的大小;c表示该功能的处理性能,表示为网络处理带宽;e表示为处理时延,表示为该功能对网络报文进行处理的平均时延。

一般网络安全虚拟功能可部署在任意条件满足的物理节点上,但考虑到现实情况下,某些网络安全虚拟功能只能部署在特定的物理节点,故存在约束:

式中:n可以为1 个节点,也可以为多个节点的集合。

3.3.3 服务请求到安全功能服务链的映射

当用户提交的安全服务需求时,系统将服务请求转化为安全功能服务链。安全服务需求的描述可表示为4 元组SQ={o,sr,sl,xn},其中:o表示服务对象,一般由特定的用户、终端、局域网组成;sr表示业务类型,例如web、邮件、视频等业务;sl表示防护等级,一般包括1~5 级,也可以自定义扩展;xn表示性能需求,一般需要保障业务的网络带宽、最大平均时延等。

安全功能服务链则是根据安全服务需求,基于系统内的安全服务资源,形成的一个安全服务序列。安全功能服务链的描述可表示为4 元组FC={st,fp(f,d),xn,ed},其中:st表示源对象,一般由特定的用户、终端、局域网组成;fp表示安全服务序列,每个节点包含服务位置与服务类型;服务位置f为某个物理节点或某个域,也可以置为0,表示可部署在任意节点;d表示为服务类型,例如接入认证、访问控制、入侵检测、病毒检测等安全功能;xn表示服务性能,每一个安全功能都需要满足该性能,包括网络带宽处理性能、最大平均时延等;ed表示目的对象,一般由特定的服务、局域网组成。

从服务请求到安全功能服务链的映射,一般采用如图5 所示的机制。

图5 服务请求到安全功能服务链的映射机制

系统接收到安全服务请求后,首先按照系统可理解的规范语言对安全服务进行定性或定量的描述;其次根据系统预置的安全服务映射模板的指标体系,基于安全评估方法,将安全服务描述内容转化为具体的安全功能,并将安全功能按照一定的逻辑关系串联为一个安全功能服务序列。其中,安全评估算法可采用层次分析法(Analytic Hierarchy Process,AHP)等,本文中不再进行论述。

3.3.4 安全功能服务链转化为虚拟安全功能需求

安全功能服务链FC中,包括安全服务序列,以及对服务性能的约束。结合安全资源池中对虚拟安全功能集合的描述P(rp,cp,ep),能够获取安全序列中,每个安全功能对应的虚拟安全功能的需求,从而得到安全服务链对应的虚拟安全功能需求描述,可用无环有向图表示为Gv=(N v,Lv),其中:N v表示虚拟网络节点的集合;Lv表示虚拟网络链路的集合。对于每一个虚拟网络节点,有nv∈N v,由于虚拟网络节点需要提供安全服务部署的资源,故N v上的虚拟网络资源Rv可表示为Rv(cv,mv,sv),其中:cv表示虚拟计算资源;mv表示为虚拟内存资源;sv表示为虚拟存储资源。对于每一条虚拟链路,有l v∈Lv,从虚拟节点mv到虚拟节点nv的虚拟链路可表示为。虚拟链路资源包括虚拟链路的带宽和传输时延,用表示。ωt(),ωd()两个函数分别用于计算虚拟安全功能部署在物理节点上的带宽处理性能和处理时延。

3.3.5 从虚拟安全功能需求到物理拓扑的映射

从虚拟安全功能需求到物理拓扑的映射,即是虚拟安全功能在物理网络中的编排部署。对于一项虚拟安全功能需求,根据物理网络资源情况,得出服务功能的部署位置及网络链路绑定关系。

对于某个虚拟网络安全功能,用Xij表示是否将网络安全功能i部署在物理节点j上,表示为:

对于某个虚拟链路,用Ymn表示是否将虚拟网络链路m与物理链路n绑定,表示为:

在虚拟安全功能部署时,还需要考虑以下约束条件:

(1)容量限制。对于任一物理节点,所有部署其上的虚拟安全功能请求的物理资源不能大于节点可用的物理资源,包括计算资源、存储资源和内存资源。

(2)带宽限制。对于任意的物理链路,流经该条链路的所有虚拟安全功能请求使用的链路带宽资源不能大于物理链路上的可用带宽资源。

(3)节点限制。为了更好地达到对资源的利用和均衡,对于每条服务功能链请求中的每个网络功能都必须部署在不同的物理节点上。计算方式为:

(4)处理性能限制。对于每个虚拟服务功能,部署在不同的物理节点,其处理性能与硬件物理平台以及分配的资源相关,其处理性能不能小于性能需求。计算方式为:

面向安全服务需求的功能动态部署,可从不同的角度考虑安全服务的优化部署。本文主要从基于时延和基于开销两方面进行设计。基于系统时延的优化模型是从最大化服务性能的角度对安全功能进行分配,基于系统开销考虑的优化模型是从最大化节省现有组件整体资源的角度考虑对安全功能进行分配。也可以将两者结合,采用一个较均衡的优化模型。以下是对系统时延优化模型、系统开销优化模型,以及基于两者权重的优化模型的描述。

(1)考虑部署安全功能后的系统时延,由函数D表示。计算方式为:

(2)考虑部署虚拟安全功能的系统开销,由函数K表示。计算方式为:

式中:Kr为功能i部署在物理节点j上的资源消耗,Kt为功能i部署在物理节点j上的时间消耗,K为所有虚拟功能和虚拟链路部署后的总消耗。

(3)考虑系统的部署的优化目标为min(a×D+b×K),其中,a、b为权重因子,可根据实际情况设置。如果只考虑系统时延最优,则a=1,b=0,如果只考虑系统开销最优,则a=0,b=1。

3.4 算法实现

从以上算法模型中可以看出求解目标是一个NP-hard 问题,本文分别使用了基于线性规划的精确求解方法和基于作用域的启发式算法。

关于精确求解方法实现,本文采用最优化工具Lingo 实现虚拟安全功能编排算法模型,首先将物理节点资源、虚拟安全功能请求资源、决策变量等参数定义在sets 集中;其次,构造目标函数,调整设置权重因子,根据约束条件建立限制条件;最后,调用执行工具,输出基于线性规划的最优解。

关于基于作用域的启发式算法实现,由于使用线性规划等最优化精确求解的方法在大型网络中并不适用,因此本文设计了一种基于作用域的启发式算法。

在广域网络环境中,安全防护功能不是完全随意部署的,而是有一定的原则。例如,接入控制功能一般部署在骨干网络边缘,控制接入网络内用户的接入;对业务的防护功能一般不会部署在用户侧,而是部署在靠近业务服务器的位置;对5G 等无线通信系统的防护功能部署在5G系统内部或边界处,对于云平台的防护一般部署在云平台边界和内部。

因此,本文可以将云网融合的广域网络环境划分为多个逻辑的作用域,一般包括无线域、接入域、骨干域、服务域等多个作用域。在虚拟安全功能部署时,引入作用域的概念,将整个部署决策过程分为两个阶段,在第一个阶段将安全功能分配在多个域中,在各个域中进行优化求解;在第二个阶段将多个域中的优化结果串联,得到一个满足需求的近似最优解。具体流程为:

(1)采用最短路径算法,生成从源节点到目的节点的最短路径矩阵。

(2)在最短路径上,将节点和路径划分为不同的作用域。

(3)在连接相邻两个作用域的多个节点和路径中,根据资源使用状况和时延进行排序,选择资源使用最少、时延最小的节点作为左侧作用域的目的节点和右侧作用域的源节点。

(4)在单独的作用域内,再次使用最短路径算法,计算作用域内的最短路径矩阵。

(5)在作用域内,从源节点开始,利用最短路径矩阵,依次计算相邻节点和路径的安全功能部署开销和时延,选择一个最小的节点部署该虚拟安全功能。从该节点出发,计算本节点与相邻节点的安全功能部署开销和时延,选择一个最小的节点部署下一个虚拟安全功能,依次循环,直至本域内所有虚拟安全功能部署完成。

(6)在所有作用域内部署完成后,将整条链路串接在一起,形成完整的虚拟安全功能部署。

基于作用域的启发式算法伪代码为:

3.5 试验结果

本文通过在同一条件下,对比精确求解方法和基于作用域的启发式方法的性能表现,对编排算法性能进行验证。

网络拓扑:试验环境为网状拓扑,包含20 个物理节点,45 条物理链路。其中,接入域节点5 个,骨干域节点10 个,服务域节点5 个。

资源数据:每个节点计算、内存、存储资源值分别设为16 核、128 MB、1 024 MB。每条链路的带宽为100 Mb/s 或1 000 Mb/s,链路传输时延在1~10 ms 之间,均随机分配。

虚拟安全功能:虚拟安全功能对计算资源的需求在2~6 核之间,对内存资源的需求在8~32 MB 之间,对存储资源的需求在50~100 MB 之间均匀分布。虚拟安全功能的网络处理性能在600~900 Mb/s 之间随机分布,处理时延在1~10 ms 之间随机分布。

3.5.1 系统时延性能分析

在试验环境中部署多个虚拟安全功能,对最优化算法与基于作用域的启发式算法在算法效果上进行对比分析。如图6 所示,横坐标为安全虚拟功能个数,分别测量部署1 个服务需求到9 个服务需求的部署结果。纵坐标为部署不同数量虚拟安全功能后的总时延,单位是毫秒。从图中可以看出,精确算法的总时延总是小于基于作用域的启发式算法,说明从性能最优的角度看,精确算法优于基于作用域的启发式算法。

图6 时延性能分析

3.5.2 算法收敛时间性能分析

对精确算法与基于作用域的启发式算法计算收敛时间进行对比分析,评价算法的性能。如图7所示,横坐标表示每次部署的虚拟安全功能数,纵坐标表示算法收敛的执行时间。从图7 中可以看出,当部署少量虚拟安全功能时,精确算法和启发式算法的执行时间接近,但是随着部署虚拟安全功能数量的增加,精确算法的执行时间呈指数型增长,而启发式算法的执行时间虽然也在增长,但增长幅度比最优算法增长幅度大大下降。因此,可以得出结论,启发式算法收敛更快,执行性能更好。

图7 收敛时间性能分析

4 结语

广域安全资源编排是云网融合网络实现安全资源按需部署和灵活调整的关键一环,本文提出了一种基于作用域的启发式编排算法,试验结果表明,该方法能够实现广域网络中安全资源动态编排,能够较好地适应大规模网络环境。

猜你喜欢

链路部署节点
一种移动感知的混合FSO/RF 下行链路方案*
一种基于Kubernetes的Web应用部署与配置系统
天空地一体化网络多中继链路自适应调度技术
晋城:安排部署 统防统治
部署
概念格的一种并行构造算法
结合概率路由的机会网络自私节点检测算法
采用贪婪启发式的异构WSNs 部分覆盖算法*
浅析民航VHF系统射频链路的调整
Crosstalk between gut microbiota and antidiabetic drug action