没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收稿日期:20120811;修回日期:20120928
作者简介:李中(1969),山东历城人,副教授,主要研究方向为信息安全(lz196903@163.com);李晓(1958),男,河南许昌人,副教授,主要
研究方向为信息安全.
一种性能优化的防火墙规则匹配算法
李 中,李 晓
(解放军信息工程大学 密码工程学院,郑州 450004)
摘 要:设计了一种防火墙规则匹配算法,该算法基于分治思想将规则集按照协议类型分割为多个子集,并根
据规则之间的关系,将各子集分为无序组和有序组,通过设计哈希函数和索引算法对两组规则进行分别匹配。
分析表明,该算法的效率远优于同类算法,大大提高了防火墙的工作性能。
关键词:防火墙规则;匹配算法;分治思想;索引
中图分类号:TP309.7;TP3016 文献标志码:A 文章编号:10013695(2013)04120503
doi:10.3969/j.issn.10013695.2013.04.066
Modifiedfirewallrulesmatchingalgorithm
LIZhong,LIXiao
(InstituteofCryptographyEngineering,PLAInformationEngineeringUniversity,Zhengzhou450004,China)
Abstract:Thispaperdesignedafirewallrulematchingalgorithmbasedontheideaofdivideandconquer.Inaccordancewith
theprotocoltype,itdividedtherulessetintomultiplesubsets.Then,accordancewiththerelationshipbetweentworules,
eachsubsetwasdividedintotwogroups:disorderedgroupandsequencegroup.Furthermore,thispaperdesignedhashfunc
tiontomatchrulesindisordedgroup,whileitproposedindexingalgorithmtomatchrulesinthesequencegroup.Theanalysis
showsthattheefficiencyofthisalgorithmismuchbetterthansimilaralgorithms,anditgreatlyimprovestheperformanceofthe
firewall.
Keywords:firewallrule;matchingalgorithm;ideaofdivideandconquer;indexing
!
引言
随着社会的发展和科技的进步,因特网技术及规模在不断
发展,给人们的工作和生活带来极大便利,同时,也为网络安全
防护带来新的挑战。网络防火墙作为一种重要的安全防护措
施,在大规模、高流量网络环境下提供有效的安全保证,而规则
匹配(即报文分类)是其中的重要环节和性能瓶颈。防火墙的
规则集包含了大量的规则,而每条规则又包含了一组源地址、
一组目的地址、一组源端口、一组目的端口以及相应的动作。
规则匹配完成的主要功能则是:将收到的数据包按预先设置的
规则集一一进行匹配,找到其所能匹配的规则,并按规则定义
的动作处理数据包。
随着防火墙规则集规模的变大,每个数据包的平均处理时
间也随之增加,直接使防火墙的性能和效率降低。因而在规则
集规模不断变大的情况下,保持防火墙的性能有两种途径:a)
减小每个数据包在每个规则集处理所需的时间,即改进匹配算
法,提高匹 配 效 率;
b)减 小 每 个 数 据 包 进 行 匹 配 处 理 的 规
则集。
文献[
1~9]从不同角度改进了匹配算法。Liu等人
[1]
基
于 TCAM(ternarycontentaddressablememory)提出了一种匹配
速度快、时间复杂度一般为常数的匹配算法,但是该算法仅支
持以前缀形式表示的规则,资源消耗较大,限制了其推广使用。
文献[2]对 TCAM匹配算法进行改进,通过动态编码降低了其
能量消耗,但仍只支持以前缀形式表示的规则。文献[3,5]基
于哈希表对规则匹配算法展开研究,在最坏情况下能够提供良
好的性能保证,但是其平均性能较差。文献[
6,7]基于决策树
设计了规则匹配算法,具有较高的平均性能,但是该类算法在
最坏情况下性能较差。
在此背景下,本文运用分治思想将规则集按协议分为多个
子规则集,将各子规则集按规则之间的关系分为两组。在两组
规则集中根据其自身的特点分别使用不同的查找方法实现规
则的匹配。
"
基本概念
防火墙过滤规则主要内容域有源地址、目的地址、源端口
号、目的端口号、协议类型以及采取措施。为便于本文描述方
便,给出规则之间关系的定义。
定义 1 若规则 R
x
的所有域都不是规则 R
y
的相应域的
子集、超集或者相等,那么称 R
x
与 R
y
是完全无关的。可抽象
为数学表达式:
i
∈
{src_ip,dest_ip,src_port,dest_port,protocol},均使得
Δ∈
{
,
,=}有 R
x
[i]
Δ
R
y
[i]不成立。
定义 2 若规则 R
x
的所有域与规则 R
y
的相应域均相等,
则 R
x
与 R
y
是完全相等的。可抽象为数学表达式:
i
∈
{src_ip,dest_ip,src_port,dest_port,protocol},均有
R
x
[i]=R
y
[i]成立。
定义 3 若规则 R
x
的所有域都是规则 R
y
相应域的子集,
则 R
x
与 R
y
是包含相关的。可抽象为数学表达式:
i
∈
{src_ip,dest_ip,src_port,dest_port,protocol},均有
R
x
[i]
R
y
[i],且存在 i,使得 R
x
[i]
≠
R
y
[i]。
第 30卷第 4期
2013年 4月
计 算 机 应 用 研 究
ApplicationResearchofComputers
Vol30No4
Apr2013
weixin_38535808
- 粉丝: 4
- 资源: 903
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0