基于资源共享和用户安全评级的切片编排算法*
2022-12-06罗一鸣权伟
罗一鸣 权伟
(北京交通大学电子信息工程学院,北京100044)
0 引言
在网络强国和网信立国的战略背景下,云网融合通过结合通信技术与信息技术实现了网络一体化的供给、运营与服务。云网融合要求网络支撑业务的基本性能需求,以及保障差异化服务的实现,这就要求网络业务提供统一的云网切片能力,融合计算、存储、网络云、数据、算力等多维度资源,进行统一调度、优化和管理[1]。
云网融合是一个发展演进过程,需要基础设施层、功能层和操作系统的不断迭代与优化,经过协同阶段、融合阶段和一体阶段,最终发展成熟。云网融合下的操作系统提供编排、自动化、智能化的能力,通过云网切片适应云资源的伸缩与弹性,灵活满足不同场景需要。云网切片的关键技术包括统一编排、云网感知与自适应调整[1]。统一编排支持云网资源包装抽象为逻辑服务,将业务的资源需求转化为云网资源的调用要求,从而实现云网资源的统一调度。云网感知通过采集业务、客户和底层网络的质量和性能参数,通过评价模型来实时评估云网业务和网络的运行状态。自适应调整要求云网切片基于云网业务和网络的运行状态,对云网服务进行自动化调整、优化与调度,实现网络资源与路径选择的智能化,在网络切片的基础上实现云资源利用的最优化。
网络切片[2]是指通过网络功能虚拟化[3](Network Function Virtualization,NFV)与软件定义网络[4](Software Defined Networking,SDN)等技术,将底层物理网络资源抽象为虚拟资源,将物理网络抽象为逻辑网络,通过差异化地定制网络切片实例(Network Slice Instance,NSI)来为切片用户提供通信功能,映射到物理网络的过程称作网络切片编排[5],云网切片要求切片具备统一编排和自适应的调整能力[6]。目前,切片编排过程中安全保障技术尚不成熟,存在很多安全风险[7-8],其中切片间资源竞争造成的信息泄露[9]为云网切片面临的主要挑战。
文献[10]通过定义隔离评估值,在一定程度上提高了编排收益,增强了编排的安全性能,但降低了编排后满足NSI需求的切片比例。文献[11]通过减少切片实例的共存时间来抵御信息泄露风险,但算法的收敛时间较长,整体开销较大。文献[12]通过对底层服务器进行分组,在编排部署时进行了安全性能上的优化,但在面对海量切片用户的编排需求时,性能会降低。文献[13]设计了多种遗传算法来提高切片编排的链路利用率和带宽利用率,但没有进行安全性能优化。文献[14]通过权衡带宽和主机的消耗优化部署模型,降低了部署成本,但这种算法没有考虑各切片之间资源共享带来的安全风险。文献[15]通过一种自动缩放切片的算法,在切片资源范围内进行安全可信计算,但时间复杂度较高。文献[16]通过遗传算法实现了切片资源的分配优化,但不能全局宏观地自由调控资源的分配比例。文献[17]建立了一种博弈机制来调节资源的分配情况,但不能满足切片需要的差异化服务。文献[18]对切片部署进行了拓扑方面的优化,但没有对资源部署和安全性能作出保障。
综上所述,目前切片编排优化算法主要将优化目标集中在性能和成本上,忽略了切片使用者本身的安全属性,欠缺对资源共享的整体评估。本文设计了基于资源共享评估和用户安全评级的切片编排算法(Resource User Slicing Algorithm,RUSA),将切片编排收益作为优化目标,通过评估切片编排的映射安全评级作为约束条件,保证了部署的NSI满足安全性能要求,提高了算法收敛速率。
1 切片安全编排模型分析及描述
图1是智融标识网络切片编排模型[19],其中智慧服务层负责服务查询与服务管理,验证用户请求的合法性,解析请求并利用服务映射知识库向资源适配层下发服务需求,再根据执行结果向用户作出反馈。资源适配层结合上层需求,在资源映射知识库和编排算法知识库中匹配对应的网络切片编排算法,构造切片编排信息生成对应的NSI,并下发至网络组件层,此外还会动态感知底层拓扑的网络拓扑和资源信息,对切片集群进行统一管理;网络组件层是底层网络设备和功能的集合,将设备状态和拓扑状态收集至资源适配层来进行信息的一体化管理,负责将NSI映射到底层网络节点,实现切片数据的存储与转发。
图1 智融标识网络切片编排模型
网络拓扑以G表示:G=(N,L,B,D),其中N表示网络拓扑节点,L表示网络拓扑链路,B表示网络拓扑的带宽,D表示网络拓扑的时延。对应地,切片拓扑以Gv表示,Gv=(Nv,Lv,Bv,Dv),其中Nv表示切片拓扑的节点,Lv表示切片拓扑中的链路,Bv表示切片拓扑的带宽资源,Dv表示切片拓扑的时延。
2 安全评估算法描述
2.1 用户交互评价机制
在智慧服务层完成对切片用户请求的身份验证后,资源适配层将分析该用户的需求和交互过程,引入交互评价机制对本次交互行为作出评估,参考该用户历史交互的参数,最终得出其用户安全等级。
设用户的互动值Sn如公式(1)所示:
(1)
其中,n为一定时间段内该用户访问切片的总次数,为了更准确地反映该用户的交互行为,首先设置一个优先级队列Q来限制加入评级计算的交互行为的数量上限,队列的长度为w,当用户的总交互次数超过w时,优先级队列Q将移除最先的交互行为,使得队列仅记录最近发生的w次交互行为。β为影响范围参数,可以限制不同时间段发生的交互行为对安全评级的影响,使时间轴上较近的交互行为对评级的影响更大,削弱较久前交互行为的影响。λi为第i次历史交互行为的评价值,当评价为正常交互行为时为一个正数λg,当评价为具备安全威胁的交互行为时,为一个负值piλb,其中λb为一个负数,pi为处罚系数,如公式(2)所示:
pi=a(eSi-1-1)
(2)
其中,a可以用来调整处罚程度,Si-1为上次交互时计算得到的该用户的互动值,处罚系数pi可以加大互动值较高的用户在发生具有安全威胁的交互行为时得到的降级处罚程度。
引入Logistic函数来建模用户安全评级的增长率。Logistic函数如公式(3)所示:
(3)
(4)
2.2 资源共享评估等级机制
(5)
(6)
2.3 映射安全等级机制
(7)
算法1:映射安全等级算法
输入: 优先级队列Q的长度w,用户互动总次数n,用户历史交互评价值λN,切片实例信息vj。
1: 初始化:设置影响范围参数β,处罚系数pi,处罚程度a,评级变化程度k,权重系数δ、ε1、ε2。
2: 根据公式(2)计算交互评价λ。
3: ifn>w。
4:Q.poll()。
5: end if。
6: for 1≤i≤n≤wdo。
7: 根据公式(1)计算互动值Sn。
8: end for。
3 RUSA算法描述
3.1 算法原理
RUSA算法采用一种粒子来模拟粒子群优化算法[20],随机初始一个规模为X的粒子群,每个粒子代表vj的一种部署方法,定义vj有R个节点需映射,presenti=(presenti1,presenti2,…,presentiR)为粒子i的部署位置,其中i∈[1,X],presentir表示粒子i把节点r映射到底层网络中的位置。粒子的速度更新如公式(8)所示,位置更新如公式(9)所示:
vi(n+1)=ωvi(n)+c1rand()(pbesti(n)-presenti(n))+c2rand()(gbesti(n)-presenti(n))
(8)
presenti(n+1)=presenti(n)+vi(n+1)
(9)
其中,vi(n)代表粒子i的速度,presenti(n)表示粒子所处空间,ω为惯性系数,用于调节空间的搜索范围,c1和c2表示学习参数,pbesti(n)表示粒子的当期最优值,gbesti(n)为整个粒子群的最优值。
算法的优化函数如公式(10)所示:
subjectto
(10)
3.2 算法流程
RUSA算法流程如下。
算法2:RUSA算法
输出: 映射结果gbest。
1:初始化:设置惯性系数ω,学习参数c1和c2,粒子数X,迭代次数N,以及安全门限γ。
2:for each particle i。
3:初始化粒子的presenti、vi、profit、pbesti。
4:end for。
5:更新粒子群当前的gbest。
6:fori=1 toN。
7:根据公式(8)更新粒子的vi。
8:根据公式(9)和(10)更新粒子的presenti。
9:更新gbest。
10:end for。
11:返回gbest。
步骤1~5为初始化阶段,这个过程会初始化粒子群及其位置和速度属性,步骤6~步骤10为第二阶段,目的是根据NSI的映射安全等级和切片实例需求,结合网络资源循环计算最优部署结果来使编排收益最大化,并保证编排结果的安全性能高于制定安全门限γ,步骤11返回最优部署结果。
4 试验及结果分析
4.1 试验环境设置
本次试验在Intel(R) Core(TM) i7-12700H 2.30 GHz、16.0 GB RAM的主机上进行,使用Mininet生成网络,采用OpenFlow南向协议控制流表下发,并用Matlab对结果进行分析。方案中算法涉及的参数设置如表1所示。
表1 试验参数设置
4.2 试验结果分析
将本文的方法(RUSA)与文献[6]中基于SecPSO优化的编排算法(SecPSO)及无安全控制的编排算法(SLICE)作比较。
图2显示了三种编排方法满足NSI请求的需求的比例随NSI编排数量的变化情况。当编排数量较少时,此时的网络资源较为充足,三种方法的满足率都是100 %。当编排数量继续增加时,三种方法的满足率存在着不同程度的下降,由于SLICE是一种尽最大能力满足NSI的编排请求的方法,所以下降的程度最小。RUSA的满足率的下降程度其次,这是由于控制了NSI进行资源共享的程度,会使得部分NSI的需求不能完全满足,SecPSO的满足率下降程度最高。可以看到RUSA在NSI编排数量为50时,满足率相较SecPSO提高了28 %。
图2 编排满足率
图3是三种编排方法的资源利用率随NSI编排数量的变化情况,可以看到RUSA和SLICE变化趋势基本一致,随着NSI编排数量的增加,利用率逐渐提高,最后趋于100 %,在NSI编排数量达到40 个左右时,SecPSO限制同节点的NSI数量,利用率会受到一定影响,本文方法可以在保证资源利用率的前提下,提升切片编排的安全性能。
图3 资源利用率
设部署NSI时的带宽和CPU资源有固定的部署成本,并设分配给NSI流量后可以获取一定的固定租金费,结合上文提到的收益,可以得到图4的成本利润率。
可以看到,在NSI的编排数量低于37 个左右时,三种编排方法的成本利润率增长趋势相同,原因是NSI的需求基本都可以满足,编排数量继续增长时,SecPSO和SLICE的增长趋势逐渐放缓,前者略高于后者,这是由于SecPSO此时的资源利用不够充分,而SLICE由于分配策略不能接入更多的NSI,造成了收益损失。RUSA在NSI编排数量较多时,相较其他两种方法,可以提高6 %左右的成本利润率。
5 结束语
云网融合下网络架构需要实现底层资源的统一抽象与调度,提供云网切片的服务能力。随着NFV和SDN技术的演进,切片编排部署的效率逐渐提高,但各切片共享网络资源也带来了切片管理的额外安全风险。本文提出的基于资源共享评估和用户安全评级的切片编排算法RUSA,以最大化收益为目标,通过映射安全等级来约束NSI的编排过程,使得编排结果满足安全性能的要求。试验证明,本文方法可以在保证安全性能和编排收益的前提下,提升编排的满足率、资源的利用率及编排的成本利润率。