CN101345707B - 一种实现IPv6报文分类的方法及设备 - Google Patents
一种实现IPv6报文分类的方法及设备 Download PDFInfo
- Publication number
- CN101345707B CN101345707B CN2008101178716A CN200810117871A CN101345707B CN 101345707 B CN101345707 B CN 101345707B CN 2008101178716 A CN2008101178716 A CN 2008101178716A CN 200810117871 A CN200810117871 A CN 200810117871A CN 101345707 B CN101345707 B CN 101345707B
- Authority
- CN
- China
- Prior art keywords
- rule
- address
- node
- bit
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 239000002131 composite material Substances 0.000 claims abstract description 120
- 238000012545 processing Methods 0.000 claims abstract description 21
- 150000001875 compounds Chemical class 0.000 claims abstract description 17
- 230000006835 compression Effects 0.000 claims description 46
- 238000007906 compression Methods 0.000 claims description 46
- 238000006243 chemical reaction Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 18
- 238000010276 construction Methods 0.000 claims description 17
- 230000004048 modification Effects 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 238000012512 characterization method Methods 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims 1
- 238000003066 decision tree Methods 0.000 abstract description 38
- 238000010586 diagram Methods 0.000 description 12
- 238000005520 cutting process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种实现IPv6报文分类的方法及设备,原始规则集中规则均由源IP地址、目的IP地址和流标签组成的三元组表示,根据每个规则复合IP地址的地址前缀构造决策树;所述方法包括如下步骤:提取当前数据包的三元组,并记录原始规则集中的默认规则;当前数据包源IP地址和目的IP地址由二元逻辑运算转换为复合IP地址;根据当前数据包复合IP地址按比特依次与对应节点相应比特匹配的结果,确定当前数据包报文分类规则为优先级最高的匹配规则或默认规则。所述设备包括:构造单元、处理单元和分类单元。本发明查找速度快、占用内存少、扩展性好且更新简单,可广泛应用于网络互联通信领域。
Description
技术领域
本发明涉及报文分类技术,特别是涉及一种实现IPv6报文分类的方法及设备。
背景技术
IPv4报文分类中,路由器提取五元组(目的IP地址,源IP地址,目的端口,源端口,协议)协议字段,根据所提取的五元组,从规则集中查找匹配的规则,以确定此数据包所属的流。如果一个数据包匹配多条规则,则路由器根据优先级最高原则对报文进行分类。在IPv4规则集中,规则格式如下:
源IP地址 | 目的IP地址 | 源端口 | 目的端口 | 协议 | 流ID | 优先级 |
表1
其中,源IP地址和目的IP地址以无类域间路由的形式表示,均为32比特;源端口和目的端口以范围的形式表示;协议字段的内容可以为某一具体协议,例如TCP、UDP等,也可以为表示任意协议的通配符“*”。
目前,实现报文分类的方法包括线性搜索法、基于决策树的搜索法、基于分解的搜索法和基于元组空间的方法;其中,基于决策树的搜索法包括基于空间切割的决策树法和基于地址前缀的网格树法。
线性搜索法,是实现报文分类最简单的方法,但是,当规则集中的规则数增多时,该算法的查找效率线性下降。
基于决策树的搜索法,通过建立一棵决策树,将一个大规则集划分为 小规则集,在这些小规则集中采用线性查找法或二分查找法等方法进行搜索,其查找效率取决于决策树的建立方式。
基于空间切割的决策树法中,如图1所示,决策树的根节点对应整个多维空间,生成子树的过程就是空间切割过程。该算法的查找效率取决于决策树的高度和在规则桶中线性搜索的效率。该算法中,由于一条规则可同时存在于多个规则桶中,所以存在内存膨胀的问题。另外,IPv6中,128比特的地址使得空间表示的难度加大,进行空间切割的难度也相应增大,因此,对IPv6而言,基于空间切割的决策树并不具有很好的扩展性。
基于地址前缀的网格树法,如图2所示,以源IP地址和目的IP地址建立一棵二维网格树:以源IP地址建立第一维树,则,第一维树的叶子节点所指向的第二维树都对应同一个源IP地址前缀,第二维树的叶子节点就对应一个前缀对(源IP地址前缀,目的IP地址前缀),第二维树的叶子节点所维护的规则桶中的每条规则都与相应的前缀对相匹配。该方法的查找效率取决于地址前缀的长度。IPv6的地址长度是IPv4的4倍,因此,如果将此方法直接用于IPv6报文分类中,其查找效率将会下降4倍。
基于分解的搜索法,如图3所示,将一个多维报文分类问题分解为多个一维搜索问题,每一维搜索结果的集合的交集即为能匹配的所有规则,从中选取优先级最高的规则作为最终结果。此类算法搜索效率高,但是,IPv6中,128比特的地址使得地址域上的搜索面临很大挑战。
由此可见,IPv6报文分类需处理256比特的地址空间(源地址,目的地址),如果将基于64比特地址空间的IPv4报文分类方法直接应用到IPv6报文分类中,上述方法或者不再适用,或者查找效率急剧下降。
发明内容
有鉴于此,本发明的第一个目的在于提供一种实现IPv6报文分类的方法,以提高查找速度,减少内存占用,扩展性好且更新简单。
本发明的第二个目的在于提供一种实现IPv6报文分类的设备,提高查 找速度,减少内存占用,扩展性好且更新简单。
为了达到上述第一个发明目的,本发明提出的一个实施例的技术方案为:
一种实现IPv6报文分类的方法,原始规则集中每个规则均表示为由源IP地址、目的IP地址和流标签组成的三元组,将每个规则源IP地址和目的IP地址由二元逻辑运算转换为复合IP地址,根据复合IP地址的地址前缀构建二叉树,地址前缀的一个比特对应二叉树的一个节点,地址前缀的每个比特分别存储在对应节点的路径上,与地址前缀匹配的节点联接一规则桶;将每个规则添加到与自身复合IP地址的地址前缀匹配的节点关联的规则桶中;在对当前数据包进行报文分类时该方法包括:
a、提取当前数据包的三元组,记录原始规则集中的默认规则;当前数据包源IP地址和目的IP地址由所述二元逻辑运算转换为复合IP地址;
b、根据步骤a所述的复合IP地址按比特依次与二叉树节点对应的比特匹配,如果在与所述复合IP地址的地址前缀匹配的所有节点关联的规则桶中查找到了与当前数据包三元组匹配的规则,则选择查找到的优先级最高的规则作为当前数据包报文分类规则;否则,将所述默认规则作为当前数据包的报文分类规则。
为了达到上述第二个发明目的,本发明提出的一个实施例的技术方案为:
一种实现IPv6报文分类的设备,包括构造单元、处理单元和分类单元;其中,
所述构造单元,用于将原始规则集中每个规则均表示为由源IP地址、目的IP地址和流标签组成的三元组,每个规则的源IP地址和目的IP地址由二元逻辑运算转换为复合IP地址,根据复合IP地址的地址前缀构建二叉树,地址前缀的一个比特对应二叉树的一个节点,地址前缀的每个比特分别存储在对应节点的路径上,与地址前缀匹配的节点联接一规则桶;将每个规则添加到与自身复合IP地址的地址前缀匹配的节点关联的规则桶中;
所述处理单元,用于提取当前数据包的三元组,记录原始规则集中的默认规则;当前数据包源IP地址和目的IP地址由所述二元逻辑运算转换为复合IP地址;
所述分类单元,用于将处理单元转换得到的复合IP地址按比特依次与二叉树节点对应的比特匹配,如果在与所述复合IP地址的地址前缀匹配的所有节点关联的规则桶中查找到了与当前数据包三元组匹配的规则,则选择查找到的优先级最高的规则作为当前数据包报文分类规则;否则,将所述默认规则作为当前数据包的报文分类规则。
综上所述,本发明的一个实施例中,原始规则集中每个规则均表示为源IP地址、目的IP地址和流标签组成的三元组,路由器提取当前接收数据包的三元组协议字段,并将三元组协议字段内的地址二元组转换为复合IP地址,即,将256比特的地址空间转换为128比特的地址空间,所以提高了查找速度;本发明采用三元组规则替代了IPv4中的五元组规则,且决策树的规则桶中不存在规则重复存储的问题,所以减少了内存占用;实际应用中,路由器的规则集会发生变化,决策树需要及时更新,本发明支持规则更新;本发明中,由于决策树将大规则集划分为小规则集,所以可以嵌套一些适合IPv6小规模报文分类的结构,所以,本发明具有良好的扩展性。
附图说明
图1是基于空间切割的决策树法的逻辑结构示意图。
图2是基于地址前缀的决策树法的逻辑结构示意图。
图3是基于分解的搜索法的原理图。
图4为本发明实现IPv6报文分类的流程图。
图5是本发明所述方法中构造的二元逻辑运算原理图。
图6是本发明方法中确定报文分类规则的流程图。
图7是本发明实施例中未经优化处理的数据结构示意图。
图8是本发明设计的经过优化处理的数据结构的示例图。
图9是在已构造的决策树中添加规则的流程图。
图10是在已构造的决策树中删除规则的流程图。
图11是本发明实现IPv6报文分类的设备的组成结构示意图。
图12是本发明实现IPv6报文分类的设备中构造单元的组成结构示意图。
图13是本发明实现IPv6报文分类的设备中处理单元的组成结构示意图。
图14是本发明实现IPv6报文分类的设备中分类单元的组成结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
如图4所示,本发明所述的实现IPv6报文分类的方法,包括如下步骤:
步骤41、原始规则集中每个规则均表示为由源IP地址、目的IP地址和流标签组成的三元组,原始规则集中每个规则的源IP地址和目的IP地址由二元逻辑运算转换为复合IP地址,根据复合IP地址的地址前缀构建二叉树,地址前缀的一个比特对应二叉树的一个节点,地址前缀的每个比特分别存储在对应节点的路径上,与地址前缀匹配的节点联接一规则桶;将每个规则添加到与自身复合IP地址的地址前缀匹配的节点关联的规则桶中。
步骤41中,根据复合IP地址的地址前缀构建的二叉树和与地址前缀匹配的节点联接的规则桶组成决策树。
所述二元逻辑运算将256比特的源IP地址和目的IP地址转换为128比特的复合IP地址,所述源IP地址、目的IP地址、复合IP地址分别表示为:源IP地址前缀/前缀长度、目的IP地址前缀/前缀长度、复合IP地址前缀/前缀长度。
如图5所示,所述二元逻辑运算的输入为一条规则的源IP地址前缀及 其前缀长度、目的IP地址前缀及其前缀长度,经转换后,输出为复合IP地址前缀及其前缀长度,实现了地址前缀转换和前缀长度转换。
所述地址前缀转换,源IP地址前缀和目的IP地址前缀通过与(and)、或(or)或者异或(nor)转换方法,将一条规则的源IP地址的地址前缀和目的IP地址的地址前缀转换为复合IP地址的地址前缀。
复合IP地址的前缀长度,为源IP地址前缀长度和目的IP地址前缀长度中的较小者,即:
复合IP的前缀长度=min{源IP地址前缀长度,目的IP地址前长度}。
在原始规则集中,采用相同的二元逻辑转换方法,可将不同规则对应的源IP地址和目的IP地址转化为同一个复合IP地址;采用不同的二元逻辑运算转换方法对同一个规则集进行转换,会得到不同的结果。本发明所述的IPv6报文分类方法采用启发式规则选择转换方法,所述启发式规则包括转换前后地址数量比最小原则和转换为同一复合IP地址的源IP地址、目的IP地址转换数量最大原则:
所述转换前后地址数量比,为转换前规则集中规则个数与转换后复合IP地址的个数之比;
转换为同一个复合IP地址的源IP地址、目的IP地址数量最大,即:
Max{x|x为转换为同一个复合IP地址的地址二元组的数量}。
本发明方法在对接收的当前数据包进行报文分类时包括:
步骤42、提取当前数据包的三元组,记录原始规则集中的默认规则;当前数据包源IP地址和目的IP地址由所述二元逻辑运算转换为复合IP地址。
IPv6规则集中,采用三元组表示规则。三元组中,源IP地址和目的IP地址以无类域间路由形式表示,均为128比特;流标签以范围(0x00000,xfffff)的形式表示。
步骤43、步骤42所述复合IP地址按比特依次与二叉树节点对应的比特 匹配,如果在与所述复合IP地址匹配的所有节点关联的规则桶中查找到了与当前数据包源IP地址、目的IP地址和流标签匹配的规则,则选择查找到的优先级最高的规则作为当前数据包报文分类规则;否则,将所述默认规则作为当前数据包的报文分类规则。
决策树的查找速度取决于二叉树的高度,为了优化查找性能,本发明采取了如下优化措施,在步骤41和42之间,进一步包括:
x、将二叉树同一路径上不联接规则桶的两个以上串接单枝节点压缩为一个压缩节点,被压缩的单枝节点之间形成一条压缩路径,压缩节点存储压缩路径对应比特。
决策树的查找性能还取决于规则桶中的规则查找性能,为了进一步优化查找性能,步骤x之后还包括:
y、在联接规则桶的节点上标注优先级标签;所述优先级标签的内容为联接规则桶的节点的子树所含规则的最高优先级。
本发明方法中,通过步骤41构造了决策树,并通过步骤x和步骤y对决策树进行优化之后,可以通过步骤42和43在决策树中查找到的规则桶中的规则或所述默认规则作为当前数据包报文分类规则,所述默认规则的优先级为最低。
如图6所示,步骤43包括如下步骤:
431、将所述默认规则作为记录规则;步骤42中由所述二元逻辑运算转换得到的复合IP地址的最高比特作为当前比特,二叉树根节点作为当前节点;如果当前比特的下一比特为0时,该下一比特对应当前节点的左孩子节点,否则,该下一比特对应当前节点的右孩子节点;记录最高比特到当前比特的位数为p,p为自然数;设置增量t,t为非负整数;
432、检测当前节点是否为压缩节点,如果是,执行步骤433;如果不是,执行步骤434;
433、二叉树中压缩节点的压缩路径长度为s,s为大于等于2的自然数;设置t=s;
提取所述复合IP地址中第(p+1)比特至第(p+s)比特之间的s个比特,分别与当前节点对应的比特进行匹配,如果匹配,则执行步骤435;如果不匹配,执行步骤438;
434、设置t=0,当前比特与当前节点对应的比特进行匹配,如果匹配,执行步骤435;如果不匹配,执行步骤438;
435、检测当前节点是否有关联的规则桶,如果没有,执行步骤438;如果有,执行步骤436;
436、查找规则桶中是否存在与当前数据包的三元组匹配的规则,如果存在,将查找到的优先级较高的规则作为记录规则;检测记录规则的优先级是否比当前节点优先级标签上标注的优先级高,如果是,则执行步骤438;否则,执行步骤437;
437、检测当前节点是否为叶子节点,如果是,则执行步骤438;如果不是,则选择第(p+t+1)比特作为当前比特,当前节点的与第(p+t+1)比特对应的孩子节点作为当前节点,同时设置p=p+t+1,返回步骤432;
438、返回记录规则。
实际应用中,原始规则集中的规则可能发生变化,这些变化必须尽快反映到决策树中,以使路由器等设备对数据包做出正确的处理操作。原始规则集中规则的增加、删除和修改导致了的决策树规则桶中规则的增加、删除和修改。决策树规则桶中规则的增加、删除和修改过程将在实施例中进行描述,此处不再赘述。
实施例
路由器中的原始规则集,如表2所示,每条规则的源IP地址和目标IP地址经二元逻辑运算转换后,得到的复合IP地址组成的集合如表3所示:
规则号 | 流标签 | 源IP地址 | 目的IP地址 | 流ID | 优先级 |
0 | 0x00011:0x00011 | 2001:4000::/18 | 2001:3000::/20 | 4 | 1 |
[0075]
1 | 0x00100:0x00101 | 2001::/18 | 2001:2000::/19 | 5 | 2 |
2 | 0x01000:0x01100 | 2001::/18 | 2001:3000::/20 | 6 | 3 |
3 | 0x01001:0x01001 | 2001:1000::/20 | 2001::/18 | 7 | 4 |
4 | 0x01010:0x01100 | 2001:6000::/20 | 2001:1800::/21 | 8 | 5 |
5 | 0x01010:0x01100 | 2001:4800::/22 | 2001:3000::/20 | 3 | 6 |
6 | 0x10010:0x10111 | 2001:0600::/23 | 2001:0700::/23 | 2 | 7 |
7 | 0x11000:0x11100 | 2001:0e00::/24 | 2001:0c00::/23 | 1 | 8 |
表2
复合IP地址 | 原始规则号 |
2001:4000::/18 | 0 |
2001::/18 | 1,2,3 |
2001:7000::/20 | 4,5 |
2001:0600::/23 | 6 |
2001:0e00::/23 | 7 |
表3
其中,第1、2、3号规则对应的源IP地址、目的IP地址转换为同一个复合IP地址,第4、5号规则对应的IP地址、目的IP地址转换为同一个复合IP地址;转换前后地址数量比为1.6,同一复合IP地址对应的源IP地址、目的IP地址最大数量为3。
这里,所述二元逻辑运算采用或(or)转换方法。
根据表3中的每个复合IP地址的地址前缀构造决策树,如图7所示,每个规则桶均标明了所含规则的规则号;经优化处理的决策树如图8所示,实心节点为压缩节点,其它节点为非压缩节点,带有规则的节点均标明了优先级;压缩节点中存储有被压缩的单枝节点对应的比特,其它非压缩节 点对应的比特都存储在节点路径上。
路由器收到一个数据包后,提取当前数据包中的源IP地址、目的IP地址和流标签组成三元组,所述二元逻辑运算将数据包的源IP地址和目的IP地址转换为复合IP地址,并记录由数据包三元组组成的默认规则。
本实施例中,路由器从当前数据包中提取的源IP地址为2001:6500::/23,目的IP地址为2001::/18,流标签为0x01010:0x01100,它们构成了三元组,由三元组组成的默认规则如表4所示。源IP地址和目的IP地址由所述二元逻辑运算通过或运算方法转换得到的复合IP地址为2001::/18。
2001:6500::/23 | 2001::/18 | 0x01010:0x01100 |
表4
实际应用中,由三元组组成的规则还附加有流ID和优先级两个字段,如表5所示:
源IP地址 | 目的IP地址 | 流标签 | 流ID | 优先级 |
表5
其中,优先级字段的内容为本规则的优先级。
在决策树中查找与复合IP地址2001::/18相匹配的规则,查找过程包括在二叉树上的查找和规则桶中的查找。
复合IP地址2001::/18按比特依次与二叉树节点进行匹配,按照步骤431~438,查找到与该复合IP地址的地址前缀匹配的节点,在该节点联接的规则桶中查找到1、2、3号三条规则,但这三条规则与当前数据包的源IP地址2001:6500::/23、目的IP地址2001::/18、流标签0x01010:0x01100均不匹配,继续按照步骤431~438进行节点匹配和规则查找,再次匹配到的节点所关联的规则桶中包含6号规则,该规则与当前数据包的源IP地址2001:6500::/23、目的IP地址2001::/18、流标签0x01010:0x01100也不匹配,而所述再次匹配到的节点已经为叶子节点,所以,结束查找过程,将当前数据包 三元组组成的默认规则作为报文分类规则。
实际应用中,如果在与该复合IP地址的地址前缀匹配的所有节点关联的规则桶中查找到了一个与当前数据包三元组匹配的规则,则以该规则作为报文分类规则;如果查找到了多个与当前数据包三元组匹配的规则,则以优先级最高的规则作为报文分类规则。
本发明实施例中,在规则桶中的查找可以使用线性查找法、二分查找法,但不局限于这两种方法。
实际应用中,当需要在原始规则集中增加规则时,该方法如图9所示,包括:
91、待增加规则的源IP地址和目的IP地址由所述二元逻辑运算转换为复合IP地址,复合IP地址的地址前缀为n位,n为自然数;所述复合IP地址前缀最高比特为当前比特位,二叉树根节点为当前节点;
假设待增加规则如表4所示,那么,源IP地址2001:6500::/23和目的IP地址2001::/18由二元逻辑运算转换得到的复合IP地址为2001::/18,地址前缀为18位,地址前缀的最高比特为0。
92、记录最高比特到当前比特的位数为p,1=<p<=128,且p为自然数;
当p<n时,检测当前节点是否为压缩节点,如果是,执行步骤93;如果不是,执行步骤95;
当p=n时,执行步骤97;
当p>n时,执行步骤99;
93、二叉树中压缩节点对应的压缩路径长度为s,s为大于等于2的自然数;提取所述复合IP地址中第(p+1)比特至第(p+s)比特之间的s个比特,分别与当前节点对应的比特匹配,如果匹配,则选择第(p+s+1)比特作为当前比特,当前节点的与第(p+s+1)比特对应的孩子节点作为当前节点,返回步骤92;如果不匹配,则执行步骤94;
94、压缩路径上第一个不匹配的比特对应第(p+q)比特,q为小于等 于s的自然数;分解压缩路径,在压缩路径上第一个不匹配的比特对应的节点与前一个节点之间,依次***分别与所述复合IP地址的第(p+q)比特至第n比特匹配的所有节点,之后,执行步骤97;
95、当前比特与当前节点对应的比特匹配,如果匹配,则选择当前比特的下一比特作为当前比特,当前节点的与该下一比特对应的孩子节点作为当前节点,返回步骤u2;如果不匹配,则执行步骤96;
96、在前一个匹配的节点与当前节点之间,依次***与所述复合IP地址第p~n比特匹配的所有节点;
97、建立一个与第n比特匹配的节点关联的规则桶,将待增加规则添加新建的规则桶中;
98、更新二叉树上关联规则桶的节点的优先级标签;
99、退出增加规则的流程。
经过步骤91~98后,待增加规则被添加到图7中包含有1、2、3号规则的规则桶中。
对决策树进行优化处理后,如果需要在原始规则集中增加规则,本发明方法进一步包括在决策树规则桶中删除规则的步骤,如图10所示,所述在决策树规则桶中删除规则的步骤包括:
101、待删除规则的源IP地址、目的IP地址由所述二元逻辑运算转换为复合IP地址;所述复合IP地址的最高比特为当前比特位,二叉树的根节点为当前节点;如果当前比特的下一比特为0时,该下一比特对应当前节点的左孩子节点,否则,该下一比特对应当前节点的右孩子节点;记录最高比特到当前比特的位数为p,p为自然数;设置增量t,t为非负整数;
102、检测当前节点是否为压缩节点,如果是,执行步骤103;如果不是,执行步骤104;
103、二叉树中压缩节点的压缩路径长度为s,s为大于等于2的自然数;设置t=s;
提取所述复合IP地址中第(p+1)比特至第(p+s)比特之间的s个 比特,分别与当前节点对应的比特进行匹配,如果匹配,则执行步骤105;如果不匹配,则执行步骤110;
104、设置t=0,当前比特与当前节点对应的比特进行匹配,如果匹配,执行步骤105;如果不匹配,则执行步骤110;
105、检测当前节点是否有规则桶,如果有,则执行步骤106;如果没有,则选择第(p+t+1)比特作为当前比特,当前节点的与第(p+t+1)比特对应的孩子节点作为当前节点,同时设置p=p+t+1,返回步骤102;
106、检测与当前节点关联的规则桶中是否存在待删除规则,如果存在,执行步骤107;如果不存在,则选择第(p+t+1)比特作为当前比特,当前节点的与第(p+t+1)比特对应的孩子节点作为当前节点,同时设置p=p+t+1,返回步骤102;
107、从与当前节点关联的规则桶中删除待删除规则;检测规则桶中是否还有规则,如果有,则执行步骤109;否则,执行步骤108;
108、删除规则桶,并检测当前节点是否为叶子节点,如果是,则删除与当前节点;如不是,且有两个孩子节点,则执行步骤109;如果不是,且是单孩子节点,则删除与当前节点,合并当前节点的父亲节点和孩子节点之间的路径;
109、更新二叉树上关联规则桶的节点的优先级标签;
110、退出规则删除流程。
对决策树进行优化处理后,如果需要在原始规则集中修改规则,本发明方法进一步包括在决策树规则桶中修改规则的步骤:
k1、待修改规则的源IP地址、目的IP地址由所述二元逻辑运算转换为复合IP地址;所述复合IP地址的最高比特作为当前比特位,二叉树的根节点作为当前节点;如果当前比特的下一比特为0时,该下一比特对应当前节点的左孩子节点,否则,该下一比特对应当前节点的右孩子节点;记录最高比特到当前比特的位数为p,p为自然数;设置增量t,t为非负整数;
k2、检测当前节点是否为压缩节点,如果是,执行步骤k3;如果不 是,执行步骤k4;
k3、二叉树中压缩节点的压缩路径长度为s,s为大于等于2的自然数;设置t=s;
提取所述复合IP地址中第(p+1)比特至第(p+s)比特之间的s个比特,分别与当前节点对应的比特进行匹配,如果匹配,则执行步骤k5;如果不匹配,则退出规则修改流程;
k4、设置t=0,当前比特与当前节点对应的比特进行匹配,如果匹配,执行步骤k5;如果不匹配,则退出规则修改流程;
k5、检测当前节点是否有关联的规则桶,如果没有,则选择第(p+t+1)比特作为当前比特,当前节点的与第(p+t+1)比特对应的孩子节点作为当前节点,同时设置p=p+t+1,返回步骤k2;如果有,则执行步骤k6;
k6、检测与当前节点关联的规则桶中是否存在待修改规则,如果存在,执行步骤k7;如果不存在,则选择第(p+t+1)比特作为当前比特,当前节点的与第(p+t+1)比特对应的孩子节点作为当前节点,同时设置p=p+t+1,返回步骤k2;
k7、修改与当前节点关联的规则桶中的待修改规则;
k8、更新二叉树上关联规则桶的节点的优先级标签,退出规则修改流程。
本发明涉及一种实现IPv6报文分类的设备,如图11所示,它包括:构造单元1、处理单元2和分类单元3;其中,
构造单元1,用于将原始规则集中每个规则均表示为由源IP地址、目的IP地址和流标签组成的三元组,将原始规则集中每个规则的源IP地址和目的IP地址由二元逻辑运算转换为复合IP地址,根据复合IP地址的地址前缀构建二叉树,地址前缀的一个比特对应二叉树的一个节点,地址前缀的每个比特分别存储在对应节点的路径上,与地址前缀匹配的节点联接一规则桶;将每个规则添加到与自身复合IP地址的地址前缀匹配的节点关联的规则桶中。
如图12所示,构造单元1包括表征模块11、转换模块12,构建模块13、设置模块14和添加模块15;其中,表征模块11用于将原始规则集中每个规则均表示为源IP地址、目的IP地址和流标签组成的三元组;转换模块12用于将原始规则集中每个规则的源IP地址和目的IP地址由二元逻辑运算转换为复合IP地址;构建模块13用于根据转换模块12转换得到的复合IP地址的地址前缀构建二叉树,地址前缀的一个比特对应二叉树的一个节点,地址前缀的每个比特分别存储在对应节点的路径上;设置模块14用于在与地址前缀匹配的节点上设置一个关联的规则桶;添加模块15用于将原始规则集中的每个规则添加到与自身复合IP地址的地址前缀匹配的节点关联的规则桶中。
实际应用中,为了便于对决策树进行优化,构造单元还包括压缩模块和标注模块;其中,压缩模块用于将二叉树同一路径上不联接规则桶的两个或两个以上串接单枝节点压缩为一个压缩节点;标注单元用于在联接规则桶的节点上标注自身子树所含规则的最高优先级的优先级标签。
实际应用中,当原始规则集中增加规则时,为了对决策树规则桶中的规则进行相应的增加,构造单元还包括增加模块,用于将待增加规则的复合IP地址按比特与二叉树节点对应的比特进行匹配,如果找到与待增加规则的复合IP地址的地址前缀匹配的节点,则将待增加规则添加到与待增加规则的复合IP地址的地址前缀匹配的节点关联的规则桶中;否则,在二叉树中添加节点,使得二叉树中存在与待增加规则的复合IP地址的地址前缀匹配的节点,并设置一个与待增加规则的复合IP地址的地址前缀匹配的节点关联的规则桶,将待增加规则添加到新建规则桶中。
在原始规则集中删除规则时,为了对决策树规则桶中的规则进行相应的删除,构造单元还包括删除模块,用于将待删除规则的复合IP地址按比特与二叉树节点对应的比特匹配,如果找到与待删除规则的复合IP地址的地址前缀匹配的节点,则将与待删除规则的复合IP地址的地址前缀匹配的节点关联的规则桶中的待删除规则删除;否则,退出规则删除流程。
在原始规则集中修改规则时,为了对决策树规则桶中的规则进行相应的修改,构造单元还包括修改模块,用于将待修改规则的复合IP地址按比特与二叉树节点对应的比特匹配,如果找到与待修改规则的复合IP地址的地址前缀匹配的节点,则修改与待修改规则的复合IP地址的地址前缀匹配的节点关联的规则桶中的待修改规则;否则,退出规则修改流程。
针对增加模块、删除模块和修改模块,构造单元还包括更新模块,用于更新二叉树上关联规则桶的节点的优先级标签。
处理单元2,用于提取当前数据包的三元组,记录原始规则集中的默认规则;当前数据包源IP地址和目的IP地址由所述二元逻辑运算转换为复合IP地址。
如图13所示,所述处理单元2包括:提取模块21、转换模块22和存储模块23;其中,提取模块21用于提取当前数据包的三元组;转换模块22用于将提取模块21提取的源IP地址和目的IP地址通过所述二元逻辑运算转换为复合IP地址;存储模块23用于记录原始规则集中的默认规则。
分类单元3,用于将处理单元2转换得到的复合IP地址按比特依次与二叉树节点对应的比特匹配,如果在与所述复合IP地址的地址前缀匹配的所有节点关联的规则桶中查找到了与当前数据包三元组匹配的规则,则选择查找到的优先级最高的规则作为当前数据包报文分类规则;否则,将所述默认规则作为当前数据包的报文分类规则。
如图14所示,所述分类单元3包括匹配模块31、查找模块32和决策模块33;其中,匹配模块31用于将处理单元2的转换模块22转换得到的复合IP地址按比特依次与二叉树节点对应的比特匹配,查找与所述处理单元2的转换模块22转换得到的复合IP地址的地址前缀匹配的所有节点;查找模块32用于在处理单元2的转换模块22转换得到的复合IP地址的地址前缀匹配的所有节点关联的规则桶中,查找与当前数据包三元组匹配的规则;决策模块33,用于在查找模块32查找到与当前数据包三元组匹配的规则时,在查找到的所有规则中选择优先级最高的规则作为当前数据包报文 分类规则;否则,将所述默认规则作为当前数据包的报文分类规则。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种实现IPv6报文分类的方法,其特征在于,原始规则集中每个规则均表示为由源IP地址、目的IP地址和流标签组成的三元组,将每个规则的源IP地址和目的IP地址由二元逻辑运算转换为复合IP地址,根据复合IP地址的地址前缀构建二叉树,地址前缀的一个比特对应二叉树的一个节点,地址前缀的每个比特分别存储在对应节点的路径上,与地址前缀匹配的节点联接一规则桶;将每个规则添加到与自身复合IP地址的地址前缀匹配的节点关联的规则桶中;在对当前数据包进行报文分类时该方法包括:
a、提取当前数据包的三元组,记录原始规则集中的默认规则;当前数据包源IP地址和目的IP地址由所述二元逻辑运算转换为复合IP地址;
b、步骤a所述的复合IP地址按比特依次与二叉树节点对应的比特进行匹配,如果在与所述复合IP地址的地址前缀匹配的所有节点关联的规则桶中查找到了与当前数据包三元组匹配的规则,则选择查找到的优先级最高的规则作为当前数据包报文分类规则;否则,将所述默认规则作为当前数据包的报文分类规则。
2.根据权利要求1所述的方法,其特征在于,在所述将每个规则添加到与自身复合IP地址的地址前缀匹配的节点关联的规则桶中之后,步骤a之前,所述方法进一步包括:
x、将二叉树同一路径上不联接规则桶的两个或两个以上串接单枝节点压缩为一个压缩节点,被压缩的单枝节点之间形成一条压缩路径,压缩节点存储压缩路径对应比特。
3.根据权利要求2所述的方法,其特征在于,步骤x之后进一步包括:
y、在联接规则桶的节点上标注优先级标签,所述优先级标签的内容为联接规则桶的节点的子树所含规则的最高优先级。
4.根据权利要求3所述的方法,其特征在于,步骤b包括:
b1、将所述默认规则作为记录规则;步骤a中由所述二元逻辑运算转换得到的复合IP地址的最高比特作为当前比特,二叉树根节点作为当前节点;如果当前比特的下一比特为0时,该下一比特对应当前节点的左孩子节点,否则,该下一比特对应当前节点的右孩子节点;记录最高比特到当前比特的位数为p,p为自然数;设置增量t,t为非负整数;
b2、检测当前节点是否为压缩节点,如果是,执行步骤b3;如果不是,执行步骤b4;
b3、二叉树中压缩节点的压缩路径长度为s,s为大于等于2的自然数;设置t=s;
提取所述复合IP地址中第p+1比特至第p+s比特之间的s个比特,分别与当前节点存储的对应比特进行匹配,如果匹配,则执行步骤b5;如果不匹配,执行步骤b8;
b4、设置t=0,当前比特与当前节点对应的比特进行匹配,如果匹配,执行步骤b5;如果不匹配,执行步骤b8;
b5、检测当前节点是否有关联的规则桶,如果没有,执行步骤b8;如果有,执行步骤b6;
b6、查找规则桶中是否存在与当前数据包的三元组匹配的规则,如果存在,将查找到的优先级较高的规则作为记录规则;检测记录规则的优先级是否比当前节点优先级标签上标注的优先级高,如果是,则执行步骤b8;否则,执行步骤b7;
b7、检测当前节点是否为叶子节点,如果是,则执行步骤b8;如果不是,则选择第p+t+1比特作为当前比特,当前节点的与第p+t+1比特对应的孩子节点作为当前节点,同时设置p=p+t+1,返回步骤b2;
b8、返回记录规则。
5.根据权利要求3所述的方法,其特征在于,步骤y之后,当需要在原始规则集中增加规则时,该方法进一步包括:
u1、待增加规则的源IP地址和目的IP地址由所述二元逻辑运算转换为 复合IP地址,复合IP地址的地址前缀为n位,n为自然数;所述复合IP地址最高比特为当前比特位,二叉树根节点为当前节点;
u2、记录最高比特到当前比特的位数为p,p为自然数;
当p<n时,检测当前节点是否为压缩节点,如果是,执行步骤u3;如果不是,执行步骤u5;
当p=n时,则将待增加规则添加到与复合IP地址第n比特匹配的节点关联的规则桶中,更新二叉树上关联规则桶的节点的优先级标签,退出增加规则的流程;
当p>n时,则退出增加规则的流程;
u3、二叉树中压缩节点对应的压缩路径长度为s,s为大于等于2的自然数;提取所述复合IP地址中第p+1比特至第p+s比特之间的s个比特,分别与当前节点对应的比特进行匹配,如果匹配,则选择第p+s+1比特作为当前比特,当前节点的与第p+s+1比特对应的孩子节点作为当前节点,返回步骤u2;如果不匹配,则执行步骤u4;
u4、压缩路径上第一个不匹配的比特对应所述复合IP地址的第p+q比特,q为小于等于s的自然数;分解压缩路径,在压缩路径上第一个不匹配的比特对应的节点与其前一个节点之间,依次***与所述复合IP地址的第p+q比特至第n比特匹配的所有节点,之后,执行步骤u7;
u5、当前比特与当前节点对应的比特进行匹配,如果匹配,则选择当前比特的下一比特作为当前比特,当前节点的与该下一比特对应的孩子节点作为当前节点,返回步骤u2;如果不匹配,则执行步骤u6;
u6、在前一个匹配的节点与当前节点之间,依次***与所述复合IP地址第p~n比特匹配的所有节点;
u7、建立一个与复合IP地址第n比特匹配的节点关联的规则桶,将待增加规则添加新建的规则桶中,更新二叉树上关联规则桶的节点的优先级标签之后,退出增加规则的流程。
6.根据权利要求3所述的方法,其特征在于,步骤y之后,当需要在原 始规则集中删除规则时,所述方法进一步包括:
v1、待删除规则的源IP地址、目的IP地址由所述二元逻辑运算转换为复合IP地址;所述复合IP地址的最高比特为当前比特位,二叉树的根节点为当前节点;如果当前比特的下一比特为0时,该下一比特对应当前节点的左孩子节点,否则,该下一比特对应当前节点的右孩子节点;记录最高比特到当前比特的位数为p,p为自然数;设置增量t,t为非负整数;
v2、检测当前节点是否为压缩节点,如果是,执行步骤v3;如果不是,执行步骤v4;
v3、二叉树中压缩节点的压缩路径长度为s,s为大于等于2的自然数;设置t=s;
提取所述复合IP地址中第p+1比特至第p+s比特之间的s个比特,分别与当前节点存储的对应比特进行匹配,如果匹配,则执行步骤v5;如果不匹配,则退出规则删除流程;
v4、设置t=0,当前比特与当前节点对应的比特进行匹配,如果匹配,执行步骤v5;如果不匹配,则退出规则删除流程;
v5、检测与当前节点是否有规则桶,如果有,则执行步骤v6;如果没有,则选择第p+t+1比特作为当前比特,当前节点的与第p+t+1比特对应的孩子节点作为当前节点,同时设置p=p+t+1,返回步骤v2;
v6、检测与当前节点关联的规则桶中是否存在待删除规则,如果存在,执行步骤v7;如果不存在,则选择第p+t+1比特作为当前比特,当前节点的与第p+t+1比特对应的孩子节点作为当前节点,同时设置p=p+t+1,返回步骤v2;
v7、从与当前节点关联的规则桶中删除待删除规则,并检测规则桶中是否还有规则,如果有,则执行步骤v9;否则,执行步骤v8;
v8、删除规则桶,并检测当前节点是否为叶子节点,如果是,则删除当前节点;如果不是,且有两个孩子节点,则执行步骤v9;如果不是,且是单孩子节点,则删除当前节点,合并当前节点的父亲节点和孩子节点之 间的路径;
v9、更新二叉树上关联规则桶的节点的优先级标签,退出规则删除流程。
7.根据权利要求3所述的方法,其特征在于,步骤y之后,当需要在原始规则集中修改规则时,所述方法进一步包括:
k1、待修改规则的源IP地址、目的IP地址由所述二元逻辑运算转换为复合IP地址;所述复合IP地址的最高比特作为当前比特位,二叉树的根节点作为当前节点;如果当前比特的下一比特为0时,该下一比特对应当前节点的左孩子节点,否则,该下一比特对应当前节点的右孩子节点;记录最高比特到当前比特的位数为p,p为自然数;设置增量t,t为非负整数;
k2、检测当前节点是否为压缩节点,如果是,执行步骤k3;如果不是,执行步骤k4;
k3、二叉树中压缩节点的压缩路径长度为s,s为大于等于2的自然数;设置t=s;
提取所述复合IP地址中第p+1比特至第p+s比特之间的s个比特,分别与当前节点对应的比特进行匹配,如果匹配,则执行步骤k5;如果不匹配,则退出规则修改流程;
k4、设置t=0,当前比特与当前节点对应的比特进行匹配,如果匹配,执行步骤k5;如果不匹配,则退出规则修改流程;
k5、检测当前节点是否有关联的规则桶,如果没有,则选择第p+t+1比特作为当前比特,当前节点的与第p+t+1比特对应的孩子节点作为当前节点,同时设置p=p+t+1,返回步骤k2;如果有,则执行步骤k6;
k6、检测与当前节点关联的规则桶中是否存在待修改规则,如果存在,执行步骤k7;如果不存在,则选择第p+t+1比特作为当前比特,当前节点的与第p+t+1比特对应的孩子节点作为当前节点,同时设置p=p+t+1,返回步骤k2;
k7、修改与当前节点关联的规则桶中的待修改规则;
k8、更新二叉树上关联规则桶的节点的优先级标签,退出规则修改流程。
8.根据权利要求1至7任一所述的方法,其特征在于:所述二元逻辑运算采用或、与或者异或方法。
9.一种实现IPv6报文分类的设备,其特征在于,所述设备包括:构造单元、处理单元和分类单元;其中,
所述构造单元,用于将原始规则集中每个规则均表示为由源IP地址、目的IP地址和流标签组成的三元组,每个规则的源IP地址和目的IP地址由二元逻辑运算转换为复合IP地址,根据复合IP地址的地址前缀构建二叉树,地址前缀的一个比特对应二叉树的一个节点,地址前缀的每个比特分别存储在对应节点的路径上,与地址前缀匹配的节点联接一规则桶;将每个规则添加到与自身复合IP地址的地址前缀匹配的节点关联的规则桶中;
所述处理单元,用于提取当前数据包的三元组,记录原始规则集中的默认规则;当前数据包源IP地址和目的IP地址由所述二元逻辑运算转换为复合IP地址;
所述分类单元,用于将处理单元转换得到的复合IP地址按比特依次与二叉树节点匹配,如果在与所述复合IP地址的地址前缀匹配的所有节点关联的规则桶中查找到了与当前数据包三元组匹配的规则,则选择查找到的优先级最高的规则作为当前数据包报文分类规则;否则,将所述默认规则作为当前数据包的报文分类规则。
10.根据权利要求9所述的设备,其特征在于,所述构造单元包括:表征模块、转换模块、构建模块、设置模块和添加模块;其中,
所述表征模块,用于将原始规则集中每个规则均表示为由源IP地址、目的IP地址和流标签组成的三元组格式;
所述转换模块,用于将原始规则集中每个规则的源IP地址和目的IP地址由二元逻辑运算转换为复合IP地址;
所述构建模块,用于根据转换模块转换得到的复合IP地址的地址前缀 构建二叉树,地址前缀的一个比特对应二叉树的一个节点,地址前缀的每个比特分别存储在对应节点的路径上;
所述设置模块,用于在与地址前缀匹配的节点上设置一个关联的规则桶;
所述添加模块,用于将原始规则集中的每个规则添加到与自身复合IP地址的地址前缀匹配的节点关联的规则桶中。
11.根据权利要求10所述的设备,其特征在于,所述构造单元还包括压缩模块和标注模块;其中,
所述压缩模块,用于将所述构建模块构建的二叉树同一路径上不联接规则桶的两个或两个以上串接单枝节点压缩为一个压缩节点;
所述标注模块,用于在联接规则桶的节点上标注自身子树所含规则的最高优先级的优先级标签。
12.根据权利要求11所述的设备,其特征在于,所述处理单元包括:提取模块、转换模块和存储模块;其中,
所述提取模块,用于提取当前数据包的三元组;
所述转换模块,用于将提取模块提取的源IP地址和目的IP地址通过所述二元逻辑运算转换为复合IP地址;
所述存储模块,用于记录原始规则集中当前数据包的默认规则。
13.根据权利要求12所述的设备,其特征在于,所述分类单元包括:匹配模块、查找模块和决策模块;其中,
所述匹配模块,所述处理单元的转换模块转换得到的复合IP地址按比特依次与二叉树节点对应的比特匹配,查找与所述处理单元的转换模块转换得到的复合IP地址的地址前缀匹配的所有节点;
所述查找模块,用于在所述处理单元的转换模块转换得到的复合IP地址的地址前缀匹配的所有节点关联的规则桶中,查找与当前数据包三元组匹配的规则;
所述决策模块,如果查找模块查找到与当前数据包三元组匹配的规 则,则在查找到的所有规则中选择优先级最高的规则作为当前数据包报文分类规则;否则,将所述默认规则作为当前数据包报文分类规则。
14.根据权利要求11所述的设备,其特征在于,在原始规则集中增加规则时,所述构造单元的转换模块将待增加规则的源IP地址和目的IP地址转换为复合IP地址,所述构造单元还包括增加模块:
所述增加模块,用于将待增加规则的复合IP地址的地址前缀按比特与二叉树节点对应的比特匹配,如果找到与待增加规则的复合IP地址的地址前缀匹配的节点,则将待增加规则添加到与待增加规则的复合IP地址的地址前缀匹配的节点关联的规则桶中;否则,在二叉树中添加节点,使得二叉树中存在与待增加规则的复合IP地址的地址前缀匹配的节点,并设置一个与待增加规则的复合IP地址的地址前缀匹配的节点关联的规则桶,将待增加规则添加到新建规则桶中。
15.根据权利要求11所述的设备,其特征在于,原始规则集中发生规则删除时,所述构造单元的转换模块将待删除规则的源IP地址和目的IP地址转换为复合IP地址,所述构造单元还包括删除模块:
所述删除模块,用于将待删除规则的复合IP地址的地址前缀按比特与二叉树节点对应的比特匹配,如果找到与待删除规则的复合IP地址的地址前缀匹配的节点,则将与待删除规则的复合IP地址的地址前缀匹配的节点关联的规则桶中的待删除规则删除。
16.根据权利要求11所述的设备,其特征在于,原始规则集中的规则发生修改时,所述构造单元的转换模块将待修改规则的源IP地址和目的IP地址转换为复合IP地址,所述构造单元还包括修改模块:
所述修改模块,用于将待修改规则的复合IP地址的地址前缀按比特与二叉树节点对应的比特匹配,如果找到与待修改规则的复合IP地址的地址前缀匹配的节点,则修改与待修改规则的复合IP地址的地址前缀匹配的节点关联的规则桶中的待修改规则。
17.根据权利要求14、15或16所述的设备,其特征在于,所述构造单 元还包括更新模块;
所述更新模块,用于更新二叉树上关联规则桶的节点的优先级标签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101178716A CN101345707B (zh) | 2008-08-06 | 2008-08-06 | 一种实现IPv6报文分类的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101178716A CN101345707B (zh) | 2008-08-06 | 2008-08-06 | 一种实现IPv6报文分类的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101345707A CN101345707A (zh) | 2009-01-14 |
CN101345707B true CN101345707B (zh) | 2010-12-08 |
Family
ID=40247600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101178716A Expired - Fee Related CN101345707B (zh) | 2008-08-06 | 2008-08-06 | 一种实现IPv6报文分类的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101345707B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101500012B (zh) * | 2009-02-27 | 2012-08-22 | 中国人民解放军信息工程大学 | 一种报文分类方法和*** |
CN102148746A (zh) * | 2010-02-05 | 2011-08-10 | 中兴通讯股份有限公司 | 一种报文分类方法和*** |
CN102255788B (zh) * | 2010-05-19 | 2014-08-20 | 北京启明星辰信息技术股份有限公司 | 报文分类决策构建***及方法、报文分类***及方法 |
EP2582096B1 (en) * | 2010-06-28 | 2016-03-30 | Huawei Technologies Co., Ltd. | Classification method and device for packets |
CN101984627B (zh) * | 2010-11-12 | 2013-04-03 | 北京工业大学 | 基于信任的访问控制中的权限映射方法 |
CN103269342B (zh) * | 2013-05-10 | 2016-03-02 | 南通大学 | 一种基于ipv6的高维大规模包匹配方法 |
CN104935504B (zh) * | 2014-03-17 | 2018-05-22 | ***通信集团河北有限公司 | 一种确定数据包对应的数据规则的方法及装置 |
CN108334888B (zh) * | 2017-01-20 | 2022-03-11 | 微软技术许可有限责任公司 | 针对比特序列的压缩编码 |
CN107948091B (zh) * | 2017-11-02 | 2020-04-14 | 中国科学院声学研究所 | 一种网包分类的方法及装置 |
CN108123872B (zh) * | 2017-12-21 | 2020-09-04 | 国网浙江省电力有限公司电力科学研究院 | 面向电力物联网的流量分类和转发方法及*** |
CN108449226B (zh) * | 2018-02-28 | 2021-07-23 | 华青融天(北京)软件股份有限公司 | 信息快速分类的方法和*** |
CN111447233B (zh) * | 2020-03-31 | 2022-05-31 | 国家计算机网络与信息安全管理中心 | 基于vxlan的报文过滤方法和装置 |
CN112804372B (zh) * | 2020-12-31 | 2023-03-24 | 武汉思普崚技术有限公司 | 一种用户终端分组方法、***、装置及存储介质 |
CN113765901A (zh) * | 2021-08-25 | 2021-12-07 | 紫光云(南京)数字技术有限公司 | 一种修改acl规则的方法 |
CN113762424B (zh) * | 2021-11-09 | 2022-02-01 | 鹏城实验室 | 一种网络包分类方法及相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719769A (zh) * | 2004-07-09 | 2006-01-11 | 杭州华为三康技术有限公司 | 在网络设备中对接收数据包进行分类的方法 |
CN101022407A (zh) * | 2007-03-13 | 2007-08-22 | 中兴通讯股份有限公司 | 一种基于二叉树的流分类查找方法 |
-
2008
- 2008-08-06 CN CN2008101178716A patent/CN101345707B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719769A (zh) * | 2004-07-09 | 2006-01-11 | 杭州华为三康技术有限公司 | 在网络设备中对接收数据包进行分类的方法 |
CN101022407A (zh) * | 2007-03-13 | 2007-08-22 | 中兴通讯股份有限公司 | 一种基于二叉树的流分类查找方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101345707A (zh) | 2009-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101345707B (zh) | 一种实现IPv6报文分类的方法及设备 | |
Bremler-Barr et al. | Space-efficient TCAM-based classification using gray coding | |
JP4452183B2 (ja) | プログラマブル状態マシンのデータ構造を作成して入力単語連鎖を構文解析する方法、プログラマブル状態マシンのデータ構造を使用して入力単語連鎖に対応する結果として得られた値を検索する方法、ワイヤスピードのディープ・パケット処理を行う方法、ディープ・パケット処理のための装置、チップ埋め込み装置、およびプログラミング・コード命令を含むコンピュータ・プログラム(ディープ・パケット処理のための方法および装置) | |
US6594655B2 (en) | Wildcards in radix- search tree structures | |
US7418505B2 (en) | IP address lookup using either a hashing table or multiple hash functions | |
Lim et al. | Priority tries for IP address lookup | |
US20130034096A1 (en) | Routing table establishment method and device and routing table lookup method and device | |
CN104579941A (zh) | 一种OpenFlow交换机中的报文分类方法 | |
JP3881663B2 (ja) | フィールドレベルツリーを用いたパケット分類装置及び方法 | |
CN102045412B (zh) | IPv6地址前缀压缩存储方法及设备 | |
CN110858823A (zh) | 一种数据包的分类方法、装置及计算机可读存储介质 | |
Pao et al. | A multi-pipeline architecture for high-speed packet classification | |
Yang et al. | Fast OpenFlow table lookup with fast update | |
Li et al. | TabTree: A TSS-assisted bit-selecting tree scheme for packet classification with balanced rule mapping | |
Li et al. | A power-saving pre-classifier for TCAM-based IP lookup | |
CN112667640B (zh) | 一种路由地址存储方法及装置 | |
Lim et al. | Two-dimensional packet classification algorithm using a quad-tree | |
Hsieh et al. | A classified multisuffix trie for IP lookup and update | |
Kekely et al. | Packet classification with limited memory resources | |
Erdem et al. | Hierarchical hybrid search structure for high performance packet classification | |
Veeramani et al. | Efficient IP lookup using hybrid trie-based partitioning of TCAM-based open flow switches | |
CN114465757B (zh) | 一种基于Trie树实现DDOS用户匹配的方法及装置 | |
KR100662254B1 (ko) | 라우팅 시스템에서의 패킷 분류 장치 및 이를 위한 룰 구축 방법 | |
Sun et al. | Succinct and practical greedy embedding for geometric routing | |
Lee et al. | Hybrid memory-efficient multimatch packet classification for NIDS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101208 Termination date: 20140806 |
|
EXPY | Termination of patent right or utility model |