一种路由存储方法及装置制造方法及图纸

技术编号:3545864 阅读:199 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种路由存储方法及装置,属于网络通信领域。为了解决现有技术中私网路由使用TCAM表进行路由存储与查找费用较高的问题,本发明专利技术提供了一种路由存储方法,所述方法包括解析协议报文获取路由信息,将所述路由信息添加到Trie表中的步骤。本发明专利技术还提供了一种路由存储装置,所述装置包括路由管理模块和Trie表维护管理模块。采用本发明专利技术提供的技术方案可以不用TCAM表进行私网路由的存储与查找,并且公网路由查找表和私网路由查找表共用动态存储的Trie表,减少了对内存需求,节省了成本。

【技术实现步骤摘要】

本专利技术涉及网络通信领域,特别涉及一种路由存储方法及装置
技术介绍
数据通信设备转发IP报文是数据通信设备的一个基本功能。对于分布式体系结构的路由器,一般由硬件转发引擎完成IP报文的转发。根据IP报文的目的IP地址查找路由表的方法很多,可以用TCAM(Ternary Content Addressable Memory,三态内容可寻址存储器)的硬件查找,也可以用软件算法查找。TCAM查找的一个最大的好处是不管表项的多少,查找时间基本固定,可以保证查找性能。但是TCAM器件价格比较昂贵,功耗非常大。软件算法查找,仅使用DRAM(Dynamic Random Access Memory,动态随机存取存储器)内存或者一般的SRAM(Static Random Access Memory,静态随机存取存储器)完成查找,价格非常低,具有成本优势。Trie表是一种利用DRAM内存或者一般的SRAM树表查找算法,并且采用最长前缀匹配的方法。比较常见的路由器的应用是三层VPN(Virtual Private Network,虚拟专网)。路由器在实现三层VPN的功能时,一般在边缘路由器给不同的私网创建不同的VPN路由表,路由查找的索引是目的IP地址加上VRF(VPN Routing Forwarding,VPN路由转发)索引。一个VRF索引对应一个VPN,VPN内部可以分配私网的IP地址。不同的VPN内部分配的私网IP地址可以相同,但是在同一个边缘路由器上,不同的VPN会对应不同的VRF索引。由于路由查找的索引是目的IP地址加上VRF索引,这样就可以保证各个VPN内的报文查找VPN的私网路由时,不会出现查找错误路由表的情况。对于不支持VPN特性的路由器,利用Trie表的方式进行IPV4的LPM(Longest Prefix Match,最长前缀匹配)查找。其方案如下IP地址的长度是32bit,把IP地址的32bit拆分为16-4-4-4-4的部分,把IP地址的高16bit拆分为8-4-4的部分。对于前缀长度大于或者等于16的路由,填入到16-4-4-4-4的路由查找表;对于前缀长度小于16的路由,填入到8-4-4的路由查找表。路由查找表的基本单元是Trie表,Trie表的结构如表1。 表1对于16-4-4-4-4的路由查找表,16对应IP地址的最高16bit,16bit对应于64K个第一级Trie表,称为hi64k表,hi64k表是必须固定分配的。对于8-4-4的路由查找表,8对应IP地址的最高8bit,8bit对应于256个第一级Trie表,称为hi256表,hi256表是必须固定分配的。对于16-4-4-4-4和8-4-4路由查找表中的4bit,对应一个Trie,每个Trie里面有16个Trie表,通过4bit索引。Trie表在内存的分布如图1所示,内存可以是DRAM,也可以是SRAM。参见表2,以目的IP地址是0x59900000(十六进制的59对应十进制的89),前缀的掩码是0xfff00000的路由为例,通过前缀的掩码得到前缀长度是12,所以填入8-4-4的路由查找表。 表2对应于上表,对于目的IP地址是89.144.5.5的报文,先用目的IP地址的高8位89为索引查hi256的路由查找表,发现指向下一跳表的索引为0,说明没有前缀89对应的路由,同时发现指向下一个Trie的索引有效,于是根据此索引得到对应Trie的地址,在Trie内根据IP地址的位进行索引(对应89.144.5.5的位是9),发现指向下一跳表的索引为一个有效的值,同时指向下一个Trie的索引无效,说明IP地址89.144.5.5在路由查找表可以查找得到的最长前缀的长度就是12,再根据从Trie表得到的指向下一跳表的索引去查和路由相关的下一跳表,最终得到报文的出接口信息。现有技术的缺点是利用Trie表的方式进行IPV4的LPM查找的索引没有VRF索引,没有为VPN分配的路由表,不能支持VPN。而现有技术中的VPN是应用TCAM表进行路由存储与查找的,TCAM器件价格比较昂贵,功耗非常大。
技术实现思路
本专利技术为了解决现有技术中使用TCAM表进行私网路由查找费用高的问题,提供了一种路由存储方法及装置。所述技术方案如下本专利技术提供了一种路由存储方法,所述方法包括以下步骤步骤A收到协议报文后,解析所述报文获取路由信息,所述路由信息包括IP地址和前缀长度;步骤B将获取的路由信息添加到Trie表中。所述步骤B具体包括根据所述路由信息判断所述IP地址是否为公网路由,如果是,将所述路由信息添加到公网对应的Trie表中;否则,将所述路由信息添加到私网对应的Trie表中。所述IP地址是公网路由时,读取IP地址的前缀长度,如果所述IP地址的前缀长度大于或等于16,将所述路由信息添加到公网路由的hi64k表中;如果所述IP地址的前缀长度小于16,将所述路由信息添加到hi256表中;或者所述IP地址是私网路由时,通过协议报文获取私网路由的索引,根据所述路由信息判断是否需要申请新的Trie表,如果需要,则申请Trie表,将所述路由信息添加到新申请的Trie表;否则直接添加到对应的Trie表中。所述的将所述路由信息添加到私网对应的Trie表中按8-4-4-4-4-4-4或者4-4-4-4-4-4-4-4格式添加。所述方法还包括步骤C需要删除路由时,判断是否是公网路由,如果是,在公网对应的Trie表中删除该路由表项;否则,在私网对应的Trie表中删除该路由表项;步骤D判断删除所述路由后的Trie表是否可以释放,如果是,将所述Trie表进行回收。本专利技术还提供了一种路由存储装置,所述装置包括以下模块路由管理模块,用于收到协议报文后,解析报文获取路由信息,所述路由信息包括IP地址和前缀长度;Trie表维护管理模块,用于将获取的路由信息添加到Trie表中。所述路由管理模块具体包括判断单元,用于判断IP地址是公网路由还是私网路由;申请Trie单元,用于向Trie表维护管理模块申请一个新的Trie表,添加单元,用于把申请Trie表地址添加到路由查找表中;删除单元,用于释放Trie表并交给Trie表维护管理模块。所述Trie表维护管理模块具体包括维护单元,用于维护和管理空闲的Trie表;分配单元,用于当需要增加新的路由项时,分配Trie表;回收单元,用于当删除路由项时,对释放的Trie表进行回收。应用本专利技术提供的技术方案带来的有益效果是通过所提供的路由存储方法及装置,可以不用TCAM表进行私网路由的存储与查找,并且公网路由查找表和私网路由查找表共用动态存储的Trie表,减少了对内存需求,节省了成本。附图说明图1是现有技术中Trie表在内存中的分布示意图;图2是本专利技术实施例1中提供的路由存储方法流程图;图3是本专利技术实施例1中路由查找表添加路由后的示意图;图4是本专利技术实施例2中提供的路由查找流程图;图5是本专利技术实施例3中提供的路由存储装置示意图。具体实施例方式下面结合附图和具体实施例对本专利技术作进一步说明,但不作为对本专利技术的限定。本专利技术的实施例通过在路由器上建立一个动态的Trie表,实现公网路由与VPN路由的查找。对于分布式结构的路由器,每个接口板支持的VPN的个数本文档来自技高网
...

【技术保护点】
一种路由存储方法,其特征在于,所述方法包括以下步骤:步骤A:收到协议报文后,解析所述报文获取路由信息,所述路由信息包括IP地址和前缀长度;步骤B:将获取的路由信息添加到Trie表中。

【技术特征摘要】

【专利技术属性】
技术研发人员:佟兴龚钧
申请(专利权)人:华为数字技术有限公司
类型:发明
国别省市:11[中国|北京]

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

1