CN101222434A - 存储策略控制列表、策略搜索方法和三态寻址存储器 - Google Patents
存储策略控制列表、策略搜索方法和三态寻址存储器 Download PDFInfo
- Publication number
- CN101222434A CN101222434A CNA2008100052180A CN200810005218A CN101222434A CN 101222434 A CN101222434 A CN 101222434A CN A2008100052180 A CNA2008100052180 A CN A2008100052180A CN 200810005218 A CN200810005218 A CN 200810005218A CN 101222434 A CN101222434 A CN 101222434A
- Authority
- CN
- China
- Prior art keywords
- subclauses
- policy control
- policy
- sign
- flag bit
- 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
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及通信技术,特别涉及一种策略控制技术,提供一种在三态寻址存储器中存储策略控制列表、策略搜索的方法,以及三态寻址存储器和搜索装置,用以提高TCAM资源的利用率。本发明技术方案利用了TCAM中字符串的掩码来控制多条PCL的组合和拆分,既将每条PCL单独作为一个PCL应用,也可以任意条组合成一个PCL应用,实现了资源复用,减少了TCAM硬件资源的占用。
Description
技术领域
本发明涉及通信技术,特别涉及一种策略控制技术。
背景技术
现有网络包分类处理系统常选用两种方案,一种是基于广泛关联的x86系列处理器,使用软件实现的PC((Personal Computer,个人计算机)平台或网络处理器,这种方案的执行效率不高,运行速度较慢,难以满足实时性的要求。另一种是基于网络设备制造商提供的ASIC(Application Specific IntegratedCircuits,专用集成电路)平台实现,可以完成规定的各项处理工作。
ASIC平台的主要问题就是查表技术,TCAM(Ternary Content AddressableMemory,三态内容可寻址存储器)的高速查找性能,为多业务中各种表项的高速查找提供了解决途径。
TCAM(Ternary Content Addressable Memory,三态内容可寻址存储器)逻辑上的每一位用物理上的一对比特位表示,其中一个比特位为真值(value),另一个比特位为掩码(mask),从而如表1所示,构造出三种逻辑状态,0、1和X。在匹配搜索时,对于TCAM中存储的二进制字符串,获得该二进制字符串的真值和掩码对应位运算后的结果,以及搜索关键字中的对应字符串和该二进制字符串的掩码对应位运算后的结果,如果两个运算结果相等则认为匹配。
根据上述匹配原则,由于TCAM中第三种逻辑状态X的掩码为0,在匹配过程中在对应位上起到屏蔽作用,从而使第三种逻辑状态X与0、1都匹配,也就是说在搜索时,X被忽略,认为和0、1都匹配。
表1.
Mask | Value | 结果 | 相应位匹配的值 |
0 | 0 | X | 0和1(表示为X) |
0 | 1 | X | 0和1(表示为X) |
1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
如图1所示,TCAM存储的表由若干个表项组成,称作一条PCE(PolicyControl Entry,策略控制条目),每一个表项的存储空间地址信息用对应的地址序号标识,各PCE时根据优先级顺序存储,存储高优先级PCE的存储空间地址序号小于低优先级PCE的存储空间地址序号。一条PCE中主要包括有效标志位、策略控制标识(Policy ID)和其它地址信息等。其中有效标志位用于标识该条PCE是否有效的标志位,在进行TCAM搜索的时候,不搜索无效的表项。Policy ID为PCL(Policy Control List,策略控制列表)的策略控制标识号,在TCAM中,具有相同Policy ID的PCE组成一个PCL,用于控制一种关联策略。
TCAM采用并行搜索机制,同时对所有条目进行搜索,交换芯片根据报文形成一个二进制比特串形式的搜索关键字,TCAM根据关键字同时搜索存储的每一个PCE,从而同步搜索出所有与关键字匹配的PCE,现有技术中,各PCE是根据优先级顺序存储的,优先级越高的PCE存储地址序号越小,因此将最低地址序号PCE作为匹配结果,输出匹配结果的地址序号,交换芯片根据匹配结果的地址序号在行为表中查找对应的行为,因此TCAM被称作寻址存储器。
TCAM可以为交换芯片提供强大的搜索功能,使交换芯片可以根据报文输入端口的关联策略对报文进行分类处理。搜索原理如图2所示,主要包括如下步骤:
步骤S201、交换芯片从输入端口接收报文并生成报文的搜索关键字;
其中报文的搜索关键字中包括报文输入端口的Policy ID;
步骤S202、将搜索关键字输入三态寻址存储器进行并行搜索,从而在三态寻址存储器存储的各PCE中,搜索出所有输入端口的Policy ID和PCE中PolicyID相匹配的PCE;
报文输入端口的Policy ID标识了该输入端口关联的PCL,对每个输入端口指定一个Policy ID,即为输入端口指定了关联策略,将报文从特定输入端口输入,也就将该报文的关联策略和输入端口关联起来,在搜索时,将报文输入端口的Policy ID作为报文的Policy ID,用于生成关键字。
步骤S203、三态寻址存储器根据最小地址序号原则输出匹配结果;
如果搜索出多个匹配的PCE,则将存储地址序号最低的PCE作为匹配结果。
以QoS(Quality of Service,业务质量)为例,QoS是目前利用TCAM实现的最普遍策略控制之一,QoS涉及到的内容相当多,对于关联QoS的端口来说,主要有三种情况:
1、只关联基于流的QoS控制:这种关联是指对特殊的报文进行特殊服务,比如要对某一个学校中校长办公室用户给以较高的优先级,而鉴别这些用户可以通过IP地址或IP地址及其它标识(比如MAC地址)组合,那么就可以把这些用户的IP地址或IP地址及其它标识组合作为分类数据流的依据。
2、只关联Trust dscp功能控制:即根据dscp值确定QoS服务优先级,dscp值反映了IP报文在网络中对应的服务级别,对端口进来的所有IPv4报文,可以按照端口的dscp值体现出来的服务级别信息对它进行分类服务。
3、既关联基于流的QoS控制又关联Trust dscp控制:比如对校长办公室的用户应用最高优先级,对于其它用户只根据其dscp值应用相应的优先级。这时候就需要以关联基于流的QoS识别出校长办公室用户并给以最高优先级,对于其它用户根据dscp值分配相应的优先级。
在一台交换机中,考虑一种典型的情况,端口1只关联基于流的QoS,端口2只关联Trust dscp,端口3全部关联。需要说明的是,端口1、端口2或端口3可以分别代表一组关联相同控制策略的端口。
基于流的QoS通过需要对报文头部的信息对报文信息进行分类,这个分类功能需要使用一个PCL实现,其中可能包括一条或多条PCE。Trust dscp功能控制需要用一条匹配所有IPv4报文的PCE来实现,这条PCE也形成了Trustdscp功能的PCL。这样,基于流的QoS对应一个PCL,Trust dscp功能对应一个PCL。而当端口既关联基于流的QoS控制又关联Trust dscp控制时,需要基于流的QoS对应的PCL和Trust dscp功能对应的PCL合在形成了第三条PCL,用于组合关联时的搜索。
如果将基于流的QoS对应的PCL记作PCL1,将Trust dscp功能对应的PCL记作PCL2,将PCL1和PCL2的PCE组合应用时的PCL记作PCL3。则端口1关联PCL1,端口2关联PCL2,端口3关联PCL3。现有技术中,为每一个PCL分别配置Policy ID,并在TCAM中独立存储每一个PCL,该条PCL的每一PCE的Policy ID为对应PCL配置的Policy ID,相应端口关联某个PCL时,端口的应用策略标识即为对应PCL配置的Policy ID,从而在搜索时可以匹配中。
该参见图3所示,如果PCL1包括n1条PCE,PCL2包括n2条PCE,PCL3包括n3条PCE,n3等于n1和n2之和。则在TCAM的硬件当中,PCL1占用n1条表项,PCL2占用n2条表项,PCL3占用n3条表项,则需要的TCAM表项共计n条,n=n1+n2+n3,即n=2×(n1+n2)。可见,在TCAM的硬件当中,PCL1的n1条表项和PCL2的n2条表项被重复存储了两次,这种重复存储的现象随着多个PCL之间组合应用情况的增多而越加突出。
由于TCAM采用的并行搜索机制,可以同时对所有条目进行搜索,所以具有极高的搜索性能,也决了多业务中各种表项的高速查找问题,可以在交换机中实现任何搜索表的作用,但是制约TCAM应用的主要原因在于TCAM的造价十分昂贵,如何减少重复存储以合理利用TCAM资源则显得尤为重要。
发明内容
本发明实施例提供一种在三态寻址存储器中存储策略控制列表、策略搜索的方法,以及三态寻址存储器和搜索装置,用以提高TCAM资源的利用率。
一种在三态寻址存储器中存储策略控制列表的方法,包括:
根据所述策略控制条目的优先级,在所述三态寻址存储器中确定用于存储策略控制条目的地址序号;
根据所述存储策略控制条目的地址序号,将所述策略控制条目存储到三态寻址存储器中的对应存储空间中,其中所述策略控制条目的策略控制标识包括对应不同策略分别设置的标志位,所述策略控制条目控制的策略对应的标志位设置为有效标识信息,其它策略对应的每一个标志位设置为第三态,所述策略控制标识的每一个非标志位设置为约定值。
一种报文策略搜索方法,包括:
从输入端口接收报文并生成报文的搜索关键字,所述搜索关键字包括所述输入端口的关联策略标识,所述关联策略标识包括对应不同策略分别设置的标志位,其中输入端口上关联的策略对应的标志位为有效标识信息,其它策略对应的标志位为无效标识信息,所述关联策略标识中的每一个非标志位为约定值;
根据所述搜索关键字,在三态寻址存储器存储的各策略控制条目中,并行搜索所述策略控制条目的策略控制标识和所述关键字中的关联策略标识相匹配的策略控制条目,并获得匹配结果,所述策略控制条目的存储地址序号根据策略优先级确定,所述策略控制标识的长度和关联策略标识相同,并根据所述关联策略标识中每一个策略标志位的位置,在策略控制标识中一一对应的为不同策略分别设置标志位,其中所述策略控制条目控制的策略对应的标志位设置为有效标识信息,其它策略对应的标志位设置为第三态,所述策略控制标识的每一个非标志位和关联策略标识的对应非标志位相同。
一种三态寻址存储器,包括:
存储控制单元,用于根据所述策略控制条目的优先级,在所述三态寻址存储器中确定用于存储策略控制条目的地址序号;
存储单元,用于在对应所述存储策略控制条目地址序号的存储空间中,存储所述策略控制条目,其中所述策略控制条目的策略控制标识包括对应不同策略分别设置的标志位,所述策略控制条目控制的策略对应的标志位设置为有效标识信息,其它策略对应的标志位设置为第三态,所述策略控制标识的每一个非标志位设置为约定值。
进一步,还包括:
搜索单元,用于根据报文的搜索关键字,在存储的各策略控制条目中,并行搜索出策略控制标识和所述关联策略标识相匹配的所有策略控制条目,并输出匹配结果,所述搜索关键字包括所述输入端口的关联策略标识,所述关联策略标识的长度和策略控制标识的长度相同,并根据所述策略控制标识中每一个标志位的位置,一一对应的为不同策略分别设置标志位,其中关联在该输入端口上的每一个策略对应的标志位为有效标识信息,其它策略对应的标志位为无效标识信息,所述输入关联策略标识中的每一个非标志位和策略控制标识的对应非标志位相同。
一种报文策略搜索装置,包括:
接收单元,用于从输入端口接收报文;
生成单元,用于生成报文的搜索关键字,所述搜索关键字包括所述输入端口的关联策略标识,所述关联策略标识包括对应不同策略分别设置的标志位,其中关联在该输入端口上的每一个策略对应的标志位为有效标识信息,其它策略对应的标志位为无效标识信息,所述输入关联策略标识中的每一个非标志位为约定值;
三态寻址存储器,用于根据所述搜索关键字,在存储的各策略控制条目中,并行搜索出所述策略控制条目的策略控制标识和所述关键字的关联策略标识相匹配的策略控制条目,并输出匹配结果,所述策略控制条目的存储地址序号根据策略优先级确定,所述策略控制标识的长度和关联策略标识的长度相同,并根据所述关联策略标识中每一个策略标志位的位置,一一对应的为不同策略分别设置标志位,其中所述策略控制条目控制的策略对应的标志位设置为有效标识信息,其它策略对应的标志位设置为第三态,所述策略控制标识的每一个非标志位和关联策略标识的对应非标志位相同。
本发明实施例在策略控制条目的策略控制标识为各策略设定对应的标志位,用于标识策略控制条目控制的相应策略,在报文输入端口的关联策略标识中一一对应的为各策略设定同样的标志位,用于标识端口关联的策略,结合TCAM中的第三态,利用标志位来控制多条PCL的组合和拆分,既可以将每条PCL单独作为一个PCL应用,也可以将任意条组合成一个PCL应用,实现了资源复用,减少了TCAM硬件资源的占用。
附图说明
图1为现有TCAM存储原理示意图;
图2为现有策略搜索流程示意图;
图3为现有PCL组合应用时,在TCAM中存储各PCL表项的原理示意图;
图4为根据本发明实施例在TCAM中存储两种组合应用的PCL表项的原理示意图;
图5为根据本发明实施例在TCAM中存储三种组合应用的PCL表项的原理示意图;
图6为本发明实施例提供的一种在三态寻址存储器中存储策略控制列表的方法流程示意图;
图7为本发明实施例提供的一种报文策略搜索方法流程示意图;
图8为本发明实施例提供的一种三态寻址存储器主要结构示意图;
图9为本发明实施例提供的一种报文策略搜索装置主要结构示意图。
具体实施方式
现有技术中,PCE中的Policy ID和端口关联的Policy ID是一致的,一个Policy ID对应端口关联的一种PCL,每一个Policy ID对应的PCL都是独立存储的,当出现PCL的组合应用时,需要在TCAM中,重复保存组合应用的PCL以形成新的PCL。本发明实施例为提高TCAM资源的利用率,减少或消除重复保存PCL,提供一种利用TCAM的第三态在TCAM中复用PCL的技术方案,实现原理具体包括:
1、对于一组可以组合应用的控制策略,确定组合应用的每一种控制策略独立应用时所需要的PCL,每一种可以独立应用的策略所需的PCL由至少一条PCE组成,在TCAM中,根据各条PCE的优先级顺序确定存储各条PCE的存储地址序号,并根据确定的存储地址序号存储各条PCE,需要说明的是,在物理空间中,一个PCL包含的各条PCE的存储地址序号可能连续,也可能不连续,一个PCL的各条PCE中的策略控制标识相同;
2、分别为每一种可以独立应用的策略设置对应的策略控制标识,用于标识一种策略控制,各条PCE中包含对应的策略控制标识,策略控制标识中包括对应不同策略分别设置的标志位,策略控制条目控制的策略对应的标志位设置为约定的有效标识信息,其它策略对应的标志位设置为第三态,策略控制标识的每一个非标志位设置为约定值;有效标识信息用于标识该PCE对应控制的应用策略;
3、根据策略控制标识的设置方法,对应设置端口的关联策略标识,关联策略标识的长度和策略控制标识的长度相同,并在对应位置上,为每一种策略设置一个标志位,根据端口具体关联的策略,关联策略对应的标志位为约定的有效标识信息,非关联策略对应的标志位为约定的无效标识信息,关联策略标识中的每一个非标志位和策略控制标识的对应非标志位相同,也为约定值。有效标识信息用于标识该端口关联的应用策略,无效标识信息用于标识该端口没有关联的应用策略。
这样,在搜索时,由于每一种可以独立应用的策略设置对应的策略控制标识中其它策略的标志位设置为X,由于X和0或者1都匹配,因此策略控制标识可以匹配中该种策略所关联的每一个端口的关联策略标识,从而匹配出所有的PCE,各条PCE的存储位置根据优先级确定,保证了最终输出正确的最小地址序号,因此应用本发明实施例提高的上述技术方案后,无需再为端口关联的组合应用策略单独存储PCL,从而提高了TCAM资源的利用率。
本发明实施例中,在根据优先级存储PCE时,如果高优先级策略控制条目的存储地址序号小于低优先级策略控制条目的存储地址序号;则当相匹配的策略控制条目包括两条或两条以上时,匹配结果为相匹配的所有策略控制条目中,存储地址序号最小的策略控制条目。
同理,在根据优先级存储PCE时,如果高优先级策略控制条目的存储地址序号大于低优先级策略控制条目的存储地址序号;则当相匹配的策略控制条目包括两条或两条以上时,匹配结果为相匹配的所有策略控制条目中,存储地址序号最大的策略控制条目。
一组组合应用的各PCL对应的标志位是确定的,如果还有其它不参与组合应用的PCL,可以利用非标志位区分该PCL的策略控制标识,或者其它一组组合应用的PCL。有效标识信息和无效标识信息利用TCAM中的其它两个状态标识,如果约定有效标识信息为1,则相应无效标识信息为0,如果约定有效标识信息为0,则相应无效标识信息为1,有效标识信息和无效标识信息约定后也对对该组组合应用的PCL有效,其他进行组合的PCL可以采用相反的有效标识信息和无效标识信息。
下面以具体实施例并结合附图详细说明,其中,有效标识信息为1,无效标识信息为0。
仍参阅图3所示,第1条PCL和第2条PCL组成了第3条PCL,在第3条PCL当中,第1条PCL的优先级高于第2条。基于这种特点,策略控制标识中可以提取2位作为标志位,其中一位用于标识第1条PCL控制的策略,另一位用于标识第2条PCL控制的策略,以最后两位作为标志位为例,在TCAM中,每个PCL的策略控制标识设置方法如表2所示:
表2.
TCAM中PCE的策略控制标识 | 基于流的PCE | Trust PCE |
Value | 00010 | 00001 |
Mask | 11110 | 11101 |
策略控制标识结果 | 0001X | 000X1 |
端口的关联策略标识设置方法如表3所示:
表3.
端口关联的策略 | 关联策略标识 |
只和基于流的PCE关联的端口 | 00010 |
只和Trust关联的端口 | 00001 |
既和基于流又和Trust关联的端口 | 00011 |
根据表2和表3可见,标志位的有效标识信息为1,无效标识信息为0,对于组合应用的控制策略,策略控制标识和端口关联策略标识的每一个非标志位统一约定为0,当然一部分非标志位为0,其它非标志位为1,或者每一个非标志位统一约定为1的约定方式也可以,只要可以和其它组合应用的控制策略组、或者单独应用的控制策略的非标志位相区别即可。
在TCAM中存储PCL的原理示意图如图4所示,PCL1的策略控制标识为0001X,可以和单独关联PCL1的端口关联策略标识00010匹配;PCL2的策略控制标识为000X1,可以和单独关联PCL2的端口关联策略标识00001匹配;既和基于流又和Trust关联的端口的关联策略标识是00011,00011即可以匹配PCL1的策略控制标识0001X,也可以匹配策略控制标识000X1,从而实现PCL的复用。
和现有技术相比,本发明实施例只需要存储一份PCL1和PCL2,实现了PCL1和PCL2的单独应用和组合应用,不需要单独存储组合应用所需PCL3,使TCAM中的硬件资源节省的大约50%。
最低两位作为标志位只是一个示例,本领域技术人员可以其它任何位置的两位分别作为一种PCL的标志位,具体实现方式完全相同,这里不再一一详细说明。
同理如果是三种策略中的两个组合应用或三者一起组合应用,可以设置三个不同的标志位实现控制,仍以QoS应用为例,在上述实施例的基础上,再增加Trust cos功能控制,根据802.1q标签(tag)中的用户优先级(user prority)信息确定QoS优先级。Trust cos功能和Trust dscp功能不能同时应用到同一个端口,仍以最低三位作为标志位为例说明,TCAM中PCE的策略控制标识设置方法如表4所示:
表4.
TCAM中PCE的策略控制标识 | 基于流的PCE | TrustcosPCE | TrustdscpPCE |
Value | 00100 | 00010 | 00001 |
Mask | 11100 | 11010 | 11001 |
策略控制标识结果 | 001XX | 00X1X | 00XX1 |
端口的关联策略标识设置方法如表5所示:
表5.
端口关联的策略 | 端口关联策略标识 |
只应用PCL1 | 00100 |
只应用PCL2 | 00010 |
只应用PCL3 | 00001 |
应用PCL1+PCL2 | 00110 |
应用PCL1+PCL3 | 00101 |
应用PCL2+PCL3 | 00011 |
应用PCL1+PCL2+PCL3 | 00111 |
根据表4和表5可见,标志位的有效标识信息为1,无效标识信息为0,对于改组组合应用的控制策略,策略控制标识和端口关联策略标识的每一个非标志位统一约定为0。
在TCAM中存储PCL的原理示意图如图5所示,端口关联策略标识00100可以与策略控制标识为001XX的PCL1匹配;端口关联策略标识00010可以与策略控制标识为00X1X的PCL2匹配;端口关联策略标识00110,既可以和策略控制标识001XX的PCL1匹配,也可以和策略控制标识00X1X的PCL2匹配;其它组合应用匹配原理完全相同,从而实现PCL的复用。
和现有技术相比,本发明实施例只需要存储一份PCL1、PCL2和PCL3,实现了PCL1、PCL2和PCL3的单独应用和组合应用,不需要单独存储每一种组合应用所需PCL,极大的节省了TCAM中的硬件资源。
最低三位作为标志位只是一个示例,本领域技术人员可以其它任何位置的三位分别作为一种PCL的标志位,具体实现方式完全相同,这里不再一一详细说明。
本发明实施例以QoS的策略控制为例,并非仅限于QoS策略控制。再例如现在有3个常见应用:
1、IP地址和MAC地址绑定,通过源IP地址和源MAC地址判断用户是否是允许通信的安全用户,都同时满足的报文才能被转发;
2、用户认证上网,只让交费的用户认证上网;
3、报文送CPU。
这几个常见的应用,每个应用都对应一个PCL。第1组端口要应用IP地址和MAC地址绑定,第2组端口要应用报文送CPU,第3组端口全部都要应用,就可以利用到本发明实施例提供的技术方案实现PCL的复用。
根据具体实施例可以清楚看到,本发明实施例实质上利用了TCAM中第三种逻辑状态X的掩码在匹配过程种的屏蔽作用,来控制多条PCL的组合和拆分,既将每条PCL单独作为一个PCL应用,也可以任意条组合成一个PCL应用,实现了资源复用,减少了TCAM硬件资源的占用。
综上,如图6所示,本发明实施例首先提供了一种在三态寻址存储器中存储策略控制列表的方法,包括如下步骤:
步骤S601、根据策略控制条目的优先级,在三态寻址存储器中确定用于存储策略控制条目的地址序号;
步骤S602、根据存储策略控制条目的地址序号,将策略控制条目存储到三态寻址存储器中的对应存储空间中,其中策略控制条目的策略控制标识包括对应不同策略分别设置的标志位,策略控制条目控制的策略对应的标志位设置为有效标识信息,其它策略对应的标志位设置为第三态,策略控制标识的每一个非标志位设置为约定值。
其中,根据策略控制条目的优先级,在三态寻址存储器中确定用于存储策略控制条目的地址序号具体包括:高优先级策略控制条目的存储地址序号大于低优先级策略控制条目的存储地址序号。
或者,根据策略控制条目的优先级,在三态寻址存储器中确定用于存储策略控制条目的地址序号具体包括:高优先级策略控制条目的存储地址序号小于低优先级策略控制条目的存储地址序号。
如图7所示,本发明实施例还提供一种报文策略搜索方法,包括如下步骤:
步骤S701、从输入端口接收报文并生成报文的搜索关键字,搜索关键字包括输入端口的关联策略标识,关联策略标识包括对应不同策略分别设置的标志位,其中输入端口上关联的策略对应的标志位为有效标识信息,其它策略对应的标志位为无效标识信息,关联策略标识中的每一个非标志位为约定值;
步骤S702、根据搜索关键字,在三态寻址存储器存储的各策略控制条目中,并行搜索策略控制条目的策略控制标识和关键字中的关联策略标识相匹配的策略控制条目,并获得匹配结果,策略控制条目的存储地址序号根据策略优先级确定,策略控制标识的长度和关联策略标识相同,并根据关联策略标识中每一个策略标志位的位置,在策略控制标识中一一对应的为不同策略分别设置标志位,其中策略控制条目控制的策略对应的标志位设置为有效标识信息,其它策略对应的标志位设置为第三态,策略控制标识的每一个非标志位和关联策略标识的对应非标志位相同。
如果高优先级策略控制条目的存储地址序号小于低优先级策略控制条目的存储地址序号;则当相匹配的策略控制条目包括两条或两条以上时,确定相匹配的所有策略控制条目中存储地址序号最小的策略控制条目并输出该最小的存储地址序号。
如果高优先级策略控制条目的存储地址序号大于低优先级策略控制条目的存储地址序号;则当相匹配的策略控制条目包括两条或两条以上时,确定相匹配的所有策略控制条目中存储地址序号最大的策略控制条目并输出该最大的存储地址序号。
如图8所示,本发明实施例还提供一种三态寻址存储器,包括:
存储控制单元801,用于根据策略控制条目的优先级,在三态寻址存储器中确定用于存储策略控制条目的地址序号;
存储单元802,用于在对应存储策略控制条目地址序号的存储空间中,存储策略控制条目,其中策略控制条目的策略控制标识包括对应不同策略分别设置的标志位,策略控制条目控制的策略对应的标志位设置为有效标识信息,其它策略对应的标志位设置为第三态,策略控制标识的每一个非标志位设置为约定值。
进一步,还包括:
搜索单元803,用于根据报文的搜索关键字,在存储的各策略控制条目中,并行搜索出策略控制标识和关联策略标识相匹配的所有策略控制条目,并输出匹配结果,搜索关键字包括输入端口的关联策略标识,关联策略标识的长度和策略控制标识的长度相同,并根据策略控制标识中每一个标志位的位置,一一对应的为不同策略分别设置标志位,其中关联在该输入端口上的每一个策略对应的标志位为有效标识信息,其它策略对应的标志位为无效标识信息,输入关联策略标识中的每一个非标志位和策略控制标识的对应非标志位相同。
如图9所示,本发明实施例还提供一种报文策略搜索装置,该装置可以用于交换机中,包括:
接收单元901,用于从输入端口接收报文;
生成单元902,用于生成报文的搜索关键字,搜索关键字包括输入端口的关联策略标识,关联策略标识包括对应不同策略分别设置的标志位,其中关联在该输入端口上的每一个策略对应的标志位为有效标识信息,其它策略对应的标志位为无效标识信息,输入关联策略标识中的每一个非标志位为约定值;
三态寻址存储器903,用于根据搜索关键字,在存储的各策略控制条目中,并行搜索出策略控制条目的策略控制标识和关键字的关联策略标识相匹配的策略控制条目,并输出匹配结果,策略控制条目的存储地址序号根据策略优先级确定,策略控制标识的长度和关联策略标识的长度相同,并根据关联策略标识中每一个策略标志位的位置,一一对应的为不同策略分别设置标志位,其中策略控制条目控制的策略对应的标志位设置为有效标识信息,其它策略对应的标志位设置为第三态,策略控制标识的每一个非标志位和关联策略标识的对应非标志位相同。
本发明实施例在策略控制条目的策略控制标识为各策略设定对应的标志位,用于标识策略控制条目控制的相应策略,在报文输入端口的关联策略标识中一一对应的为各策略设定同样的标志位,用于标识端口关联的策略,结合TCAM中的第三态,利用标志位来控制多条PCL的组合和拆分,既可以将每条PCL单独作为一个PCL应用,也可以将任意条组合成一个PCL应用,实现了资源复用,减少了TCAM硬件资源的占用。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种在三态寻址存储器中存储策略控制列表的方法,其特征在于,包括:
根据所述策略控制条目的优先级,在所述三态寻址存储器中确定用于存储策略控制条目的地址序号;
根据所述存储策略控制条目的地址序号,将所述策略控制条目存储到三态寻址存储器中的对应存储空间中,其中所述策略控制条目的策略控制标识包括对应不同策略分别设置的标志位,所述策略控制条目控制的策略对应的标志位设置为有效标识信息,其它策略对应的每一个标志位设置为第三态,所述策略控制标识的每一个非标志位设置为约定值。
2.如权利要求1所述的方法,其特征在于,所述根据策略控制条目的优先级,在所述三态寻址存储器中确定用于存储策略控制条目的地址序号具体包括:
高优先级策略控制条目的存储地址序号大于低优先级策略控制条目的存储地址序号;或者
高优先级策略控制条目的存储地址序号小于低优先级策略控制条目的存储地址序号。
3.如权利要求1或2所述的方法,其特征在于,所述不同策略至少包括两个组合关联在一个端口上的策略;和/或所述有效标识信息为1或者0。
4.一种报文策略搜索方法,其特征在于,包括:
从输入端口接收报文并生成报文的搜索关键字,所述搜索关键字包括所述输入端口的关联策略标识,所述关联策略标识包括对应不同策略分别设置的标志位,其中输入端口上关联的策略对应的标志位为有效标识信息,其它策略对应的标志位为无效标识信息,所述关联策略标识中的每一个非标志位为约定值;
根据所述搜索关键字,在三态寻址存储器存储的各策略控制条目中,并行搜索所述策略控制条目的策略控制标识和所述关键字中的关联策略标识相匹配的策略控制条目,并获得匹配结果,所述策略控制条目的存储地址序号根据策略优先级确定,所述策略控制标识的长度和关联策略标识相同,并根据所述关联策略标识中每一个策略标志位的位置,在策略控制标识中一一对应的为不同策略分别设置标志位,其中所述策略控制条目控制的策略对应的标志位设置为有效标识信息,其它策略对应的标志位设置为第三态,所述策略控制标识的每一个非标志位和关联策略标识的对应非标志位相同。
5.如权利要求4所述的方法,其特征在于:
所述策略控制条目的存储地址序号根据策略优先级确定具体包括:高优先级策略控制条目的存储地址序号小于低优先级策略控制条目的存储地址序号;以及当所述相匹配的策略控制条目包括两条或两条以上时,所述获得匹配结果具体包括:确定所述相匹配的所有策略控制条目中存储地址序号最小的策略控制条目并输出该最小的存储地址序号;或者
所述策略控制条目的存储地址序号根据策略优先级确定具体包括:高优先级策略控制条目的存储地址序号大于低优先级策略控制条目的存储地址序号;以及当所述相匹配的策略控制条目包括两条或两条以上时,所述获得匹配结果具体包括:确定所述相匹配的所有策略控制条目中存储地址序号最大的策略控制条目并输出该最大的存储地址序号。
6.如权利要求4或5所述的方法,其特征在于,所述有效标识信息为1,所述无效标识信息为0;或者所述有效标识信息为0,所述无效标识信息为1。
7.一种三态寻址存储器,其特征在于,包括:
存储控制单元,用于根据所述策略控制条目的优先级,在所述三态寻址存储器中确定用于存储策略控制条目的地址序号;
存储单元,用于在对应所述存储策略控制条目地址序号的存储空间中,存储所述策略控制条目,其中所述策略控制条目的策略控制标识包括对应不同策略分别设置的标志位,所述策略控制条目控制的策略对应的标志位设置为有效标识信息,其它策略对应的标志位设置为第三态,所述策略控制标识的每一个非标志位设置为约定值。
8.如权利要求7所述的三态寻址存储器,其特征在于,还包括:
搜索单元,用于根据报文的搜索关键字,在存储的各策略控制条目中,并行搜索出策略控制标识和所述关联策略标识相匹配的所有策略控制条目,并输出匹配结果,所述搜索关键字包括所述输入端口的关联策略标识,所述关联策略标识的长度和策略控制标识的长度相同,并根据所述策略控制标识中每一个标志位的位置,一一对应的为不同策略分别设置标志位,其中关联在该输入端口上的每一个策略对应的标志位为有效标识信息,其它策略对应的标志位为无效标识信息,所述输入关联策略标识中的每一个非标志位和策略控制标识的对应非标志位相同。
9.一种报文策略搜索装置,其特征在于,包括:
接收单元,用于从输入端口接收报文;
生成单元,用于生成报文的搜索关键字,所述搜索关键字包括所述输入端口的关联策略标识,所述关联策略标识包括对应不同策略分别设置的标志位,其中关联在该输入端口上的每一个策略对应的标志位为有效标识信息,其它策略对应的标志位为无效标识信息,所述输入关联策略标识中的每一个非标志位为约定值;
三态寻址存储器,用于根据所述搜索关键字,在存储的各策略控制条目中,并行搜索出所述策略控制条目的策略控制标识和所述关键字的关联策略标识相匹配的策略控制条目,并输出匹配结果,所述策略控制条目的存储地址序号根据策略优先级确定,所述策略控制标识的长度和关联策略标识的长度相同,并根据所述关联策略标识中每一个策略标志位的位置,一一对应的为不同策略分别设置标志位,其中所述策略控制条目控制的策略对应的标志位设置为有效标识信息,其它策略对应的标志位设置为第三态,所述策略控制标识的每一个非标志位和关联策略标识的对应非标志位相同。
10.如权利要求9所述的报文策略搜索装置,其特征在于:
所述三态寻址存储器根据策略优先级确定的策略控制条目存储地址序号具体包括:高优先级策略控制条目的存储地址序号大于低优先级策略控制条目的存储地址序号;以及所述三态寻址存储器当所述相匹配的策略控制条目包括两条或两条以上时,输出的匹配结果具体为:相匹配的所有策略控制条目的存储地址序号中最小的存储地址序号;或者
所述三态寻址存储器根据策略优先级确定的策略控制条目存储地址序号具体包括:高优先级策略控制条目的存储地址序号小于低优先级策略控制条目的存储地址序号;以及所述三态寻址存储器当所述相匹配的策略控制条目包括两条或两条以上时,输出的匹配结果具体为:相匹配的所有策略控制条目的存储地址序号中最大的存储地址序号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100052180A CN101222434B (zh) | 2008-01-31 | 2008-01-31 | 存储策略控制列表、策略搜索方法和三态寻址存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100052180A CN101222434B (zh) | 2008-01-31 | 2008-01-31 | 存储策略控制列表、策略搜索方法和三态寻址存储器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101222434A true CN101222434A (zh) | 2008-07-16 |
CN101222434B CN101222434B (zh) | 2011-04-20 |
Family
ID=39632016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100052180A Active CN101222434B (zh) | 2008-01-31 | 2008-01-31 | 存储策略控制列表、策略搜索方法和三态寻址存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101222434B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447940B (zh) * | 2008-12-23 | 2011-03-30 | 杭州华三通信技术有限公司 | 访问控制列表规则的更新方法和装置 |
CN101488920B (zh) * | 2009-02-23 | 2011-12-28 | 北京星网锐捷网络技术有限公司 | 交换机、生成硬件表项匹配域的方法及系统 |
CN102299853A (zh) * | 2011-09-05 | 2011-12-28 | 神州数码网络(北京)有限公司 | 一种实现交换机资源有效利用的方法 |
CN101534301B (zh) * | 2009-04-13 | 2012-09-05 | 北京星网锐捷网络技术有限公司 | 表项的安装方法和装置以及网络设备 |
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 |
CN106648605A (zh) * | 2016-10-19 | 2017-05-10 | 上海携程商务有限公司 | 应用程序的策略管理方法及系统 |
WO2021004543A1 (zh) * | 2019-07-11 | 2021-01-14 | 深圳市中兴微电子技术有限公司 | 范围信息的编码、匹配方法和计算机存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7028098B2 (en) * | 2001-07-20 | 2006-04-11 | Nokia, Inc. | Selective routing of data flows using a TCAM |
DE602004001623T2 (de) * | 2003-04-25 | 2007-08-09 | Samsung Electronics Co., Ltd., Suwon | TCAM Speicher und Betriebsverfahren |
CN100546257C (zh) * | 2006-08-10 | 2009-09-30 | 华为技术有限公司 | 一种维护三态内容可寻址存储器表项的方法和系统 |
-
2008
- 2008-01-31 CN CN2008100052180A patent/CN101222434B/zh active Active
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447940B (zh) * | 2008-12-23 | 2011-03-30 | 杭州华三通信技术有限公司 | 访问控制列表规则的更新方法和装置 |
CN101488920B (zh) * | 2009-02-23 | 2011-12-28 | 北京星网锐捷网络技术有限公司 | 交换机、生成硬件表项匹配域的方法及系统 |
CN101534301B (zh) * | 2009-04-13 | 2012-09-05 | 北京星网锐捷网络技术有限公司 | 表项的安装方法和装置以及网络设备 |
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 |
CN102299853A (zh) * | 2011-09-05 | 2011-12-28 | 神州数码网络(北京)有限公司 | 一种实现交换机资源有效利用的方法 |
CN102299853B (zh) * | 2011-09-05 | 2014-08-27 | 神州数码网络(北京)有限公司 | 一种实现交换机资源有效利用的方法 |
CN106648605A (zh) * | 2016-10-19 | 2017-05-10 | 上海携程商务有限公司 | 应用程序的策略管理方法及系统 |
WO2021004543A1 (zh) * | 2019-07-11 | 2021-01-14 | 深圳市中兴微电子技术有限公司 | 范围信息的编码、匹配方法和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101222434B (zh) | 2011-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101222434B (zh) | 存储策略控制列表、策略搜索方法和三态寻址存储器 | |
Song et al. | Scalable name-based packet forwarding: From millions to billions | |
Liu et al. | Packet classification using binary content addressable memory | |
Lim et al. | Priority tries for IP address lookup | |
CN108563796A (zh) | 区块链的数据压缩处理方法、装置及电子设备 | |
WO2016201930A1 (zh) | 流分类方法及装置、存储介质 | |
CN100385880C (zh) | 分组分类装置和使用字段级特里结构的方法 | |
CN102487374B (zh) | 一种访问控制列表实现方法及装置 | |
CN104866502A (zh) | 数据匹配的方法及装置 | |
CN102970150A (zh) | 用于数据中心的可扩展组播转发方法和设备 | |
CN101507191A (zh) | 被递归地分割的静态ip路由表 | |
Meiners et al. | Hardware based packet classification for high speed internet routers | |
CN100488174C (zh) | 流分类中基于硬件的差异化组织方法 | |
CN101345707A (zh) | 一种实现IPv6报文分类的方法及设备 | |
CN111988231B (zh) | 一种掩码五元组规则匹配的方法及装置 | |
US9485179B2 (en) | Apparatus and method for scalable and flexible table search in a network switch | |
CN107040393A (zh) | 一种路由管理方法和设备 | |
Pao et al. | A multi-pipeline architecture for high-speed packet classification | |
CN106453091B (zh) | 路由器转发平面的等价路由管理方法和装置 | |
CN101515900B (zh) | 基于前缀覆盖级别的二分ip路由查找方法 | |
Hsiao et al. | A high-throughput and high-capacity IPv6 routing lookup system | |
CN101848091A (zh) | 数据查找处理方法及系统 | |
CN111181870B (zh) | 一种基于网络处理器实现多业务规则共享的方法 | |
CN101494603B (zh) | 一种128位因特网地址并行高速路由寻址方法 | |
Huang et al. | A power-efficient approach to TCAM-based regular expression matching |
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 |