一种多维并行报文分类算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c m p e sn e e t d r l s o a h d ma n a d r o g nie e fr l s r a y r d c n e l n t fb ts r g wh c n b tm a ,t u e u i g o r s i g r p a e u e n e c o i , n e r a z d s to e ,g e t u i g t e g h o i t n i h i i u l e h i p h srd cn me r p c c u a c .Ex e i e t l r s l p o e ha h mo y s a e o c p n y p rm n a e u t r v s t t t e CBP a g r t m n t e fr wa le v r n n a i g 3 % me r t a e BV l o ih i e l n io me t s v n 5 h i mo y hn t h a g rt m, a i g a ou 0 t a i a a l l l o i l o h s v n b t % h n t b t r l g rt i 6 he p ea hm, nd t ea g rt m a o e f r n e u d ra c s o to i t nv r m e t a lo i h h h sago d p ro ma c n e c e sc n r l s e i l on n .
M u t— i e so a r l l c e a sfc to g r t m lid m n i n l Pa a l e Pa k tCl s i a i n Al o ih i
W ANG b g t n I n - g o
( ol eo fr t nS i c n eh oo yNaj gUnvri f eo at sadA t n uisNajn 1 0 6 C ia C l g fnoma o ce eadT cn lg, ni ies y A rnui n s o a t , nig2 0 1, hn ) e I i n n to c r c [ src] iprl lBt etr V) n ge a dB t etr V) loi ms r e srpee tt eo e aall ak t lsict n Abta t Bt aal , iV co( e B adAg rgt iV co( e AB a rh et tersnai fh rl ce as a o g t a h mo v t p ep c i f i
定义 1规则块)在规则集第 j1 ) ( (≤ ≤5维上 , 将值相 同的 规则 归并成一个规则块 ,规则块中记 录规 则的起点和终点、 规则块覆盖的规则范围信息 。 定义 2压缩率)假设有 Ⅳ条规则 的规则集 ,经分块归并 ( 后,在第 .1 ) , ≤ ≤5维上形成 B 个规则块 ,定义 P= / ( , jB N, P(< ) P ≤1 0 称为该维 的压缩率 ,P越小 ,压缩率越高 。
me r sg , o utbe frl g ue es o p l ain . o a d e sti i u , o r se i P r l l BP l o t m i p o o e ,b moy u a e n ts i l o a e r lss t fa pi t s T d r s h s s e C mp e sd B t aal ( a r c o s e C )ag r h s rp sd y i
1 概述
报文分类是服务质量( ulyo evc , o ) Q a t f ri Q S、网络入侵 i S e
() V和 A V算法并没有对 T i树进行路径压缩处理 , 2B B r e 导致树的深度等于前缀 的长度 , 对于 Iv , P 4 查找一个 I P地址 , 在最坏情况下需要访存 3 2次 ,Iv P 6则需要 18次。 2
规则集读入 内存 , 记录各维 的值 , 并用 i 号标记规则 的顺序 。 d
个位 串,当且仅当第 i 个规 则块 的值 覆盖 此区间值 时,称
该 区间属于该规则块 , 并将 位串对应 的位置为 1 否则置为 0 , 。 步骤 4对于源 I P地址 , 目的 I P地址这两 维,按照 同
为压缩规则集提供了可能。本文 的主 旨是减少预处理 阶段 的
内存 占用。 算法分为预处理和查找 2个 阶段 :
作者简介 : 王桐桐(94 , , 士研究生 , 18 -) 男 硕 主研方 向: 并行 算法 ,
高性能路 由器
() V与 A V算法不能直接支持范 围匹配 , 1B B 不能应用到 五 维的报文分 类环境 下 ,位 并行 算法 虽然能支持五 维情况 , 但又会 占用大量 内存空 问。
提出一种压缩位并行算法 , 通过报文分类压缩每个域上 的重复规则并重新组织规则集 , 而缩短位 图中位 串的长度 , 从 减少 内存 空间的 占用。 实验结果证 明,该压缩位并行算法在不影响运行速度的前提下 ,明显减少了空间 占用。 关健 词 :位并行 ;位向量 ;聚合位向量 ;压缩位并行 ;多维分类 ;位串
第3 7卷 第 1 期 8
、 _7 幻l3






2 1 年 9月 01
S p e e 2 e t mb r 01 1
NO.8 1
Co p t rEn i e rn m u e gn eig
网络 与通 信 ・

文章编号: oo 48 018一l2一 10- 2( ll一l _ l 2 ) l 3
31 C P算法介绍 . B 通过分析来 自 1 1个互联网服务提供商( tre S rie O 1 en t evc n Po ie S ) 7 3个分类规则集得出 :规则集 中的协议类 rvdr P 的 9 ,I
型、源端 口号 、目的端 口号这 3个字段存在很多重复的情况 , 尤其是协议字段类型 ,从十几种到几 十种 不等 ,对于 上万条 规则的规 则集来说 ,这种重复率甚至达到了 9 %以上 ,这就 5
的结果。位并行报文分类算法 就是基于这种 思想 ,该算法
可 以在 多维上并行进行规则 的查找 ,具有很快的执行速度 ; 但是 它只适 用于小型规则集的匹配查找, 随着规则集 的增大 , 算法 的内存消耗将急剧增加 。位向量( i V c r B 算法与 B t et , V) o
位并行 算法的基本思想相 同,最大 的改进在于 引入了 Ti 树 r e
集重新排序后 的规则顺序为 R 至 9每 个规 则块可确 定其覆 , 盖 的规则范 围;重排结束 后,根据规则集 中记录 的每个规 则
所属于 的块信息 ,确定每个规则块覆盖 的规则范 围,在规 则 块数据结构 中记录。
的包头信息 ,根据包头 中各 维的值 ,并行地在 各维度上进行 查找 ,在规则 区间集 中找到合适 的区问 ,读取 其位 串信息 , 从而可 以得到报文在每 维上匹配的规则集合 ,最后将每 一位
定义 3无用 区间)假设规则集第 维覆盖 的整个规则区 ( 间记为 R,存在一个规则的覆盖区间 R ,凤 属于 R,但不属 于其他任何规 则块覆盖 的区间,则称该 区问为无用 区间,其 余 区间称为有用 区间。
2 并行算法
随着 网络服务种类 的增加 ,多维报文分类的应用越来越
广泛 ,但许多算法只支持针对源和 目的 I P地址 的二 维分类 。 对于 多维分类 问题 ,简单 的解决办法是将其分解成若干个子 问题 ,然 后将各子 问题 的结果进行 “ 与”操作 ,得出原问题
的匹配 的规则集合取交集 ,优先级最高 的即为 匹配 的规则 。
步骤 3对于 协议 类型、 目的端 口、源端 1这 三维 ,将 3 第 f1 ≤3维 的所有规则块的起点和终点值投影到数轴上 , (≤J ) 将数轴分割成若干个互不相交 的小 区间,为每一个 区间分 配

32 C P算法 的预处理阶段 . B C P算法 的预处理 阶段主要分为 4个步骤 。 B 步骤 1删除规则集 中的重复规则得到规则集 Fl r ie,将 t
文献标识 码:A .Βιβλιοθήκη 中 图分类号: P9 T33
种 多维 并行 报 文 分 类算 法
王桐桐
( 南京航空航天大学信息科学与技术学院 ,南京 2 0 1) 10 6

耍 :位并行、位向量和聚合位向量算法通过对多个域进行并行处理加快分类速度 ,但三者内存 占用太大 ,不适用于 大规则集。为此 ,
收稿 日期 :2 1— —6 01 31 0
Em i t 14 1 6 . m - al t 8 1@13 o :w 9 c
第 3卷 7
第 1 期 8
王桐桐 :一种多维并行报文分 类算法
l3 1
() 1预处理阶段。主 要负责对原始 的规 则集进行 处理 ,为 查找阶段提供必要 的数据结构 。 () 2查找阶段 。当报文到达时,首先从报文 中提取 出相应
[ yw rs bt aae; t etrB ; geae t etrA )Co rse iP rl l B )mutdmesoa lsict n btt n Ke o d ] ip rl lBiV c ( Y)Ag rg t BiV c ( BV ; mpesdBt aal ( P ; l—i ninl as ao ; isig l o d o eC i c f i i r D0I 1.9 9 .s.0 03 2 . 1.80 7 : 03 6 0i n10 —4 8 0 11 . s 2 3
结构 ,使算法更加直观 。聚合 位向量( geae i V c r Agrgtd Bt e t , o A V 算法 在 B B) V算法 的基础上引入聚集 的思想,减少访存
位 串的次数 。B V和 AB V算法很好地利用 了位 串存储 和并 行处理的优点 ,但 两者都存在以下不足 :
业界 的关注 。本文 实现 了一个 压缩位 并行 ( o rse i C mpesd B t P rl l C P 算法 ,去除 了算法数据结构对 规则集大小 的线 aal , B ) e 性依赖关系 ,减少了最终数据 结构 的内存 占用 。
3 C P算法 B
首先给出 3 定义 。 个
a g r h Th l o t m sa c l r t e c a sfc t p e a a l l r c s i g mu t e d ma n , u e a s h a a sr t r s d t o mu h l o t m. e a g r h c e e ae t l s i ai s e d by p r l o e sn li o i s b tb c u e t e d t t i i h i on ep pl uc u e u e o c
检测、流量记账、负载均衡 、区分服务 、防火墙等服务 的基 础”,其算法优劣直接影响到服务 的质量 。比较典型 的报文 J 分 类算 法 有基于 Ti 树 的算法 、递 归流 R C r e F 算 法 、 TA 4 C M[算法等 。随着 网络处理器( tok Poesr NP 1 Ne r rcs , ) w o 的广泛应用 ,基于并行思想的网络报文 分类 算法越来越受到
相关文档
最新文档