一种同时支持IPv4和IPv6的高速路由查找方法及装置制造方法及图纸

技术编号:11155297 阅读:108 留言:0更新日期:2015-03-18 11:38
本发明专利技术公开了一种同时支持IPv4和IPv6的高速路由查找方法及装置,涉及网络交换技术领域,其装置包括:包括路由查找算法软件模块、路由更新接口模块和路由查找硬件模块三部分。其中路由查找算法软件模块完成对路由条目的软件计算和更新条目指令下发;路由更新接口模块在接收了软件更新条目指令后,根据路由查找硬件模块的实际工作状态,控制路由查找硬件模块的数据流,并将更新条目写入路由查找硬件模块的存储器中;路由查找硬件模块为双路并行的流水线型架构,分别响应硬件系统的IPv4和IPv6路由查找请求,并返回最长前缀匹配的查找结果。

【技术实现步骤摘要】

本专利技术涉及网络交换
,尤其涉及一种基于B-Tree同时支持IPv4和IPv6的高速路由查找方法及装置
技术介绍
随着因特网Internet的迅猛发展,用于主干网络互联的核心路由器的接口速率达到100Gbps,该速率要求核心路由器在支持大容量路由表的情况下路由查找速率达到每秒几百万次。IP查找需要得到最长匹配前缀,IPv6远大于IPv4的地址空间对于存储与查找速度要求更高,近年来研究人员提出了多种硬件查找方法以提高查找速率,其中以Trie树结构和TCAM最为流行。Trie树结构是应用最为广泛的树结构,容易实现硬件上的流水操作,利于提升路由查找的吞吐率。但是Trie树结构的具有一定的局限性。一般Trie树结构的流水级数较多,会带来过大的查找延时。采用多比特Trie树结构的路由查找设计可以大大减少流水级数,但会带来大量额外内存的消耗,并且这种额外的内存消耗量与路由表的前缀分布相关,使得基于多比特Trie树的路由查找硬件设计的路由表容量存在较大起伏。特别是由于IPv4和IPv6的键值位宽相差4倍,同一个硬件架构很难同时支持IPv4和IPv6的路由查找,增加了硬件设计的复杂度和成本。TCAM能够在同一芯片中实现IPv4和IPv6的路由查找,但要满足100Gbps的查找速率和核心路由器的路由表容量需求,需要多片TCAM级联查找,功耗与发热量将成为严重问题。B-tree是一种被广泛应用于数据库文件管理的软件算法,它的特点是一个树节点拥有M-1个关键字和M个子节点,B-Tree的深度由阶数M和关键字的数目决定,与关键字的分布无关。这些特点使得B-Tree能够克服上述Trie树结构的缺点,实现流水级数少且对路由前缀分布不敏感的路由查找设计。需要注意的是在应用B-Tree进行路由查找时,需要确保返回的结果为最长前缀匹配结果。由于查找回溯是无法在硬件流水操作中实现的,因此需要对B-Tree的路由查找算法进行特殊的处理。这类处理有很多种公开的操作方法,例如可以将父前缀复制成多份合并到其所有子前缀上,或者采用将父前缀与树结构最上层的子节点合并的方法。目前我们已经提出一种基于B-Tree的高速路由查找方法和装置,它能够用硬件流水线结构实现高性能实现IPv4或者IPv6的路由查找,但它不能满足同时支持IPv4和IPv6路由查找的需求。有鉴于此,本专利技术提出一种能够同时实现IPv4和IPv6路由查找的方法及装置。
技术实现思路
本专利技术的目的在于提供一种同时支持IPv4和IPv6的高速路由查找方法及装置,为了解决现有技术中能够实现IPv4或者IPv6的路由查找,但它不能满足在相同系统结构中同时支持IPv4和IPv6路由查找的需求的问题。根据本专利技术的一个方面,提供了一种同时支持IPv4和IPv6的高速路由查找方法,其特征在于,包括以下步骤:响应路由转发系统实时下发的路由条目更新指令,对IPv4和IPv6共用树节点保存的路由条目信息进行更新;在路由查找期间,根据路由查找请求确定需要进行IPv4路由查找还是进行IPv6路由查找;若确定需要进行IPv4路由查找,则从IPv4和IPv6共用树结构寻找用于IPv4路由查找的IPv4根节点,并从IPv4根节点开始按照流水查找方式从所述共用树结构的各相应节点获得IPv4路由信息;若确定需要进行IPv6路由查找,则从IPv4和IPv6共用树结构寻找用于IPv6路由查找的IPv6根节点,并从IPv6根节点开始按照流水查找方式从所述共用树结构的各相应节点获得IPv6路由信息。优选地,IPv4和IPv6路由表存放在相同位宽的B-Tree树节点中,IPv4路由表和IPv6路由表动态共享多层节点,其每层节点保存多条路由信息。优选地,所述内存区存有:IPv4根节点地址、IPv6根节点地址、所述的多层节点以及结果表。优选地,所述的获得IPv4路由信息的步骤包括:IPv4查找逻辑从所述路由查找请求中获取IPv4键值,并从所述内存区获取IPv4根节点地址;IPv4查找逻辑利用IPv4根节点地址从IPv4和IPv6共用树结构找到IPv4根节点,通过读取并解析该节点的节点数据,查找该节点路由信息,并按照流水查找方式查找下一级节点的路由信息,直至查找最后一级节点的路由信息;其中,IPv4查找逻辑通过将所述IPv4键值与所解析的各节点的节点数据中的路由前缀分别进行比较,获得下一级节点指针,并从各匹配的路由条目数据中得到相应的IPv4路由信息。优选地,从各匹配的路由条目数据中得到相应的IPv4路由信息的步骤包括:将各匹配的路由条目中的结果表条目指针保存在查找模块的缓存中;每级流水匹配的路由条目的结果表条目指针直接覆盖缓存中的内容;在结束对所有节点路由查找之后,根据缓存中最终的结果表条目指针查找结果表,获得相应的IPv4路由信息。优选地,所述的获得IPv6路由信息的步骤包括:IPv6查找逻辑从所述路由查找请求中获取IPv6键值,并从所述内存区获取IPv6根节点地址;IPv6查找逻辑利用IPv6根节点地址从IPv4和IPv6共用树结构找到IPv6根节点,通过读取并解析该节点的节点数据,查找该节点路由信息,并按照流水查找方式查找下一级节点的路由信息,直至查找最后一级节点的路由信息;其中,IPv6查找逻辑通过将所述IPv6键值与所解析的各节点的节点数据中的路由前缀分别进行比较,获得下一级节点指针,并从各匹配的路由条目数据中得到相应的IPv6路由信息。优选地,从各匹配的路由条目数据中得到相应的IPv6路由信息的步骤包括:将各匹配的路由条目中的结果表条目指针保存在查找模块的缓存中;每级流水匹配的路由条目的结果表条目指针直接覆盖缓存中的内容;在结束对所有节点路由查找之后,根据缓存中最终的结果表条目指针查找结果表,获得相应的IPv6路由信息。根据本专利技术的另一方面,提供了一种同时支持IPv4和IPv6的高速路由查找装置,其特征在于,包括:路由条目信息更新模块,用于响应路由转发系统实时下发的路由条目更新指令,对IPv4和IPv6共用树节点保存的路由条目信息进行更新;确定路由查找模块,用于在路由查找期间,根据路由查找请求确定需要进行IPv4路由查找还是进行IPv6路由查找;IPv4路由查找模块,用于当确定需要进行IPv4路由查找,则从IPv4和IPv6共用树结构寻找用于IPv4路由查找的IPv4根节点,并从IPv4根节点本文档来自技高网
...
一种同时支持IPv4和IPv6的高速路由查找方法及装置

【技术保护点】
一种同时支持IPv4和IPv6的高速路由查找方法,其特征在于,包括以下步骤:响应路由转发系统实时下发的路由条目更新指令,对IPv4和IPv6共用树节点保存的路由条目信息进行更新;在路由查找期间,根据路由查找请求确定需要进行IPv4路由查找还是进行IPv6路由查找;若确定需要进行IPv4路由查找,则从IPv4和IPv6共用树结构寻找用于IPv4路由查找的IPv4根节点,并从IPv4根节点开始按照流水查找方式从所述共用树结构的各相应节点获得IPv4路由信息;若确定需要进行IPv6路由查找,则从IPv4和IPv6共用树结构寻找用于IPv6路由查找的IPv6根节点,并从IPv6根节点开始按照流水查找方式从所述共用树结构的各相应节点获得IPv6路由信息。

【技术特征摘要】
1.一种同时支持IPv4和IPv6的高速路由查找方法,其特征在于,包括以
下步骤:
响应路由转发系统实时下发的路由条目更新指令,对IPv4和IPv6共用树节
点保存的路由条目信息进行更新;
在路由查找期间,根据路由查找请求确定需要进行IPv4路由查找还是进行
IPv6路由查找;
若确定需要进行IPv4路由查找,则从IPv4和IPv6共用树结构寻找用于IPv4
路由查找的IPv4根节点,并从IPv4根节点开始按照流水查找方式从所述共用树
结构的各相应节点获得IPv4路由信息;
若确定需要进行IPv6路由查找,则从IPv4和IPv6共用树结构寻找用于IPv6
路由查找的IPv6根节点,并从IPv6根节点开始按照流水查找方式从所述共用树
结构的各相应节点获得IPv6路由信息。
2.根据权利要求1所述的方法,其特征在于,IPv4和IPv6路由表存放在
相同位宽的B-Tree树节点中,IPv4路由表和IPv6路由表动态共享多层节点,
其每层节点保存多条路由信息。
3.根据权利要求2所述的方法,其特征在于,所述内存区存有:IPv4根节
点地址、IPv6根节点地址、所述的多层节点以及结果表。
4.根据权利要求2所述的方法,其特征在于,所述的获得IPv4路由信息的
步骤包括:
IPv4查找逻辑从所述路由查找请求中获取IPv4键值,并从所述内存区获取
IPv4根节点地址;
IPv4查找逻辑利用IPv4根节点地址从IPv4和IPv6共用树结构找到IPv4
根节点,通过读取并解析该节点的节点数据,查找该节点路由信息,并按照流水
查找方式查找下一级节点的路由信息,直至查找最后一级节点的路由信息;
其中,IPv4查找逻辑通过将所述IPv4键值与所解析的各节点的节点数据中
的路由前缀分别进行比较,获得下一级节点指针,并从各匹配的路由条目数据中
得到相应的IPv4路由信息。
5.根据权利要求4所述的方法,其特征在于,从各匹配的路由条目数据中

\t得到相应的IPv4路由信息的步骤包括:
将各匹配的路由条目中的结果表条目指针保存在查找模块的缓存中;
每级流水匹配的路由条目的结果表条目指针直接覆盖缓存中的内容;
在结束对所有节点路由查找之后,根据缓存中最终的结果表条目指针查找结
果表,获得相应的IPv4路由信息。
6.根据权利要求2所述的方法,其特征在于,所述的获得IPv6路由信息的
步骤包括:
IPv6查找逻辑从所述路由查找请求中获取IPv6键值,并从所述内存区获取
IPv6根节点地址;
IPv6查找逻辑利用IPv6根节点地址从IPv4和IPv6共用树结构找到IPv6
根节点,通过读取并解析该节点的路由数据,查找该节点路由信息,并按照流水
查找方式查找下一级节点的路由信息,直至查找最后一级节点的路由信息;
其中,IPv6查找逻辑通过将所述IPv6键值与所解析的各节点的节点数据中
的路由前缀分别进行比较,获得下一级节点指针,并从各匹配的路由条目数据中
得到相应的IPv6路由信息。
7.根据权利要求6所述的方法,其特征在于,从各匹配的路由...

【专利技术属性】
技术研发人员:程晨李彧张炜白栎旸徐宝魁王晓明
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1