本发明涉计算机网络安全领域,特别是一种基于混合蛙跳算法的网络安全资源池中业务流量调度方法。
背景技术:
1、传统的网络安全架构中通过主备部署的模式提供安全服务,通常将各个安全设备通过物理或者逻辑串联的方式进行编排,业务流量在一条线路上进行传递处理。这种网络安全架构十分脆弱,当链路中任意一个节点故障都会导致整个链路的瘫痪,使得业务流量堵塞,同时存在所有的业务流量都会经过每一个设备,造成不必要的资源冗余以及时间效率低下等问题,并且链式架构使得设备难以进行扩展和维护。软件定义网络(softwaredefined network,sdn)和网络功能虚拟化(network function virtu-alization,nfv)技术被结合用于设计新的网络安全架构有别于传统计算机网络,软件定义网络通过将数据层面和控制层面隔离开,通过一个逻辑上的远程控制器来管理物理设备之间流量的调度,远程控制器能够获取到整个网络设备的拓扑结构和网络资源的使用情况,并且根据内置的流量调度策略计算出最佳路径完成流量的传输。网络功能虚拟化作为一种网络架构的概念提出,区别于传统要求物理设备软硬件必须互相绑定的要求,nfv架构中一台物理设备可以集合多个实现网络功能的标准化软件,通过nfv可以将安全硬件的功能进行统一规划构建网络安全资源池,并提供基于软件形式网络安全功能的部署与调用。
技术实现思路
1、本发明的目的在于解决网络安全资源池中安全资源浪费以及链路负载不均衡问题,提供一种基于混合蛙跳算法的网络安全资源池中业务流量调度方法,将混合蛙跳算法进行设计用于网络安全资源池的业务流量调度,能够根据安全资源的使用情况以及业务流量的类型,合理的规划业务流量的处理路径,并充分利用网络中的安全资源。
2、为实现上述目的,本发明的技术方案是:一种基于混合蛙跳算法的网络安全资源池中业务流量调度方法,首先,利用安全硬件对业务流量进行分析,规划本次流量处理所需的网络安全资源;其次,根据业务流量包括源地址和目的地址的条件,获取业务流量处理路径集合;最后,提出一种混合蛙跳-业务流量调度算法,用于从处理路径集合中筛选出业务流量最优调度路径;该方法具体实现步骤如下:
3、s1、业务流量类型分析阶段:通过安全硬件对业务流量进行分析,判断业务流量所属业务类型,并根据不同的业务流量结合安全日志来规划需要的网络安全资源类型和规模;
4、s2、业务流量处理路径集合获取阶段:控制器通过结合网络拓扑结构以及所需的必要网络安全资源进行结合获取业务流量处理路径集合;
5、s3、设计混合蛙跳-业务流量调度算法选取最优业务流量处理路径:设计适应度函数对业务流量处理路径集合中每条路径的优先度进行评估,通过混合蛙跳-业务流量调度算法选取最优路径。
6、在本发明一实施例中,步骤s2具体实现如下:
7、s201、使用深度遍历算法获取到所有业务流量原节点到达目的主机的路径;
8、s202、根据需要的网络安全资源类型和规模筛选出适用的业务流量处理路径;
9、s203、根据步骤s202筛选的结果,优先选取距离较短路径的路径保留构成业务流量处理路径集合;
10、在本发明一实施例中,步骤s203中,保留数量设置为筛选结果的50%。
11、在本发明一实施例中,步骤s3具体实现如下:
12、s301、业务流量处理路径集合中每条路径x都处在链路传输距离、网络安全资源占用以及链路流量负载情况构成的三维解空间中,为平衡这些因素在路径中需要占用的资源,提出一种适应度函数f(x)用来计算每条路径的适应度值来评价路径的优劣,并根据适应度值进行排序;
13、s302、对适应度函数f(x)所有的解进行按序分配,初始化为若干个种群;
14、s303、设计动态阈值函数θ,用来调整个体每次优化时跳动的距离,并设计种群内跳动距离公式d1和全局跳动距离公式d2;
15、s304、获取每个种群中的最优解和最差解以及全局最优解,根据混合蛙跳算法的更新规则进行,直到满足算法终止条件;
16、s305、选取最终的所有解中的适应度最高的解向量,计算业务流量处理路径集合中每个解与适应度最高的解向量的向量距离,选取距离最近的路径作为最优路径。
17、在本发明一实施例中,步骤s301中,适应度函数f(x)表示如下:
18、
19、其中,分别为路径xi的路径长度、占用的网络安全资源以及链路负载程度,dmin、smin、tmin分别表示处理相应业务流量所需的最少资源规模,dmax、smax、tmax分别表示业务流量处理路径集合中各种资源占用的最大值。
20、在本发明一实施例中,步骤s303中,动态阈值函数θ表示如下:
21、
22、其中,itermax表示整个算法搜索过程中设置的最大迭代次数,rand(0,1)是指生成一个大小在0到1之间的随机数。
23、在本发明一实施例中,步骤s303中,种群内跳动距离公式d1和全局跳动距离公式d2设置方式如下:
24、1)对于每个群落中的最差解xlw向本群落中的最优解xlb进行更新,设置优化的跳动距离为d1,更新步骤如以下公式:
25、d1=rand(0,1)×(θ×xlb-xlw) (3)
26、x′lw=xlw+d1 (4)
27、如果更新后解的新适应度大于原来的适应度,则更新成功并继续往下迭代计算,如果小于原来解的适应度,则继续步骤2);
28、2)对于群落中的最差解xlw,向所有解中的最优解xhb进行更新,设置优化的跳动距离为d2,更新步骤如下公式:
29、d2=rand(0,1)×(θ×xhb-xlw) (5)
30、x′lw=xlw+d2 (6)
31、如果更新后的解的新适应度大于原来的适应度,则更新成功并继续往下迭代计算,如果小于原来解的适应度,则继续步骤3);
32、3)由于前两次更新都失败,则在解空间中随机生成一个新的解用来代替最差解向量,公式如下:
33、x′lw=rand(3,a,b) (7)
34、式(7)表示生成一个3维的解向量,向量值的上限为a,下限为b。
35、相较于现有技术,本发明具有以下有益效果:
36、1、针对新型网络安全架构提出的业务流量调度策略;
37、2、能够更有效的选取业务流量处理路径,实现网络安全资源的充分使用;
38、3、解决网络安全资源池中安全资源浪费以及链路负载不均衡问题。
39、通过分析表明,本发明所提供的一种基于混合蛙跳算法的网络安全资源池中业务流量调度策略,具有较好的应用和推广作用。