CN1862534A - 静态范围匹配表的管理维护方法 - Google Patents
静态范围匹配表的管理维护方法 Download PDFInfo
- Publication number
- CN1862534A CN1862534A CN 200510123919 CN200510123919A CN1862534A CN 1862534 A CN1862534 A CN 1862534A CN 200510123919 CN200510123919 CN 200510123919 CN 200510123919 A CN200510123919 A CN 200510123919A CN 1862534 A CN1862534 A CN 1862534A
- Authority
- CN
- China
- Prior art keywords
- rule
- new
- priority
- management
- list item
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种静态范围匹配表的管理维护方法。本发明主要包括:首先,分别为静态范围匹配表包含的规则创建相应的管理维护结构,所述的维护结构用于对所述静态范围匹配表的各个规则进行管理维护,且所述的管理维护结构满足范围匹配表和规则间的关联关系要求;之后,根据所述的各个管理节点及节点之间的维护结构和维护方法对保存的所述静态范围匹配表进行管理维护,包括添加或删除表项等。因此,本发明解决了因没有现成的TCAM中普通静态范围匹配表维护算法,而造成的TCAM中普通静态范围匹配表项无序管理的问题。
Description
技术领域
本发明涉及存储器管理技术领域,尤其涉及一种静态范围匹配表的管理维护方法。
背景技术
静态范围匹配表是指具备优先级特性的范围匹配表。作为一种典型的范围匹配表,静态ACL(访问控制列表)表被广泛应用于的通信领域中。在传统的范围匹配维护方法中,ACL等范围匹配表可以存储在主机的内存中,一般采用二叉树结构进行维护和查找。在这种方法中,对表的查找操作需要在树中进行多级查找,在查找时不能做到一步到位,查找效率较低。
目前,推出了一种TCAM(Ternary Content Addressable Memory,三态内容可寻址存储器),其与普通存储器不同的是:普通存储器的寻址方式为输入地址,输出内容;而所述的内容可寻址存储器可以根据输入的内容得到地址,也就是说,当输入一个内容(通常叫做比较数)时,TCAM会将比较数和TCAM中的数据进行比较,如果有命中,则输出命中表项的地址,TCAM的每个存储单元除了“0”、“1”外,还有一种“don’t care”状态,即既可以为“0”又可以为“1”。
由于TCAM具有三态存储的功能,因此,在输入一个比较数时,可能会出现多个TCAM地址中的内容和比较数命中的情况。由于TCAM具有较低物理地址的表项具有较高的优先级的特点,在出现多条表项命中的情况下,输出优先级最高的表项的地址为查找的结果。
使用TCAM进行范围表示的方法如下:TCAM的三态存储方式为带掩码的数据提供了非常方便的存储方式,带掩码的数据实际上是一种特殊的范围,比如说从2n~2n+1-1的范围;对于一般的范围,可以拆分成若干个这样的特殊范围的并集,可以证明数据位宽为n的数据段的任意范围最多可以拆分成2(n-1)个可以直接存放在TCAM中的特殊的数据/掩码形式的范围。一条范围匹配表按照TCAM表的范围表示规则拆分为一个或多个范围区间后,将经过拆分后得到的TCAM表项存入TCAM。
TCAM具有优先级存储的特点,其低地址位置表项总是具有高优先级。因此,表项的添加和删除维护操作必须依照下发表项的优先级进行排序添加和删除,以保证TCAM表项存储顺序符合下发的查找优先级要求。范围匹配表项在下发过程中需要通过软件手段拆分成可存储于器件当中的表项,这样下发表项与最后存储于TCAM中的表项存在一对多的关系,这种一对多的表项对应方式增大了表项维护管理的困难。目前,还没有一种很好的静态范围匹配表的管理维护方法可供应用。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种静态范围匹配表的管理维护方法,为改善当前TCAM存储范围匹配表维护困难的现状提供了一种新的思路。
本发明的目的是通过以下技术方案实现的:
本发明提供了一种静态范围匹配表的管理维护方法,包括:
A、分别为静态范围匹配表包含的规则创建相应的管理维护结构,所述的管理维护结构满足范围匹配表与表中规则之间的关联要求,并用于对所述静态范围匹配表的各个规则进行管理维护;
B、根据所述的各个规则对应管理维护结构对保存的所述静态范围匹配表中的各规则进行管理维护。
所述的步骤A包括:
所述的管理维护结构对应一个规则节点,所述规则节点对应范围匹配表中的范围匹配规则,将静态范围匹配列表包含的各规则节点采用二叉树结构、数组结构或链表结构进行管理。
所述的步骤A具体包括:
采用平衡二叉树结构对所述静态范围匹配表的各个管理维护结构之间进行管理。
所述的管理维护结构管理的信息包括:
规则节点平衡因子、规则优先级、规则分解表项数目、前面优先级节点、后面优先级节点、规则分解首表项指针和/或规则分解尾表项,且当采用平衡二叉树结构关联所述管理维护结构时,所述的管理维护结构管理的信息还可选地包括左孩子规则节点指针和右孩子规则节点指针。
所述的静态范围匹配表保存于三态内容可寻址存储器TCAM中或者与TCAM的保存和查找特征相同的存储器中。
本发明中,当增加静态范围匹配规则时,所述的步骤B包括:
B1、查找各个管理维护结构确定所述静态范围匹配规则增加于TCAM中的位置,并将所述的静态范围匹配规则添加到TCAM中的相应位置。
所述的步骤B1包括:
查找各个管理维护结构,并根据新插入的静态范围匹配规则对应的一或多条规则的优先级信息以及TCAM中各存储物理位置的优先级信息确定当前新插入的静态范围匹配规则需要添加到TCAM中的物理位置。
所述的步骤B1包括:
B11、将所述的静态范围匹配规则拆分为相应的TCAM表项,判断相应的插入位置的空闲表项是否足够,如果是,则执行步骤B12,否则,执行步骤B13;
B12、将拆分后的TCAM表项添加到TCAM中;
B13、在确定的插入位置处向低地址和向高地址搜索空闲表项,在搜索获得足够的空闲表项后,对这些搜索到的空闲表项进行挪移,将空闲表项挪移到插入位置后,执行步骤B12。
所述的步骤B13包括:
B131、在确定的插入位置沿向低地址和向高地址两个方向按照优先级块搜索空闲位置,在搜索过程中记录空闲数量,并记录搜索到的空闲位置包含距离要添加表项位置最远的优先级块;
B132、当找到的空闲位置的数量足够时,从找到的距离要添加表项最远的优先级块开始将优先级块在TCAM中的位置向与新添加表项位置相反的方向移动。
所述的步骤B132包括:
从本优先级块中距离新添加表项的位置最近的表项开始,将表项移动到与本优先级块相邻的空闲块中距离新添加表项最远的位置。
本发明中,当删除静态范围匹配规则时,所述的步骤B包括:
B2、查找各个规则对应的管理维护结构确定所述静态范围匹配规则对应的管理维护结构;
B3、根据所述的管理维护结构信息删除TCAM中保存的该匹配规则对应的所有表项,并修改相应管理维护结构。
所述的方法还包括:
C、对于新插入的范围匹配规则对应的一条或多条表项的存储物理位置需要根据前后优先级的范围匹配规则的存储物理位置按比例确定。
所述的步骤C包括:
当表中不存在优先级高于或低于新插入范围匹配规则的任何范围匹配规则时,新的范围匹配规则的插入位置计算方式为:
Pnew/Pmax=Lnew/Lmax;
其中:
Pmax为表内预计的优先级总数;
Pnew为新规则节点优先级;
Lnew为新规则节点优先级规则的插入位置;
Lmax为表内表项总数;
当表中存在优先级高于和低于新插入范围匹配规则优先级节点的范围匹配规则时,新的范围匹配规则的插入位置计算方式为:
(Pnew-Ppre)/(Pnext-Pnew)=(Lnew-Lpre)/(Lnext-Lnew);
其中:
Ppre新节点相邻的高优先级;
Pnext新节点相邻的低优先级;
Lpre新节点相邻的高优先级规则的尾位置;
Lnext新节点相邻的低优先级规则的首位置;
当表中存在优先级高于新插入范围匹配规则优先级节点的范围匹配规则,且新插入范围匹配规则为当前优先级最低的范围匹配规则时,新的范围匹配规则的插入位置计算方式为:
(Pnew-Ppre)/(Pmax-Pnew)=(Lnew-Lpre)/(Lmax-Lnew);
当表中存在优先级低于新插入范围匹配规则优先级节点的范围匹配规则,且新插入范围匹配规则为当前优先级最高的范围匹配规则时,新的范围匹配规则的插入位置计算方式为:
(Pnew)/(Pnext-Pnew)=(Lnew)/(Lnext-Lnew)。
由上述本发明提供的技术方案可以看出,本发明是在采用网络处理器架构的网络设备中,将静态范围匹配表存储在TCAM中,并提供网络处理器中的微码进行范围匹配表项的查找。TCAM中的表项搜索由硬件完成,而范围匹配表项的插入、删除等必须由软件来做的基本维护操作,老化、更新等一般由软件来进行的维护操作均由相应维护软件完成,本发明中,查找和维护过程分而治之,从而达到提高查找和维护效率的目的。
因此,本发明解决了因没有现成的TCAM中普通静态范围匹配表维护算法,而造成的TCAM中普通静态范围匹配表项无序管理的问题,可应用于拥有规模较大的静态范围匹配表,且对维护效率要求比较高的网络设备中。
附图说明
图1为本发明提供的规则管理维护结构示意图;
图2为本发明所述的方法的流程图;
图3为本发明中插入表项的存在分间分配方式示意图;
图4为本发明中表项挪移过程示意图一;
图5为本发明中表项挪移过程示意图二;
图6为本发明中表项挪移过程示意图三。
具体实施方式
本发明的实现是为了解决在维护存储于通用TCAM中范围匹配表项时,表项内容本身不具备优先级标识的情况下,对普通静态范围匹配表的维护管理困难的问题。
本发明的核心是当采用TCAM保存静态范围匹配表时,分别为表中包含的各个规则建立相应的管理维护结构,其中记录着管理维护信息,用于对相应的规则进行管理维护,且所述的各个管理维护结构之间还需要建立关联关系,以便于进行规则对应的管理维护结构的查找管理。
本发明可以适用于各种静态表的管理维护,本发明中仅以静态ACL(访问控制列表)表为例进行阐述说明,后续部分的ACL表凡未经特殊说明均指静态ACL表。
下面将对本发明提供的方法进行说明:
由于不同的ACL规则对应不同的优先级,TCAM中数据的组织按照优先级块划分,优先级高的块(即规则)放在较低物理地址,即上方,优先级低的块放在较高物理地址,即下方。
本发明中,范围匹配算法的特点是:
1、每条ACL规则可以对应TCAM中的多个表项;
2、最大支持的优先级数目较多,对ACL来讲,有多少ACL规则,范围匹配算法就需要有多少个优先级;
3、由于需要用户指定新添加的一条表项的优先级,当用户需要在具有连续优先级的两个规则之间插入一条新的规则时,需要调整一些规则的优先级的绝对数值,优先级相对关系不变。
本发明的实现可以由范围匹配规则级和规则对应TCAM表项级两个层次来看。在管理维护结构顶层是对静态范围匹配表中所有规则进行管理的管理维护结构,底层则是对每一个静态范围匹配表中的规则(称为范围匹配规则)对应的所有TCAM表项的管理维护结构,如图1所示。
对于每一个新添加的范围匹配规则,首先根据所述规则优先级,将其对应结构添加到所在的管理维护结构中。然后,将所述规则拆分为TCAM表项,并添加到TCAM表中,以便于对其进行维护管理。
以采用平衡二叉树结构实现本发明为例,范围匹配规则管理维护结构如图1所示,具体包括,但不局限于如下内容和形式:
1、规则节点平衡因子:用于记录该规则对应的节点位于平衡二叉树中的平衡因子;
2、规则优先级:用于记录该规则的优先级别信息;
3、规则分解表项数目:用于记录该规则保存于TCAM表中的表项数目;
4、左孩子规则节点指针:用于记录该规则在二叉树中的节点对应的左孩子节点指针;
5、右孩子规则节点指针:用于记录该规则在二叉树中的节点对应的右孩子节点指针;
6、前向优先级节点指针:用于记录该规则在TCAM中的高优先级方向的前一个节点指针;
7、后向优先级节点指针:用于记录该规则在TCAM中的低优先级方向的后一个节点指针;
8、分解规则首表项指针:用于记录节点规则被分解后存储于TCAM中的规则表项子集的头节点,对应第一条分解规则;
9、分解规则尾表项指针:用于记录节点规则被分解后存储于TCAM中的规则表项子集的尾节点,对应最后一条分解规则。
本发明中,被维护的范围匹配表的每一条范围匹配规则均对应于二叉树结构中的一个节点,该平衡二叉树特征如下:
树中每个节点的优先级低于其左子树上的所有节点的优先级,且高于其右子树上的所有节点的优先级。当然,优先级顺序反向维护亦可,但相应的算法需要作相应调整。
本发明中,在进行表项维护时,由树的根节点位置开始通过比较优先级确定节点插入位置,或被删除节点位置,以及被更新节点位置;
下面以ACL规则为例对TCAM表项维护操作实现方法作以概述。
首先,对TCAM表项的添加处理过程进行描述,如图2所示,具体包括:
步骤21:将范围匹配规则,即范围形式的ACL规则转换为可以TCAM中存放的规则格式;
转换过程中,一条范围匹配规则可能会分解为多条TCAM表项,此处假设新添加的范围匹配规则对应的TCAM表项条数为N;
步骤22:判断TCAM剩余容量是否足够新表项的插入,如果是,则执行步骤23,否则,过程结束;
步骤23:判断TCAM中合法插入位置内空闲表项是否足够插入新表项,如果是,则执行步骤24,否则,执行步骤27;
假设查找平衡二叉树,找到和新添加节点相邻的两个节点A,B;
由于每个优先级块节点中记录着该优先级块的起始和终止位置,因此,用相邻两个优先级块中的这些信息可以得到两个优先级块之间的空闲位置数目和空闲位置的起始和终止地址,假设A、B间的空闲表项数目为M;
此时,需要判断N是否小于或等于M,如果N<=M,则执行步骤24,否则,执行步骤27;
步骤24:在合法插入位置(即新规则优先级前后相邻两优先级节点间的TCAM表项范围内)内搜索空闲表项;
步骤25:搜索空表项数目是否已经到达新规则所需要的表项数量,如果是,则执行步骤26,否则,继续执行步骤24;
步骤26:添加新表项,过程结束;
具体为:根据A,B的优先级和新添加表项的优先级找到新添加表项添加的合适位置,并将新添加的规则添加到TCAM,即尽可能保证TCAM表项位置和其优先级成比例。
步骤27:在新规则相邻高优先级规则的低地址方向和新规则相邻的优先级规则的高地址方向(上下两方向)轮番搜索空闲位置;
步骤28:判断搜索到的空表项是否已经足够插入新表项,如果是,执行步骤26,否则,继续执行步骤27。也就是说:如果N>M,则A、B之间的空隙放不下新添加的规则,需要做表项移动,以便于得到新添加表项的空隙;
具体为:沿上、下两个方向按照优先级块搜索空闲位置,在搜索过程中记录空闲数量,每个优先级块节点中记录着该优先级块的起始和终止位置,利用相邻两个优先级块中的这些信息便可以得到两个优先级块之间的空闲位置数目,同时,还需要记录搜索到的空闲位置包含距离要添加表项位置最远的优先级块。当找到的空闲位置的数量=(N-M)时,则搜索完毕。
假设找到了和新添加位置最近的N-M个空闲位置,并移动表项。将这N-M条在合法优先级插入范围之外搜索得到的空闲表项挪移到与新规则前后相邻的两优先级规则节点之间的合法的优先级地址范围之内。
为便于对本发明有进一步理解,下面将对本发明中涉及的新插入表项的存储空间分配方式,以及在分配空间过程中涉及的空闲表项挪移处理过程进行详细的说明。
本发明中,对于新插入表项的存储空间分配方式具体如图3所示:
新插入的范围匹配规则对应的一或多条表项在存储物理位置上是根据前后优先级规则位置按比例划分定义的。这样,可以尽可能的稀疏插入表项,减少新插入表项挪移的几率。
具体可以遵循以下几种类型的比例插入方式进行插入位置的确定:
(1)当存储器中已不存在任何优先级高于或低于新插入范围匹配规则的任何范围匹配规则时,则新范围匹配规则的插入位置的计算方法如下:
Pnew/Pmax=Lnew/Lmax;
其中:
Pmax为表内预计的优先级总数;
Pnew为新规则节点优先级;
Lnew为新规则节点优先级规则的插入位置;
Lmax为表内表项总数。
(2)当存储器中已存在优先级高于和低于新插入范围匹配规则优先级节点的范围匹配规则时,用与新节点相邻的高优先级范围匹配规则、相邻的低优先级范围匹配规则的优先级和新范围匹配规则优先级进行计算得出新范围匹配规则插入位置,具体计算方法如下:
(Pnew-Ppre)/(Pnext-Pnew)=(Lnew-Lpre)/(Lnext-Lnew);
其中:
Ppre新节点相邻的高优先级;
Pnext新节点相邻的低优先级;
Lpre新节点相邻的高优先级规则的尾位置;
Lnext新节点相邻的低优先级规则的首位置;
其他参数含义同前面描述。
(3)当存储器中已存在优先级高于新插入范围匹配规则优先级节点的范围匹配规则,且新插入范围匹配规则为当前优先级最低的范围匹配规则时,使用与新节点相邻的高优先级范围匹配规则、新范围匹配规则优先级和根据表项规模和需求定义的最大优先级数目进行计算得出新范围匹配规则插入位置,具体计算方法如下:
(Pnew-Ppre)/(Pmax-Pnew)=(Lnew-Lpre)/(Lmax-Lnew);
其中,各参数含义同前面描述。
(4)当存储器中已存在优先级低于新插入范围匹配规则优先级节点的范围匹配规则,且新插入范围匹配规则为当前优先级最高的范围匹配规则时,用与新节点相邻的高优先级范围匹配规则、相邻的低优先级范围匹配规则的优先级和新范围匹配规则优先级进行计算得出新范围匹配规则插入位置,具体计算方法为:
(Pnew)/(Pnext-Pnew)=(Lnew)/(Lnext-Lnew),其中,各参数含义同前面描述。
例如,如图3所示,假设P为优先级标识符,表项数目标识符为N,新添加对应表项N=3条表项的范围匹配规则,已下发的相邻高优先级规则P=2的表项数目N=2,相邻低优先级规则P=6的表项数目N=2。分别以P=4,P=3,P=5的范围匹配规则为例,且新规则相邻高低优先级表项之间的空表项有9条,则新表项的插入位置如图3中所示,图中分别给出了不同优先级的规则插入表项中不同位置的示例,总之在插入新的规则对应的表项时需要根据规则的优先级信息确定插入到表项中的具体位置。
本发明中,表项挪移方法具体如图4、图5和图6所示。
对空闲表项的挪移如图4所示,具体是将空闲表与插入位置方向的最邻近的优先级块中的巨插入位置最近的表项交换挪移。这与业界普遍采用的相邻表项挨个交换的方法相比交换挪移的次数少很多。
下面将再结合图5和图6对具体的空闲表项挪移方法说明如下:
从向上、下两个方向搜索找到的表项中查找距离要添加表项最远的优先级块,并开始将相应的优先级块在TCAM中的位置向与新添加表项位置相反的方向移动;
在移动每个优先级块时采用的方法为:
从本优先级块中距离新添加表项的位置最近的表项开始,将表项移动到与本优先级块相邻的空闲块中距离新添加表项最远的位置,这样做的好处是既能保证优先级块在移动的过程中连续,又能保证移动的表项最少。
相应的移动方法示例如下:
设要添加一条对应于TCAM中6条表项的规则,该规则的优先级为11,此时,优先级为10和12的规则之间只有2个空闲位置,因此,需要沿要添加的位置的上下两个方向搜索空闲位置,设在t=1时刻搜索到4个空闲位置,其中,三个空闲位置位于新添加位置的下方,且三个空间位置不位于连续位置,一个空闲位置位于要添加位置的上方。此时,具体移动方式分别如图5和图6所示,下面将以图5和图6所示的例子说明具体挪移方法:
如图5所示,在t2时刻,将优先级为10和12的规则之间的2个空闲位置上方的位置中的内容挪移到搜索到的上方的空闲位置,t3时刻将三个不位于连续位置的空闲位置挪移为处于连续位置的三个空闲位置,之后,如图6所示、再分别在t4、t5和t6时刻依次将优先级为10和12的规则之间的2个空闲位置下方的三个位置中的内容挪移到所述处于连续位置的三个空闲位置,至此,完成挪移处理过程,并在相应位置获得了足够的插入表项的空闲位置。
完成了相应的表项挪移操作后,便可以在相应的新优先级节点插入位置处获得足够的空闲的表项,此时,便可以进行表项的添加操作,从而完成新规则的处理。
本发明中,还提供了TCAM中表项的删除方法,具体包括:
第一步:沿平衡二叉树搜索,直到找到要删除的节点。
第二步:优先级节点中记录这该优先级块的起始地址和终止地址,根据记录的起始地址和终止地址信息将该规则对应的所有表项从TCAM中删除即可。
综上所述,本发明提出了一种较为高效的普通静态范围匹配表维护算法,解决了因没有现成的TCAM中普通静态范围匹配表维护算法,而造成的TCAM中普通静态范围匹配表项无序管理的问题。
而且,本发明中表项最多移动次数等于表项优先级的总数,一般情况下要远小于TCAM表项规模。从而使得在范围匹配表项规模较大的网络设备中,可以以较小的开销实现表项的添加操作。
另外,本发明还具有算法可用性强,便于代码实现的优点。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (13)
1、一种静态范围匹配表的管理维护方法,其特征在于,包括:
A、分别为静态范围匹配表包含的规则创建相应的管理维护结构,所述的管理维护结构满足范围匹配表与表中规则之间的关联要求,并用于对所述静态范围匹配表的各个规则进行管理维护;
B、根据所述的各个规则对应管理维护结构对保存的所述静态范围匹配表中的各规则进行管理维护。
2、根据权利要求1所述的静态范围匹配表的管理维护方法,其特征在于,所述的步骤A包括:
所述的管理维护结构对应一个规则节点,所述规则节点对应范围匹配表中的范围匹配规则,将静态范围匹配列表包含的各规则节点采用二叉树结构、数组结构或链表结构进行管理。
3、根据权利要求2所述的静态范围匹配表的管理维护方法,其特征在于,所述的步骤A具体包括:
采用平衡二叉树结构对所述静态范围匹配表的各个管理维护结构之间进行管理。
4、根据权利要求1、2或3所述的静态范围匹配表的管理维护方法,其特征在于,所述的管理维护结构管理的信息包括:
规则节点平衡因子、规则优先级、规则分解表项数目、前面优先级节点、后面优先级节点、规则分解首表项指针和/或规则分解尾表项,且当采用平衡二叉树结构关联所述管理维护结构时,所述的管理维护结构管理的信息还可选地包括左孩子规则节点指针和右孩子规则节点指针。
5、根据权利要求1所述的静态范围匹配表的管理维护方法,其特征在于,所述的静态范围匹配表保存于三态内容可寻址存储器TCAM中或者与TCAM的保存和查找特征相同的存储器中。
6、根据权利要求1、2、3或5所述的静态范围匹配表的管理维护方法,其特征在于,当增加静态范围匹配规则时,所述的步骤B包括:
B1、查找各个管理维护结构确定所述静态范围匹配规则增加于TCAM中的位置,并将所述的静态范围匹配规则添加到TCAM中的相应位置。
7、根据权利要求6所述的静态范围匹配表的管理维护方法,其特征在于,所述的步骤B1包括:
查找各个管理维护结构,并根据新插入的静态范围匹配规则对应的一或多条规则的优先级信息以及TCAM中各存储物理位置的优先级信息确定当前新插入的静态范围匹配规则需要添加到TCAM中的物理位置。
8、根据权利要求6所述的静态范围匹配表的管理维护方法,其特征在于,所述的步骤B1包括:
B11、将所述的静态范围匹配规则拆分为相应的TCAM表项,判断相应的插入位置的空闲表项是否足够,如果是,则执行步骤B12,否则,执行步骤B13;
B12、将拆分后的TCAM表项添加到TCAM中;
B13、在确定的插入位置处向低地址和向高地址搜索空闲表项,在搜索获得足够的空闲表项后,对这些搜索到的空闲表项进行挪移,将空闲表项挪移到插入位置后,执行步骤B12。
9、根据权利要求8所述的静态范围匹配表的管理维护方法,其特征在于,所述的步骤B13包括:
B131、在确定的插入位置沿向低地址和向高地址两个方向按照优先级块搜索空闲位置,在搜索过程中记录空闲数量,并记录搜索到的空闲位置包含距离要添加表项位置最远的优先级块;
B132、当找到的空闲位置的数量足够时,从找到的距离要添加表项最远的优先级块开始将优先级块在TCAM中的位置向与新添加表项位置相反的方向移动。
10、根据权利要求9所述的静态范围匹配表的管理维护方法,其特征在于,所述的步骤B132包括:
从本优先级块中距离新添加表项的位置最近的表项开始,将表项移动到与本优先级块相邻的空闲块中距离新添加表项最远的位置。
11、根据权利要求1、2、3或5所述的静态范围匹配表的管理维护方法,其特征在于,当删除静态范围匹配规则时,所述的步骤B包括:
B2、查找各个规则对应的管理维护结构确定所述静态范围匹配规则对应的管理维护结构;
B3、根据所述的管理维护结构信息删除TCAM中保存的该匹配规则对应的所有表项,并修改相应管理维护结构。
12、根据权利要求1、2、3或5所述的静态范围匹配表的管理维护方法,其特征在于,所述的方法还包括:
C、对于新插入的范围匹配规则对应的一条或多条表项的存储物理位置需要根据前后优先级的范围匹配规则的存储物理位置按比例确定。
13、根据权利要求12所述的静态范围匹配表的管理维护方法,其特征在于,所述的步骤C包括:
当表中不存在优先级高于或低于新插入范围匹配规则的任何范围匹配规则时,新的范围匹配规则的插入位置计算方式为:
Pnew/Pmax=Lnew/Lmax;
其中:
Pmax为表内预计的优先级总数;
Pnew为新规则节点优先级;
Lnew为新规则节点优先级规则的插入位置;
Lmax为表内表项总数;
当表中存在优先级高于和低于新插入范围匹配规则优先级节点的范围匹配规则时,新的范围匹配规则的插入位置计算方式为:
(Pnew-Ppre)/(Pnext-Pnew)=(Lnew-Lpre)/(Lnext-Lnew);
其中:
Ppre新节点相邻的高优先级;
Pnext新节点相邻的低优先级;
Lpre新节点相邻的高优先级规则的尾位置;
Lnext新节点相邻的低优先级规则的首位置;
当表中存在优先级高于新插入范围匹配规则优先级节点的范围匹配规则,且新插入范围匹配规则为当前优先级最低的范围匹配规则时,新的范围匹配规则的插入位置计算方式为:
(Pnew-Ppre)/(Pmax-Pnew)=(Lnew-Lpre)/(Lmax-Lnew);
当表中存在优先级低于新插入范围匹配规则优先级节点的范围匹配规则,且新插入范围匹配规则为当前优先级最高的范围匹配规则时,新的范围匹配规则的插入位置计算方式为:
(Pnew)/(Pnext-Pnew)=(Lnew)/(Lnext-Lnew)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101239190A CN100433009C (zh) | 2005-11-24 | 2005-11-24 | 静态范围匹配表的管理维护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005101239190A CN100433009C (zh) | 2005-11-24 | 2005-11-24 | 静态范围匹配表的管理维护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1862534A true CN1862534A (zh) | 2006-11-15 |
CN100433009C CN100433009C (zh) | 2008-11-12 |
Family
ID=37389965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101239190A Expired - Fee Related CN100433009C (zh) | 2005-11-24 | 2005-11-24 | 静态范围匹配表的管理维护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100433009C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938486A (zh) * | 2010-09-09 | 2011-01-05 | 东软集团股份有限公司 | 事件规则关联分析方法及装置 |
CN102045262A (zh) * | 2011-01-14 | 2011-05-04 | 福建星网锐捷网络有限公司 | 媒体接入控制地址表更新方法、装置及网络设备 |
CN102377664A (zh) * | 2010-08-27 | 2012-03-14 | 武汉烽火网络有限责任公司 | 一种基于tcam的区域匹配装置和方法 |
CN103248575A (zh) * | 2013-05-14 | 2013-08-14 | 盛科网络(苏州)有限公司 | 一种tcam表项优先级的分配方法 |
US8527694B2 (en) | 2010-06-11 | 2013-09-03 | Beijing Star-Net Ruijie Networks Co., Ltd. | Method and apparatus for updating table entries of a ternary content addressable memory |
CN113392039A (zh) * | 2021-06-09 | 2021-09-14 | 新华三信息安全技术有限公司 | 一种数据存储、查找方法及装置 |
WO2022042742A1 (zh) * | 2020-08-31 | 2022-03-03 | 中兴通讯股份有限公司 | Acl规则处理方法、装置、计算机设备和可读介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6658002B1 (en) * | 1998-06-30 | 2003-12-02 | Cisco Technology, Inc. | Logical operation unit for packet processing |
US7509674B2 (en) * | 2003-10-07 | 2009-03-24 | Alcatel Lucent | Access control listing mechanism for routers |
CN100417150C (zh) * | 2003-11-11 | 2008-09-03 | 中兴通讯股份有限公司 | 访问控制列表和安全策略数据库的方法 |
CN1625149A (zh) * | 2003-12-02 | 2005-06-08 | 四川南山之桥微电子有限公司 | 一种访问控制列表的方法 |
-
2005
- 2005-11-24 CN CNB2005101239190A patent/CN100433009C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527694B2 (en) | 2010-06-11 | 2013-09-03 | Beijing Star-Net Ruijie Networks Co., Ltd. | Method and apparatus for updating table entries of a ternary content addressable memory |
CN102377664A (zh) * | 2010-08-27 | 2012-03-14 | 武汉烽火网络有限责任公司 | 一种基于tcam的区域匹配装置和方法 |
CN102377664B (zh) * | 2010-08-27 | 2015-06-10 | 武汉烽火网络有限责任公司 | 一种基于tcam的区域匹配装置和方法 |
CN101938486A (zh) * | 2010-09-09 | 2011-01-05 | 东软集团股份有限公司 | 事件规则关联分析方法及装置 |
CN101938486B (zh) * | 2010-09-09 | 2013-06-12 | 东软集团股份有限公司 | 事件规则关联分析方法及装置 |
CN102045262A (zh) * | 2011-01-14 | 2011-05-04 | 福建星网锐捷网络有限公司 | 媒体接入控制地址表更新方法、装置及网络设备 |
CN103248575A (zh) * | 2013-05-14 | 2013-08-14 | 盛科网络(苏州)有限公司 | 一种tcam表项优先级的分配方法 |
CN103248575B (zh) * | 2013-05-14 | 2016-09-14 | 盛科网络(苏州)有限公司 | 一种tcam表项优先级的分配方法 |
WO2022042742A1 (zh) * | 2020-08-31 | 2022-03-03 | 中兴通讯股份有限公司 | Acl规则处理方法、装置、计算机设备和可读介质 |
CN113392039A (zh) * | 2021-06-09 | 2021-09-14 | 新华三信息安全技术有限公司 | 一种数据存储、查找方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100433009C (zh) | 2008-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1862534A (zh) | 静态范围匹配表的管理维护方法 | |
CN1148687C (zh) | 用于网络处理器的全匹配搜索方法和设备 | |
CN1932818A (zh) | 数据库系统及管理数据库数据的方法 | |
CN1096036C (zh) | 以格阵作关键字的字典检索装置和方法 | |
CN1929451A (zh) | 一种解决Hash冲突的方法及装置 | |
CN1134730C (zh) | 用于减少预装类的脚印的系统和方法 | |
CN108052514B (zh) | 一种处理地理文本Skyline查询的混合空间索引方法 | |
CN1955958A (zh) | 一种基于目录树的分类数据存储及分类目录查询方法 | |
CN1271439A (zh) | 在数据库中存储元素的方法 | |
CN1306414C (zh) | 闪速存储器和闪速存储器的映射控制设备和方法 | |
CN1664790A (zh) | 增加数据存储容量的方法和装置 | |
CN101055589A (zh) | 嵌入式数据库的存储管理方法 | |
CN1404591A (zh) | 执行高速互联网协议路由查找和管理路由选择/转发表的装置和方法 | |
CN1552032A (zh) | 数据库 | |
CN1866918A (zh) | 静态多接口范围匹配表的管理维护方法 | |
CN101068178A (zh) | 使用、管理mac地址表的方法、系统、及搜索引擎 | |
CN1863142A (zh) | 给数据流提供不同的服务质量策略的方法 | |
CN1910581A (zh) | 用于按类别提供关键字输入频率信息的搜索系统及其方法 | |
CN101063969A (zh) | 构造布局平衡的带标记映像树的方法和系统 | |
CN101035062A (zh) | 一种三重内容可寻址存储器报文分类的规则更新方法 | |
CN1851693A (zh) | 一种对系统资源进行管理的实现方法 | |
CN1866250A (zh) | 对系统数据进行管理的方法和系统 | |
CN1561047A (zh) | 基于tcam的分布式并行ip路由查找方法 | |
CN1975772A (zh) | 整合多个系统中的信息的方法和装置 | |
CN101039252A (zh) | 一种三重内容可寻址存储器路由表管理方法 |
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: 20081112 Termination date: 20161124 |
|
CF01 | Termination of patent right due to non-payment of annual fee |