当前位置: 首页 > 专利查询>南通大学专利>正文

一种基于遗传算法的包匹配方法组成比例

技术编号:15624619 阅读:32 留言:0更新日期:2017-06-14 06:02
本发明专利技术提供一种基于遗传算法的包匹配方法,包括如下步骤:(1)采用遗传算法来进行特征选择,选出相关特征位,去除冗余特征位和无关特征位;(2)对包规则库中的规则进行分析和处理,精简规则库中的覆盖规则和交叉规则。本发明专利技术通过运用遗传算法去对防火墙的包规则库进行降维处理,在降维的同时对包规则库的冗余规则进行分析和处理,数值实验显示本发明专利技术提出的思想,无论包规则库在什么规模下,都能改善包匹配算法的各项性能指标。

【技术实现步骤摘要】
一种基于遗传算法的包匹配方法
本专利技术涉及网络安全
,具体涉及一种基于遗传算法的包匹配方法。
技术介绍
防火墙包匹配算法对防火墙的包转发效率有着关键性的影响,近些年很多学者从不同角度提出了不同的包匹配算法,这些算法有的适应特定的环境,在特定的环境下性能很好,有些算法综合性能较优,但具体的某个性能表现一般,有的算法只能处理特定的数据,有的算法需要特定的硬件支持,总之,所有的算法都有其优秀的一面,肯定也有它的缺陷,没有一个算法能在所有的环境下,性能都是最优。包匹配算法根据其特点大体可分为基于软件、基于硬件以及混杂的。现在常把包匹配算法分为五类:穷举搜索匹配算法、分解匹配算法、决策树匹配算法、元祖空间匹配算法以及基于智能的算法。这些算法都是从算法本身出发去寻找解决问题的切入点,其中分解匹配算法是把整个维度进行分割,分而治之。穷举搜索匹配算法是以牺牲时间、效率来节省空间。决策树匹配算法需要消耗大量的无效空间。基于智能的算法还处于探索阶段,如何把高维的问题降维成低维的问题,如何从控制论的角度去分析问题,上述各种匹配算法,理论上都有待于完善。包匹配问题面对的是128位的IP地址,16位的端口号,8位的上层协议,相异的规则数目理论上应该是2128*2128*216*216*28,实际上网络设备中的规则数远远小于这个数,这就意味着296个特征位有许多冗余特征为,而相关特征的数目却是一个很小的数值。因此,从包匹配问题的本身考虑,可以发现问题本身存在大量的冗余,可以考虑采用降维的思想去降低问题的复杂程度,附带减少规则库的规则间存在的冗余。目前,降维有两类主流技术:特征选择和特征变换。特征选择就是去寻找能有效对问题进行分类的特征子集,通过这些特征子集识别个体的能力和运用问题的所有特征识别问题的能力要存在一定程度的近似性。这种近似性也是衡量特征选择是否确当的依据。特征选择就是特征压缩,压缩掉冗余的特征,针对具体的问题就是属性选择或者变量选择。对于特征子集的选择方法主要有随机的方法、启发式方法、穷举法以及智能优化的方法。启发式方法运用启发式思想去寻找特征子集,这种方法不能估算收敛时间,也不能保证寻找的特征子集是最优的,一般寻找到的只是问题的较优子集。穷举法是一种思想最单纯的降维策略,对于N维的特征集合,有2N种可能的搜索子集,穷举法可以寻找到问题的最优子集,但是从性能上讲,由于开销太大,它是不实际的一种降维方法。随机的方法依据一定的概率来寻找问题的特征子集,性能较差。而智能优化方法是模拟生物进化或者种群的生活规律来实现问题优化,智能优化方法一般能寻找到问题全局最优解,能找到问题的最优特征子集,但是也仅限于找的问题的近似解。
技术实现思路
本专利技术的专利技术目的是解决上述技术问题,提供一种基于遗传算法的包匹配方法,无论包规则库在什么规模下,都能改善包匹配算法的各项性能指标。为解决上述技术问题,本专利技术的实施例提供一种基于遗传算法的包匹配方法,包括如下步骤:(1)采用遗传算法来进行特征选择,选出相关特征位,去除冗余特征位和无关特征位;(2)对包规则库中的规则进行分析和处理,精简规则库中的覆盖规则和交叉规则。其中,上述的包匹配方法还包括步骤(2)之后的步骤(3)算法设计,具体步骤如下:(3-1)设定初始值:种群规模NP=2000,演化代数I=100,调节两个因子的权重α=0.9,β=0.1,交叉因子Λ=10;(3-2)设置循环终止条件:演化代数I达到100或公式(1)的适应值小于0.01;(3-3)根据公式(1)对个体进行评价,fitness=α(1/H)+βS1(1),其中,S1为染色体中基因值为1的基因数目,α、β分别为调节两个因子的权重,α要远大于β,否者会导致局部最优,优选α=0.9,β=0.1;(3-4从NP中选择两个个体;(3-5)对选择的两个个体进行交叉操作;(3-6)对选择的个体进行变异操作;(3-7)结束。其中,步骤(1)中解决如下两个问题:(1-1)适应值设置:把包规则库中的规则像染色体一样映射成一串二进制字符串,针对染色体所有基因值为0的位,把二进制串的相应位去除;假定:染色体位数为8,群体中一个染色体为1011101,有三条规则相应的二进制串分别为:100011111011000101010011,染色体1011101的第二位和第七位为“0”,所以把三条规则对应的二进制串的第二位和第七位删去,结果如下所示:100111111001001001,计算处理后的包规则库中任何两条规则的相异度用它们的海明距离去度量,海明距离H,按下面的公式(2)计算:其中,RN为包规则库中的规则数,hij为包规则库中的规则i和规则j之间的海明距离;适应值按照公式(1)计算,fitness=α(1/H)+βS1(1);(1-2)个体编码:采用二进制编码,染色体长度为296位,NP规模设为2000,交叉操作采用掩码的均匀交叉,每次交叉从种群里随机选择两个个体,根据掩码的设置产生交叉子个体,例如:假设随机选择的两父个体为:父个体1:1000111101001011父个体2:1011000111010100掩码:0011100111011001则均匀交叉产生的子个体为:1000100101001101;变异采用随机选择Λ位进行变异,Λ随演化代数逐渐降低,在每一代演化过程中都把最优解保留下来,如果下一代中没有个体的适应值优于上一代保留的最优解,就用上一代保留的最优解随机替换下一代中的任一个体。其中,步骤(2)中,对应规则间存在覆盖矛盾和交叉矛盾,要对规则进行分析,有时还要对日志文件进行分析,对于防火墙规则或者路由器的访问控制列表,要询问系统管理员当时设置此规则的意图,分析矛盾规则间处理的决策。进一步,步骤(2)中,假定一个规则定义为:X{[x1min,x2max],...[xnmin,xnmax]},覆盖的定义为:规则X={x1,x2,...xn}和规则Y={y1,y2,...yn},如果对于任何xj,都存在yj被xj包含,那就定义为X规则覆盖y规则;处理行为一样的覆盖规则为覆盖冗余,匹配结果不一样的覆盖规则为覆盖矛盾;交叉的定义为:如果规则X和规则Y在一维或多维之间存在范围重叠的现象,而剩余的别的维都是xj=yj,那就定义规则X和规则Y重叠。本专利技术的上述技术方案的有益效果如下:本专利技术对包规则库进行降维处理,在降维的同时对包规则库的冗余规则进行分析和处理,无论包规则库在什么规模下,都能改善包匹配算法的各项性能指标。附图说明图1为本专利技术实施例中4种算法预处理时间性能比较图;图2为本专利技术实施例中4种算法的包匹配时间性能比较图;图3为本专利技术实施例中4种算法的平均内存消耗比较图。具体实施方式为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。包匹配问题面对的是128位的IP地址,16位的端口号,8位的上层协议,相异的规则数目理论上应该是2128*2128*216*216*28,实际上网络设备中的规则数远远小于这个数,这就意味着296个特征位有许多冗余特征为,而相关特征的数目却是一个很小的数值。表1规则表简例表1是一个只包含源IP地址的简单规则表示例,可以看出规则1和2异或运算的结果只有一位是1,也就是要区本文档来自技高网
...
一种基于遗传算法的包匹配方法

【技术保护点】
一种基于遗传算法的包匹配方法,其特征在于,包括如下步骤:(1)采用遗传算法来进行特征选择,选出相关特征位,去除冗余特征位和无关特征位;(2)对包规则库中的规则进行分析和处理,精简规则库中的覆盖规则和交叉规则。

【技术特征摘要】
1.一种基于遗传算法的包匹配方法,其特征在于,包括如下步骤:(1)采用遗传算法来进行特征选择,选出相关特征位,去除冗余特征位和无关特征位;(2)对包规则库中的规则进行分析和处理,精简规则库中的覆盖规则和交叉规则。2.根据权利要求1所述的基于遗传算法的包匹配方法,其特征在于,包括步骤(2)之后的步骤(3),(3)算法设计,具体步骤如下:(3-1)设定初始值:种群规模NP=2000,演化代数I=100,调节两个因子的权重α=0.9,β=0.1,交叉因子Λ=10;(3-2)设置循环终止条件:演化代数I达到100或公式(1)的适应值小于0.01;(3-3)根据公式(1)对个体进行评价,fitness=α(1/H)+βS1(1),其中,S1为染色体中基因值为1的基因数目,α、β分别为调节两个因子的权重,α要远大于β,否者会导致局部最优,优选α=0.9,β=0.1;(3-4)从NP中选择两个个体;(3-5)对选择的两个个体进行交叉操作;(3-6)对选择的个体进行变异操作;(3-7)结束。3.根据权利要求1所述的基于遗传算法的包匹配方法,其特征在于,步骤(1)中解决如下两个问题:(1-1)适应值设置:把包规则库中的规则像染色体一样映射成一串二进制字符串,针对染色体所有基因值为0的位,把二进制串的相应位去除;假定:染色体位数为8,群体中一个染色体为1011101,有三条规则相应的二进制串分别为:100011111011000101010011,染色体1011101的第二位和第七位为“0”,所以把三条规则对应的二进制串的第二位和第七位删去,结果如下所示:100111111001001001,计算处理后的包规则库中任何两条规则的相异度用它们的海明距离去度量,海明距离H,按下面的公式(2)计算:

【专利技术属性】
技术研发人员:程实王则林潘建生王昱程显毅
申请(专利权)人:南通大学南通先进通信技术研究院有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1