CN112235197A - 一种并行路由查找方法及系统 - Google Patents
一种并行路由查找方法及系统 Download PDFInfo
- Publication number
- CN112235197A CN112235197A CN202011149584.0A CN202011149584A CN112235197A CN 112235197 A CN112235197 A CN 112235197A CN 202011149584 A CN202011149584 A CN 202011149584A CN 112235197 A CN112235197 A CN 112235197A
- Authority
- CN
- China
- Prior art keywords
- routing
- level
- prefix
- routing prefix
- information
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种并行路由查找方法及系统,涉及通信技术领域,该方法包括以下步骤:接收报文,并提取与报文对应的VRF信息以及目的地址IP;识别第一级路由前缀的第一标志位,若第一标志位表示第二级路由前缀无数据,则根据VRF信息以及目的地址IP查询第一级路由前缀,反之则查询第一级路由前缀和第二级路由前缀;当查询第二级路由前缀时,识别第二级路由前缀的第二标志位,若第二标志位表示第三级路由前缀无数据,则查询第二级路由前缀,反之则查询第二级路由前缀和第三级路由前缀。本发明采用多级路由前缀,提供简便于查找的多级数据存储结构,消除现有并行路由查找方法的局限性。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种并行路由查找方法及系统。
背景技术
数据通信设备是当前互联网、运营商网和行业网的重要组成部分,其典型的设备代表就是传统路由器、交换交换机、接入网关以及NFV趋势下vCPE、vBRAS、vFW虚拟化设备等。
新形势下NFV的发展趋势是用基于X86架构的通用服务器,承接原有基于NP、交换芯片等专用芯片实现的上述业务。X86是通用多核处理器,与传统的NP和交换芯片的等专用芯片相比较,其在路由转发业务上完全依靠CPU的计算和查找,缺少TCAM硬件辅助路由查找引擎,因此需要寻求一种适用于多核处理器,满足大规格、并行、高效,并且能够支持多实例的路由查找算法是当前的技术关键。
传统适用于多核处理器的路由查找算法主要包括Radix Trie、多分支Trie树(Multibit Trie)等路由算法,算法的组织结构是基于树,其树的高度决定路由查找的次数,随着路由规格的增加,树的高度会逐步变高,匹配次数会随之增加,算法的性能会随之下降。因此传统的算法主要应用在路由条目较小、处理的流量较小、对性能要求不高的小型路由设备上,适用范围较窄。
最新的分段路由查找算法,基于目的地址将32bit的地址划分为多段地址,具体包括DIR-24-8-BASIC、DIR-16-8-8-BASIC、DIR-8-8-8-8-BASIC等几种情况,但算法均没有将多实例VRF值包含到算法中,导致算法一般只支持VRF等于0的公网路由查找,对于VRF不唯一的情况(一般VRF值在1到2047之间)则不给予兼容。
因此,急需一种新的并行路由查找方法,能够解决上述问题。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种并行路由查找方法及系统,采用多级路由前缀,提供简便于查找的多级数据存储结构,消除现有并行路由查找方法的局限性。
为达到以上目的,本发明采取的技术方案是:
第一方面,本发明公开一种并行路由查找方法,所述方法基于将路由信息分级存储的自定义路由前缀,所述自定义路由前缀依次包括第一级路由前缀、第二级路由前缀以及第三级路由前缀,所述方法包括以下步骤:
接收报文,并提取与报文对应的VRF信息以及目的地址IP;
识别所述第一级路由前缀的第一标志位,若所述第一标志位表示所述第二级路由前缀无数据,则根据所述VRF信息以及所述目的地址IP查询所述第一级路由前缀,反之则查询所述第一级路由前缀和所述第二级路由前缀;
当查询所述第二级路由前缀时,识别所述第二级路由前缀的第二标志位,若所述第二标志位表示所述第三级路由前缀无数据,则查询所述第二级路由前缀,反之则查询所述第二级路由前缀和所述第三级路由前缀。
在上述技术方案的基础上,所述方法还包括数据存储流程,所述数据存储流程包括以下步骤:
识别需要存储的路由表项的掩码长度;
根据所述路由表项的掩码长度,将所述路由表项按照存储空间的大小,存储在所述第一级路由前缀、第二级路由前缀或第三级路由前缀。
在上述技术方案的基础上,所述自定义路由前缀包括VRF路由前缀以及固有路由前缀。
在上述技术方案的基础上,所述VRF路由前缀为11比特,所述固有路由前缀为32比特。
在上述技术方案的基础上,第一级路由前缀为24比特,第二级路由前缀为11比特,第三级路由前缀为8比特,所述第一级路由前缀与所述第三级路由前缀的路由信息总和与所述固有路由前缀内的路由信息对应,所述第二级路由前缀的路由信息与所述VRF路由前缀的路由信息对应。
第二方面,本发明还公开另一种并行路由查找方法,所述方法基于将路由信息分级存储的自定义路由前缀,所述自定义路由前缀依次包括多级路由前缀,各上一级路由前缀中包含标记下一级路由前缀是否存有数据的数据标志位,所述方法包括以下步骤:
接收报文,并提取与报文对应的VRF信息以及目的地址IP;
识别各级路由前缀的所述数据标志位,判断各级路由前缀是否存在数据;
根据所述VRF信息以及所述目的地址IP,查询存在数据的各级路由前缀。
第三方面,本发明还公开一种并行路由查找系统,所述系统基于将路由信息分级存储的自定义路由前缀,所述自定义路由前缀依次包括第一级路由前缀、第二级路由前缀以及第三级路由前缀,所述系统包括:
报文获取单元,其用于接收报文,并提取与报文对应的VRF信息以及目的地址IP;
标志位识别单元,其用于识别所述第一级路由前缀的第一标志位,还用于当查询所述第二级路由前缀时,识别所述第二级路由前缀的第二标志位,
路由查询单元,其用于根据各级路由表的数据情况,查询所述第一级路由前缀、所述第二级路由前缀以及所述第三级路由前缀。
在上述技术方案的基础上,所述系统还包括:数据存储单元;
所述数据存储单元用于识别需要存储的路由表项的掩码长度;
所述数据存储单元还用于根据所述路由表项的掩码长度,将所述路由表项按照存储空间的大小,存储在所述第一级路由前缀、第二级路由前缀或第三级路由前缀。
在上述技术方案的基础上,所述自定义路由前缀包括VRF路由前缀以及固有路由前缀;
所述第一级路由前缀与所述第三级路由前缀的路由信息总和与所述固有路由前缀内的路由信息对应,所述第二级路由前缀的路由信息与所述VRF路由前缀的路由信息对应。
第四方面,本发明还公开一种并行路由查找系统,所述系统基于将路由信息分级存储的自定义路由前缀,所述自定义路由前缀依次包括多级路由前缀,各上一级路由前缀中包含标记下一级路由前缀是否存有数据的数据标志位,所述系统包括:
报文获取单元,其用于接收报文,并提取与报文对应的VRF信息以及目的地址IP;
标志位识别单元,其用于识别各级路由前缀的所述数据标志位,判断各级路由前缀是否存在数据;
路由查询单元,其用于根据所述VRF信息以及所述目的地址IP,查询存在数据的各级路由前缀。
与现有技术相比,本发明的优点在于:
(1)本发明采用多级路由前缀,提供简便于查找的多级数据存储结构,满足多样的路由查询需求,消除现有并行路由查找方法的局限性,提高并行路由查找效率。
(2)本发明基于掩码长度的不同,增设了32张Hash表,用于路由添加和删除过程中的路由查重和路由是否存在的判断,并且能够实现已添加路由的DUMP功能,能够进一步优化了分段路由算法在上述情况下的不足,使得算法具有更强的可用性。
(3)本发明基于最新的路由分段算法上,在原有的路由表上增加11bit的多实例VRF字段,并对新产生的43bit的路由表,通过对分段重新划分,采用DIR-24-11-8-BASIC,实现一种高效的并行路由查找方法。
附图说明
图1为本发明实施例一中并行路由查找方法的步骤流程图;
图2为本发明实施例一中第一级路由前缀对应的结构表项的结构示例图;
图3为本发明实施例一中并行路由查找方法中Hash表成员字段的格式示意图;
图4为本发明实施例一中并行路由查找方法的各级路由前缀示意图;
图5为本发明实施例二中并行路由查找方法的步骤流程图;
图6为本发明实施例三、四中并行路由查找系统的结构框图;
图中:1、报文获取单元;2、标志位识别单元;3、路由查询单元;4、数据存储单元。
具体实施方式
术语解释:
NFV,Network Function Virtualization,网络功能虚拟化;
vCPE,Virtualized Customer Premise Equipment,虚拟客户端设备,也称为云CPE,使用基于软件的功能来代替专有硬件;
vBRAS,Virtualized Broadband Remote Access Server,虚拟化宽带接入服务器;
vFW,Virtualized Firewal,虚拟化防火墙;
DUMP,打印文件输出;
VRF,Virtual Routing Forwarding,虚拟路由转发;
IP,Internet Protocol,互联网协议地址。
以下结合附图对本发明的实施例作进一步详细说明。
本发明实施例提供一种并行路由查找方法及系统,采用多级路由前缀,提供简便于查找的多级数据存储结构,满足多样的路由查询需求,消除现有并行路由查找方法的局限性,提高并行路由查找效率,为工作人员提供便利。
为达到上述技术效果,本申请的总体思路如下:
一种并行路由查找方法,该方法基于将路由信息分级存储的自定义路由前缀,该自定义路由前缀依次包括第一级路由前缀、第二级路由前缀以及第三级路由前缀,该方法包括以下步骤:
S1、接收报文,并提取与报文对应的VRF信息以及目的地址IP;
S2、识别第一级路由前缀的第一标志位,若第一标志位表示第二级路由前缀无数据,则根据VRF信息以及目的地址IP查询第一级路由前缀,反之则查询第一级路由前缀和第二级路由前缀;
S3、当查询第二级路由前缀时,识别第二级路由前缀的第二标志位,若第二标志位表示第三级路由前缀无数据,则查询第二级路由前缀,反之则查询第二级路由前缀和第三级路由前缀。
以下结合附图对本发明的实施例作进一步详细说明。
实施例一
参见图1至4所示,本发明实施例1提供一种并行路由查找方法,该方法基于将路由信息分级存储的自定义路由前缀,该自定义路由前缀依次包括第一级路由前缀、第二级路由前缀以及第三级路由前缀,该方法包括以下步骤:
S1、接收报文,并提取与报文对应的VRF信息以及目的地址IP;
S2、识别第一级路由前缀的第一标志位,若第一标志位表示第二级路由前缀无数据,则根据VRF信息以及目的地址IP查询第一级路由前缀,反之则查询第一级路由前缀和第二级路由前缀;
S3、当查询第二级路由前缀时,识别第二级路由前缀的第二标志位,若第二标志位表示第三级路由前缀无数据,则查询第二级路由前缀,反之则查询第二级路由前缀和第三级路由前缀。
本发明实施例中,会将路由表进行分级处理,自定义路由前缀将路由信息分级存储,依次包括第一级路由前缀、第二级路由前缀以及第三级路由前缀,在现有的分段路由查找算法在实现的过程中,基于目的地址将32bit的地址划分为多段地址,具体包括DIR-24-8-BASIC、DIR-16-8-8-BASIC、DIR-8-8-8-8-BASIC等几种情况,但传统的分担路由查找算法均没有将多实例VRF值包含到算法中,导致算法一般只支持VRF等于0的公网路由查找,对于VRF不唯一的情况(一般VRF值在1到2047之间)则不给予兼容,因此本发明实施例中,在原有的路由表上增加11bit的多实例VRF字段,并对新产生的43bit的路由表,通过对分段重新划分,变成DIR-24-11-8-BASIC,其中新的43bit的路由表,在结构上是以<VRF>+<dst>的顺序组成的;
DIR-24-11-8-BASIC的三级划分过程中,第一级路由前缀TBL24采用数组预分配存储空间,而第二级路由前缀TBL11和第三级路由前缀TBL8则采用内存动态分配的方式,当第一级路由前缀TBL24的某个表项的第一标志位为1(True),用于标识对应的表明第二级路由前缀TBL11可能存在更长掩码的路由,查找会进入第二级路由前缀中去,其中第二级TBL11中也存在一个第二标志位,第二标志位用于标识是否在第三级的TBL8中存在更长掩码的路由存在,由此来实现最长掩码匹配;
而在查找时,通过将VRF值作为路由的前缀来进行匹配,从而实现了路由查找支持多实例的情况;
首先,接收报文,并提取与报文中与该报文对应的VRF信息以及目的地址IP,开始路由查找工作;
进而,识别第一级路由前缀的第一标志位,若第一标志位表示第二级路由前缀无数据,则无需查询第二级路由前缀,更无需查询第三级路由前缀,则根据VRF信息以及目的地址IP查询第一级路由前缀,反之则查询第一级路由前缀和第二级路由前缀;
而后,当第一标志位表示第二级路由前缀存在数据,需要查询第二级路由前缀时,首先会识别第二级路由前缀的第二标志位,若第二标志位表示第三级路由前缀无数据,则查询第二级路由前缀,反之则查询第二级路由前缀和第三级路由前缀;
进而,在确定需要查询哪些级别的路由前缀后,进行路由查询,获得查询结果并输出。
本发明实施例,采用多级路由前缀,提供简便于查找的多级数据存储结构,满足多样的路由查询需求,消除现有并行路由查找方法的局限性,提高并行路由查找效率,为工作人员提供便利。
需要说明的是,第二级路由前缀存储的是VRF信息,用于满足对不同VRF值时的路由查找工作,解决现有并行路由查询手段的局限性。
与传统的分段路由查找算法相比,本发明实施例将多实例的VRF信息,连同目的地址作为路由的前缀,对新组成的43bit的路由前缀进行重新层次的划分,将原有32bit不支持多实例的DIR-24-8-BASIC、DIR-16-8-8-BASIC、DIR-8-8-8-8-BASIC几种相类似的模式,变更为:DIR-24-11-8-BASIC。通过组织结构的重新设计和查找流程的重新设计,使得算法在保持做多3次查找的高性能前提下,并支持0—2047范围VRF多实例的路由功能,让算法具有更强的应用范围和实用性。
本发明实施例中的另一种实施方式中,方法还包括数据存储流程,数据存储流程包括以下步骤:
识别需要存储的路由表项的掩码长度;
根据路由表项的掩码长度,将路由表项按照存储空间的大小,存储在第一级路由前缀、第二级路由前缀或第三级路由前缀。
本发明实施例中的另一种实施方式中,自定义路由前缀包括VRF路由前缀以及固有路由前缀;
其中,VRF路由前缀为11比特,固有路由前缀为32比特,第一级路由前缀为24比特,第二级路由前缀为11比特,第三级路由前缀为8比特,第一级路由前缀与第三级路由前缀的路由信息总和与固有路由前缀内的路由信息对应,第二级路由前缀的路由信息与VRF路由前缀的路由信息对应。
本发明实施例中的另一种实施方式中,为了解决路由添加过程的查重和DUMP功能困难的问题,必要时,可加入了一张Hash表用于存储添加的路由,Hash的设计考虑到路由掩码的问题,针对32bit的地址,设置了32张Hash,用于不同掩码长度的路由进行分开存储;
即每添加一条路由,会在该掩码长度,在对应的Hash表内依据VRF和前缀地址进行Hash匹配进行查重,DUMP操作是依次将各掩码长度内Hash表表项输出,不会出现重复;
本发明实施例中,基于掩码长度的不同,增设了32张Hash表,用于路由添加和删除过程中的路由查重和路由是否存在的判断,并且能够实现已添加路由的DUMP功能,能够进一步优化了分段路由算法在上述情况下的不足,使得算法具有更强的可用性。
本发明实施例中的另一种实施方式中,给出一种第一级路由前缀对应的结构表项的结构示例,如说明书附图图2所示:
第一有效位(Valid),用于表示该表项是否有效,1为有效,0为无效;
第一标志位(Cont),用于表示是否有更长路由可供查找的标志位,1为存在,0为不存在;
第一位域最小值(Min),用于表示表示下层表项的起始值;
第一位域最大值(Max),用于表示表示下层表项的结束值;
第一掩码前缀长度(Len),用于表示当前表项的掩码前缀长度;
第一保留位段(unused),用于表示该位域是保留字段;
第一下一跳信息(Next_hop),用于存储路由表的下一跳信息;
第一下一级表项地址(L2_entry),用于存储第二级地址基地址;
第一级路由前缀对应的结构表项用l1_entry表示,第二级路由前缀对应的结构表项用l2_entry表示,第三级路由前缀对应的结构表项用l3_entry表示;
以上三级路由前缀对应的结构表项均同l1_entry级别基本相同,不做复述,其中l1_entry和l2_entry中指向下一层表项的内存起始基地址用l2_entry和l3_entry表示。
如图3所示,由路由地址Ip掩码长度Ip_Mask_Len,从32张Hash得到Hash_tbl(Hash[Ip_Mask_Len])。Hash_tbl表的Key是实例号VRF和目的地址Ip,将上述Key通过CRC运算,得到Hash_Value,由Hash_tbl[Hash_Value%2048],得到Hash_tbl表的成员Hash_entry,其Hash表成员字段如图3所示,哈希冲突域中采用链表散列,Hash_entry成员间是用链表的数据结构组织在一起:
第一实例号(VRF),用于表示该路由的实例信息;
第一掩码前缀长度(Ip_Mask_Len),用于表示该路由的掩码前缀长度;
第一路由地址(Ip),用于表示该路由的IP地址;
第一下一跳信息(Next_hop),用于存储路由表的下一跳信息;
第一下一个节点地址(Next),用于表示Hash_entry链表上的下一个成员;
第一保留位段(Unused2),用于表示该位域是保留字段;
第一保留位段(Unused3),用于表示该位域是保留字段。
对应上述给出的结构示例,本发明实施例提及的方法的数据存储流程;
如图4所示,第一级路由前缀长度为24bit,第二级路由前缀长度为11bit,第三级路由前缀长度为8bit,设计将实例号VRF的11bit和路由地址32bit组成共计43bit的地址,其中VRF的11bit将前缀掩码(VRF_Mask)长度(VRF_Mask_Len)固定为11,路由地址的前缀长度视路由掩码(Ip_Mask)长度(Ip_Mask_Len)而定,总的前缀长度Mask_Len为Ip_Mask_Len加上VRF_Mask_Len;
当需要插入到表存储结构的路由表项前缀Mask_Len大于第一级的前缀长度24时,需要在下一级的结构中进行存储,如果Mask_Len减去24大于第二级前缀长度11时,需要在第三级上继续存储,具体的数据存储流程包括以下步骤:
步骤1:路由添加携带路由地址Ip、掩码长度Ip_Mask_Len、实例号VRF,下一跳信息Next_hop,进入分段路由算法的处理入口;
步骤2:掩码长度Ip_Mask_Len,从32张Hash得到Hash_tbl(Hash[Ip_Mask_Len]),其中,Hash_tbl表的Key是实例号VRF和目的地址Ip,将上述Key通过CRC运算,得到Hash_Value,由Hash_tbl[Hash_Value%2048],得到Hash_tbl表的成员Hash_entry头,进入步骤3;
步骤3:在链表中依次获得Hash_entry成员,从成员字段中拿出第一实例号(VRF)、第一路由地址(Ip)、第一掩码前缀长度(Ip_Mask_Len),与添加的路由信息中的实例号VRF、路由地址Ip、掩码长度Ip_Mask_Len进行匹配比较,如果Hash_entry都不与之匹配,说明该路由属于第一次添加则进入步骤4,反之,则说明该路由已经存在,则进入步骤11;
步骤4:创建一个Hash_entry节点,将路由信息中的实例号VRF、路由地址Ip、掩码长度Ip_Mask_Len、下一跳信息Next_hop填到Hash_entry个字段,并将该节点添加到链表上,进入步骤5;
步骤5:将VRF的11bit将前缀长度VRF_Mask_Len固定为11,路由地址的前缀长度视路由掩码长度Ip_Mask_Len而定,得到总的前缀长度Mask_Len,在第一级路由前缀中以VRF实例号11bit和路由地址Ip的高13位组成24bit的l1_base_idx,比较路由前缀长度Mask_len是否大于第一级路由前缀地址段长度24,如果不大于,则第一级路由前缀的l1_entry[l1_base_idx]开始到第一路由前缀的扇区都填充这条路由下一跳的内容,第一级路由前缀添加结束,反之,如果大于24则进入步骤6;
步骤6:如果l1_entry[l1_base_idx]中的第一标志位(Cont)为1则进入步骤7,如果为0则表明下一级属于第一次添加,需要为第二级路由前缀申请sizeof(l2_entry[2^11])大小的内存,如果内存申请成功,Cont置为1则进入步骤7,否则进入步骤10;
步骤7:计算出路由地址IP的接下来的11bit数值为l2_base_idx,路由前缀长度Mask_len是否大于第一级路由前缀与第二级长度路由前缀之和,即是否大于35,如果不大于,则第二级路由前缀的l2_entry[l2_base_idx]开始表项到l2_entry[2^(35–Mask_len)结束,对符合Mask_len大于表项中第一掩码前缀长度Mask_len条件的表项,进行路由写入,完成后进入步骤11。如果大于35则进入步骤8;
步骤8:如果l2_entry[l2_base_idx]中的第一标志位(Cont)为1则进入步骤9,如果为0则表明下一级属于第一次添加,需要为第二级路由前缀申请sizeof(l3_entry[2^8])大小的内存,如果内存申请成功,Cont置为1则进入步骤9,否则进入步骤10;
步骤9:计算出路由地址IP最后的8bit数值为l3_base_idx,则从第三级路由前缀的l3_entry[l3_base_idx]开始表项到l3_entry[2^(43-mask_len)]结束,对符合Mask_len大于表项中第一掩码前缀长度Mask_len条件的表项,进行路由写入,完成后进入步骤11;
步骤10:执行步骤2的过程,查询到本条路由在Hash表刚加入的节点,该已经添加的节点从链表中摘除,并清理该节点内存,进入步骤11;
步骤11:正常退出。
本发明实施例中的另一种实施方式中,针对上述结构示例,给出一种本发明实施例的数据查找流程,该数据查找流程包括以下步骤:
步骤1:从设备接口进来的报文,进入分段路由查找入口,从接口上提取VRF信息,从报文中提取目的地址Ip,进入第一级路由前缀查找;
步骤2:第一级路有前缀中以VRF实例号11bit和目的地址Ip的高13位组成24bit的l1_base_idxl,在第一级路有前缀中获得l1_entry[l1_base_idx]结构,如果结构中Valid为0,则表明路由不存在,进入步骤5,如果Valid为1,则继续判断Cont值,如果Cont值为0,则表明当前l1_entry结构即为最长路由匹配,则从l1_entry[l1_base_idx]结构中获得Next_hop进行路由转发,如果Cont值为1,则进入步骤3;
步骤3:从l1_entry中的第一下一级表项地址(L2_entry)获取第二级路有前缀的起始地址l2_entry,目的地址IP的接下来的11bit数值为l2_base_idx,在第二级路有前缀中获得l2_entry[l2_base_idx]结构,如果结构中Valid为0,返回上一级l1_entry中获得Next_hop作为路由转发,如果Valid为1,则继续判断Cont值,如果Cont值为0,则表明当前l2_entry结构即为最长路由匹配,则从l2_entry[l2_base_idx]结构中获得Next_hop进行路由转发,如果Cont值为1,则进入步骤4;
步骤4:从l2_entry中的第一下一级表项地址(L3_entry)获取第二级路有前缀的起始地址l3_entry,目的地址IP的接下来的11bit数值为l3_base_idx,在第二级路有前缀中获得l3_entry[l3_base_idx]结构,如果结构中Valid为0,返回上一级l2_entry中获得Next_hop作为路由转发,如果Valid为1,则继续判断Cont值,如果Cont值为0,则表明当前l3_entry结构即为最长路由匹配,则从l3_entry[l3_base_idx]结构中获得Next_hop进行路由转发;
步骤5:路由查找不存在。
本发明实施例通过算法数据结构和流程的设计,增加多实例VRF信息,对新组成的<VRF>+<DST>43bit路由前缀划分成DIR-24-11-8-BASIC三级,第一级24bit,第二级11bit,第三级8bit;设计保持了最多3次查找的高性能特性,并且兼容公网和私网的多实例分段路由查找算法。同时,发明增设的Hash表数据结构设计,实现了路由添加和删除过程中的路由查重和路由是否存在的功能,使得算法完整性增强。
基于同一发明构思,本申请提供了实施例一对应的另一种并行路由查找系统的实施例,详见实施例二
实施例二
参见图5所示,本发明实施例2提供一种并行路由查找方法,该方法基于将路由信息分级存储的自定义路由前缀,自定义路由前缀依次包括多级路由前缀,各上一级路由前缀中包含标记下一级路由前缀是否存有数据的数据标志位,该方法包括以下步骤:
A1、接收报文,并提取与报文对应的VRF信息以及目的地址IP;
A2、识别各级路由前缀的数据标志位,判断各级路由前缀是否存在数据;
A3、根据VRF信息以及目的地址IP,查询存在数据的各级路由前缀。
本发明实施例中,会将路由表进行分级处理,自定义路由前缀将路由信息分级存储,依次包括第一级路由前缀、第二级路由前缀以及第三级路由前缀等,
首先,接收报文,并提取与报文中与该报文对应的VRF信息以及目的地址IP,开始路由查找工作;
进而,识别前一级路由前缀的数据标志位,若数据标志位表示下一级路由前缀无数据,则无需查询下一级路由前缀,更无需查询再下一级路由前缀,则根据VRF信息以及目的地址IP查询此级路由前缀,反之则查询此级路由前缀和下级路由前缀;
逐级识别各路由前缀的数据标志位,从未判断数据标志位对应的下一级路由前缀是否存在数据
进而,在确定需要查询哪些级别的路由前缀后,进行路由查询,获得查询结果并输出。
本发明实施例,采用多级路由前缀,提供简便于查找的多级数据存储结构,满足多样的路由查询需求,消除现有并行路由查找方法的局限性,提高并行路由查找效率,为工作人员提供便利。
需要说明的是,其中存在某一级路由前缀存储的是VRF信息,用于满足对不同VRF值时的路由查找工作,解决现有并行路由查询手段的局限性。
本发明实施例中的另一种实施方式中,该方法还包括数据存储流程,数据存储流程包括以下步骤:
识别需要存储的路由表项的掩码长度;
根据路由表项的掩码长度,将路由表项按照存储空间的大小,存储在各级路由前缀中。
本发明实施例中的另一种实施方式中,自定义路由前缀包括VRF路由前缀以及固有路由前缀。
基于同一发明构思,本申请提供了实施例一对应的并行路由查找系统的实施例,详见实施例三
实施例三
参见图6所示,本发明实施例提供一种并行路由查找系统,该系统基于将路由信息分级存储的自定义路由前缀,自定义路由前缀依次包括第一级路由前缀、第二级路由前缀以及第三级路由前缀,该系统包括:
报文获取单元1,其用于接收报文,并提取与报文对应的VRF信息以及目的地址IP;
标志位识别单元2,其用于识别第一级路由前缀的第一标志位,还用于当查询第二级路由前缀时,识别第二级路由前缀的第二标志位,
路由查询单元3,其用于根据各级路由表的数据情况,查询第一级路由前缀、第二级路由前缀以及第三级路由前缀。
本发明实施例中,会将路由表进行分级处理,自定义路由前缀将路由信息分级存储,依次包括第一级路由前缀、第二级路由前缀以及第三级路由前缀,在现有的分段路由查找算法在实现的过程中,基于目的地址将32bit的地址划分为多段地址,具体包括DIR-24-8-BASIC、DIR-16-8-8-BASIC、DIR-8-8-8-8-BASIC等几种情况,但传统的分担路由查找算法均没有将多实例VRF值包含到算法中,导致算法一般只支持VRF等于0的公网路由查找,对于VRF不唯一的情况(一般VRF值在1到2047之间)则不给予兼容,因此本发明实施例中,在原有的路由表上增加11bit的多实例VRF字段,并对新产生的43bit的路由表,通过对分段重新划分,变成DIR-24-11-8-BASIC,其中新的43bit的路由表,在结构上是以<VRF>+<dst>的顺序组成的;
DIR-24-11-8-BASIC的三级划分过程中,第一级路由前缀TBL24采用数组预分配存储空间,而第二级路由前缀TBL11和第三级路由前缀TBL8则采用内存动态分配的方式,当第一级路由前缀TBL24的某个表项的第一标志位为1(True),用于标识对应的表明第二级路由前缀TBL11可能存在更长掩码的路由,查找会进入第二级路由前缀中去,其中第二级TBL11中也存在一个第二标志位,第二标志位用于标识是否在第三级的TBL8中存在更长掩码的路由存在,由此来实现最长掩码匹配;
而在查找时,通过将VRF值作为路由的前缀来进行匹配,从而实现了路由查找支持多实例的情况;
首先,接收报文,并提取与报文中与该报文对应的VRF信息以及目的地址IP,开始路由查找工作;
进而,识别第一级路由前缀的第一标志位,若第一标志位表示第二级路由前缀无数据,则无需查询第二级路由前缀,更无需查询第三级路由前缀,则根据VRF信息以及目的地址IP查询第一级路由前缀,反之则查询第一级路由前缀和第二级路由前缀;
而后,当第一标志位表示第二级路由前缀存在数据,需要查询第二级路由前缀时,首先会识别第二级路由前缀的第二标志位,若第二标志位表示第三级路由前缀无数据,则查询第二级路由前缀,反之则查询第二级路由前缀和第三级路由前缀;
进而,在确定需要查询哪些级别的路由前缀后,进行路由查询,获得查询结果并输出。
本发明实施例,采用多级路由前缀,提供简便于查找的多级数据存储结构,满足多样的路由查询需求,消除现有并行路由查找方法的局限性,提高并行路由查找效率,为工作人员提供便利。
需要说明的是,第二级路由前缀存储的是VRF信息,用于满足对不同VRF值时的路由查找工作,解决现有并行路由查询手段的局限性。
本发明实施例中的另一种实施方式中,该系统还包括:数据存储单元4;
数据存储单元4用于识别需要存储的路由表项的掩码长度;
数据存储单元4还用于根据路由表项的掩码长度,将路由表项按照存储空间的大小,存储在第一级路由前缀、第二级路由前缀或第三级路由前缀。
本发明实施例中的另一种实施方式中,自定义路由前缀包括VRF路由前缀以及固有路由前缀;
其中,VRF路由前缀为11比特,固有路由前缀为32比特,第一级路由前缀为24比特,第二级路由前缀为11比特,第三级路由前缀为8比特,第一级路由前缀与第三级路由前缀的路由信息总和与固有路由前缀内的路由信息对应,第二级路由前缀的路由信息与VRF路由前缀的路由信息对应。
本发明实施例中的另一种实施方式中,为了解决路由添加过程的查重和DUMP功能困难的问题,必要时,可加入了一张Hash表用于存储添加的路由,Hash的设计考虑到路由掩码的问题,针对32bit的地址,设置了32张Hash,用于不同掩码长度的路由进行分开存储;
即每添加一条路由,会在该掩码长度,在对应的Hash表内依据VRF和前缀地址进行Hash匹配进行查重,DUMP操作是依次将各掩码长度内Hash表表项输出,不会出现重复;
本发明实施例中,基于掩码长度的不同,增设了32张Hash表,用于路由添加和删除过程中的路由查重和路由是否存在的判断,并且能够实现已添加路由的DUMP功能,能够进一步优化了分段路由算法在上述情况下的不足,使得算法具有更强的可用性。
基于同一发明构思,本申请提供了实施例一对应的并行路由查找系统的实施例,详见实施例四
实施例四
参见图6所示,本发明实施例提供一种并行路由查找系统,该系统基于将路由信息分级存储的自定义路由前缀,自定义路由前缀依次包括多级路由前缀,各上一级路由前缀中包含标记下一级路由前缀是否存有数据的数据标志位,系统包括:
报文获取单元1,其用于接收报文,并提取与报文对应的VRF信息以及目的地址IP;
标志位识别单元2,其用于识别各级路由前缀的数据标志位,判断各级路由前缀是否存在数据;
路由查询单元3,其用于根据VRF信息以及目的地址IP,查询存在数据的各级路由前缀。
本发明实施例中,会将路由表进行分级处理,自定义路由前缀将路由信息分级存储,依次包括第一级路由前缀、第二级路由前缀以及第三级路由前缀等,
首先,接收报文,并提取与报文中与该报文对应的VRF信息以及目的地址IP,开始路由查找工作;
进而,识别前一级路由前缀的数据标志位,若数据标志位表示下一级路由前缀无数据,则无需查询下一级路由前缀,更无需查询再下一级路由前缀,则根据VRF信息以及目的地址IP查询此级路由前缀,反之则查询此级路由前缀和下级路由前缀;
逐级识别各路由前缀的数据标志位,从未判断数据标志位对应的下一级路由前缀是否存在数据
进而,在确定需要查询哪些级别的路由前缀后,进行路由查询,获得查询结果并输出。
本发明实施例,采用多级路由前缀,提供简便于查找的多级数据存储结构,满足多样的路由查询需求,消除现有并行路由查找方法的局限性,提高并行路由查找效率,为工作人员提供便利。
需要说明的是,其中存在某一级路由前缀存储的是VRF信息,用于满足对不同VRF值时的路由查找工作,解决现有并行路由查询手段的局限性。
本发明实施例中的另一种实施方式中,该系统还包括:数据存储单元4;
数据存储单元4用于识别需要存储的路由表项的掩码长度;
数据存储单元4还用于根据路由表项的掩码长度,将路由表项按照存储空间的大小,存储各级路由前缀中。
基于同一发明构思,本申请提供了实施例一对应的存储介质的实施例,详见实施例五
实施例五
本发明第五实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一实施例中的所有方法步骤或部分方法步骤。
本发明实现上述第一实施例中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
基于同一发明构思,本申请提供了实施例一对应的设备的实施例,详见实施例六
实施例六
本发明第六实施例还提供一种设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现第一实施例中的所有方法步骤或部分方法步骤。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、服务器和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种并行路由查找方法,其特征在于,所述方法基于将路由信息分级存储的自定义路由前缀,所述自定义路由前缀依次包括第一级路由前缀、第二级路由前缀以及第三级路由前缀,所述方法包括以下步骤:
接收报文,并提取与报文对应的VRF信息以及目的地址IP;
识别所述第一级路由前缀的第一标志位,若所述第一标志位表示所述第二级路由前缀无数据,则根据所述VRF信息以及所述目的地址IP查询所述第一级路由前缀,反之则查询所述第一级路由前缀和所述第二级路由前缀;
当查询所述第二级路由前缀时,识别所述第二级路由前缀的第二标志位,若所述第二标志位表示所述第三级路由前缀无数据,则查询所述第二级路由前缀,反之则查询所述第二级路由前缀和所述第三级路由前缀。
2.如权利要求1所述的方法,其特征在于,所述方法还包括数据存储流程,所述数据存储流程包括以下步骤:
识别需要存储的路由表项的掩码长度;
根据所述路由表项的掩码长度,将所述路由表项按照存储空间的大小,存储在所述第一级路由前缀、第二级路由前缀或第三级路由前缀。
3.如权利要求1所述的方法,其特征在于:
所述自定义路由前缀包括VRF路由前缀以及固有路由前缀。
4.如权利要求3所述的方法,其特征在于:
所述VRF路由前缀为11比特,所述固有路由前缀为32比特。
5.如权利要求3所述的方法,其特征在于:
第一级路由前缀为24比特,第二级路由前缀为11比特,第三级路由前缀为8比特,所述第一级路由前缀与所述第三级路由前缀的路由信息总和与所述固有路由前缀内的路由信息对应,所述第二级路由前缀的路由信息与所述VRF路由前缀的路由信息对应。
6.一种并行路由查找方法,其特征在于,所述方法基于将路由信息分级存储的自定义路由前缀,所述自定义路由前缀依次包括多级路由前缀,各上一级路由前缀中包含标记下一级路由前缀是否存有数据的数据标志位,所述方法包括以下步骤:
接收报文,并提取与报文对应的VRF信息以及目的地址IP;
识别各级路由前缀的所述数据标志位,判断各级路由前缀是否存在数据;
根据所述VRF信息以及所述目的地址IP,查询存在数据的各级路由前缀。
7.一种并行路由查找系统,其特征在于,所述系统基于将路由信息分级存储的自定义路由前缀,所述自定义路由前缀依次包括第一级路由前缀、第二级路由前缀以及第三级路由前缀,所述系统包括:
报文获取单元,其用于接收报文,并提取与报文对应的VRF信息以及目的地址IP;
标志位识别单元,其用于识别所述第一级路由前缀的第一标志位,还用于当查询所述第二级路由前缀时,识别所述第二级路由前缀的第二标志位,
路由查询单元,其用于根据各级路由表的数据情况,查询所述第一级路由前缀、所述第二级路由前缀以及所述第三级路由前缀。
8.如权利要求7所述的系统,其特征在于,所述系统还包括:数据存储单元;
所述数据存储单元用于识别需要存储的路由表项的掩码长度;
所述数据存储单元还用于根据所述路由表项的掩码长度,将所述路由表项按照存储空间的大小,存储在所述第一级路由前缀、第二级路由前缀或第三级路由前缀。
9.如权利要求7所述的系统,其特征在于:
所述自定义路由前缀包括VRF路由前缀以及固有路由前缀;
所述第一级路由前缀与所述第三级路由前缀的路由信息总和与所述固有路由前缀内的路由信息对应,所述第二级路由前缀的路由信息与所述VRF路由前缀的路由信息对应。
10.一种并行路由查找系统,其特征在于,所述系统基于将路由信息分级存储的自定义路由前缀,所述自定义路由前缀依次包括多级路由前缀,各上一级路由前缀中包含标记下一级路由前缀是否存有数据的数据标志位,所述系统包括:
报文获取单元,其用于接收报文,并提取与报文对应的VRF信息以及目的地址IP;
标志位识别单元,其用于识别各级路由前缀的所述数据标志位,判断各级路由前缀是否存在数据;
路由查询单元,其用于根据所述VRF信息以及所述目的地址IP,查询存在数据的各级路由前缀。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011149584.0A CN112235197B (zh) | 2020-10-23 | 2020-10-23 | 一种并行路由查找方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011149584.0A CN112235197B (zh) | 2020-10-23 | 2020-10-23 | 一种并行路由查找方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112235197A true CN112235197A (zh) | 2021-01-15 |
CN112235197B CN112235197B (zh) | 2022-07-15 |
Family
ID=74109400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011149584.0A Active CN112235197B (zh) | 2020-10-23 | 2020-10-23 | 一种并行路由查找方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112235197B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769704A (zh) * | 2021-02-09 | 2021-05-07 | 芯河半导体科技(无锡)有限公司 | 一种基于hash表的高速可扩展IP路由查找硬件装置 |
CN114389989A (zh) * | 2021-12-24 | 2022-04-22 | 锐捷网络股份有限公司 | 多级下一跳路由处理方法及装置 |
CN115987888A (zh) * | 2022-12-20 | 2023-04-18 | 苏州盛科通信股份有限公司 | 路由地址存储方法、装置、网络设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949749A (zh) * | 2006-10-17 | 2007-04-18 | 华为数字技术有限公司 | 一种路由存储方法及装置 |
CN102984071A (zh) * | 2012-12-31 | 2013-03-20 | 武汉烽火网络有限责任公司 | 分段地址路由的路由表组织方法及查找路由的方法 |
CN103051543A (zh) * | 2012-11-01 | 2013-04-17 | 广州微仕科信息技术有限公司 | 一种路由前缀的处理、查找、增加及删除方法 |
US20140122791A1 (en) * | 2012-10-26 | 2014-05-01 | Cisco Technology, Inc. | System and method for packet classification and internet protocol lookup in a network environment |
CN105141525A (zh) * | 2015-06-30 | 2015-12-09 | 杭州华三通信技术有限公司 | IPv6路由查找方法及装置 |
CN106330721A (zh) * | 2015-06-30 | 2017-01-11 | 杭州华三通信技术有限公司 | Ip路由查找方法及装置 |
CN107948075A (zh) * | 2017-12-20 | 2018-04-20 | 盛科网络(苏州)有限公司 | 有效解决公网和私网路由转发的方法及系统 |
-
2020
- 2020-10-23 CN CN202011149584.0A patent/CN112235197B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949749A (zh) * | 2006-10-17 | 2007-04-18 | 华为数字技术有限公司 | 一种路由存储方法及装置 |
US20140122791A1 (en) * | 2012-10-26 | 2014-05-01 | Cisco Technology, Inc. | System and method for packet classification and internet protocol lookup in a network environment |
CN103051543A (zh) * | 2012-11-01 | 2013-04-17 | 广州微仕科信息技术有限公司 | 一种路由前缀的处理、查找、增加及删除方法 |
CN102984071A (zh) * | 2012-12-31 | 2013-03-20 | 武汉烽火网络有限责任公司 | 分段地址路由的路由表组织方法及查找路由的方法 |
CN105141525A (zh) * | 2015-06-30 | 2015-12-09 | 杭州华三通信技术有限公司 | IPv6路由查找方法及装置 |
CN106330721A (zh) * | 2015-06-30 | 2017-01-11 | 杭州华三通信技术有限公司 | Ip路由查找方法及装置 |
CN107948075A (zh) * | 2017-12-20 | 2018-04-20 | 盛科网络(苏州)有限公司 | 有效解决公网和私网路由转发的方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769704A (zh) * | 2021-02-09 | 2021-05-07 | 芯河半导体科技(无锡)有限公司 | 一种基于hash表的高速可扩展IP路由查找硬件装置 |
CN112769704B (zh) * | 2021-02-09 | 2023-04-18 | 芯河半导体科技(无锡)有限公司 | 一种基于hash表的高速可扩展IP路由查找硬件装置 |
CN114389989A (zh) * | 2021-12-24 | 2022-04-22 | 锐捷网络股份有限公司 | 多级下一跳路由处理方法及装置 |
CN115987888A (zh) * | 2022-12-20 | 2023-04-18 | 苏州盛科通信股份有限公司 | 路由地址存储方法、装置、网络设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112235197B (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112235197B (zh) | 一种并行路由查找方法及系统 | |
JP4614946B2 (ja) | 限定サイズを有する限定数のサブデータベースに分割された転送データベースを効率的にサーチするシステムと方法 | |
US7684400B2 (en) | Logarithmic time range-based multifield-correlation packet classification | |
US7403494B2 (en) | Method for generating nodes in multiway search tree and search method using the same | |
US20040230583A1 (en) | Comparison tree data structures of particular use in performing lookup operations | |
US20040254909A1 (en) | Programming routes and access control lists in comparison tree data structures and their use such as in performing lookup operations | |
CN109639579B (zh) | 组播报文的处理方法及装置、存储介质、处理器 | |
US20040205056A1 (en) | Fixed Length Data Search Device, Method for Searching Fixed Length Data, Computer Program, and Computer Readable Recording Medium | |
US7873041B2 (en) | Method and apparatus for searching forwarding table | |
US11762826B2 (en) | Search apparatus, search method, program and recording medium | |
CN111984835B (zh) | 一种IPv4掩码五元组规则存储压缩方法及装置 | |
US20020143787A1 (en) | Fast classless inter-domain routing (CIDR) lookups | |
WO2005091577A1 (en) | Method, article of manufacture and network device to support a large internet protocol forwarding information base | |
WO2021135492A1 (zh) | 路由表项的处理方法及装置 | |
US20120054198A1 (en) | Table creating and lookup method used by network processor | |
US20050283711A1 (en) | Look-up table expansion method | |
TWI239476B (en) | Address search | |
WO2015192742A1 (zh) | 一种查找装置、查找方法和配置方法 | |
US20050141517A1 (en) | Packet forwarding apparatus of high speed routing system and routing lookup method using the same | |
CN109039911B (zh) | 一种基于hash查找方式共享ram的方法及系统 | |
CN111865804B (zh) | 一种通过硬件发包机制提升路由下发效率的方法及系统 | |
EP1175756B1 (en) | Longest matching prefix lookup | |
US8316432B2 (en) | Method for implementing security-related processing on packet and network security device | |
JP3558151B2 (ja) | データ検索回路 | |
CN111683036B (zh) | 数据存储方法、装置以及报文识别方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |