CN108322394A - 路由表建立、查找、删除及状态变更方法和装置 - Google Patents

路由表建立、查找、删除及状态变更方法和装置 Download PDF

Info

Publication number
CN108322394A
CN108322394A CN201810283837.XA CN201810283837A CN108322394A CN 108322394 A CN108322394 A CN 108322394A CN 201810283837 A CN201810283837 A CN 201810283837A CN 108322394 A CN108322394 A CN 108322394A
Authority
CN
China
Prior art keywords
routing
node
mapping
routing table
trie
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
CN201810283837.XA
Other languages
English (en)
Other versions
CN108322394B (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.)
Comba Network Systems Co Ltd
Original Assignee
Comba Telecom Technology Guangzhou Ltd
Comba Telecom Systems China Ltd
Comba Telecom Systems Guangzhou Co Ltd
Tianjin Comba Telecom Systems Co Ltd
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 Comba Telecom Technology Guangzhou Ltd, Comba Telecom Systems China Ltd, Comba Telecom Systems Guangzhou Co Ltd, Tianjin Comba Telecom Systems Co Ltd filed Critical Comba Telecom Technology Guangzhou Ltd
Priority to CN201810283837.XA priority Critical patent/CN108322394B/zh
Publication of CN108322394A publication Critical patent/CN108322394A/zh
Application granted granted Critical
Publication of CN108322394B publication Critical patent/CN108322394B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种路由表建立、查找、删除及状态变更方法和装置,其中,路由表建立方法包括:将各待添加路由的表项信息依次添加到相应的路由表项中,得到路由表主表;根据预设比特位长度对目的地址和网络掩码依序进行分段取值,以取值为结点生成对应待添加路由的TRIE子树;合并各TRIE子树,得到路由表TRIE树;生成分别对应各状态的各映射表子表,得到路由状态映射表;映射表子表映射路由表主表中符合状态的各路由表项。采用本方法能够基于控制TRIE树的最大深度,使查找效率可控,并高效地完成路由状态变更。

Description

路由表建立、查找、删除及状态变更方法和装置
技术领域
本申请涉及通信技术领域,特别是涉及一种路由表建立、查找、删除及状态变更方法和装置。
背景技术
通信系统中,选路是IP(Internet Protocol,网际协议)最重要的功能之一,路由表是路由转发设备的关键。任何路由转发设备上,都有一个路由表(Routing Table,Routing Information Base)存储报文封装时的必要信息,决定转发时的正确网络接口。路由表的查找效率决定了设备的吞吐量、转发率和带机数量等,而路由表状态的频繁变更决定设备的可靠性、稳定性和安全性。
衡量IP转发设备路由表性能有两个主要因素:路由表查找速率、路由表表项变更。进行路由表查找时,协议栈根据最长前缀匹配(The Longest Prefix Match)原则用目的地址匹配设备中的路由表;路由增添或者状态变更时,相应表项也须快速更新。
IP转发设备在实际使用中,例如常见HA(High Availability)环境、网络切换等情景下,会导致频繁的路由状态变更。在实现过程中,发明人发现传统技术中至少存在如下问题:传统路由表的查找效率低,无法高效完成路由状态变更。
发明内容
基于此,有必要针对上述技术问题,提供一种能够高效进行查找和路由状态变更的路由表建立、查找、删除及状态变更方法和装置。
一种路由表建立方法,路由表的数据结构包括路由表主表、路由表TRIE树以及路由状态映射表;包括:
将各待添加路由的表项信息依次添加到相应的路由表项中,得到路由表主表;表项信息包括待添加路由的目的地址、网络掩码和状态;
根据预设比特位长度对目的地址和网络掩码依序进行分段取值,以取值为结点生成对应待添加路由的TRIE子树;合并各TRIE子树,得到路由表TRIE树;
生成分别对应各状态的各映射表子表,得到路由状态映射表;映射表子表映射路由表主表中符合状态的各路由表项。
一种路由表查找方法,包括:
根据预设比特位长度,对待查找路由的目的地址和网络掩码依序进行分段取值,以取值为结点查找路由表TRIE树;
在查找成功时,根据查找的结果由路由表TRIE树跳转到路由表主表,得到待查找路由对应的路由表项的表项信息。
一种路由表删除方法,包括:
根据预设比特位长度,对待删除路由的目的地址和网络掩码依序进行分段取值,以取值为结点查找路由表TRIE树;
在查找成功时,根据查找的结果删除路由表TRIE树中相应的结点以及路由表主表中对应的路由表项,并根据删除的结果更新路由状态映射表。
一种路由表状态变更方法,包括:
在检测到路由表状态变更时,根据变更的状态获取路由状态映射表中对应的映射表子表;
根据映射表子表的映射关系,变更路由表主表中路由表项的表项信息。
一种路由表建立装置,路由表的数据结构包括路由表主表、路由表TRIE树以及路由状态映射表;包括:
路由表主表生成模块,用于将各待添加路由的表项信息依次添加到相应的路由表项中,得到路由表主表;表项信息包括待添加路由的目的地址、网络掩码和状态;
TRIE树生成模块,用于根据预设比特位长度对目的地址和网络掩码依序进行分段取值,以取值为结点生成对应待添加路由的TRIE子树;合并各TRIE子树,得到路由表TRIE树;
路由状态映射表生成模块,用于生成分别对应各状态的各映射表子表,得到路由状态映射表;映射表子表映射路由表主表中符合状态的各路由表项。
一种路由表查找装置,包括:
查找模块,用于根据预设比特位长度,对待查找路由的目的地址和网络掩码依序进行分段取值,以取值为结点查找路由表TRIE树;
信息获取模块,用于在查找成功时,根据查找的结果由路由表TRIE树跳转到路由表主表,得到待查找路由对应的路由表项的表项信息。
一种路由表删除装置,包括:
查找模块,用于根据预设比特位长度,对待删除路由的目的地址和网络掩码依序进行分段取值,以取值为结点查找路由表TRIE树;
数据删除模块,用于在查找成功时,根据查找的结果删除路由表TRIE树中相应的结点以及路由表主表中对应的路由表项,并根据删除的结果更新路由状态映射表。
一种路由表变更装置,包括:
映射表子表获取模块,用于在检测到路由表状态变更时,根据变更的状态获取路由状态映射表中对应的映射表子表;
信息变更模块,用于根据映射表子表的映射关系,变更路由表主表中路由表项的表项信息。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述路由表建立、查找、删除及状态变更方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述路由表建立、查找、删除及状态变更方法的步骤。
上述技术方案中的一个技术方案具有如下优点和有益效果:
路由表主表记录路由表项所有信息,基于路由表TRIE树可完成路由查找、删除等动作,在操作上将状态变更与路由表建立、查找和删除分离,基于路由状态映射表可高效地完成路由状态变更;本发明基于预设比特位长度指定每个结点的比特位,可控制TRIE树的最大深度,使查找效率可控,比常见的线性表、二叉树以及固定位数的TRIE树等方法的查找效率更高。
附图说明
图1为一个实施例中路由表建立方法的第一示意性流程示意图;
图2为一个实施例中路由表主表的逻辑示意图;
图3为一个实施例中长度为Length的路由表TRIE树逻辑示意图;
图4为一个实施例中路由表建立方法的第二示意性流程示意图;
图5为一个实施例中路由表查找方法的第一示意性流程示意图;
图6为一个实施例中路由表查找方法的第二示意性流程示意图;
图7为一个实施例中路由表删除方法的第一示意性流程示意图;
图8为一个实施例中路由表删除方法的第二示意性流程示意图;
图9为一个实施例中路由表状态变更方法的第一示意性流程示意图;
图10为一个实施例中路由表状态变更方法的第二示意性流程示意图;
图11为一个实施例中路由表建立装置的结构框图;
图12为一个实施例中路由表查找装置的结构框图;
图13为一个实施例中路由表删除装置的结构框图;
图14为一个实施例中路由表状态变更装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的路由表建立、查找、删除及状态变更方法和装置,可以应用于如下所述的应用环境中。目前,路由表有两种实现方式:硬件和纯软件;其中,纯硬件或者硬件加软件实现的路由表具备查找速率高的特点,但同时也存在存储路由条数少,造价昂贵,扩展性差等缺陷。
而纯软件实现,具有容量大,移植性好,扩展性强等优点。随着处理器和软件技术提高,纯软件实现的路由查找效率越来越高。纯软件实现,需要为路由表设计某个数据结构,通过合理有效的组织,实现路由表查找、新增、删除等功能,通常可以采用静态链表(Static List)、二叉树(Binary Tree)、根树(Radix Tree)或者TRIE树(前缀树或字典树)等。当路由表表项数目较少时,常见的几种数据结构实现的路由表操作效率相差不大;当路由数目比较庞大时,路由表的查找和更新差距明显。纯软件实现路由表查找,采用TRIE算法是一种理想的选择。但是,TRIE树的查找效率与深度成正比,因此,选择一个合适深度的TRIE树十分关键;再者,实际组网应用中,主备组网,HA功能等都要求路由表必须满足某些业务下的快速状态变更,显然,TRIE树对路由状态变更的操作并不擅长。
传统技术中路由表软、硬件实现方法均集中实现路由表的建立、查找和删除,无法应对IP转发设备在实际使用中常见HA环境,网络切换等场景下导致频繁的路由状态变更,很显然,类似的状态变更通过传统技术实现会十分繁琐和低效。
本发明路由表建立、查找、删除及状态变更方法和装置,涉及三层设备中数据报文的路由转发功能。本发明可以使用任何编程语言实现上述方法及单元模块,让其独立运行或者布署在其它三层网络设备的系统上,均可以实现路由表建立、查找、删除和状态变更的功能;基于纯软件实现的路由表,涉及到路由表的建立、查找和删除方法,尤其可以高效地完成路由状态变更;本发明保证路由查找的查找效率以及时间复杂度可控,查找效率高;可对TRIE树进行压缩操作,节省内存,快速实现路由状态变更,使路由转发设备具有安全性和稳定性。
在一个实施例中,如图1所示,提供了一种路由表建立方法,路由表的数据结构包括路由表主表、路由表TRIE树以及路由状态映射表,以该方法应用于上述应用场景为例进行说明,可以包括以下步骤:
步骤102,将各待添加路由的表项信息依次添加到相应的路由表项中,得到路由表主表;表项信息包括待添加路由的目的地址、网络掩码和状态。
其中,本发明建立的路由表的数据结构包括路由表主表、路由表TRIE树以及路由状态映射表。路由表主表,用于存储(或记录)路由表项的所有信息;路由表TRIE树,可用于提供快速路由查找;路由状态映射表,可以快速实现路由状态down到up的变化,动态路由enable与disable切换,启用实路由或虚路由,启用主板路由或备板路由,启用高级路由或普通路由等,通过路由状态映射表,上述的路由使用变更,无须对路由表TRIE树的物理结构进行改变。
具体地,可依照路由表项,依次添加待添加路由的表项信息;路由表主表需要存储每个路由表项包括至少以下表项信息:目的地址、网络掩码和状态。
步骤104,根据预设比特位长度对目的地址和网络掩码依序进行分段取值,以取值为结点生成对应待添加路由的TRIE子树;合并各TRIE子树,得到路由表TRIE树。
其中,路由表TRIE树根据路由表项的目的网络和掩码生成,即路由表TRIE树只需要存储上述路由表项前两列信息:目的网络&网络掩码(Destination IP&Network Mask,其中&为按位与运算符);
具体地,添加路由表项到TRIE树的具体实现过程可以包括:根据一个可配置的比特位长度(即预设比特位长度)对主机地址或网络地址从前往后取值,以值作为结点生成TRIE树。本发明可根据各需求和算法,明确TRIE树的步长(即预设比特位长度)。
步骤106,生成分别对应各状态的各映射表子表,得到路由状态映射表;映射表子表映射路由表主表中符合状态的各路由表项。
其中,每个状态对应一个映射表子表,每个子表可映射主表中符合该状态的所有表项,即一个映射表子表对应处于某个状态下的所有路由的表项信息。
具体地,在路由表主表所有表项添加完毕后,可按照路由状态映射表子表类型,各自建立与主表路由表项的映射关系;而映射表子表的类型,与状态的类型相关,即端口、动态路由以及静态路由等。
路由状态映射表可根据状态,比如端口、是否动态路由、虚端口对应路由、备板路由以及平衡路由等,建立不同的映射表子表,每个映射子表可映射到路由表主表中符合该状态的所有表项。例如,有序号1~10共10条路由,动态路由有1,3,5,7,9;静态路由有2,4,6;端口1的路由1,2,3;端口2的路由4,5,7;基于本发明的方法,可以得到4个映射表子表,分别:动态路由映射表、静态路由映射表、端口2映射表以及端口4映射表。
上述路由表建立方法中,软件系统/协议栈/实施者根据要添加的路由信息,首先放入主表,再根据预设比特位长度将(Destination IP&Network Mask)的值生成TRIE树;并根据不同的需求,如端口、动态路由、优先级等状态的不同分类,每一个分类构建一个状态表。其中,路由表主表记录路由表项所有信息,基于路由表TRIE树可完成路由查找、删除等动作,在操作上将状态变更与路由表建立、查找和删除分离,基于路由状态映射表可高效地完成路由状态变更;本发明基于预设比特位长度指定每个结点的比特位,可控制TRIE树的最大深度。
在一个具体的实施例中,表项信息还包括待添加路由的下一跳、设备IP、优先级、端口和其它标识;路由表主表为线性表;路由状态映射表为线性表;
待添加路由的尾段取值对应的结点为TRIE子树中、映射路由表主表相应路由表项的位置的映射结点。
具体而言,本发明设计的逻辑结构可以为线性表;其中,路由表主表为线性表;路由状态映射表为线性表;表1为各待添加路由的表项信息;
表1.需要添加的路由表项
如表1所示,表1中有六条路由信息,路由表主表可以存储每个表项包括上述八列信息:目的网络、网络掩码、下一跳、设备IP、状态、优先级、端口和其它标识。
进一步的,添加路由表项到TRIE树,可根据一个可配置的比特位长度对主机地址或网络地址从前往后取值,以值作为结点生成TRIE树。其中,每一次路由表项添加时最末的结点(即待添加路由的尾段取值对应的结点),被标识为映射结点,该结点可直接映射到路由表主表相应路由表项的位置,其它结点为数据结点;例如,在生成TRIE树时,令映射结点存储Key(键对象)对应的Value(值对象)在主表中的位置,即Key1->Value2,Key2->Value2。
图2为一个实施例中路由表主表的逻辑示意图;如图2所示,路由表主表逻辑图中的P1、P2…P6,与表1中的六条路由信息,具有如下对应关系:P1->6;P2->4;P3->3;P4->5;P5->1;P6->2。
在一个具体的实施例中,合并各TRIE子树,得到路由表TRIE树的步骤包括:
通过添加根结点合并各TRIE子树,得到路由表TRIE树。
具体地,在添加路由表项到TRIE树的过程中,最终添加一个根结点root,便于所有的TRIE子树合并成一棵TRIE树,但在遍历(或查找)时,跳过根结点,直接从TRIE树的第二层开始。需要说明的是,本发明中的根结点没有实际作用,通过添加它可以将所有的TRIE森林构成一棵TRIE树,而有用的结点全在TRIE树的第二层以下各子树(第三层、第四层等)。基于本发明具有根结点root的TRIE树,使得在查找时能够少查找一层,速度更快。
在一个具体的实施例中,路由表TRIE树的最大度数为2K,最大深度为其中,K为预设比特位长度。
具体而言,图3为一个实施例中长度为Length的路由表TRIE树逻辑示意图;如图3所示,将表1所有路由条目添加生成的TRIE树,若每个结点的比特位长度(即预设比特位长度)为K,基于本发明得到的TRIE树的最大度数为2K,最大深度为
为了进一步阐述本发明路由表建立方法的技术逻辑,图4为一个实施例中路由表建立方法的第二示意性流程示意图,如图4所示,以表1中的待添加路由为例,说明本发明的具体实现过程:
第一步:添加第一条路由(即序号为1的路由,对应图3以及图4中的P5),先将其表项信息添加进路由表主表。
第二步:根据各需求和算法,明确TRIE树的步长,即预设比特位长度K;为便于讲解,假设K值为8;在实际操作中,K值根据需求可设置为可配置。
第三步:取第一条路由的目的地址和掩码,192.168.3.101以及255.255.255.255。即(Destination IP&Network Mask)结果为192.168.3.101,换为二进制为11000000101010000000001101100101,有32位,K取8,32/8等于4,即4个结点,即TRIE树的深度为为1+4等于5。
各个结点分别为11000000(首段取值对应的结点)、10101000、00000011、01100101(尾段取值对应的结点,即最末结点);换成十进制即为192、168、3、101。
第四步:由于是第一条路由,所以此时没有root结点;插入第一个结点192,明显地,192不存在,插入192,树为
192
第五步:以192作为父结点插入168,很明显168不存在(因为这是第一条路由,之前任何结点都不会存在),插入168,树为
192
|
168
第六步:以168作为父结点插入3,树为
192
|
168
|
3
第七步:插入101,树为
192
|
168
|
3
|
101 //映射结点
其中,101作为最末结点,需要映射到路由表主表中的位置;可在101结点中添加一个映射关系,使得101为映射结点,由此关系找到主表。具体的可以采用添加指向主表的地址或一个索引的方式添加映射关系。
第八步:接下来可添加第2条路由,同样,先加入路由主表,再以8为步长计算各结点的值,分别为192.168.3.0。
第九步:由于第2条路由掩码为255.255.255.0,即只有24位,所以生成的TRIE树深度为1+3等于4。所以,当插入了3之后,就在结点3里面添加映射关系,结点3即是映射结点。
192
|
168
|
3 //映射结点
|
101 //映射结点
需要说明的是,添加默认路由(即序号为6的待添加路由,对应图3以及图4中的P1)时,掩码为0.0.0.0,长度为0,本发明可设定其深度为1+1等于2,即插入0结点后,直接在该结点添加映射关系,它即是映射结点。
此外,图4中的更新状态表,可以理解重新生成状态表,或者原来已经生成,但又添加了新的表项进入状态表。而图4中判断该结点是不是已经存在的含义是:若已经存在,则不插入,只是复用它。
在一个实施例中,如图5所示,提供了一种路由表查找方法,以该方法应用于上述路由表建立方法构建的路由表为例进行说明,可以包括以下步骤:
步骤502,根据预设比特位长度,对待查找路由的目的地址和网络掩码依序进行分段取值,以取值为结点查找路由表TRIE树;
具体而言,实施者(协议栈)通过目的地址查找路由表获取下一跳,建立TRIE树时已确定了结点的比特位(即预设比特位长度K),查找路由表时,对目的地址用同样的比特位长度由前往后分段取值,其值作为结点查找TRIE树。需要说明的是,实施者可以为软件系统本身或协议栈的路由模块,软件系统是协议栈的一个组成部分。
本发明涉及包含三个数据结构(路由表主表、路由表TRIE树以及路由状态映射表)的路由表,IP转发设备查找路由只需要查找TRIE树,即本发明TRIE树的最大深度可决定查找效率。其中,若以K个比特(即预设比特位长度K)构建一个结点,IPv4和IPv6地址的最好情况查找次数不大于次和次,最坏情况查找次数为O次和O次,不随路由表规模增大而增加,效率很高。
步骤504,在查找成功时,根据查找的结果由路由表TRIE树跳转到路由表主表,得到待查找路由对应的路由表项的表项信息。
具体而言,路由表查找的目的是获取一个可用的下一跳(Next Hop),通过TRIE树找到主表,由主表详细信息(各列)判断该条路由是否可用,否则,返回TRIE树继续查找。
上述路由表查找方法中,基于预设比特位长度指定每个结点的比特位,可控制TRIE树的最大深度,使查找效率可控,比常见的线性表、二叉树以及固定位数的TRIE树等方法的查找效率更高。
在一个具体的实施例中,以取值为结点查找路由表TRIE树,在查找成功时,根据查找结果由路由表TRIE树跳转到路由表主表,得到待查找路由对应的路由表项的表项信息的步骤中:
在路由表TRIE树中查找到当前结点时,以当前结点为父结点、沿当前TRIE子树继续查找下一个结点,直至查找到的结点为映射结点时确认查找成功,并通过映射结点包含的映射关系跳转到路由表主表;
在路由表TRIE树中未查找到当前结点时,查找与当前结点处于同一层且结点值为0的兄弟结点;在查找到兄弟结点时,以兄弟结点为父结点、沿当前TRIE子树继续查找下一个结点,直至查找到的结点为映射结点时确认查找成功,并通过映射结点包含的映射关系跳转到路由表主表;在未查找到兄弟结点时,回溯当前结点的上一个结点,直至回溯到的结点为映射结点时确认查找成功,并通过映射结点包含的映射关系跳转到路由表主表。
具体而言,查找路由表时,本发明对目的地址用同样的比特位长度由前往后分段取值,其值作为结点查找TRIE树;当该结点不存在时,即查找结点的值为0的兄弟结点,若该兄弟结点为映射结点,即跳转到路由表主表。当结点存在时,即以该结点为根,继续向下查找,查找到映射结点即跳转到路由表主表获取详细路由信息,查找成功。若TRIE树查找时遇到要查找的结点不存在,或者值为0的兄弟结点不存在,亦或者该兄弟结点存在但不是映射结点,即没有路由,查找动作成功,但路由不存在。
在一个具体的实施例中,以取值为结点查找路由表TRIE树的步骤中:
在以待查找路由的首段取值作为当前结点时,跳过路由表TRIE树的根结点,从路由表TRIE树的第二层开始查找当前结点。
具体而言,若以K个比特构建一个结点,本发明中的TRIE查找跳过根结点,直接从第二层开始查找,可大大提高查找效率。
为了进一步阐述本发明路由表查找方法的技术逻辑,图6为一个实施例中路由表查找方法的第二示意性流程示意图,如图6所示,以以下3个目的地址的路由,分别为192.168.3.101、192.168.3.200、172.16.3.100为例,说明本发明的具体实现过程:
第一步:先查找192.168.3.101,在已生成的TRIE树里面查找,选取K值为8的预设比特位长度,查找时所有的掩码均为255.255.255.255即32位。即需要进行路由查找的IP地址为11000000101010000000001101100101,以K为8则分成4个结点:192、168、3、101。
第二步:跳过root这个无实际数据的TRIE头(根结点),从第二层开始查找,查找192,显然,192被找到。
192 //被查找的结点
|
168
|
3
|
101
第三步:以192为根结点,在其子TRIE树中查找168结点,显然,找到。
192
|
168
|
3
|
101
第三步:以168为根结点,在其子TRIE树中查找3结点,显然,找到。
192
|
168
|
3 //映射结点
|
101 //映射结点
第四步:以3为根,同样查找101,显然,找到。
192
|
168
|
3 //映射结点
|
101 //映射结点
第五步:4个结点已经查找完毕,检查此时所在结点(101)是否为映射结点,发现是映射结点,则通过映射关系跳转到路由表主表,读取下一跳等信息。
第六步:查找192.168.3.200
第七步:找192,168,3等均很顺利,如前所述。
第八步:以3为根找结点为200的子TRIE树/子结点,发现200不存在。
第九步:判断该101结点的兄弟,是否有值为0的兄弟存在,若有,则转到兄弟结点上继续查找,若无,则回溯上一结点。
第十步:显然101无兄弟为0的结点,回溯该子树的根,为3,检查3是否为映射结点,若不是映射结点,则再回溯到其根结点,此例,发现3为映射结点,则不用回溯,直接跳转到路由表主表。
需要说明的是,在查找172.16.3.100的路由时,该目的地址的第一个结点172,在TRIE子树树的第二层(即root的下面一层)不存在,即在TRIE树的查找起点不存在,此时,查找它的值为0的兄弟结点,恰好是默认路由(值为0的结点)。若该结点存在,该默认路由一定是映射结点,则跳转到主表,若该默认路由结点不存在,则不存在路由。本实施例中,该默认路由存在。
在查找结点中,当查找某结点的值,发现不存在时,即停止查找,开始查找值为0的兄弟结点,若兄弟结点存在,则以兄弟结点为父结点向下继续查找;若兄弟结点或兄弟结点的子树中找到映射结点,则跳转到主表,查找结束;若兄弟结点不存在或没找到映射结点,则回溯父结点,并检查父结点是否为映射结点,若父结点不是,再回溯父结点的父结点;若所有父结点均不是映射结点,则查找默认路由结点(值为0的那个特殊结点),若也没有,则无匹配路由。
在一个实施例中,如图7所示,提供了一种路由表删除方法,以该方法应用于上述路由表建立方法构建的路由表为例进行说明,可以包括以下步骤:
步骤702,根据预设比特位长度,对待删除路由的目的地址和网络掩码依序进行分段取值,以取值为结点查找路由表TRIE树;
具体而言,详细的取值以及查找过程参见上述路由表查找方法。
步骤704,在查找成功时,根据查找的结果删除路由表TRIE树中相应的结点以及路由表主表中对应的路由表项,并根据删除的结果更新路由状态映射表。
具体而言,路由表删除需要同时删除3个结构体的相应表项;对待删除的路由表项,通过约定比特位(即预设比特位长度K)由前到后分段取路由表项,其值作为结点依次查找TRIE树,直到取到路由表项末尾才结束。若中间某个结点不存在,说明要删除的路由不存在,删除结束,删除成功
在一个具体的实施例中,图8为一个实施例中路由表删除方法的第二示意性流程示意图,如图8所示,在查找成功时,根据查找的结果删除路由表TRIE树中相应的结点以及路由表主表中对应的路由表项的步骤中:
在查找到的当前结点为映射结点且当前结点存在TRIE子树时,将当前结点的类型由映射结点更改为普通结点,并根据映射结点包含的映射关系删除路由表主表中对应的路由表项;
在查找到的当前结点为映射结点且当前结点不存在TRIE子树时,回溯上一个结点,直至查找到根结点或下一个映射结点,根据映射结点包含的映射关系删除路由表主表中对应的路由表项。
具体而言,若得到的最后一段的结点(一定是映射结点)存在TRIE子树,则仅将类型由映射结点更改为普通数据结点,不删除结点内存,并根据映射关系删除主表路由表项;若最后一段的结点不存在TRIE子树,则除了删除映射位置的主表路由表项外,还需回溯删除TRIE树上所有结点,直到遇到路径上的另一个映射结点或根结点才停止删除。删除结点后,由于路由表主表发生变化,需要将原来的状态映射表更新。
其中,映射结点,是存储了路由主表位置的结点,找到映射结点,就可通过映射关系找到路由表主表,并获取主表中的路由信息。能够找到映射结点,说明能在主表中找到路由信息,找不到则没有匹配路由。
在一个具体的实施例中,将当前结点的类型由映射结点更改为普通结点的步骤包括:
更改当前结点的类型标识,保留当前结点的内存数据。
具体而言,本发明将当前结点的类型由映射结点更改为普通结点的过程中,仍然保留了结点中的数据,可只改变结点的部分标识,由映射结点变为数据结点。其中,可通过标识,标志该结点是映射结点还是数据结点。
上述路由表删除方法中,基于预设比特位长度指定每个结点的比特位,可控制TRIE树的最大深度,使查找效率可控;基于路由表TRIE树可完成路由删除动作,在操作上将状态变更与路由表建立、查找和删除分离,并基于路由状态映射表高效地完成路由状态变更。
在一个实施例中,如图9所示,提供了一种路由表状态变更方法,以该方法应用于上述路由表建立方法构建的路由表为例进行说明,可以包括以下步骤:
步骤S902,在检测到路由表状态变更时,根据变更的状态获取路由状态映射表中对应的映射表子表;
步骤S904,根据映射表子表的映射关系,变更路由表主表中路由表项的表项信息。
具体而言,图10为一个实施例中路由表状态变更方法的第二示意性流程示意图,如图10所示,路由表状态映射表可以快速实现路由状态down到up的变化,动态路由enable与disable切换,启用实路由或虚路由,启用主板路由或备板路由,启用高级路由或普通路由;通过路由状态映射表,上述的路由使用变更,无须对TRIE树的物理结构进行改变,只需通过映射表记录的映射关系,更改主表路由信息。
其中,既可以更改路由表主表中的状态,也可以更改其它列信息。映射表的目的是能够快速地找到需要更改的主表中相应内容,而不需要从庞大的主表中去一条一条地寻找。在找到主表中相应条目后,可以根据实际需求做任何改变。
上述路由表状态变更方法中,通过设定的比特位长度,控制TRIE树的最大深度,改善TRIE算法高度过高,查找慢等问题,通过状态映射表使路由转发设备在路由状态变更时快速响应;能够应对IP转发设备在实际使用中常见HA环境,网络切换等场景下导致频繁的路由状态变更。
应该理解的是,虽然图1、图4-10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、图4-10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图11所示,提供了一种路由表建立装置,路由表的数据结构包括路由表主表、路由表TRIE树以及路由状态映射表;包括:
路由表主表生成模块110,用于将各待添加路由的表项信息依次添加到相应的路由表项中,得到路由表主表;表项信息包括待添加路由的目的地址、网络掩码和状态;
TRIE树生成模块112,用于根据预设比特位长度对目的地址和网络掩码依序进行分段取值,以取值为结点生成对应待添加路由的TRIE子树;合并各TRIE子树,得到路由表TRIE树;
路由状态映射表生成模块114,用于生成分别对应各状态的各映射表子表,得到路由状态映射表;映射表子表映射路由表主表中符合状态的各路由表项。
在一个实施例中,如图12所示,提供了一种路由表查找装置,包括:
查找模块120,用于根据预设比特位长度,对待查找路由的目的地址和网络掩码依序进行分段取值,以取值为结点查找路由表TRIE树;
信息获取模块122,用于在查找成功时,根据查找的结果由路由表TRIE树跳转到路由表主表,得到待查找路由对应的路由表项的表项信息。
在一个实施例中,如图13所示,提供了一种路由表删除装置,包括:
查找模块130,用于根据预设比特位长度,对待删除路由的目的地址和网络掩码依序进行分段取值,以取值为结点查找路由表TRIE树;
数据删除模块132,用于在查找成功时,根据查找的结果删除路由表TRIE树中相应的结点以及路由表主表中对应的路由表项,并根据删除的结果更新路由状态映射表。
在一个实施例中,如图14所示,提供了一种路由表变更装置,包括:
映射表子表获取模块140,用于在检测到路由表状态变更时,根据变更的状态获取路由状态映射表中对应的映射表子表;
信息变更模块142,用于根据映射表子表的映射关系,变更路由表主表中路由表项的表项信息。
关于路由表建立、查找、删除以及状态变更装置的具体限定可以参见上文中对于路由表建立、查找、删除以及状态变更方法的限定,在此不再赘述。上述路由表建立、查找、删除以及状态变更装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储路由表主表、路由表TRIE树以及路由状态映射表等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述任一种路由表建立、查找、删除及状态变更方法的步骤。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述路由表建立、查找、删除及状态变更方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述路由表建立、查找、删除及状态变更方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (17)

1.一种路由表建立方法,其特征在于,所述路由表的数据结构包括路由表主表、路由表TRIE树以及路由状态映射表;所述方法包括:
将各待添加路由的表项信息依次添加到相应的路由表项中,得到所述路由表主表;所述表项信息包括所述待添加路由的目的地址、网络掩码和状态;
根据预设比特位长度对所述目的地址和所述网络掩码依序进行分段取值,以所述取值为结点生成对应所述待添加路由的TRIE子树;合并各所述TRIE子树,得到所述路由表TRIE树;
生成分别对应各所述状态的各映射表子表,得到所述路由状态映射表;所述映射表子表映射所述路由表主表中符合所述状态的各所述路由表项。
2.根据权利要求1所述的路由表建立方法,其特征在于,所述表项信息还包括所述待添加路由的下一跳、设备IP、优先级、端口和其它标识;所述路由表主表为线性表;所述路由状态映射表为线性表;
所述待添加路由的尾段取值对应的结点为所述TRIE子树中、映射所述路由表主表相应所述路由表项的位置的映射结点。
3.根据权利要求1所述的路由表建立方法,其特征在于,合并各所述TRIE子树,得到所述路由表TRIE树的步骤包括:
通过添加根结点合并各所述TRIE子树,得到所述路由表TRIE树。
4.根据权利要求1至3任意一项所述的路由表建立方法,其特征在于,
所述路由表TRIE树的最大度数为2K,最大深度为其中,K为所述预设比特位长度。
5.一种路由表查找方法,其特征在于,所述方法包括:
根据预设比特位长度,对待查找路由的目的地址和网络掩码依序进行分段取值,以所述取值为结点查找路由表TRIE树;
在所述查找成功时,根据所述查找的结果由所述路由表TRIE树跳转到路由表主表,得到所述待查找路由对应的路由表项的表项信息。
6.根据权利要求5所述的路由表查找方法,其特征在于,以所述取值为结点查找所述路由表TRIE树,在所述查找成功时,根据查找结果由所述路由表TRIE树跳转到路由表主表,得到所述待查找路由对应的路由表项的表项信息的步骤中:
在所述路由表TRIE树中查找到当前结点时,以所述当前结点为父结点、沿当前TRIE子树继续查找下一个结点,直至查找到的结点为映射结点时确认查找成功,并通过所述映射结点包含的映射关系跳转到所述路由表主表;
在所述路由表TRIE树中未查找到所述当前结点时,查找与所述当前结点处于同一层且结点值为0的兄弟结点;在查找到所述兄弟结点时,以所述兄弟结点为父结点、沿当前TRIE子树继续查找下一个结点,直至查找到的结点为所述映射结点时确认查找成功,并通过所述映射结点包含的映射关系跳转到所述路由表主表;在未查找到所述兄弟结点时,回溯所述当前结点的上一个结点,直至回溯到的结点为所述映射结点时确认查找成功,并通过所述映射结点包含的映射关系跳转到所述路由表主表。
7.根据权利要求5或6所述的路由表查找方法,其特征在于,以所述取值为结点查找所述路由表TRIE树的步骤中:
在以所述待查找路由的首段取值作为所述当前结点时,跳过所述路由表TRIE树的根结点,从所述路由表TRIE树的第二层开始查找所述当前结点。
8.一种路由表删除方法,其特征在于,所述方法包括:
根据预设比特位长度,对待删除路由的目的地址和网络掩码依序进行分段取值,以所述取值为结点查找路由表TRIE树;
在所述查找成功时,根据所述查找的结果删除所述路由表TRIE树中相应的结点以及路由表主表中对应的路由表项,并根据所述删除的结果更新路由状态映射表。
9.根据权利要求8所述的路由表删除方法,其特征在于,在所述查找成功时,根据所述查找的结果删除所述路由表TRIE树中相应的结点以及路由表主表中对应的路由表项的步骤中:
在查找到的当前结点为映射结点且所述当前结点存在TRIE子树时,将所述当前结点的类型由所述映射结点更改为普通结点,并根据所述映射结点包含的映射关系删除所述路由表主表中对应的路由表项;
在查找到的当前结点为映射结点且所述当前结点不存在TRIE子树时,回溯上一个结点,直至查找到根结点或下一个映射结点,根据映射结点包含的映射关系删除所述路由表主表中对应的路由表项。
10.根据权利要求9所述的路由表删除方法,其特征在于,将所述当前结点的类型由所述映射结点更改为普通结点的步骤包括:
更改所述当前结点的类型标识,保留所述当前结点的内存数据。
11.一种路由表状态变更方法,其特征在于,所述方法包括:
在检测到路由表状态变更时,根据所述变更的状态获取路由状态映射表中对应的映射表子表;
根据所述映射表子表的映射关系,变更路由表主表中路由表项的表项信息。
12.一种路由表建立装置,其特征在于,所述路由表的数据结构包括路由表主表、路由表TRIE树以及路由状态映射表;所述装置包括:
路由表主表生成模块,用于将各待添加路由的表项信息依次添加到相应的路由表项中,得到所述路由表主表;所述表项信息包括所述待添加路由的目的地址、网络掩码和状态;
TRIE树生成模块,用于根据预设比特位长度对所述目的地址和所述网络掩码依序进行分段取值,以所述取值为结点生成对应所述待添加路由的TRIE子树;合并各所述TRIE子树,得到所述路由表TRIE树;
路由状态映射表生成模块,用于生成分别对应各所述状态的各映射表子表,得到所述路由状态映射表;所述映射表子表映射所述路由表主表中符合所述状态的各所述路由表项。
13.一种路由表查找装置,其特征在于,所述装置包括:
查找模块,用于根据预设比特位长度,对待查找路由的目的地址和网络掩码依序进行分段取值,以所述取值为结点查找路由表TRIE树;
信息获取模块,用于在所述查找成功时,根据所述查找的结果由所述路由表TRIE树跳转到路由表主表,得到所述待查找路由对应的路由表项的表项信息。
14.一种路由表删除装置,其特征在于,所述装置包括:
查找模块,用于根据预设比特位长度,对待删除路由的目的地址和网络掩码依序进行分段取值,以所述取值为结点查找路由表TRIE树;
数据删除模块,用于在所述查找成功时,根据所述查找的结果删除所述路由表TRIE树中相应的结点以及路由表主表中对应的路由表项,并根据所述删除的结果更新路由状态映射表。
15.一种路由表变更装置,其特征在于,所述装置包括:
映射表子表获取模块,用于在检测到路由表状态变更时,根据所述变更的状态获取路由状态映射表中对应的映射表子表;
信息变更模块,用于根据所述映射表子表的映射关系,变更路由表主表中路由表项的表项信息。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
CN201810283837.XA 2018-04-02 2018-04-02 路由表建立、查找、删除及状态变更方法和装置 Active CN108322394B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810283837.XA CN108322394B (zh) 2018-04-02 2018-04-02 路由表建立、查找、删除及状态变更方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810283837.XA CN108322394B (zh) 2018-04-02 2018-04-02 路由表建立、查找、删除及状态变更方法和装置

Publications (2)

Publication Number Publication Date
CN108322394A true CN108322394A (zh) 2018-07-24
CN108322394B CN108322394B (zh) 2021-01-01

Family

ID=62899708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810283837.XA Active CN108322394B (zh) 2018-04-02 2018-04-02 路由表建立、查找、删除及状态变更方法和装置

Country Status (1)

Country Link
CN (1) CN108322394B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109510767A (zh) * 2018-10-23 2019-03-22 新华三技术有限公司合肥分公司 一种路由表项管理方法以及路由表项管理装置
WO2020073988A1 (zh) * 2018-10-12 2020-04-16 华为技术有限公司 一种路由表项生成方法、字典树生成方法和装置
CN111986060A (zh) * 2020-07-28 2020-11-24 智维云图(上海)智能科技有限公司 一种消防设备触发状态的智能路由方法及系统
CN112953768A (zh) * 2021-02-10 2021-06-11 中国工商银行股份有限公司 三层网络变更方案验证方法及系统
CN114650251A (zh) * 2022-03-18 2022-06-21 北京百度网讯科技有限公司 路由表构建方法、装置、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719769A (zh) * 2004-07-09 2006-01-11 杭州华为三康技术有限公司 在网络设备中对接收数据包进行分类的方法
US7356033B2 (en) * 2002-11-21 2008-04-08 Lucent Technologies Inc. Method and apparatus for performing network routing with use of power efficient TCAM-based forwarding engine architectures
CN101159619A (zh) * 2007-11-20 2008-04-09 杭州华三通信技术有限公司 Arp表项的快速添加方法、装置及交换设备
US7376657B1 (en) * 2004-04-30 2008-05-20 Sun Microsystems, Inc. Fast IPv6 address lookup using skip level processing on multi-bit tries
CN103051543A (zh) * 2012-11-01 2013-04-17 广州微仕科信息技术有限公司 一种路由前缀的处理、查找、增加及删除方法
CN104780100A (zh) * 2014-01-09 2015-07-15 中兴通讯股份有限公司 一种路由查找方法和路由器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356033B2 (en) * 2002-11-21 2008-04-08 Lucent Technologies Inc. Method and apparatus for performing network routing with use of power efficient TCAM-based forwarding engine architectures
US7376657B1 (en) * 2004-04-30 2008-05-20 Sun Microsystems, Inc. Fast IPv6 address lookup using skip level processing on multi-bit tries
CN1719769A (zh) * 2004-07-09 2006-01-11 杭州华为三康技术有限公司 在网络设备中对接收数据包进行分类的方法
CN101159619A (zh) * 2007-11-20 2008-04-09 杭州华三通信技术有限公司 Arp表项的快速添加方法、装置及交换设备
CN103051543A (zh) * 2012-11-01 2013-04-17 广州微仕科信息技术有限公司 一种路由前缀的处理、查找、增加及删除方法
CN104780100A (zh) * 2014-01-09 2015-07-15 中兴通讯股份有限公司 一种路由查找方法和路由器

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020073988A1 (zh) * 2018-10-12 2020-04-16 华为技术有限公司 一种路由表项生成方法、字典树生成方法和装置
CN111049746A (zh) * 2018-10-12 2020-04-21 华为技术有限公司 一种路由表项生成方法、字典树生成方法和装置
CN111049746B (zh) * 2018-10-12 2022-04-22 华为技术有限公司 一种路由表项生成方法、字典树生成方法和装置
US11627072B2 (en) 2018-10-12 2023-04-11 Huawei Technologies Co., Ltd. Routing entry generation method and apparatus and trie generation method and apparatus
CN109510767A (zh) * 2018-10-23 2019-03-22 新华三技术有限公司合肥分公司 一种路由表项管理方法以及路由表项管理装置
CN109510767B (zh) * 2018-10-23 2021-06-08 新华三技术有限公司合肥分公司 一种路由表项管理方法以及路由表项管理装置
CN111986060A (zh) * 2020-07-28 2020-11-24 智维云图(上海)智能科技有限公司 一种消防设备触发状态的智能路由方法及系统
CN111986060B (zh) * 2020-07-28 2023-11-07 智维云图(上海)智能科技有限公司 一种消防设备触发状态的智能路由方法及系统
CN112953768A (zh) * 2021-02-10 2021-06-11 中国工商银行股份有限公司 三层网络变更方案验证方法及系统
CN114650251A (zh) * 2022-03-18 2022-06-21 北京百度网讯科技有限公司 路由表构建方法、装置、设备和介质
CN114650251B (zh) * 2022-03-18 2024-02-20 北京百度网讯科技有限公司 路由表构建方法、装置、设备和介质

Also Published As

Publication number Publication date
CN108322394B (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
CN108322394A (zh) 路由表建立、查找、删除及状态变更方法和装置
US7571156B1 (en) Network device, storage medium and methods for incrementally updating a forwarding database
AU2003214223B2 (en) Longest prefix matching using tree bitmap data structures
CN102484610B (zh) 路由表建立方法和装置及路由表查找方法和装置
CN111937360B (zh) 最长前缀匹配
CN103561133B (zh) 一种ip地址归属信息索引方法及快速查询方法
Qiu et al. Fastrule: Efficient flow entry updates for tcam-based openflow switches
JP2002530011A (ja) 最適ルーティング・テーブル圧縮のためのルータ及び方法
EP3270551B1 (en) Retrieval device, retrieval method, program, and recording medium
CN108134739B (zh) 一种基于索引特里树的路由查找方法及装置
US11012358B2 (en) Forwarding table management
CN103051543A (zh) 一种路由前缀的处理、查找、增加及删除方法
US7551609B2 (en) Data structure for storing and accessing multiple independent sets of forwarding information
CN103404092A (zh) 路由前缀存储方法、装置及路由地址查找方法、装置
CN113810287A (zh) 一种基于ndn和sdn的数据检索与推送方法
CN112131356A (zh) 一种基于tcam的报文关键字匹配方法和装置
WO2010054599A1 (zh) 存储数据的方法、装置及系统
US20030023581A1 (en) Method and system for performing a longest prefix match search
CN104539537B (zh) 一种路由查找方法和装置
CN106330721B (zh) Ip路由查找方法及装置
CN111865804A (zh) 一种通过硬件发包机制提升路由下发效率的方法及系统
JP5144225B2 (ja) 情報検索装置、及び情報検索装置へのエントリ情報の登録方法
CN115933978A (zh) 一种OpenFlow流表深度聚合方法及快速查找系统
CN117041142A (zh) 报文转发方法、装置、设备、介质和程序产品
Green Internet Routers

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
TA01 Transfer of patent application right

Effective date of registration: 20200108

Address after: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant after: COMBA TELECOM SYSTEMS (CHINA) Ltd.

Address before: 510663 Shenzhou Road 10, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong

Applicant before: COMBA TELECOM SYSTEMS (CHINA) Ltd.

Applicant before: COMBA TELECOM SYSTEMS (GUANGZHOU) Ltd.

Applicant before: COMBA TELECOM TECHNOLOGY (GUANGZHOU) Ltd.

Applicant before: TIANJIN COMBA TELECOM SYSTEMS Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Patentee after: Jingxin Network System Co.,Ltd.

Address before: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Patentee before: COMBA TELECOM SYSTEMS (CHINA) Ltd.

CP01 Change in the name or title of a patent holder
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20180724

Assignee: Guangzhou Jingxin Communication Technology Co.,Ltd.

Assignor: Jingxin Network System Co.,Ltd.

Contract record no.: X2024980004305

Denomination of invention: Methods and devices for establishing, searching, deleting, and changing the status of routing tables

Granted publication date: 20210101

License type: Common License

Record date: 20240412

EE01 Entry into force of recordation of patent licensing contract