CN104239337A - 基于tcam的查表处理方法及装置 - Google Patents

基于tcam的查表处理方法及装置 Download PDF

Info

Publication number
CN104239337A
CN104239337A CN201310244525.5A CN201310244525A CN104239337A CN 104239337 A CN104239337 A CN 104239337A CN 201310244525 A CN201310244525 A CN 201310244525A CN 104239337 A CN104239337 A CN 104239337A
Authority
CN
China
Prior art keywords
query
tcam
script
list item
query script
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
Application number
CN201310244525.5A
Other languages
English (en)
Other versions
CN104239337B (zh
Inventor
顾霞
张启申
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201310244525.5A priority Critical patent/CN104239337B/zh
Priority to EP14814274.8A priority patent/EP3012747B1/en
Priority to PCT/CN2014/075855 priority patent/WO2014201902A1/zh
Priority to US14/898,332 priority patent/US20160132559A1/en
Publication of CN104239337A publication Critical patent/CN104239337A/zh
Application granted granted Critical
Publication of CN104239337B publication Critical patent/CN104239337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24561Intermediate data storage techniques for performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于TCAM的查表处理方法及装置,其中,上述方法包括:执行用于查询TCAM表项的第一查询过程;在执行所述第一查询过程中,执行用于查询除所述TCAM表项之外的其它表项的第二查询过程,其中,所述第一查询过程和所述第二查询过程是独立运行的;通过所述第一查询过程和所述第二查询过程分别获取第一查询结果和第二查询结果。采用本发明提供的上述技术方案,解决了相关技术中,基于TCAM的查表方式导致的报文处理时间较长,进而影响到报文的转发性能等技术问题,进而减少了报文处理的时间,从而提高了报文的转发性能。

Description

基于TCAM的查表处理方法及装置
技术领域
本发明涉及通信领域,尤其是涉及一种基于TCAM的查表处理方法及装置。
背景技术
基于三态内容寻址存储器(Ternary Content Addressable Memory,简称为TCAM)的查表方式,方便快捷,支持长键值和掩码的查表类型。在需要支持大量访问控制列表(Access ControlList,简称为ACL)或者大量路由的时候,一般交换机的设备商都会选择TCAM来实现ACL或者路由的查表。
目前TCAM芯片的查表架构是确定的,TCAM查表返回的结果只能是条目索引号,而不能得到最终的结果。一个表项如果要通过TCAM来实现,需要设计成:组装好的键值去查TCAM,TCAM返回条目索引号,然后再使用这个条目索引号查一张直接表,得到最终查表结果。也就是表项设计成TCAM查表类型,就必须要查一张TCAM表和一张直接表。
开发者使用TCAM查表,都是先将控制字和键值发送给TCAM,然后等待TCAM查表结束将结果(result)返回。最后再用返回的result中的索引(index)查直接表,得到想要的结果。TCAM查表的过程中,因为芯片中查表结果存放的寄存器是唯一的,因此不能再去查其他的表项,只能空等待。如图1所示,相关技术中的TCAM查表方案包括如下步骤:
步骤S102:准备TCAM的查表键值,准备完之后执行步骤S104;
步骤S104:使用准备好的查表键值查TCAM表,然后执行步骤S106;
步骤S106:判断TCAM查表是否已经返回结果(result),如果已经返回,执行步骤S108;如果没有返回,继续执行步骤S106,也就是一个等待的过程;
步骤S108:使用返回的result中的index查直接表;
步骤S110:得到想要的查表结果,结束。
从上面的查表步骤中可以看到:步骤S106花费的时间就是一次TCAM查表的时间,在这段时间内,因为交换机中查表结果存放的寄存器是固定的,因此不能再去查其他的表项,只能空等待。
因此,TCAM查表会消耗大量的查表性能,在业务转发流程复杂的情况下,会导致业务达不到转发要求。使用TCAM作为表项存储的业务,虽然TCAM查表简单快捷,但是转发性能是一大难点。
针对相关技术中的上述问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中,基于TCAM的查表方式导致的报文处理时间较长,进而影响到报文的转发性能等技术问题,本发明提供了一种基于TCAM的查表处理及装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种基于TCAM的查表处理方法,包括:执行用于查询TCAM表项的第一查询过程;在执行所述第一查询过程中,执行用于查询除所述TCAM表项之外的其它表项的第二查询过程,其中,所述第一查询过程和所述第二查询过程是独立运行的;通过所述第一查询过程和所述第二查询过程分别获取第一查询结果和第二查询结果。
优选地,通过所述第一查询过程获取第一查询结果,包括:将从TCAM查询到的第一查询结果存储至除查表引擎专用寄存器之外的指定寄存器;将所述第一查询结果从所述指定寄存器读取至所述查表引擎专用寄存器;从所述查询引擎专用寄存器中获取所述第一查询结果。
优选地,将所述第一查询结果从所述指定寄存器读取至所述查表引擎专用寄存器之前,包括:判断所述第二查询过程是否结束,其中,在判断为结束的情况下,将所述第一查询结果从所述指定寄存器读取至所述查表引擎专用寄存器。
优选地,判断所述第二查询过程是否结束,包括:判断所述其它表项中的待查询表项是否已经遍历查询完成。
优选地,通过所述第二查询过程获取所述第二查询结果,包括:将通过所述第二查询过程查找到的所述第二查询结果存储至所述查表引擎专用寄存器;从所述查询引擎专用寄存器中获取所述第二查询结果。
优选地,执行用于查询除所述TCAM表项之外的其它表项的第二查询过程,包括:在根据用于查询TCAM表项的查询消息触发执行所述第一查询过程后,执行所述第二查询过程。
根据本发明的另一个方面,提供了一种基于TCAM的查表处理装置,包括:第一执行模块,用于执行用于查询TCAM表项的第一查询过程;第二执行模块,用于在执行所述第一查询过程中,执行用于查询除所述TCAM表项之外的其它表项的第二查询过程,其中,所述第一查询过程和所述第二查询过程是独立运行的;获取模块,用于通过所述第一查询过程和所述第二查询过程分别获取第一查询结果和第二查询结果。
优选地,所述获取模块包括:第一存储单元,用于将从TCAM查询到的第一查询结果存储至除查表引擎专用寄存器之外的指定寄存器;读取单元,用于将所述第一查询结果从所述指定寄存器读取至所述查表引擎专用寄存器;第一获取单元,用于从所述查询引擎专用寄存器中获取所述第一查询结果。
优选地,所述获取模块包括:第二存储单元,用于将通过所述第二查询过程查找到的所述第二查询结果存储至所述查表引擎专用寄存器;第二获取单元,用于从所述查询引擎专用寄存器中获取所述第二查询结果。
优选地,所述第二执行模块,用于在根据用于查询TCAM表项的查询消息触发执行所述第一查询过程后,执行所述第二查询过程。
通过本发明,采用在执行用于查询TCAM表项的第一查询过程中,执行用于查询除所述TCAM表项之外的其它表项的第二查询过程的技术手段,解决了相关技术中,基于TCAM的查表方式导致的报文处理时间较长,进而影响到报文的转发性能等技术问题,进而减少了报文处理的时间,从而提高了报文的转发性能。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为根据相关技术的TCAM查表方法的流程图;
图2为根据本发明实施例的基于TCAM的查表处理方法的流程图;
图3为根据本发明实施例的基于TCAM的查表处理装置的结构框图;
图4为根据本发明实施例的基于TCAM的查表处理装置的另一结构框图;
图5为根据本发明优选实施例的基于TCAM的查表处理方法的流程图;
图6为根据本发明优选实施例的基于TCAM的查表处理方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例1
图2为根据本发明实施例的基于TCAM的查表处理方法的流程图。如图2所示,该方法包括:
步骤S202,执行用于查询TCAM表项的第一查询过程;
步骤S204,在执行第一查询过程中,执行用于查询除TCAM表项之外的其它表项的第二查询过程,其中,第一查询过程和第二查询过程是独立运行的;
步骤S206,通过第一查询过程和第二查询过程分别获取第一查询结果和第二查询结果。
通过上述各个处理步骤,由于在执行用于查询TCAM表项的第一查询过程中,执行了用于查询除所述TCAM表项之外的其它表项的第二查询过程,充分利用了上述第一查询过程中用于等待查询结果的等待时间,从而有效减少了报文处理的时间,进而提高了报文的转发性能。
本实施例中,为了不影响正常TCAM查表,在通过第一查询过程获取第一查询结果的过程中,需要设置一个和查表引擎专用寄存器不同的指定寄存器存储返回的查询结果,具体实现过程如下:将从TCAM查询到的第一查询结果存储至除查表引擎专用寄存器之外的指定寄存器;将第一查询结果从指定寄存器读取至查表引擎专用寄存器;从查询引擎专用寄存器中获取第一查询结果。
在本实施例中,将第一查询结果从指定寄存器读取至查表引擎专用寄存器之前,需要判断第二查询过程是否结束,其中,在判断为结束的情况下,将第一查询结果从指定寄存器读取至查表引擎专用寄存器。
在上述其它表项为多个时,上述判断过程可以表现为以下方式:判断其它表项中的待查询表项是否已经遍历查询完成。
上述第二查询过程可以通过以下方式实现:将通过第二查询过程查找到的第二查询结果存储至查表引擎专用寄存器;从查询引擎专用寄存器中获取第二查询结果。
执行用于查询除TCAM表项之外的其它表项的第二查询过程的时机可以选择在第二查询过程中的任意时机,具体根据实际情况而定,在本实施例的一个优选实施方式中,可以在根据用于查询TCAM表项的查询消息触发执行第一查询过程后,执行第二查询过程。
在本实施例中还提供了一种基于TCAM的查表处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述,下面对该装置中涉及到的模块进行说明。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图3为根据本发明实施例的基于TCAM的查表处理装置的结构框图。如图3所示,该装置包括:
第一执行模块30,连接至第二执行模块32和获取模块34,用于执行用于查询TCAM表项的第一查询过程;
第二执行模块32,连接至获取模块34,用于在执行第一查询过程中,执行用于查询除TCAM表项之外的其它表项的第二查询过程,其中,第一查询过程和第二查询过程是独立运行的;
获取模块34,用于通过第一查询过程和第二查询过程分别获取第一查询结果和第二查询结果。
通过上述各个模块实现的功能,同样可以充分利用上述第一查询过程中用于等待查询结果的等待时间,从而有效减少报文处理的时间,进而提高报文的转发性能。
优选地,如图4所示,上述获取模块34包括:第一存储单元340,连接至读取单元342,用于将从TCAM查询到的第一查询结果存储至除查表引擎专用寄存器之外的指定寄存器;读取单元342,连接至第一获取单元344,用于将第一查询结果从指定寄存器读取至查表引擎专用寄存器;第一获取单元344,用于从查询引擎专用寄存器中获取第一查询结果。
优选地,如图4所示,上述获取模块34包括:第二存储单元346,连接至第二获取单元348,用于将通过第二查询过程查找到的第二查询结果存储至查表引擎专用寄存器;第二获取单元348,用于从查询引擎专用寄存器中获取第二查询结果。
优选地,上述第二执行模块32,用于在根据用于查询TCAM表项的查询消息触发执行第一查询过程后,执行第二查询过程。
为了更好地理解上述实施例,以下结合上述实施例的优选实施例1-2详细说明。
实施例1
本实施例提供一种基于TCAM的查表处理方法,在TCAM查表等待结果的过程中,加入了其他表项的查找,从而减少了报文处理的时间,提高了报文的转发性能。
为实现上述目的,本实施例采用的技术方案如下:充分利用相关技术中(如图1所示的方案)空等待的时间,穿插查找其他的需要查找的表项(如查一张哈希表),查找完成之后,再判断TCAM查表是否已完成,如果完成,再查一张直接表,没有完成则等待。
如图5所示,该方法包括以下处理步骤:
步骤S502:准备TCAM的查表键值,准备完之后执行步骤S504;
步骤S504:使用准备好的查表键值查TCAM表。
在此需要强调的是:TCAM查表和其他的普通查表不一样,TCAM查表是数据处理芯片将控制字和键值发送给TCAM,TCAM独自进行查表的过程。
数据处理芯片只需要给TCAM查表指定一个返回寄存器(该返回寄存器不占用查表引擎专用寄存器,而查表引擎专用寄存器又可以读取到返回寄存器中的TCAM返回值),然后在TCAM查表等待的过程中,数据处理芯片就可以再去查找其他的表项。
于是在步骤S504中,数据处理芯片必须指定TCAM查表结束,result返回到一个返回寄存器,而非查表引擎专用寄存器。
TCAM查表命令执行完成之后(也就是将控制字和键值发送给TCAM之后),执行步骤3。
步骤S506:看有没有需要并行查找的表项,也就是和TCAM查找结果无关的表项。如果有的话,就穿插在TCAM等待的间隙查找,即并行查找,并行查表结束之后,执行步骤S508;
步骤S508:读取TCAM返回值寄存器,将TCAM查找result读取到查表引擎专用寄存器中;执行步骤S510;
步骤S510:判断TCAM查表是否已经返回result,如果返回,执行步骤S512;如果没有返回,继续执行步骤S510,也就是一个等待的过程,即使等待也是一个很短的时间;
步骤S512:使用返回的result中的index查直接表,得到真正想要的查表结果。结束。
本实施例中的上述方案适用于对各种类型的TCAM查表。
实施例2
本实施例给出了一个简单的报文处理的实例。见表1,一共需要查四张表:其中table1是一张独立的表项,什么时候查都无所谓;table2-table4必须顺序查,table4依赖table3,table3依赖table2。
表1
如图6所示,本实施例提供的基于TCAM的查表处理方法包括以下处理步骤:
步骤S602:准备路由表的查表键值(IP地址+专用私网号),准备完之后执行步骤S604;
步骤S604:使用准备好的查表键值查TCAM表,TCAM查表结果返回到一个返回寄存器。执行步骤S606;
步骤S606:穿插并行查找,查找独立的生成树表。生成树表查找结束(也就是返回了查找结果)之后,执行步骤S608;
步骤S608:读取TCAM返回值寄存器,将TCAM查找result读取到查表引擎专用寄存器中;执行步骤S610;
步骤S610:判断TCAM查表是否已经返回结果(result),如果已返回,执行步骤S612;如果没有返回,继续执行步骤S610,也就是一个等待的过程,即使等待也是一个很短的时间;
步骤S612:使用返回的result中的index查路由直接表,得到真正想要的查表结果。执行步骤S614;
步骤S614:使用路由直接表结果中的下一跳索引号查下一跳索引表;
步骤S616:结束。
综上所述,本发明实施例实现了以下有益效果:在TCAM查表等待结果的过程中,加入了其它表项的并行查找,减少了报文处理的时间,从而提高了报文的转发性能。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于三态内容寻址存储器TCAM的查表处理方法,其特征在于,包括:
执行用于查询TCAM表项的第一查询过程;
在执行所述第一查询过程中,执行用于查询除所述TCAM表项之外的其它表项的第二查询过程,其中,所述第一查询过程和所述第二查询过程是独立运行的;
通过所述第一查询过程和所述第二查询过程分别获取第一查询结果和第二查询结果。
2.根据权利要求1所述的方法,其特征在于,通过所述第一查询过程获取第一查询结果,包括:
将从TCAM查询到的第一查询结果存储至除查表引擎专用寄存器之外的指定寄存器;
将所述第一查询结果从所述指定寄存器读取至所述查表引擎专用寄存器;
从所述查询引擎专用寄存器中获取所述第一查询结果。
3.根据权利要求2所述的方法,其特征在于,将所述第一查询结果从所述指定寄存器读取至所述查表引擎专用寄存器之前,包括:
判断所述第二查询过程是否结束,其中,在判断为结束的情况下,将所述第一查询结果从所述指定寄存器读取至所述查表引擎专用寄存器。
4.根据权利要求3所述的方法,其特征在于,判断所述第二查询过程是否结束,包括:
判断所述其它表项中的待查询表项是否已经遍历查询完成。
5.根据权利要求1所述的方法,其特征在于,通过所述第二查询过程获取所述第二查询结果,包括:
将通过所述第二查询过程查找到的所述第二查询结果存储至所述查表引擎专用寄存器;
从所述查询引擎专用寄存器中获取所述第二查询结果。
6.根据权利要求1至5任一项所述的方法,其特征在于,执行用于查询除所述TCAM表项之外的其它表项的第二查询过程,包括:
在根据用于查询TCAM表项的查询消息触发执行所述第一查询过程后,执行所述第二查询过程。
7.一种基于三态内容寻址存储器TCAM的查表处理装置,其特征在于,包括:
第一执行模块,用于执行用于查询TCAM表项的第一查询过程;
第二执行模块,用于在执行所述第一查询过程中,执行用于查询除所述TCAM表项之外的其它表项的第二查询过程,其中,所述第一查询过程和所述第二查询过程是独立运行的;
获取模块,用于通过所述第一查询过程和所述第二查询过程分别获取第一查询结果和第二查询结果。
8.根据权利要求7所述的装置,其特征在于,所述获取模块包括:
第一存储单元,用于将从TCAM查询到的第一查询结果存储至除查表引擎专用寄存器之外的指定寄存器;
读取单元,用于将所述第一查询结果从所述指定寄存器读取至所述查表引擎专用寄存器;
第一获取单元,用于从所述查询引擎专用寄存器中获取所述第一查询结果。
9.根据权利要求7所述的装置,其特征在于,所述获取模块包括:
第二存储单元,用于将通过所述第二查询过程查找到的所述第二查询结果存储至所述查表引擎专用寄存器;
第二获取单元,用于从所述查询引擎专用寄存器中获取所述第二查询结果。
10.根据权利要求7至9任一项所述的装置,其特征在于,所述第二执行模块,用于在根据用于查询TCAM表项的查询消息触发执行所述第一查询过程后,执行所述第二查询过程。
CN201310244525.5A 2013-06-19 2013-06-19 基于tcam的查表处理方法及装置 Active CN104239337B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310244525.5A CN104239337B (zh) 2013-06-19 2013-06-19 基于tcam的查表处理方法及装置
EP14814274.8A EP3012747B1 (en) 2013-06-19 2014-04-21 Tcam-based table query processing method and apparatus
PCT/CN2014/075855 WO2014201902A1 (zh) 2013-06-19 2014-04-21 基于tcam的查表处理方法及装置
US14/898,332 US20160132559A1 (en) 2013-06-19 2014-04-21 Tcam-based table query processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310244525.5A CN104239337B (zh) 2013-06-19 2013-06-19 基于tcam的查表处理方法及装置

Publications (2)

Publication Number Publication Date
CN104239337A true CN104239337A (zh) 2014-12-24
CN104239337B CN104239337B (zh) 2019-03-26

Family

ID=52103915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310244525.5A Active CN104239337B (zh) 2013-06-19 2013-06-19 基于tcam的查表处理方法及装置

Country Status (4)

Country Link
US (1) US20160132559A1 (zh)
EP (1) EP3012747B1 (zh)
CN (1) CN104239337B (zh)
WO (1) WO2014201902A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301970A (zh) * 2016-10-27 2017-01-04 盛科网络(苏州)有限公司 一种使用转发表收敛以减少tcam表项消耗的芯片实现方法
CN106789706A (zh) * 2016-11-11 2017-05-31 天津光电通信技术有限公司 一种基于tcam的网络分流系统
CN107517161A (zh) * 2016-06-15 2017-12-26 中兴通讯股份有限公司 一种网络处理器查表方法、网络处理器和查表系统
CN107818151A (zh) * 2017-10-24 2018-03-20 湖南恒茂高科股份有限公司 数据查找方法、装置、计算机设备和存储介质
CN107896194A (zh) * 2018-01-02 2018-04-10 盛科网络(苏州)有限公司 一种路由查找方法、装置和存储介质
TWI665894B (zh) * 2015-02-20 2019-07-11 美商凱為有限責任公司 用於利用超級鍵生成並行查找請求的方法和裝置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080162429A1 (en) * 2006-12-29 2008-07-03 Ram T Reghu Search for an archived query
CN101986271A (zh) * 2010-10-29 2011-03-16 中兴通讯股份有限公司 调度tcam查询和刷新消息的方法和装置
CN102402611A (zh) * 2011-12-12 2012-04-04 盛科网络(苏州)有限公司 一种用tcam实现关键字快速查找并读表的方法
CN103117931A (zh) * 2013-02-21 2013-05-22 烽火通信科技股份有限公司 基于哈希表和tcam表的mac地址硬件学习方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7408932B2 (en) * 2003-10-20 2008-08-05 Intel Corporation Method and apparatus for two-stage packet classification using most specific filter matching and transport level sharing
US7624313B2 (en) * 2005-03-28 2009-11-24 Hewlett-Packard Development Company, L.P. TCAM BIST with redundancy
CN100555988C (zh) * 2006-03-08 2009-10-28 中兴通讯股份有限公司 一种提高三重内容可寻址存储器报文分类查找速度的方法
CN101834802B (zh) * 2010-05-26 2012-08-08 华为技术有限公司 转发数据包的方法及装置
US9406381B2 (en) * 2010-08-01 2016-08-02 Gsi Technology Israel Ltd. TCAM search unit including a distributor TCAM and DRAM and a method for dividing a database of TCAM rules
CN102271087B (zh) * 2011-07-27 2017-09-29 中兴通讯股份有限公司 一种路由查找方法和装置
US8861347B2 (en) * 2011-12-04 2014-10-14 Mellanox Technologies Ltd. Configurable access control lists using TCAM

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080162429A1 (en) * 2006-12-29 2008-07-03 Ram T Reghu Search for an archived query
CN101986271A (zh) * 2010-10-29 2011-03-16 中兴通讯股份有限公司 调度tcam查询和刷新消息的方法和装置
CN102402611A (zh) * 2011-12-12 2012-04-04 盛科网络(苏州)有限公司 一种用tcam实现关键字快速查找并读表的方法
CN103117931A (zh) * 2013-02-21 2013-05-22 烽火通信科技股份有限公司 基于哈希表和tcam表的mac地址硬件学习方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
梁仲斌 等: ""基于TCAM报文分类的范围编码方案"", 《计算机工程》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI665894B (zh) * 2015-02-20 2019-07-11 美商凱為有限責任公司 用於利用超級鍵生成並行查找請求的方法和裝置
CN107517161A (zh) * 2016-06-15 2017-12-26 中兴通讯股份有限公司 一种网络处理器查表方法、网络处理器和查表系统
CN107517161B (zh) * 2016-06-15 2021-11-12 中兴通讯股份有限公司 一种网络处理器查表方法、网络处理器和查表系统
CN106301970A (zh) * 2016-10-27 2017-01-04 盛科网络(苏州)有限公司 一种使用转发表收敛以减少tcam表项消耗的芯片实现方法
CN106789706A (zh) * 2016-11-11 2017-05-31 天津光电通信技术有限公司 一种基于tcam的网络分流系统
CN106789706B (zh) * 2016-11-11 2020-08-07 天津光电通信技术有限公司 一种基于tcam的网络分流系统
CN107818151A (zh) * 2017-10-24 2018-03-20 湖南恒茂高科股份有限公司 数据查找方法、装置、计算机设备和存储介质
CN107896194A (zh) * 2018-01-02 2018-04-10 盛科网络(苏州)有限公司 一种路由查找方法、装置和存储介质

Also Published As

Publication number Publication date
EP3012747A1 (en) 2016-04-27
WO2014201902A1 (zh) 2014-12-24
US20160132559A1 (en) 2016-05-12
CN104239337B (zh) 2019-03-26
EP3012747B1 (en) 2017-10-18
EP3012747A4 (en) 2016-07-06

Similar Documents

Publication Publication Date Title
KR102072203B1 (ko) 컨텐츠 중심 네트워크에 계층적 이름의 변화에 강인한 단축 이름을 생성하는 방법 및 노드
CN104239337A (zh) 基于tcam的查表处理方法及装置
RU2615057C2 (ru) Способ и устройство для доступа к web-странице и маршрутизатор
US8037076B2 (en) Federated indexing from hashed primary key slices
US20160112329A1 (en) Multi-Level Flow Table Search Method and Apparatus
Zhao et al. Exploiting graphics processors for high-performance IP lookup in software routers
CN110175174B (zh) 一种数据查询方法、装置、设备及存储介质
US20170154073A1 (en) System and method for retrieving data
US20200142674A1 (en) Extracting web api endpoint data from source code
CN101620623A (zh) 内容可寻址存储器表项管理方法和装置
CN106789859B (zh) 报文匹配方法及装置
Wang et al. GPU-accelerated name lookup with component encoding
EP3107010B1 (en) Data integration pipeline
CN105468776A (zh) 操作数据库的方法、装置及系统
CN111131049B (zh) 路由表项的处理方法及装置
US9201982B2 (en) Priority search trees
CN111046106A (zh) 缓存数据同步方法、装置、设备及介质
CN103368852A (zh) 用于处理哈希冲突的方法和系统
CN107547382B (zh) 一种邻居关系发现方法和装置
JP6233846B2 (ja) 可変長ノンスの生成
CN103902554A (zh) 数据访问方法与装置
US9569507B2 (en) Virtual directory server to process directory requests when information on an object is split across multiple data sources
KR102189398B1 (ko) 국소성-유지 해싱을 사용하는 효율적 구간 검색을 위한 방법 및 시스템
Garnica et al. A FPGA-based scalable architecture for URL legal filtering in 100GbE networks
US10313438B1 (en) Partitioned key-value store with one-sided communications for secondary global key lookup by range-knowledgeable clients

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant