CN101039253B - 一种实现三重内容可寻址存储器范围匹配的前缀扩展方法 - Google Patents
一种实现三重内容可寻址存储器范围匹配的前缀扩展方法 Download PDFInfo
- Publication number
- CN101039253B CN101039253B CN2006100115176A CN200610011517A CN101039253B CN 101039253 B CN101039253 B CN 101039253B CN 2006100115176 A CN2006100115176 A CN 2006100115176A CN 200610011517 A CN200610011517 A CN 200610011517A CN 101039253 B CN101039253 B CN 101039253B
- Authority
- CN
- China
- Prior art keywords
- node
- current
- ancestor
- level
- prefix
- 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 51
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 101001135076 Homo sapiens Leiomodin-2 Proteins 0.000 description 1
- 102100033510 Leiomodin-2 Human genes 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种实现三重内容可寻址存储器范围匹配的前缀扩展方法,实现报文分类规则匹配中的端口范围匹配或IP地址范围匹配,其中,将规则中需要范围匹配字段的起始值设为完全二叉树的起始节点,迭代找出全部扩展前缀,该找出扩展前缀的步骤具体包括:步骤一,判断当前节点是左孩子,还是右孩子;步骤二,若当前节点为右孩子,则所述当前节点单独占用一个前缀,所述当前节点的下一个节点设为新的当前节点,并返回所述步骤一;步骤三,若当前节点为左孩子,则所述当前节点的最大右祖先节点占用一个前缀,所述当前节点的所述最大右祖先节点的最右叶子节点的下一个节点设为新的当前节点,并返回所述步骤一。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及使用TCAM(Ternary ContentAddressable Memory,三重内容可寻址存储器)实现ACL/QoS(Access ControlList/Quality of Service,访问控制列表/服务质量)方面的技术,主要应用在路由器,交换机,防火墙,入侵检测系统等网络设备。
背景技术
现今的网络设备中,大多都需要实现ACL/QoS,这些技术中最关键部分就是规则匹配,但是因为规则中的字段很多,匹配方式也不同,所以当规则很多时,匹配速度就成了性能瓶颈。现以ACL举例,传统的ACL由五元组构成:源IP地址,目的IP地址,源端口号,目的端口号,协议。一般的实现中,IP地址使用前缀匹配,协议使用精确匹配,而端口则使用范围匹配。目前实现ACL主要有两种途径,一种是使用软件实现,最典型的就是RFC(RecursiveFlow Classification,递归流分类)算法;另一种就是使用硬件实现,最典型的就是TCAM。当然硬件实现肯定比软件快很多,尤其是在一些高速网络中,一般都使用硬件进行加速。
TCAM是一种专用三重内容可寻址存储器,可以进行快速大量并行搜索。搜索的时候,存储器中所有的条目同时与搜索关键字比较,搜索结果就是匹配项的物理地址。在进行条目匹配时,条目的每个位可以是0、1、x三种状态,如果是x,那么该位不参与比较,默认是成功,否则关键字和条目的相应位进行比较,如果相同则成功否则失败。在比较过程中,如果某位不匹配,那么该条目匹配失败;如果所有位都匹配,那么该条目匹配成功。
TCAM硬件的固有特性使得TCAM非常适合进行精确匹配和前缀匹配,这时可以使用TCAM直接表示这些字段。比如MAC(Media Access Control,介质访问控制)地址表、MPLS(Multi-protocol Label Switching,多协议标签交换)转发表就是精确匹配,而IPv4/v6(Internet Protocol version 4/6,互联网协议第四/六版)路由表则是前缀匹配。但是当TCAM用于范围匹配时,比如TCP/UDP(Transfer Control Protocol/User Datagram Protocol,传输控制协议/用户数据报协议)端口范围,那么这时就无法简单的直接表示这些字段。
TCAM的范围匹配问题一直是应用TCAM的难点,而目前还没有一个很好的方法来解决这个问题。中国专利:基于TCAM的解决范围匹配的并行IP包分类器及方法,申请号200510011511,公开号1674557,使用了一种区域编码法来解决范围匹配问题,但是该方法有如下缺点:需要对查找关键字进行处理,查找效率低,依赖规则库,需要使用很多扩展位,支持范围个数有限,更新效率低,需要占用额外的TCAM空间等。本发明实现了一种简单的前缀扩展方法,可以有效的解决TCAM范围匹配问题。
发明内容
本发明所要解决的技术问题是提供一种简单易行的实现TCAM范围匹配的前缀扩展方法,以解决TCAM应用于ACL/QoS方面的范围匹配问题。
为实现上述目的,本发明提出了一种实现三重内容可寻址存储器范围匹配的前缀扩展方法,实现报文分类规则匹配中的端口范围匹配或IP地址范围匹配,其中,将规则中需要范围匹配字段的起始值设为完全二叉树的起始节点,迭代找出全部扩展前缀,该找出扩展前缀的步骤具体包括:
步骤一,判断当前节点是左孩子,还是右孩子;
步骤二,若当前节点为右孩子,则所述当前节点单独占用一个前缀,所述当前节点的下一个节点设为新的当前节点,并返回所述步骤一;
步骤三,若当前节点为左孩子,则所述当前节点的最大右祖先节点占用一个前缀,所述当前节点的所述最大右祖先节点的最右叶子节点的下一个节点设为新的当前节点,并返回所述步骤一。
上述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其中,当节点中存在起始节点时,所述步骤一之前还包括:
将起始节点作为最初的当前节点的步骤。
上述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其中,当节点中存在终止节点时,所述步骤一还包括以下步骤:
步骤31,判断所述当前节点是否大于或等于或小于所述终止节点;
步骤32,若所述当前节点大于所述终止节点,则结束迭代;
步骤33,若所述当前节点等于所述终止节点,则结束迭代并将所述当前节点加入扩展前缀中;
步骤34,若所述当前节点小于所述终止节点,则进行迭代。
上述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其中,所述步骤三还包括以下步骤:
步骤41,将所述当前节点的上一层祖先节点设为当前祖先节点;
步骤42,判断所述当前祖先节点是左孩子还是右孩子;
步骤43,若所述当前祖先节点是右孩子,则所述当前祖先节点为所述当前节点的最大右祖先节点;
步骤44,若所述当前祖先节点是左孩子,则将所述当前祖先节点的上一层祖先节点设为新的当前祖先节点,并返回步骤42。
上述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其中,当节点中存在终止节点时,所述步骤43还包括以下步骤:
步骤51,判断所述当前祖先节点的最右叶子节点是否大于所述终止节点;
步骤52,若是,则将所述当前祖先节点的下一层左孩子设为所述当前节点的最右祖先节点;
步骤53,若否,则所述当前祖先节点即为所述当前节点的最右祖先节点。
上述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其中,当节点中存在终止节点时,所述步骤44还包括以下步骤:
步骤61,判断所述当前祖先节点的最右叶子节点是否大于所述终止节点;
步骤62,若是,则将所述当前祖先节点的下一层左孩子设为所述当前节点的最右祖先节点;
步骤63,若否,则将所述当前祖先节点的上一层祖先节点设为新的当前祖先节点,并返回所述步骤42。
上述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其中,判断所述当前祖先节点的覆盖范围是否大于所述终止节点,判断公式如下:
L-1+POW2(level)≤N
“L”表示所述当前祖先节点覆盖的起始叶子节点,“POW2(level)=2level”表示所述当前祖先节点覆盖的叶子节点个数,“L-1+POW2(level)”就表示所述当前祖先节点覆盖的最右叶子节点,“N”表示所述终止节点。
上述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其中,当对Wbit字段进行扩展时,Wbit字段在范围[1,2W-2]所扩展的前缀个数最多为2(W-1),所述完全二叉树的高度为W+1,W表示字段bit位数。
上述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其中,当对IP地址进行范围匹配时,高位使用前缀表示,低位使用所述前缀扩展方法进行扩展。
采用本发明所述方法可以简单有效地实现TCAM的范围匹配。本发明不仅可以支持端口的范围匹配,同时还可以支持IP地址的范围匹配,为使用TCAM实现ACL/QoS提供了一个非常好的解决方法。它的优点如下:不改变查找关键字,查找效率高,不依赖规则库,不使用扩展位,支持任意范围,更新效率高,不占用额外的TCAM空间等。
附图说明
图1是本发明前缀扩展方法的概念描述示意图;
图2是本发明前缀扩展方法的证明示意图;
图3是本发明前缀扩展方法的流程图;
图4是本发明查找最大右祖先节点的流程图;
图5是本发明具体实施方式的示意图。
具体实施方式
下面结合附图对技术方案的实施作进一步的详细描述:
本技术方案使用了很多完全二叉树里的概念,图1是本发明前缀扩展方法的概念描述示意图。如图1所示,包括以下概念:
a.孩子/父节点:如果一个二叉树中的某个节点有下一层节点,那么该节点就叫做它下一层节点的父节点;下一层节点就是该节点的孩子节点,左/右边的孩子节点叫左/右孩子。注意孩子/父节点是一个层次相对概念。
b.兄弟/同层节点:父节点相同的两个节点叫兄弟节点;同层的其它节点称为同层节点。兄弟节点也是同层节点。
c.左/右祖先节点:一个节点沿其左/右侧向上经过的所有节点统称为该节点的左/右祖先节点。
d.叶子/枝干节点:最下一层节点称为叶子节点;其它节点称为枝干节点。叶子节点为第0层,枝干节点从第1层开始。
e.节点覆盖范围:一个节点沿左右两侧包含的所有节点统称为该节点的覆盖范围。
f.最大左/右祖先节点:一个节点M相对于同层左边/右边的一个节点N有一个最大左/右祖先节点,该祖先节点在该层覆盖的节点范围中,最左/右边的节点≥/≤节点N。
g.最左/右叶子节点:一个枝干节点覆盖的所有叶子节点中最左/右边的节点称为最左/右叶子节点。
本发明的设计思想在于通过使用一组前缀来表示一个范围。例如:4bit表示[3,12]将扩展成:0011(3),01xx(4-7),10xx(8-11)和1100(12)。W-bit字段最多扩展成2(W-1)个前缀。
图2是本发明前缀扩展方法的证明示意图。如图所示,要证明本方法必需要阐述以下几个成立的命题,该些命题自身的证明过程,在这里不以说明了。以成立的命题包括:
a.在相同情况下,跨度越远,所需要的前缀个数越多。相同情况是指两个范围的两个起始节点和两个终止节点都是左/右孩子。
b.对于两个兄弟节点,左边的节点是左孩子,在终止边界相同的情况下,右边的节点需要的前缀个数≥左边节点。
c.对于两个兄弟节点,右边的节点是右孩子,在起始边界相同的情况下,左边的节点需要的前缀个数≥右边节点。
在上述3个命题的前提下,可以推出下述结论:
1.当起始节点是第一层枝干节点第一个节点的右孩子,终止节点是第一层枝干节点最后一个节点的左孩子时,所需要的前缀个数最多。
2.可以用递归法证明次内层节点包络线可以覆盖上面所说的区域,所以次内层节点的个数即是需要的最大前缀个数。
3.根据完全二叉树特性可得:Wbit字段在范围[1,2W-2]所扩展的前缀个数最多为2(W-1)。
图3是本发明前缀扩展方法的流程图。如图所示,对于给定范围[M,N],该方法采用一个逐步迭代的过程,每个迭代过程找出一个前缀,直到找出所有的前缀,具体步骤描述如下:
步骤S301,把起始节点M赋给一个变量L,该变量用于迭代。
步骤S302,如果L>N则迭代结束跳到步骤S307。
步骤S303,如果L=N则迭代结束,将L节点加入扩展前缀中,然后跳到S307。
步骤S304,如果L是左孩子,跳到S306,判断是否是左孩子只需要将LMOD2,如果为0则为左孩子,否则为右孩子。
步骤S305,L是右孩子,因为L是右孩子,所以不可能使用其祖先节点对其进行覆盖,因此L必须单独占一个前缀,将L节点加入扩展前缀中,同时把L指向其下一个节点,然后跳到步骤S302开始下一轮迭代。
步骤S306,L是左孩子,所以可以使用其祖先节点对其进行覆盖。找到L的最大右祖先节点,该最大右祖先节点一定存在因为N>L,同时该最大右祖先节点满足下面的条件:该节点的最右叶子节点≤N,这样就可以使用该祖先节点覆盖一大片节点,把该最大右祖先节点加入扩展前缀中,同时把L指向该最大右祖先节点最右叶子节点的下一个节点,这正好是该祖先节点覆盖的叶子节点区域,然后跳到S302开始下一轮迭代。
步骤S307,迭代结束。
图4是本发明查找最大右祖先节点的流程图。如图所示,具体包括如下步骤:
步骤S401,设置变量level=1,ancestor=L÷2,level表示当前的节点层次,最下面一层为0,ancestor表示祖先节点所在层的节点序号。因为祖先节点一定存在,所以先将这两个变量设置成第一层祖先,即其父节点。该父节点在第一层,它所在层的节点序号为叶子节点序号L÷2,这是由完全二叉树的特性确定的。
步骤S402,如果ancestor MOD2=0则跳到S404,即判断ancestor节点是否是其父节点的左孩子。因为现在需要找最大右祖先节点,所以这个过程也是一个迭代的过程,所经过的每一层节点都必须是其父节点的左孩子,这样就可以保证是按向右上方向的路径进行遍历。
步骤S403,ancestor是右孩子,这时迭代结束,然后判断当前祖先节点的覆盖范围是否超过N,判断公式如下:
L-1+POW2(level)≤N
L是该祖先节点覆盖的起始叶子节点,POW2(level)=2level表示该祖先节点覆盖的叶子节点个数,那么L-1+POW2(level)就表示该祖先节点覆盖的最右叶子节点。如果最右叶子节点>N,那么说明覆盖的区域已经超过N,所以将level减1,即将祖先节点向下降一级,这样就可以保证最右叶子节点≤N,因为现在的祖先节点在前一轮迭代过程中已经满足该条件。执行完操作后跳到S405。
步骤S404,ancestor是左孩子,第一个条件满足了,然后判断该祖先节点的最右叶子节点是否超过N,判断方法参见S403。如果超过则迭代结束,把level减1,跳到S405;否则说明该层的右祖先节点是合法的,然后继续迭代上一层右祖先节点:将level加1,ancestor除以2后跳到S402开始下一轮迭代。
步骤S405,迭代结束。
迭代完成后,L节点在level层的祖先节点即为当前的最大右祖先节点。该祖先节点的表示方法如下:假设使用W bits表示,那么L可以表示成bw-1…b1b0,其level层的最大右祖先节点表示方法是将L的低level位置成x,其它位不变,结果如下:
bw-1…blevel+1blevelxlevel-1…x1x0
说明:b表示为0/1,x表示任意。
目前的IP地址一般只支持前缀匹配,虽然也可以支持范围匹配,但是范围有限,并且限制的太死,如果要支持灵活的范围匹配,那么如何实现呢?如果直接使用前缀扩展法,那么方法将变得复杂,另外扩展的条目也会太多,尤其是扩展IPv6地址时,所以这个方法行不通。根据IP地址的特点,即使支持范围,主要也是对一些主机地址的限制,比如10.1.1.2~10.1.1.100。根据实际应用情况,主机地址一般都是使用低位进行表示,而高位则是网络地址,这时可以对IP地址采用如下方式表示:
网络地址(高位):前缀匹配,采用前缀直接表示
主机地址(低位):范围匹配,采用前缀扩展方法进行扩展
比如可以对IPv4地址的低8位进行前缀扩展,高24位使用前缀表示,这样就可以灵活的实现IP地址的范围匹配。
图5是本发明具体实施方式的示意图。如图5所示,W=4bit时的情况,根据公式可得最多需要2×(4-1)=6个前缀,范围是[1,14],下面就使用上面的方法找出所有的前缀:
步骤S501,起点1是一个右孩子,因为1MOD2=1,所以将0001加入扩展前缀中,现在起点=1+1=2。
步骤S502,起点2是一个左孩子,因为2MOD2=0,找到它的最大右祖先节点为001x,该祖先节点的最右叶子节点=3≤14,把001x加入扩展前缀中,现在起点=3+1=4。
步骤S503,起点4是一个左孩子,因为4MOD2=0,找到它的最大右祖先节点为01xx,该祖先节点的最右叶子节点=7≤14,把01xx加入扩展前缀中,现在起点=7+1=8。
步骤S504,起点8是一个左孩子,因为8MOD2=0,找到它的最大右祖先节点为10xx,该祖先节点的最右叶子节点=11≤14,把10xx加入扩展前缀中,现在起点=11+1=12。
步骤S505,起点12是一个左孩子,因为12MOD2=0,找到它的最大右祖先节点为110x,该祖先节点的最右叶子节点=13≤14,把110x加入扩展前缀中,现在起点=13+1=14。
步骤S506,因为起点14=终点14,所以将1110加入扩展前缀中,这时迭代结束。
下面再以步骤S503为例,说明如何找最大右祖先节点:
步骤01,level=1,ancestor=4÷2=2。
步骤02,因为2MOD2=0(左孩子),4-1+POW2(1)=5≤14,所以level=1+1=2,ancestor=2÷2=1。
步骤03,因为1MOD2=1(右孩子)≠0,所以迭代结束,然后判断4-1+POW2(2)=7≤14,说明当前第2层的祖先节点是合法的最大右祖先节点。因为4表示成0100,所以该祖先节点表示成:01xx。
经过上面这些迭代过程后可以得到表示范围[1,14]总共需要6个前缀分别如下:
扩展前缀 覆盖范围 节点个数
0001 1~1 1
001x 2~3 2
01xx 4~7 4
10xx 8~11 4
110x 12~13 2
1110 14~14 1
现在假设查找关键字中的字段值是6,那么0110与0001、001x、01xx、10xx、110x、1110进行TCAM匹配,可得只有01xx匹配,而01xx表示的范围是[4-7],所以结果完全正确。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的普通技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (7)
1.一种实现三重内容可寻址存储器范围匹配的前缀扩展方法,实现报文分类规则匹配中的端口范围匹配或IP地址范围匹配,其特征在于,将规则中需要范围匹配字段的起始值设为完全二叉树的起始节点,迭代找出全部扩展前缀,该找出扩展前缀的步骤具体包括:
步骤一,判断当前节点是左孩子,还是右孩子;
步骤二,若当前节点为右孩子,则所述当前节点单独占用一个前缀,所述当前节点的下一个节点设为新的当前节点,并返回所述步骤一;
步骤三,若当前节点为左孩子,则所述当前节点的最大右祖先节点占用一个前缀,所述当前节点的所述最大右祖先节点的最右叶子节点的下一个节点设为新的当前节点,并返回所述步骤一;
其中,判断所述当前节点的最大右祖先节点的方法为:
步骤41,将所述当前节点的上一层祖先节点设为当前祖先节点;
步骤42,判断所述当前祖先节点是左孩子还是右孩子;
步骤43,若所述当前祖先节点是右孩子,则所述当前祖先节点为所述当前节点的最大右祖先节点;
步骤44,若所述当前祖先节点是左孩子,则将所述当前祖先节点的上一层祖先节点设为新的当前祖先节点,并返回步骤42。
2.根据权利要求1所述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其特征在于,当节点中存在起始节点时,所述步骤一之前还包括:
将起始节点作为最初的当前节点的步骤。
3.根据权利要求1所述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其特征在于,当节点中存在终止节点时,所述步骤一还包括以下步骤:
步骤31,判断所述当前节点是否大于或等于或小于所述终止节点;
步骤32,若所述当前节点大于所述终止节点,则结束迭代;
步骤33,若所述当前节点等于所述终止节点,则结束迭代并将所述当前节点加入扩展前缀中;
步骤34,若所述当前节点小于所述终止节点,则进行迭代。
4.根据权利要求1所述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其特征在于,当节点中存在终止节点时,所述步骤43还包括以下步骤:
步骤51,判断所述当前祖先节点的最右叶子节点是否大于所述终止节点;判断公式如下:
L-1+POW2(level)≤N
其中,“L”表示所述当前祖先节点覆盖的起始叶子节点,“level”表示当前的节点层次,“POW2(level)=2level”表示所述当前祖先节点覆盖的叶子节点个数,“L-1+POW2(level)”就表示所述当前祖先节点覆盖的最右叶子节点,“N”表示所述终止节点;
步骤52,若是,则将所述当前祖先节点的下一层左孩子设为所述当前节点的最大右祖先节点;
步骤53,若否,则所述当前祖先节点即为所述当前节点的最大右祖先节点。
5.根据权利要求1所述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其特征在于,当节点中存在终止节点时,所述步骤44还包括以下步骤:
步骤61,判断所述当前祖先节点的最右叶子节点是否大于所述终止节点;
判断公式如下:
L-1+POW2(level)≤N
其中,“L”表示所述当前祖先节点覆盖的起始叶子节点,“level”表示当前的节点层次,“POW2(level)=2level”表示所述当前祖先节点覆盖的叶子节点个数,“L-1+POW2(level)”就表示所述当前祖先节点覆盖的最右叶子节点,“N”表示所述终止节点;
步骤62,若是,则将所述当前祖先节点的下一层左孩子设为所述当前节点的最大右祖先节点;
步骤63,若否,则将所述当前祖先节点的上一层祖先节点设为新的当前祖先节点,并返回所述步骤42。
6.根据权利要求1所述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其特征在于,当对Wbit字段进行扩展时,Wbit字段在范围[1,2W-2]所扩展的前缀个数最多为2(W-1),所述完全二叉树的高度为W+1,W表示字 段bit位数。
7.根据权利要求1所述的实现三重内容可寻址存储器范围匹配的前缀扩展方法,其特征在于,当对IP地址进行范围匹配时,高位使用前缀表示,低位使用所述前缀扩展方法进行扩展。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100115176A CN101039253B (zh) | 2006-03-17 | 2006-03-17 | 一种实现三重内容可寻址存储器范围匹配的前缀扩展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100115176A CN101039253B (zh) | 2006-03-17 | 2006-03-17 | 一种实现三重内容可寻址存储器范围匹配的前缀扩展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101039253A CN101039253A (zh) | 2007-09-19 |
CN101039253B true CN101039253B (zh) | 2010-12-29 |
Family
ID=38889900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100115176A Expired - Fee Related CN101039253B (zh) | 2006-03-17 | 2006-03-17 | 一种实现三重内容可寻址存储器范围匹配的前缀扩展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101039253B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098601B2 (en) * | 2012-06-27 | 2015-08-04 | Futurewei Technologies, Inc. | Ternary content-addressable memory assisted packet classification |
US9032142B2 (en) * | 2012-06-28 | 2015-05-12 | Broadcom Corporation | System and method for storing integer ranges in a memory |
CN103970739B (zh) * | 2013-01-24 | 2017-04-26 | 中兴通讯股份有限公司 | 一种存储信息的处理方法及装置 |
CN104184732A (zh) * | 2014-08-25 | 2014-12-03 | 浪潮集团有限公司 | 一种ip地址匹配ip范围策略的硬件实现方法 |
CN104410573B (zh) * | 2014-11-26 | 2017-07-21 | 中国电子科技集团公司第四十一研究所 | 一种基于tcam的包匹配方法 |
CN105515997B (zh) * | 2015-12-07 | 2018-07-06 | 刘航天 | 基于bf_tcam实现零范围扩张的高效范围匹配方法 |
CN111625694B (zh) * | 2020-06-05 | 2023-04-07 | 中国银行股份有限公司 | 多级标签处理方法、装置及计算机设备 |
CN115033750A (zh) * | 2022-03-23 | 2022-09-09 | 成都卓源网络科技有限公司 | 一种基于tcam的分类结构及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489849A (zh) * | 2001-01-30 | 2004-04-14 | ŵ�������ܱ�Ե·������˾ | 用于三重内容可寻址存储器(tcam)表管理的方法和设备 |
CN1655534A (zh) * | 2005-02-25 | 2005-08-17 | 清华大学 | 核心路由器上支持访问控制列表功能的双栈兼容路由查找器 |
CN1674557A (zh) * | 2005-04-01 | 2005-09-28 | 清华大学 | 基于tcam的解决范围匹配的并行ip包分类器及方法 |
-
2006
- 2006-03-17 CN CN2006100115176A patent/CN101039253B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489849A (zh) * | 2001-01-30 | 2004-04-14 | ŵ�������ܱ�Ե·������˾ | 用于三重内容可寻址存储器(tcam)表管理的方法和设备 |
CN1655534A (zh) * | 2005-02-25 | 2005-08-17 | 清华大学 | 核心路由器上支持访问控制列表功能的双栈兼容路由查找器 |
CN1674557A (zh) * | 2005-04-01 | 2005-09-28 | 清华大学 | 基于tcam的解决范围匹配的并行ip包分类器及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101039253A (zh) | 2007-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101039253B (zh) | 一种实现三重内容可寻址存储器范围匹配的前缀扩展方法 | |
US9871728B2 (en) | Exact match hash lookup databases in network switch devices | |
EP1344152B1 (en) | Apparatus and method for performing high-speed ip route lookup and managing routing/forwarding tables | |
CN1655533B (zh) | 基于最长前缀匹配算法的过滤器 | |
US10148571B2 (en) | Jump on a match optimization for longest prefix match using a binary search tree | |
US8090901B2 (en) | TCAM management approach that minimize movements | |
US7990893B1 (en) | Fast prefix-based network route filtering | |
CN101035061B (zh) | 实现三重内容可寻址存储器范围匹配的分段编码扩展方法 | |
JP2007202152A (ja) | ルーティングシステム及びルーティングシステムのルールエントリー管理方法 | |
JP3881663B2 (ja) | フィールドレベルツリーを用いたパケット分類装置及び方法 | |
US10616113B2 (en) | Longest prefix match using a binary search tree with compressed hash tables | |
CN113315705B (zh) | 基于单次哈希布隆过滤器的Flexible IP寻址方法及装置 | |
CN110557335B (zh) | 三态内容寻址存储器tcam表项处理方法及装置 | |
El-Atawy et al. | Adaptive early packet filtering for defending firewalls against DoS attacks | |
Yang et al. | Fast openflow table lookup with fast update | |
US6970971B1 (en) | Method and apparatus for mapping prefixes and values of a hierarchical space to other representations | |
US20050038907A1 (en) | Routing cache management with route fragmentation | |
CN106789668B (zh) | 一种处理报文的方法和装置 | |
CN106416150B (zh) | 一种路由查询方法和网络设备 | |
Chang | Efficient multidimensional packet classification with fast updates | |
US7746865B2 (en) | Maskable content addressable memory | |
EP1657859B1 (en) | Protocol speed increasing device | |
CN113824814B (zh) | 一种转发表的地址匹配方法、装置、网络设备及介质 | |
US10476785B2 (en) | IP routing search | |
US20090100219A1 (en) | Method and apparatus for efficient cam lookup for internet protocol addresses |
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: 20101229 |
|
CF01 | Termination of patent right due to non-payment of annual fee |