- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种改进交叉组合包分类研究
一种改进的交叉组合包分类研究
本文提出一种改进的基于交叉组合的包分类方法,基于对各维空间的无重叠的划分基础上进行分类,采用等价区间的办法来降低空间需求,该方法在提高处理速度的同时,所需存储空间也降低了三分之二。使用自治系统网络前缀产生模拟的分类数据库,用非随机方式及随机方式产生不同大小的数据库来对这个算法进行了验证,证明了这个算法的有效性。
【关键词】包分类 交叉组合 等价区间
数据包分类指根据数据包所携带的IP包头、传输层头部信息等查找预先设置的分类器,根据匹配规则来区分不同的数据包。包分类的结果决定了数据包应得到什么样的服务等级或者数据包属于哪一个数据流,包转发引擎根据分类的结果采用相应的处理。在千兆网络取证系统中,网络取证机数据包的采集、分析及转发是整个系统的核心,由于被取证机的网络数据量异常庞大,这就要求网络取证机对IP包进行分类,根据分类结果完成对数据包的不同过滤处理,对感兴趣的IP数据包进行转发存储至取证存储机,其它数据流进行丢弃,再转发至后端的取证分析机。
包分类的数据模型如下:一个数据包分类器包含M条规则RLj(1≤j≤M),如果对报文头的S个字段进行分类,规则RLj包含以下几个部分:
(1) RLj[i](1≤i≤K):用于表示数据包头的K个字段关系的正则表达式,它可以是特定的值、前缀表达式或是作用范围等;
(2)优先级Pri(RLj):它定义了在分类器中规则的优先级,用来决定当数据包匹配多条规则,哪条规则有更高的优先级。
(3)Act(Rj):它表示当规则匹配时,应该执行的动作。
假定数据包P的包头有K个字段(F1,F2,…,Fk),K维的包分类器可以在所有匹配规则中寻找到优先级最高的规则RLh,即:Pri(RLm)Pri(RLi),1≤i≤M且i≠h。RLh被认为是数据包P的最佳匹配规则。
在包分类问题,主要在以下方向进行研究:基于并行分解-综合的算法。先将多维查找分解成并行的几个查找,然后综合它们的结果,最后得到匹配结果。例如BV,ABV等算法就是通过并行来查找各维的匹配情况,然后将各维的匹配结果通过规则映射的位图“位与”得到匹配规则,这类算法的缺点是当规则库比较大时,得到的位图会比较庞大。RFC算法借助于硬件流水线的方法,通过多阶段的并行分解过程,可以达到很好的查找性能,但缺点是性能通常受到阶段数和如何选取前一阶段结果的策略等因素的制约。而交叉组合(Cross-Product)算法通过并行查找各维匹配的前缀,从它们的各种组合中选出合适的匹配规则,交叉组合法在查找的时间上有很大的优势。在K维的情况下,它只需要K次线性查找和一次查表的时间,时间复杂度为O(KN)。但它的空间复杂度却是O(NK),在实际应用中可能因交叉组合表太大,造成路由器的存储体无法存储的情况,能不能在提高查找的速度的同时,对空间进行压缩呢?以下提出了一种改进的交叉组合算法。
1 改进的交叉组合算法
对于D维的情况,交叉组合需要进行D次的线性查找。由于地址范围相互之间可能重叠的原因,只能顺序查找方法,而不能采用快速的一维查找方法;每一维同一个IP包地址可能与几个部分同时匹配,所以可能匹配多条规则,需要从多条规则中寻找出最高优先级的规则。因此这一查找的效率并不是很高。表1是一个分类规则集的示例,对规则集C中地址S,T进行排序,产生交叉组合表如表2所示。
当使用交叉组合法来查找点P(0110,1000)时,则需要先对S进行顺序查找,得到匹配的S为{01*,011*,*},再对T进行顺序查找,得到匹配的T为{10*,*},再查表2,可得到6条匹配规则{R3,R4,R5,R6},找出其中优先级最高的规则R3(假设以序号前后做为优先级的高低),以R3为最佳匹配规则。
以上过程可以看出,由于在每一维(S,T)中,规则所定义的范围相互之间有冲突,会有重叠区域,这样在各维的查找结果会存在多个匹配的前缀。
图1给出规则库的交叉组合区域图,R3、R4、R5和R6有共同的相交区域。当寻找H点的匹配规则时,有4条规则都匹配,由于R6与其它区域都相交,故任一次匹配查找都会找到R6,当某个点与其它规则(R1-R5)相匹配,必然与R6相匹配。
为了去掉这种区域的重叠,可以尝试换一种分段方法,将图1按图2进行分段,在X轴方向划分4个区间:X1、X2、X3、X4;在Y轴划分5个?^间:Y1、Y2、Y3、Y4、Y5。这样就得到了20个划分区域,并且这些区域互不相交。每个区域内的点要么全部与规则R相匹配,要么全部与规则R不匹配。如果出现匹配多条规则的情况,由于区域内的各个点具有相同的性质,它们具有相同的最佳匹配规则。因此可以在建立查找表时先计算每个区域的最佳匹配规则,存储时就只存储最佳
您可能关注的文档
最近下载
- Unit 1 I love sports Part 1 (课件)2025-2026学年度外研版(三起)英语四年级上册.pptx VIP
- 高血压指南最新版2025完整版原文.docx VIP
- 四川开放大学《演讲与口才》终结性考核-95分.doc VIP
- HACCP过敏原控制程序.pdf VIP
- 浙江省温州市乐成寄宿中学2022-2023学年高一上学期语文期初月考试卷(含答案).docx VIP
- QBT 2623.4-2003 肥皂试验方法 肥皂中水分和挥发物含量的测定 烘箱法.docx VIP
- 地理信息安全在线培训考试题目完整版答案.docx
- 新代说明书.doc VIP
- 水泥混凝土路面“白改黑”施工工艺.pdf VIP
- 中考语文名著导读《红星照耀中国》专项练习题(含答案)1.doc VIP
文档评论(0)