一种基于强化学习的可靠性保障的安全服务链编排算法

文档序号:34260140发布日期:2023-05-25 04:30阅读:24来源:国知局
一种基于强化学习的可靠性保障的安全服务链编排算法的制作方法

本发明涉及一种基于强化学习的可靠性保障的安全服务链(security servicechain, ssc)编排算法,属于网络安全。


背景技术:

1、传统的网络安全服务一般通过在网络的关键位置串联或旁路部署专有硬件安全设备实现,硬件设备价格昂贵且与网络拓扑紧耦合,随着攻击手段的持续变化和升级,这种静态防御方式灵活性差、自动化和智能化程度低的弊端日益突显。针对于此,软件定义网络sdn和网络功能虚拟化nfv技术应运而生。

2、sdn技术将网络的控制层面和转发层面分离,通过开放控制层面的编程接口实现网络的集中管理,从而提高网络的灵活性。nfv技术的核心思想是将专用设备上的网络功能整合到通用的x86服务器上,实现软硬件的分离,促进网络资源的灵活共享。两种技术的结合为探索新型网络安全服务模式提供了有力支撑。网络端到端安全服务通常需要不同的安全服务功能,由此,借助sdn/nfv的安全服务链技术应运而生。

3、安全服务链本质上是一组有序虚拟安全功能(virtual security function,vsf)的集合,它在利用nfv技术虚拟化传统的安全设备并部署在物理节点的基础上,借助sdn的集中管控功能,根据终端用户的安全服务请求引导流量按序经过物理节点上的虚拟安全功能实例,从而为用户提供安全服务。ssc提供安全服务的过程总体上可以划分为3个阶段:组链、部署和调度,其中,高效动态地部署ssc是最具挑战的问题之一,本发明针对ssc 的部署阶段进行了深入研究。

4、本发明提出一种低时延且可靠性保障的安全服务链编排算法,所提算法包含ssc编排与vsf备份两个阶段,首先基于强化学习算法q-learning,通过q矩阵来计算选择合适的vsf放置节点,实现高效ssc编排,降低服务的端到端时延。然后根据备份节点的成本效益,量化vsf的节点重要度,以此备份vsf节点,从而保证服务质量。


技术实现思路

1、现有的技术在动态场景下对安全资源的智能调度方面仍存在欠缺,且在备份时忽略了底层虚拟资源共享的特性,本发明所要解决的技术问题是针对现有安全服务链编排方法的不足,提出一种基于强化学习的时延感知的且可靠性保障的安全服务链编排方法。

2、为解决上述技术问题,本发明所采用的技术方案如下:

3、一种基于强化学习的可靠性保障的安全服务链编排算法,包括如下步骤:

4、步骤1:获取底层物理网络状态信息和安全服务链请求集合,其中,物理网络状态信息包括物理节点和物理链路信息;

5、步骤2:基于步骤1中的信息,采用强化学习算法q-learning进行ssc编排,并输出编排结果;

6、步骤3:判断步骤2编排完成的ssc是否满足可靠性要求,并将不满足的ssc放置于故障集合中;

7、步骤4:判断ssc故障集合是否为空,若不为空,则根据定义的公式计算vsf的节点重要度,并根据重要度对故障集合中的vsf进行备份;

8、步骤5:判断备份后的ssc是否满足可靠性需求,若满足则从故障集合中移除该ssc,重复步骤4,直到所有ssc均满足可靠性要求,即ssc故障集合为空;

9、步骤6:输出最终ssc编排方案。

10、ssc表示安全服务链。

11、上述步骤1中,底层物理网络状态信息包含物理节点的个数、节点之间的连接情况、链路带宽、每个节点的cpu资源和存储资源等,安全服务链请求集合包含所有待编排的安全服务链,安全服务链包含安全服务功能的类型以及它们之间的连接顺序。

12、上述步骤2中,强化学习算法q-learning模型包含状态集、动作集和奖励函数,具体分析如下:

13、状态集:通过物理节点的当前可用资源的状态和底层链路的可用带宽来表示状态空间,假设不同vsf所需的cpu和存储资源可以由几个正态分布的和来模拟,在不同时间点对这些资源进行随机采样,以表示底层节点的资源消耗状态,使用向量s来表示当前基层物理网络中cpu资源、存储器资源和带宽资源的状态, s={{1c,2c,...,xc},{1m,2m,...,xm},{bi.j}},x为网络中物理节点的数量,c为cpu资源,m 为存储器资源,bi.j是基层物理网络中节点i和节点j之间的带宽资源;

14、动作集:根据每个时刻的状态信息,为当前需要部署的vsf选择一个物理节点进行部署,假设有x个节点,动作集中每个动作对应一个节点,则有x种动作,动作集表示为action∈{1,2,......,x},在每个有效决策中,在一个时间步骤中只应映射一个vsf,然后智能体观察状态空间中的状态转换,一旦完成当前vsf的映射,就会继续进行下一个vsf 的映射;

15、奖励函数:ssc的延迟被用作奖励函数的度量,包括物理节点上的vsf处理时延和物理链路上的传输时延的总和,计算公式如下式所示:

16、

17、其中,是一个二进制变量,表示vsf在物理网络上的映射结果,当虚拟安全功能部署在物理节点ni上时,值为1,否则为0;也是一个二进制变量,表示虚拟链路在物理网络上的映射结果,当ssc上两个安全功能之间的链路经过物理链路ei,j时,值为1,否则为0;表示ssc请求qm中编号k的vsf在物理节点ni上的处理时延,表示数据流量在物理链路ei,j上的传播时延;

18、每个时间步的奖励与vsf的处理延迟成反比,最大化累积奖励等价于最小化vsf平均延迟,假设奖励函数可以表示为:

19、reward=1/(delay+1)

20、在奖励函数中,delay(与上述各公式含义一致)是vsf的总延迟,包括底层节点的处理延迟以及根据ssc的预定义服务逻辑在该vsf与下一vsf之间的传输延迟;

21、假设vsf之间的物理路径是通过最短路径优先协议实现的,累计奖励如下式所示:

22、

23、其中,γ是折扣因子,rt是t时刻的累积奖励函数,k是k个时间步;

24、ssc编排的目标函数如下式所示,编排时联合考虑了安全服务链的时延与虚拟安全服务的可靠性,最大化ssc可靠性和时延的比值:

25、max:r(sc)/delay

26、

27、

28、r(sc)计算安全服务链sc的可靠性,为中每个安全功能可靠性的乘积。计算虚拟安全功能的可靠性,其值与fic的部署位置有关。

29、上述步骤2中,ssc编排包括初始化阶段、学习阶段和终止阶段,在学习阶段,模型采用ε贪婪策略进行动作的选取,该机制可以防止算法陷入局部最优解,具体包括如下步骤:

30、1)初始化q-learning算法的有关参数和q表,然后判断当前物理网络的剩余资源状态是否能满足ssc请求qi的需求,若能,则进入编排阶段;

31、2)随机选择一个物理节点作为ssc起点,采用ε-贪婪方式选择下一个动作,这一机制以小概率ε随机选择一个动作进行探索,以概率1-ε根据q表选取当前最佳动作;

32、3)执行该动作,获取下一状态的同时得到系统的反馈,并根据下式对q表进行迭代更新,

33、q(s,a)=q(s,a)+α[r(s,a)+γmaxa·q(s',a')-q(s,a)]

34、其中,s为当前状态,a为选取的动作,s'为执行动作后的下个状态,a'为状态s'下选取的动作,α为学习率,γ为折扣因子。

35、4)处理完所有ssc请求后,输出编排结果。

36、上述步骤4中,vsf节点的重要度利用备份后故障集合中ssc可靠性的提升量和备份资源开销的比值来衡量,比值越大则重要性越高;

37、本发明旨在设计资源开销低的vsf备份方案,备份总开销为节点资源开销和链路资源开销之和,节点资源开销为服务链消耗其所经过节点的cpu资源和存储资源的总和,链路资源开销为新增备份实例与原实例所在的ssc连接时备份链路消耗的带宽资源,备份资源开销如下式所示:

38、

39、其中,是一个二进制变量,表示虚拟安全功能的备份情况,备份时,的值为1,否则为0;和分别为服务链消耗其所经过节点的cpu资源和存储资源,和分别表示备份实例与原实例前置和后置实例之间链路的长度,即物理节点的跳数,bpre和bi分别表示前置实例和备份实例的流出带宽。

40、备份问题的约束条件主要有两项:1)对于每一条ssc,备份完成后需满足可靠性需求如下式所示。2)在部署备份实例时,不能和原实例部署在同一个物理节点上,避免当物理节点故障时,主备实例同时失效的情况。

41、r'(sc)≥ωc

42、

43、r(sc)计算安全服务链sc的可靠性;ωc为目标可靠性;是一个二进制变量,表示vsf在物理网络上的映射结果,当虚拟安全功能部署在物理节点ni上时,值为1,否则为0;表示备份vsf在物理网络上的映射结果,当备份虚拟安全功能部署在物理节点ni上时,值为1,否则为0。

44、上述第一个式子表明对于每一条ssc,备份完成后需满足可靠性需求。第二个式子表示在部署备份实例时,不能和原实例部署在同一个物理节点上,避免当物理节点故障时,主备实例同时失效的情况。

45、上述步骤4中,vsf备份的具体步骤包括:

46、判断ssc故障集合是否为空,若不为空,则根据以下公式计算vsf的节点重要度,并根据重要程度对故障集合中的vsf进行备份;

47、

48、

49、其中,为备份后,sc的可靠性r'(sc)与其目标可靠性ωc的比值,和分别表示备份实例与原实例前置和后置实例之间链路的长度,即物理节点的跳数,bpre和bi分别表示前置实例和备份实例的流出带宽。

50、由公式可知,若备份使sc的可靠性满足需求,的值为1;若可靠性没有达到需求,的值小于1,当集合ωssc中所有服务链的可靠性均得到满足,mon的分子到达最大值1。

51、安全服务功能的节点重要性用表示,其计算公式如公式所示,分子计算备份后,集合ωssc中所有ssc可靠性的提升量,分母为备份资源开销。

52、本发明未提及的技术均参照现有技术。

53、本发明提出一种低时延且可靠性保障的安全服务链编排算法,它充分考虑了安全应用的可靠性和延迟需求;首先基于强化学习,通过q矩阵来计算选择合适的vsf放置节点,实现高效ssc编排,降低服务的端到端时延,保证服务质量;其次通过量化vsf的节点重要度,备份重要度高的vsf,提高备份资源的成本效益。

54、与现有技术相比,本发明具有以下优点。

55、1)本发明以ε-greedy策略替代q-learning中的贪婪策略,使智能体在学习前期采用随机方式进行探索,在学习后期更偏向于根据q值进行下一个动作选择,避免算法落入局部最优解。

56、2)本发明通过量化vsf的节点重要度,备份重要度高的vsf,在保证服务质量的同时,降低了备份资源的开销。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1