CN109194574B - 一种IPv6路由查找方法 - Google Patents

一种IPv6路由查找方法 Download PDF

Info

Publication number
CN109194574B
CN109194574B CN201811097082.0A CN201811097082A CN109194574B CN 109194574 B CN109194574 B CN 109194574B CN 201811097082 A CN201811097082 A CN 201811097082A CN 109194574 B CN109194574 B CN 109194574B
Authority
CN
China
Prior art keywords
route
bucket
routing
ipv6
segment table
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
CN201811097082.0A
Other languages
English (en)
Other versions
CN109194574A (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.)
Nantong Vocational College Science and Technology
Original Assignee
Nantong Vocational College Science and Technology
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 Nantong Vocational College Science and Technology filed Critical Nantong Vocational College Science and Technology
Priority to CN201811097082.0A priority Critical patent/CN109194574B/zh
Publication of CN109194574A publication Critical patent/CN109194574A/zh
Application granted granted Critical
Publication of CN109194574B publication Critical patent/CN109194574B/zh
Expired - Fee Related 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses

Landscapes

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

Abstract

本发明涉及路由查找技术领域,且公开了一种IPv6路由查找方法,包括如下步骤:一、构件数据结构:S1.构建以2001作为根节点、由路由前缀的前16位组成的二叉树;S2.构建段表和路由桶,在算法的查找效率和算法所占内存之间的平衡条件下得出相应的阈值,当路由条目数小于阈值时使用路由桶组织,当路由条目数大于阈值时使用段表组织;S3.链接在段表上的路由桶。该IPv6路由查找方法,具备能够实现IPv6快速查找的的优点,能够较好的满足IPV6的查找需要。

Description

一种IPv6路由查找方法
技术领域
本发明涉及路由查找技术领域,具体为一种IPv6路由查找方法。
背景技术
IPv6是下一代互联网NGI的核心协议,和现在无处不在的计算机网络使用的网际协议—IPv4相比,IPv6最大的特点是它使用128位超长IP地址,如此巨大的地址空间几乎可以为地球上的每一粒沙子分配一个IP地址,随着互联网的进一步发展,IPv4地址短缺的问题变得越来越急迫,IPv6也因此吸引了学术界和产业界的广泛关注和认可,特别是在欧洲和亚太地区,人口多,获得的IPv4地址少,对IPv6的研究、开发和部署非常积极,目前世界上规模最大的纯IPv6网络,中国下一代互联网CNGI骨干网—CERNET2已于2004年12月25日开通,随着IPv6被广泛认可和逐步部署,拥有丰富IPv4地址资源的美国对IPv6的态度也发生了变化。
随着光纤技术如波分复用技术的发展,网络链路层带宽不再是互联网的瓶颈,核心路由器由于需要执行复杂的IP路由查找操作,已成为制约因特网性能的新瓶颈,为此,路由查找问题受到业界的广泛关注并推出了一些针对IPV4的快速路由查找算法,由于因特网的发展和IP移动性的要求,传统的IPV4网络已不能完全满足需要,而IPV4地址的耗尽也仅在咫尺,IPV6协议的采用成为必然趋势,然而IPV6路由查找仍然是最长前缀匹配,而现有的大多数IPV4查找算法只能适应32位的前缀,不能扩展到IPV6的查找,因此,寻找高效可行的IPV6路由查找算法势在必行。
已有的IPV6路由查找算法大致可分为TCAM硬件查找、HASH查找、分段查找等其它查找方式,但这些算法都不能较好的满足IPV6的查找需要。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种IPv6路由查找方法,具备能够实现IPv6快速查找的等优点,解决了目前算法都不能完全满足IPV6的查找需要的问题。
(二)技术方案
为实现满足IPv6快速查找的目的,本发明提供如下技术方案:一种IPv6路由查找方法,包括如下步骤:
一、构件数据结构
S1.构建以2001作为根节点、由路由前缀的前16位组成的的二叉树;
S2.构建段表和路由桶,在算法的查找效率和算法所占内存之间的平衡条件下得出相应的阈值,当路由条目数小于阈值时使用路由桶组织,当路由条目数大于阈值时使用段表组织;
S3.链接在段表上的路由桶
a当路由桶中只有几条路由时,使用线性查找的方式链接在段表上的路由桶;
b当路由桶中有十几条到几十条路由时,采用基于前缀区间的二分查找方式链接在段表上的路由桶;
二、路由查找
A.将默认的路由的下一跳信息存入BMP,提取IPv6地址的第1-16比特在二叉树上查找并记录当前的BMP;
B.根据匹配节点的指针类型进行匹配,当匹配节点连接路由桶时,使用目的IPv6地址的第15-125比特在路由桶中查找并返回查找结果;
C.当匹配节点链接段表时,使用目的IPv6地址的第15-27比特的值定位到段表中的相应表项,并记录当前的BMP;
D.当段表表项链接路由桶时,使用目的IPv6地址的第28-119比特在路由桶中查找并返回查找结果。
优选的,所述S2中的路由桶关心路由的前缀第15-125比特。
优选的,所述S3中的路由桶关心路由前缀的第28-119比特。
优选的,所述b步骤中的基于前缀区间的二分查找方式链接在段表上的路由桶可由基于前缀长度的二分查找方式进行替代。
优选的,所述路由桶是路由表项的集合,根据路由桶中路由表项数目的不同,路由桶可以采用不同的组织方式。
优选的,所述A步骤中如果查找失败就返回默认路由。
优选的,所述B步骤中如果匹配节点没有链接就返回当前记录BMP。
(三)有益效果
与现有技术相比,本发明提供了一种IPv6路由查找方法,具备以下有益效果:
1、该IPv6路由查找方法,通过S2中采用两种不同的数据结构,充分利用了IPv6路由表的特点,降低了算法的内存消耗,因为绝大多数路由前缀都以2001开头,所以2001链接段表,以其它值开头的路由前缀非常少,所以链接路由桶(如2800,2002等),段表的大小是16比特,共有216项,由路由前缀的第17-32位组成,这样组织段表不仅效率高,而且具有一定的前瞻性,效率高是因为路由前缀的第17-32位具有很高的区分度,因此链接在段表上的路由桶都不会太大,这样就节约了内存消耗,提高了算法的查找性能.具有前瞻性是因为第17-32位的值中虽然有很多还没有路由前缀,但我们仍然采用16位的段表,这样内存消耗只有64K,将来有新的路由前缀加入时,数据结构也不用调整。
2、该IPv6路由查找方法,通过路由桶的组织方式由路由桶中的路由条数决定,并不采用单一的组织方式,这样就既能保证算法的查找性能,又能降低算法的内存消耗,当路由桶中只有几条路由时,可以采用简单的线性表结构和线性查找方式。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种IPv6路由查找方法,包括如下步骤:
一、构件数据结构
S1.构建以2001作为根节点、由路由前缀的前16位组成的的二叉树,因为IPv6路由表中没有前缀长度小于16的路由表项,所以在二叉树上只需要做精确匹配,以2001作为二叉树的根节点是因为目前IPv6网络上的流量的IPv6地址绝大部分以2001开头,这样网络上的大部分流量在二叉树上只需要一次匹配,提高了算法的平均查找性能;
S2.构建段表和路由桶,在算法的查找效率和算法所占内存之间的平衡条件下得出相应的阈值,当路由条目数小于阈值时使用路由桶组织,当路由条目数大于阈值时使用段表组织,采用两种不同的数据结构,充分利用了IPv6路由表的特点,降低了算法的内存消耗;
S3.链接在段表上的路由桶
a当路由桶中只有几条路由时,使用线性查找的方式链接在段表上的路由桶,是因为路由前缀的第17-32位具有很高的区分度,因此链接在段表上的路由桶都不会太大,这样就节约了内存消耗,提高了算法的查找性能;
b当路由桶中有十几条到几十条路由时,采用基于前缀区间的二分查找方式链接在段表上的路由桶;
二、路由查找
A.将默认的路由的下一跳信息存入BMP,提取IPv6地址的第1-16比特在二叉树上查找并记录当前的BMP;
B.根据匹配节点的指针类型进行匹配,当匹配节点连接路由桶时,使用目的IPv6地址的第15-125比特在路由桶中查找并返回查找结果;
C.当匹配节点链接段表时,使用目的IPv6地址的第15-27比特的值定位到段表中的相应表项,并记录当前的BMP;
D.当段表表项链接路由桶时,使用目的IPv6地址的第28-119比特在路由桶中查找并返回查找结果。
S2中的路由桶关心路由的前缀第15-125比特。
S3中的路由桶关心路由前缀的第28-119比特。
b步骤中的基于前缀区间的二分查找方式链接在段表上的路由桶可由基于前缀长度的二分查找方式进行替代。
路由桶是路由表项的集合,根据路由桶中路由表项数目的不同,路由桶可以采用不同的组织方式。
A步骤中如果查找失败就返回默认路由。
B步骤中如果匹配节点没有链接就返回当前记录BMP。
综上所述,该IPv6路由查找方法,使用时,通过S2中采用两种不同的数据结构,充分利用了IPv6路由表的特点,降低了算法的内存消耗,因为绝大多数路由前缀都以2001开头,所以2001链接段表,以其它值开头的路由前缀非常少,所以链接路由桶(如2800,2002等),段表的大小是16比特,共有216项,由路由前缀的第17-32位组成,这样组织段表不仅效率高,而且具有一定的前瞻性,效率高是因为路由前缀的第17-32位具有很高的区分度,因此链接在段表上的路由桶都不会太大,这样就节约了内存消耗,提高了算法的查找性能.具有前瞻性是因为第17-32位的值中虽然有很多还没有路由前缀,但我们仍然采用16位的段表,这样内存消耗只有64K,将来有新的路由前缀加入时,数据结构也不用调整,通过路由桶的组织方式由路由桶中的路由条数决定,并不采用单一的组织方式,这样就既能保证算法的查找性能,又能降低算法的内存消耗,当路由桶中只有几条路由时,可以采用简单的线性表结构和线性查找方式。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (7)

1.一种IPv6路由查找方法,其特征在于,包括如下步骤:
一、构件数据结构
S1.构建以2001作为根节点、由路由前缀的前16位组成的的二叉树;
S2.构建段表和路由桶,在算法的查找效率和算法所占内存之间的平衡条件下得出相应的阈值,当路由条目数小于阈值时使用路由桶组织,当路由条目数大于阈值时使用段表组织;
S3.链接在段表上的路由桶
a当路由桶中只有几条路由时,使用线性查找的方式链接在段表上的路由桶;
b当路由桶中有十几条到几十条路由时,采用基于前缀区间的二分查找方式链接在段表上的路由桶;
二、路由查找
A.将默认的路由的下一跳信息存入BMP,提取IPv6地址的第1-16比特在二叉树上查找并记录当前的BMP;
B.根据匹配节点的指针类型进行匹配,当匹配节点连接路由桶时,使用目的IPv6地址的第15-125比特在路由桶中查找并返回查找结果;
C.当匹配节点链接段表时,使用目的IPv6地址的第15-27比特的值定位到段表中的相应表项,并记录当前的BMP;
D.当段表表项链接路由桶时,使用目的IPv6地址的第28-119比特在路由桶中查找并返回查找结果。
2.根据权利要求1所述的一种IPv6路由查找方法,其特征在于,所述S2中的路由桶关心路由的前缀第15-125比特。
3.根据权利要求1所述的一种IPv6路由查找方法,其特征在于,所述S3中的路由桶关心路由前缀的第28-119比特。
4.根据权利要求1所述的一种IPv6路由查找方法,其特征在于,所述b步骤中的基于前缀区间的二分查找方式链接在段表上的路由桶可由基于前缀长度的二分查找方式进行替代。
5.根据权利要求1所述的一种IPv6路由查找方法,其特征在于,所述路由桶是路由表项的集合,根据路由桶中路由表项数目的不同,路由桶可以采用不同的组织方式。
6.根据权利要求1所述的一种IPv6路由查找方法,其特征在于,所述A步骤中如果查找失败就返回默认路由。
7.根据权利要求1所述的一种IPv6路由查找方法,其特征在于,所述B步骤中如果匹配节点没有链接就返回当前记录BMP。
CN201811097082.0A 2018-09-20 2018-09-20 一种IPv6路由查找方法 Expired - Fee Related CN109194574B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811097082.0A CN109194574B (zh) 2018-09-20 2018-09-20 一种IPv6路由查找方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811097082.0A CN109194574B (zh) 2018-09-20 2018-09-20 一种IPv6路由查找方法

Publications (2)

Publication Number Publication Date
CN109194574A CN109194574A (zh) 2019-01-11
CN109194574B true CN109194574B (zh) 2020-09-18

Family

ID=64908865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811097082.0A Expired - Fee Related CN109194574B (zh) 2018-09-20 2018-09-20 一种IPv6路由查找方法

Country Status (1)

Country Link
CN (1) CN109194574B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378869B (zh) * 2022-06-28 2024-03-19 国家电网有限公司信息通信分公司 白盒路由器转发信息库表的分发与存储方法及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8625604B2 (en) * 2009-12-01 2014-01-07 Polytechnic Institute Of New York University Hash-based prefix-compressed trie for IP route lookup
CN106656816A (zh) * 2016-09-18 2017-05-10 首都师范大学 分布式ipv6路由查找方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100496019C (zh) * 2005-11-10 2009-06-03 中国科学院计算技术研究所 IPv6路由表快速查找和更新的方法
US9268779B2 (en) * 2009-01-28 2016-02-23 Mckesson Financial Holdings Methods, computer program products, and apparatuses for dispersing content items
CN103428093B (zh) * 2013-07-03 2017-02-08 北京邮电大学 一种基于名字路由前缀存储、匹配及更新方法与装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8625604B2 (en) * 2009-12-01 2014-01-07 Polytechnic Institute Of New York University Hash-based prefix-compressed trie for IP route lookup
CN106656816A (zh) * 2016-09-18 2017-05-10 首都师范大学 分布式ipv6路由查找方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TSB:一种多阶段IPv6路由表查找算法;李振强等;《电子学报》;20071015;第35卷(第10期);1859-1864 *

Also Published As

Publication number Publication date
CN109194574A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
US7418505B2 (en) IP address lookup using either a hashing table or multiple hash functions
US9627063B2 (en) Ternary content addressable memory utilizing common masks and hash lookups
EP2560327B1 (en) Routing table establishment method and device
US6449256B1 (en) Fast level four switching using crossproducting
US7630367B2 (en) Approach for fast IP address lookups
US7526603B1 (en) High-speed low-power CAM-based search engine
US9602407B2 (en) Trie stage balancing for network address lookup
CN102377664A (zh) 一种基于tcam的区域匹配装置和方法
CN103107945B (zh) 一种快速查找ipv6路由的系统及方法
US7624226B1 (en) Network search engine (NSE) and method for performing interval location using prefix matching
CN106330716B (zh) Ip路由查找方法及装置
CN114884877B (zh) 一种哈希表和HOT相结合的IPv6路由查找方法
Zhong An IPv6 address lookup algorithm based on recursive balanced multi-way range trees with efficient search and update
CN109194574B (zh) 一种IPv6路由查找方法
CN112667640B (zh) 一种路由地址存储方法及装置
Veeramani et al. Efficient IP lookup using hybrid trie-based partitioning of TCAM-based open flow switches
CN115396365B (zh) 一种规模无关的快速路由收敛方法
Rojas-Cessa et al. Parallel search trie-based scheme for fast IP lookup
Liu et al. Longest prefix matching with pruning
US6895442B1 (en) Technique for fast and efficient internet protocol (IP) address lookup
CN107204926B (zh) 预处理cache的路由快速查找方法
EP3319279B1 (en) Ip routing lookup
Erdem et al. Value-coded trie structure for high-performance IPv6 lookup
Dai et al. An advanced TCAM-sram architecture for ranges towards minimizing packet classifiers
Jangid et al. Prefix length-based disjoint set tries for IPv6 lookup

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200918

CF01 Termination of patent right due to non-payment of annual fee