一种IPv6路由查找方法技术

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

A Route Finding Method for IPv6

The invention relates to the technical field of routing lookup, and discloses an IPv6 routing lookup method, which includes the following steps: 1. Component data structure: S1. Constructing a binary tree composed of the first 16 bits of routing prefix with 2001 as the root node; S2. Constructing segment tables and routing buckets to obtain the corresponding threshold under the condition of the balance between the search efficiency of the algorithm and the memory occupied by the algorithm. Routing buckets are used when the number of entries is less than the threshold, and segment tables are used when the number of routing entries is greater than the threshold; S3. Routing buckets linked to segment tables. The IPv6 routing lookup method has the advantages of fast IPv6 lookup, and can better meet the needs of IPV6 lookup.

【技术实现步骤摘要】
一种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路由查找方法,使用时,通本文档来自技高网
...

【技术保护点】
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比特在路由桶中查找并返回查找结果。

【技术特征摘要】
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.当段...

【专利技术属性】
技术研发人员:邓荣姜大庆黄菊陈林琳
申请(专利权)人:南通科技职业学院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1