CN100366008C - 构造路由表及用其查找路由项的方法 - Google Patents

构造路由表及用其查找路由项的方法 Download PDF

Info

Publication number
CN100366008C
CN100366008C CNB031405592A CN03140559A CN100366008C CN 100366008 C CN100366008 C CN 100366008C CN B031405592 A CNB031405592 A CN B031405592A CN 03140559 A CN03140559 A CN 03140559A CN 100366008 C CN100366008 C CN 100366008C
Authority
CN
China
Prior art keywords
route entry
concordance list
index node
level
territory
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.)
Expired - Fee Related
Application number
CNB031405592A
Other languages
English (en)
Other versions
CN1553655A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB031405592A priority Critical patent/CN100366008C/zh
Publication of CN1553655A publication Critical patent/CN1553655A/zh
Application granted granted Critical
Publication of CN100366008C publication Critical patent/CN100366008C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于数据通讯技术领域,涉及构造路由表及用其查找路由项的方法。本方法包括路生成一级或多级索引表;将路由项按照所述各级索引表长度分段存储在所述的索引表中。本发明具有维护方便,查找路由项高效快速,且可自动扩充的特点。

Description

构造路由表及用其查找路由项的方法
技术领域
本发明属于数据通讯技术领域,特别涉及互联网中进行路由选择技术。
背景技术
在互联网中进行路由选择要使用路由器,路由器根据所收到的IP数据报文上的目的IP地址决定将报文向何处发送。所谓IP地址就是给每一个连接在Internet上的端口分配的一个唯一的32位地址。IP地址由两部分组成:第一部分为网络号,第二部分为主机号。但是由于网络发展的需要,现在已进一步将主机号再分成一个子网号和一个主机号。子网掩码就是用来确定IP地址中多少位用于子网号,多少位用于主机号的。为了指导路由器转发报文的工作,每一台路由器都有一个路由表,路由表中存放路由项。每一个路由项都包含如下信息:1、目的IP地址:它既可以是一个完整的主机地址,也可以是一个网络地址,主机地址有一个非0的主机号,以指定某一特定的主机,而网络地址中的主机号为0,以指定某一网络中的所有主机。2、子网掩码:通过子网掩码可以进一步知道目的IP地址的子网号。3、输出端口:说明IP数据报文应从路由器哪个端口发送出去。4、下一跳IP地址:说明IP数据报文要到达的下一个设备的IP地址。路由器收到IP数据报文后,根据报文中的目的IP地址在路由表中查找到匹配的路由项,然后从路由项中指明的输出端口将报文转发出去。
在路由表中可能出现路由覆盖的现象,即对于某个特定的目的IP地址,有多个子网掩码不同的路由项对应。目的IP地址相同的情况下,子网掩码长的路由项是子网掩码短的路由项的子路由项,子网掩码短的路由项是子网掩码长的路由项的父路由项。  查找路由表的目标就是为了找到一个最能匹配给定目的IP地址的特定路由项。所谓最能匹配的路由项,也就是说,一个网络号、子网号、主机号都能够匹配的路由项要优于一个网络号、子网号能匹配的路由项;而一个网络号、子网号能匹配的路由项要优于一个网络号匹配的路由项。
路由器每转发一次IP数据报文就要通过路由表查找一遍路由项,因此路由表的查找速率是影响路由器转发效率的关键因素。同时,路由项可以通过用户手工配置得到,也可以通过运行动态路由协议自动得到。动态路由协议可能在短时间内学习到成千上万条路由项,所以,在路由表中快速添加删除路由项的能力也很重要。
现有的常见的构建路由表的方法是利用二叉树来构建路由表,如图1所示,根据目的IP地址从高位到低位,每一位是0或1来确定是在二叉树的左分支还是右分支。用这种结构的路由表存放路由项的方法,比较直观,有层次,但是添加删除过程复杂,查找效率低。由图1可见,如果要查找一条子网掩码长度为4的路由项,要查找4次,而如果要查找一条子网掩码长度为32位的主机路由项,则需要查找32次。
用二叉树形式的路由表来存放路由项,在查找时几乎每一个路由项都要经过数次或数十次的查找才能找到,极大影响了路由器的转发效率。此外该方法的扩充性不好,例如对于128位的IPv6地址,找一个路由项的查找次数可能达到上百次,这几乎是不能忍受的。
发明内容
本发明的目的是为克服已有技术的不足之处,提供一种构造路由表及用其查找路由项的方法,本发明具有维护方便,查找路由项高效快速,且可自动扩充的特点。
本发明提出的一种构造路由表的方法,包括:
生成一级或多级索引表,第i级索引表包含2Ni个索引结点,Ni为自然数,索引结点指向某一路由项或指向下一级索引表或指向空;
除第一级以外的其它各级索引表还包括表头域,所述表头域包含指针,所述表头域中的指针指向空或者指向某一路由项;
添加路由项时,根据待添加路由项中的目的互联网协议IP地址和子网掩码,确定应指向所述待添加路由项的索引结点或者表头域或者其他路由项,将所述确定的索引结点或者表头域或者其他路由项指向所述待添加路由项。
其中,所述索引结点可按照索引号递增的顺序排列。
所述多级索引表中第一级索引表固定生成,其它各级索引表可在添加新路由项的过程中动态产生。
上述表头域中还包含一个计数器。
所述生成一级或多级索引表可包括以下步骤:
1)路由器启动时即创建第一级索引表,有2N1个索引结点,索引结点都指向空;
2)在添加新路由项的过程中,如果有路由项的子网掩码长度大于N1,小于等于N1+N2,则创建第二级索引表,如果有路由项的子网掩码长度大于N1+N2,小于等于N1+N2+N3,则创建第二级和第三级索引表,以此类推;
3)如果不再有子网掩码长度大于N1+N2+...+Np-1,小于等于N1+N2+...+Np-1+Np的路由项,则删除第p级索引表,p为当前索引表的最高级数。
所述添加新路由项,具体可包括以下步骤,其中L为自然数:
1)如果路由项的子网掩码长度L小于等于N1位,在第一级索引表中找到索引号和目的IP地址的前N1位值相同的索引结点,从这个结点开始,索引号依次递增的2(N1-L)个索引结点都指向此路由项;
2)如果路由项的子网掩码长度L大于N1位,小于等于N1+N2位,在第一级索引表中找到索引号和目标IP地址的前N1位值相同的索引结点,判断此索引结点的内容:
21)如果此索引结点没有指向一个第二级索引表,先建立一个设有表头域的第二级索引表,这个表有2N2个索引结点,索引结点的索引号依次为0到2N2-1,表头域中计数器值为0,找到索引号和路由项的目的IP地址的第N1+1至N1+N2位值相同的索引结点,从此结点开始,往后的2(N2-(L-N1 ))个索引结点都指向该路由项,其它索引结点指向空;
22)如果此索引结点指向一个第二级索引表,直接在这个第二级索引表中找到索引号和路由项的目的IP地址的第N1+1至N1+N2位值相同的索引结点,从此结点开始,往后的2(N2-(L-N1))个索引结点都指向该路由项;
3)如果路由项的子网掩码长度L大于N1+N2,小于等于N1+N2+N3,则要在第三级索引表中添加路由项,则具体步骤和在第二级索引表中添加路由项类似,以此类推;
4)如果要指向新路由项的索引结点原来并不指向空,而指向一个已有的路由项,则需要判断两个路由项的子网掩码长度;
41)如果新路由项的子网掩码长度小于已有的路由项的子网掩码长度,则新路由项为父路由项,直接将已有的路由项指向新路由项,索引结点内容不变;
42)如果新路由项的子网掩码长度大于已有的路由项的子网掩码长度,则已有路由项为父路由项,将新路由项指向已有的路由项,索引结点指向新路由项;
5)如果要指向新路由项的索引结点原来是指向下一级索引表表头域的,则直接将表头域指向新路由项;如果表头域原来也指向了一个已有的路由项,则比较已有的路由项和新路由项的子网掩码的长度,最终由表头域指向子路由项,子路由项指向父路由项;
6)如果索引结点需要指向新建立的下一级索引表,而该索引结点原来已指向一已有路由项,只需要将该索引结点指向下一级索引表表头域,将表头域指向已有路由项。
上述方法还包括删除路由项,所述删除路由项具体可包括以下步骤:
1)如果要删除的路由项不指向其它路由项,则直接将指向要删除的路由项的索引结点或子路由项指向空,将存放要删除的路由项的内存释放;
2)如果要删除的路由项指向父路由项,则将指向要删除的路由项的索引结点或子路由项直接指向父路由项,将存放要删除的路由项的内存释放;
3)如果删除路由项后,使动态生成的索引表中表头里的计数器值为0,即索引表中没有索引结点指向路由项了,则将此索引表删除;
4)如果待删索引表表头域指向空,则指向它的上一级索引表中的索引结点也指向空;
5)如果待删索引表表头域指向一路由项,则将指向表头域的索引结点指向该路由项;将存放动态索引表的内存释放。
本发明提出的一种查找路由项的方法,包括以下步骤,其中N1、N2、N3均为自然数:
1)对IP数据报文中目的IP地址取前N1位,在第一级索引表中找到索引号与之相等的索引结点;
2)如果所述索引结点指向路由项,则表明路由项找到;
3)如果所述索引结点指向空,表明路由项没有找到;
4)如果所述索引结点指向第二级索引表,则在第二级索引表中找到索引号和目的IP地址第N1+1位至第N1+N2位的值相等的索引结点,如果所述在第二级索引表中找到的索引结点指向路由项,表明路由项找到;
5)如果所述在第二级索引表中找到的索引结点指向空,则看第二级索引表的表头域,如果第二级索引表的表头域指向某一路由项,表明路由项找到,如果第二级索引表的表头域指向空,表明路由项没有找到;
6)如果所述在第二级索引表中找到的索引结点指向第三级索引表,则根据目的IP址的第N1+N2+1位至第N1+N2+N3位的值在第三级索引表中继续查找,查找方法和在第二级索引表中查找的方法一样,以此类推查找到目的IP地址的最后位。
本发明带来的有益效果:
利用本发明的技术方案构造路由表,根据任何目的IP地址查找路由项,最多只需要查找M次(M值为索引表的级数),而且很大部分的路由项可以一次查到,大大提高了路由表的查找效率。其次,这种方法也很好的解决了路由表的维护问题,无论添加删除路由项,操作步骤都较少,维护效率高。同时,由于低级索引表是动态产生,动态删除的,可以节省内存资源。
本发明的扩展性也很好,索引表的级数可根据情况调整,每一级索引结点的数目也可以根据具体情况设定。例如,可以将索引表设为三级,该三级索引表的一级索引表有216个索引结点,每个二级索引表有28个索引结点,每个三级索引表也有28个索引结点。在三级分级索引表中查找路由项,简单快速,最多查找3次即能找到需要的路由项。
也可以将索引表设为四级,第一级有220个索引结点,第二级、第三级、第四级都有24个索引结点,这样虽然一级索引表占用的内存大一些,但是可以确保有62.5%的目的IP地址可以一次查到路由,提高总体转发速率。在IPv6协议里,IPv6地址长度达到128位,采用本方法可以建立更多级的索引表来适应,而且只要控制好索引表的级数,路由查找的效率仍然是非常高的。
附图说明
图1为现有的利用二叉树来存放路由路由的方法示意图。
图2为本发明构造的多级索引表形式的路由表中各级索引表、索引结点、路由项关系图。
图3为本发明采用三级索引表形式的路由表查找路由项的方法流程图。
具体实施方式
本发明提出的构造的路由表及用其查找路由项的方法,下面结合实施例及附图进行详细说明。
一、本发明采用多级索引表构造的路由表,如图2所示,详细说明如下:
查找路由项的主要线索是路由项中的目的IP地址,所以本发明以索引表的形式构建路由表,索引表中每一表项的索引号和路由项中的目的IP地址建立某种联系,达到快速查找的目的。同时,利用路由项有子网掩码的特点,本发明将索引表分级,子网掩码短的路由项放在高级索引表中,子网掩码长的路由项放在低级索引表中。最高级的索引表,即一级索引表固定生成,其它低级索引表动态产生,这种分级的索引表在确保查找效率的同时,又大大节省了内存。
本发明称索引表中的每一个表项为一个索引结点,每个索引结点有一个索引号,索引号按照索引结点的排列从0依次递增,如第一个索引结点的索引号为0,第二个索引结点的索引号为1,以此类推。索引结点可能指向三种内容:1、指向某一路由项;2、指向下一级索引表;3、指向空。当然,最后一级索引表的索引结点不能指向下一级索引表,只能指向路由项或空。除了一级索引表,其它各级索引表还设有表头域,表头域内可包含一个计数器,记录本索引表中有多少个索引结点不指向空,以便在本索引表中所有索引结点都指向空时删除此表。
索引表具体分为几级,每一级有多少个结点,没有特定值,但必须满足以下要求:假设索引表分为m级,每一级的结点数必须是2的Ni次幂(Ni为自然数),对于32位地址,需要满足以下公式:N1+N2+......+Nm=32;对于128位的IPv6地址,则N1+N2+......+Nm=128。
本发明以一个三级索引表为实施例,详细介绍分级索引表的建立、添加、删除路由项和查找路由项方法。
在本实施例中,一级索引表由索引结点构成,二、三级索引表由表头域和索引结点构成,其中,三级索引表中的一级索引表有216个索引结点,每个二级索引表有28个索引结点,每个三级索引表也有28个索引结点。
本实施例的构造路由表的方法为:路由器启动时即创建一级索引表,有216个索引结点,索引结点都指向空。当有新路由项产生时,根据路由项中的目的IP地址和子网掩码将合适的索引结点指向此路由项,具体构造步骤如下:
1、如果路由项的子网掩码长度L小于等于16位,找到索引号和目的IP地址的前16位值相同的索引结点,从这个结点开始,索引号依次递增的2(16-L)个索引结点都指向此路由项。
2、如果路由项的子网掩码长度L大于16位,小于等于24位,在一级索引表中找到索引号和目标IP地址的前16位值相同的索引结点,判断此索引结点的内容:
21、如果此索引结点没有指向一个二级索引表,先建立一个设有表头域的二级索引表,这个表有28个索引结点,索引结点的索引号依次为0到28,表头域中计数器值为0,找到索引号和路由项的目的IP地址的第17至24位值相同的索引结点,从此结点开始,往后的2(8-(L-16)个索引结点都指向该路由项,其它索引结点指向空;
22、如果此索引结点指向一个二级索引表,直接在这个二级索引表中找到索引号和路由项的目的IP地址的第17至24位值相同的索引结点,从此结点开始,往后的2(8-L-16))个索引结点都指向该路由项;
3、如果路由项的子网掩码长度L大于24,小于等于32,则要在二级索引表的基础上继续创建三级索引表。具体步骤和创建二级索引表类似,这里就不赘述了。
4、如果要指向新路由项R2的索引结点原来并不指向空,而指向一个已有的路由项R1,则需要判断两个路由项的子网掩码长度;
41、如果R2的子网掩码长度小于R1的,说明R2是R1的父路由项,只用直接将R1指向R2就行了,索引结点内容不变;
42、如果R2的子网掩码长度大于R1的,说明R1是R2的父路由项,将R2指向R1,索引结点指向R2;
5、如果要指向新路由项R2的索引结点原来是指向下一级索引表表头域的,则直接将表头域指向R2;
6、如果表头域原来也指向了一个已有的路由项R1,也要比较一下R1和R2的子网掩码的长度,最终表头域指向子路由项,子路由项指向父路由项;
7、如果指向新路由项R2的索引结点需要指向新建立的下一级索引表,而该索引结点原来已指向一已有路由项R1,只需要将索引结点指向下一级索引表表头域,将表头域指向R1就行了。
本实施例在路由表中内容的删除的方法,具体步骤如下:
1、如果要删除的路由项R2不指向其它路由项,则直接将指向R2的索引结点或子路由项指向空,将存放路由项R2的内存释放;
2、如果要删除的路由项R2指向了父路由项R1,则将指向R2的索引结点或子路由项直接指向R1,将存放路由项R2的内存释放;
3、如果删除路由项后,动态生成的索引表中表头里的计数器值为0,即索引表中没有索引结点指向路由项了,要将此索引表删除:
4、如果待删索引表表头域指向空,则指向它的上一级索引表中的索引结点也指向空;
5、如果待删索引表表头域指向一路由项R1,则将指向表头域的索引结点指向R1。将存放动态索引表的内存释放。
由上面描述可见,除了一级索引表是固定产生的外,其它各级索引表都是动态产生,动态删除的,可以节省大量内存。而表头域的存在除了可以方便的判断删除动态索引表的时机外,还带来了一个很直接的好处,这就是在一个索引表中增加或删除路由结点时,不会影响到它所有的下级索引表,至多会修改某些下级索引表中表头域的一个指针。通过这种特殊的结构,极大提高了路由表的维护效率,即使有路由覆盖的情况,维护路由表的操作也较简单。
二、本发明采用上述路由表查找路由项的方法实施例,如图3所示,详细说明如下:
路由器转发IP数据报文时要查找路由表中的路由项,查找的依据是IP数据报文中所带的目的IP地址,即路由项中的内容。本实施例的路由表为三级索引表,具体查找方法的步骤如下:
1、取IP数据报文中目的IP地址的前16位;
2、在一级索引表中找到索引号与之相等的索引结点,
3、判断索引结点内容:
4、如果此索引结点指向路由项,则表明路由项找到,返回;
5、如果索引结点指向空,表明路由项没有找到,返回;
6、如果索引结点指向下一级索引表,则在二级索引表中找到索引号和目的IP地址第17位至第24位的值相等的索引结点;
7、判断索引结点内容:
8、如果该索引结点指向路由项,表明路由项找到,返回;
9、如果该索引结点指向空,则看本级索引表的表头域,如果表头域指向某一路由项,表明路由项找到,返回;
10、如果表头域指向空,表明路由项没有找到,返回;
11、如果索引结点指向下一级索引表,则根据目的IP地址的第25位至32位的值在三级索引表中继续查找,查找方法和在二级索引表中查找的方法一样,如步骤7、8、9、10所述。
在三级分级索引表中查找路由项,简单快速,最多查找3次即能找到需要的路由项。
本发明的索引表不限于用三级,可根据情况调整为更多或更少级,每一级索引结点的数目也可以根据具体情况设定。例如,可以将索引表设为四级,第一级有220个索引结点,第二级、第三级、第四级都有24个索引结点,这样虽然一级索引表占用的内存大一些,但是可以确保有62.5%的目的IP地址可以一次查到路由,提高总体转发速率。

Claims (8)

1.一种构造路由表的方法,其特征在于:
生成一级或多级索引表,第i级索引表包含2Ni个索引结点,Ni为自然数,索引结点指向某一路由项或指向下一级索引表或指向空;
除第一级索引表以外的其它各级索引表包括表头域,所述表头域包含指针,所述表头域中的指针指向空或者指向某一路由项;
添加路由项时,根据待添加路由项中的目的互联网协议IP地址和子网掩码,确定应指向所述待添加路由项的索引结点或者表头域或者其他路由项,将所述确定的索引结点或者表头域或者其他路由项指向所述待添加路由项。
2.如权利要求1所述构造路由表的方法,其特征在于,所述索引结点按照索引号递增的顺序排列。
3.如权利要求2所述的构造路由表的方法,其特征在于,所述第一级索引表固定生成,所述其它各级索引表在添加新路由项的过程中动态产生。
4.如权利要求3所述的构造路由表的方法,其特征在于,所述表头域中包含一个计数器。
5.如权利要求4所述的构造路由表的方法,其特征在于,所述生成一级或多级索引表,包括以下步骤:
1)路由器启动时即创建第一级索引表,有2N1个索引结点,索引结点都指向空;
2)在添加新路由项的过程中,如果有路由项的子网掩码长度大于N1,小于等于N1+N2,则创建第二级索引表,如果有路由项的子网掩码长度大于N1+N2,小于等于N1+N2+N3,则创建第二级和第三级索引表,以此类推;
3)如果不再有子网掩码长度大于N1+N2+...+Np-1,小于等于N1+N2+...+Np-1+Np的路由项,则删除第p级索引表,p为当前索引表的最高级数。
6.如权利要求5所述的构造路由表的方法,其特征在于,所述添加新路由项,具体包括以下步骤,其中L为自然数:
1)如果路由项的子网掩码长度L小于等于N1位,在第一级索引表中找到索引号和目的IP地址的前N1位值相同的索引结点,从这个结点开始,索引号依次递增的2(N1-L)个索引结点都指向此路由项;
2)如果路由项的子网掩码长度L大于N1位,小于等于N1+N2位,在第一级索引表中找到索引号和目标IP地址的前N1位值相同的索引结点,判断此索引结点的内容:
21)如果此索引结点没有指向一个第二级索引表,先建立一个设有表头域的第二级索引表,这个表有2N2个索引结点,索引结点的索引号依次为0到2N2-1,表头域中计数器值为0,找到索引号和路由项的目的IP地址的第N1+1至N1+N2位值相同的索引结点,从此结点开始,往后的2(N2-(L-N1))个索引结点都指向该路由项,其它索引结点指向空;
22)如果此索引结点指向一个第二级索引表,直接在这个第二级索引表中找到索引号和路由项的目的IP地址的第N1+1至N1+N2位值相同的索引结点,从此结点开始,往后的2(N2-(L-N1))个索引结点都指向该路由项;
3)如果路由项的子网掩码长度L大于N1+N2,小于等于N1+N2+N3,则要在第三级索引表中添加路由项,则具体步骤和在第二级索引表中添加路由项类似,以此类推;
4)如果要指向新路由项的索引结点原来并不指向空,而指向一个已有的路由项,则需要判断两个路由项的子网掩码长度;
41)如果新路由项的子网掩码长度小于已有的路由项的子网掩码长度,则新路由项为父路由项,直接将已有的路由项指向新路由项,索引结点内容不变;
42)如果新路由项的子网掩码长度大于已有的路由项的子网掩码长度,则已有路由项为父路由项,将新路由项指向已有的路由项,索引结点指向新路由项;
5)如果要指向新路由项的索引结点原来是指向下一级索引表表头域的,则直接将表头域指向新路由项;如果表头域原来也指向了一个已有的路由项,则比较已有的路由项和新路由项的子网掩码的长度,最终由表头域指向子路由项,子路由项指向父路由项;
6)如果索引结点需要指向新建立的下一级索引表,而该索引结点原来已指向一已有路由项,只需要将该索引结点指向下一级索引表表头域,将表头域指向已有路由项。
7.如权利要求5或6所述的构造路由表的方法,其特征在于,还包括删除路由项,所述删除路由项具体包括以下步骤:
1)如果要删除的路由项不指向其它路由项,则直接将指向要删除的路由项的索引结点或子路由项指向空,将存放要删除的路由项的内存释放;
2)如果要删除的路由项指向父路由项,则将指向要删除的路由项的索引结点或子路由项直接指向父路由项,将存放要删除的路由项的内存释放;
3)如果删除路由项后,使动态生成的索引表中表头里的计数器值为0,即索引表中没有索引结点指向路由项了,则将此索引表删除;
4)如果待删索引表表头域指向空,则指向它的上一级索引表中的索引结点也指向空;
5)如果待删索引表表头域指向一路由项,则将指向表头域的索引结点指向该路由项,将存放动态索引表的内存释放。
8.一种查找路由项的方法,其特征在于,包括以下步骤,其中N1、N2、N3均为自然数:
1)对IP数据报文中目的IP地址取前N1位,在第一级索引表中找到索引号与之相等的索引结点;
2)如果所述索引结点指向路由项,则表明路由项找到;
3)如果所述索引结点指向空,表明路由项没有找到;
4)如果所述索引结点指向第二级索引表,则在第二级索引表中找到索引号和目的IP地址第N1+1位至第N1+N2位的值相等的索引结点,如果所述在第二级索引表中找到的索引结点指向路由项,表明路由项找到;
5)如果所述在第二级索引表中找到的索引结点指向空,则看第二级索引表的表头域,如果第二级索引表的表头域指向某一路由项,表明路由项找到,如果第二级索引表的表头域指向空,表明路由项没有找到;
6)如果所述在第二级索引表中找到的索引结点指向第三级索引表,则根据目的IP址的第N1+N2+1位至第N1+N2+N3位的值在第三级索引表中继续查找,查找方法和在第二级索引表中查找的方法一样,以此类推查找到目的IP地址的最后位。
CNB031405592A 2003-05-29 2003-05-29 构造路由表及用其查找路由项的方法 Expired - Fee Related CN100366008C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031405592A CN100366008C (zh) 2003-05-29 2003-05-29 构造路由表及用其查找路由项的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031405592A CN100366008C (zh) 2003-05-29 2003-05-29 构造路由表及用其查找路由项的方法

Publications (2)

Publication Number Publication Date
CN1553655A CN1553655A (zh) 2004-12-08
CN100366008C true CN100366008C (zh) 2008-01-30

Family

ID=34323822

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031405592A Expired - Fee Related CN100366008C (zh) 2003-05-29 2003-05-29 构造路由表及用其查找路由项的方法

Country Status (1)

Country Link
CN (1) CN100366008C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282296B (zh) * 2008-05-27 2010-12-08 华为技术有限公司 获取下一跳路由的方法和装置
CN102405623B (zh) * 2010-04-08 2014-10-08 华为技术有限公司 路由表项的存储方法和装置
CN103200099B (zh) * 2012-01-10 2016-08-24 迈普通信技术股份有限公司 一种mpls中快速查找目标节点的方法及装置
CN103457855B (zh) * 2012-06-04 2018-08-10 中兴通讯股份有限公司 无类域间路由表建立、以及报文转发的方法和装置
CN107204891A (zh) * 2016-03-18 2017-09-26 中兴通讯股份有限公司 一种海量规则下报文识别的方法及装置
CN110691032A (zh) * 2019-09-12 2020-01-14 无锡江南计算技术研究所 一种融合自适应和确定性路由算法的分级路由方法及装置
CN112817966B (zh) * 2020-07-24 2023-10-13 腾讯科技(深圳)有限公司 数据检索方法、装置、电子设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1270728A (zh) * 1997-09-15 2000-10-18 埃弗内特集团股份有限公司 快速路由查找的方法和系统
CN1341314A (zh) * 1999-02-26 2002-03-20 红石通信公司 使用压缩树转发表的网络路由器搜索引擎
CN1414745A (zh) * 2002-02-07 2003-04-30 华为技术有限公司 一种基于ip地址实现快速路由查找的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1270728A (zh) * 1997-09-15 2000-10-18 埃弗内特集团股份有限公司 快速路由查找的方法和系统
CN1341314A (zh) * 1999-02-26 2002-03-20 红石通信公司 使用压缩树转发表的网络路由器搜索引擎
CN1414745A (zh) * 2002-02-07 2003-04-30 华为技术有限公司 一种基于ip地址实现快速路由查找的方法

Also Published As

Publication number Publication date
CN1553655A (zh) 2004-12-08

Similar Documents

Publication Publication Date Title
US6985483B2 (en) Methods and systems for fast packet forwarding
US6434144B1 (en) Multi-level table lookup
US20040255045A1 (en) IP address lookup method and hardware architecture using hashing
CN1784678A (zh) 用于高效地搜索被分成具有界大小的、有界数量的子数据库的转发数据库的系统和方法
CN103107945B (zh) 一种快速查找ipv6路由的系统及方法
CN102223289B (zh) 一种存储IPv4地址和IPv6地址的方法和装置
CN105119834B (zh) 一种基于复合trie树结构的源地址目的地址联合查找方法
US7460538B2 (en) Communication control apparatus and method for searching an internet protocol address
CN101557341B (zh) 一种基于介质访问控制转发表的报文转发方法及系统
CN113810287B (zh) 一种基于ndn和sdn的数据检索与推送方法
EP1063827A2 (en) Method for address lookup
CN100366008C (zh) 构造路由表及用其查找路由项的方法
CN106453091B (zh) 路由器转发平面的等价路由管理方法和装置
CN107872388A (zh) 用于实现报文转发的方法、装置和系统
CN102045412A (zh) IPv6地址前缀压缩存储方法及设备
CN102647356A (zh) 一种基于候选集合策略的类蚁群算法的载波集中器中继路由抄表方法
CN101710864B (zh) 一种多网口Linux服务器的配置方法及装置
CN107276916A (zh) 基于协议无感知转发技术的交换机流表管理方法
CN104780101A (zh) 内容中心网络转发平面fib表结构及其检索方法
CN112235436A (zh) 网络地址转换规则匹配方法及设备
CN103581023A (zh) 实现最长掩码匹配的方法及装置
CN100452732C (zh) 路由查找方法及其系统
CN101562574A (zh) 一种路由表的更新方法及装置
CN103457855A (zh) 无类域间路由表建立、以及报文转发的方法和装置
CN108092896B (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: 20080130

Termination date: 20160529