一种路由转发表地址查找引擎装置制造方法及图纸

技术编号:3507822 阅读:195 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种路由转发表地址查找引擎装置,包括:状态机模块、源IP地址路由转发搜索引擎模块、目的IP地址路由转发表搜索引擎模块、默认路由表搜索引擎模块、路由转发表维护模块、默认路由表维护模块状态机模块、路由转发接口表搜索引擎模块、路由转发接口表维护模块。该装置采用并行流水线结构,第一级流水线是查询路由转发表,查找结束获得转发端口号;该级流水线同时启动默认路由表的查找,查找成功获得转发端口号;第二级流水线是根据查询路由转发表的结果查询路由转发接口表,以获取路由器MAC地址和VLANID。采用本发明专利技术所述装置,不但节省硬件成本,而且能进行快速路由转发表查找,从而节省系统总体成本。

【技术实现步骤摘要】

本专利技术涉及数据通信领域,尤其涉及一种路由转发表地址查找引擎装置
技术介绍
以太网交换机的二层交换(以太网交换)采用硬件转发,为减少以太网包广播带来的网络传输开销,MAC地址表的生成多采用MAC地址学习机制。多数支持三层交换的以太网交换机都根据路由表生成一个路由转发表,将路由转发表交给各个线路接口卡,线路接口卡利用路由转发表来转发分组。为了适应Internet发展对支持三层交换的以太网交换机性能的要求,支持三层交换的以太网交换机需要采用高速的路由转发表查找机制。为了实现路由转发,需要查找路由转发表、默认路由表、路由转发接口表,完成下面的功能根据目的IP地址对路由转发表进行检索,如果找到了匹配,则取出对应条目包含的下一跳MAC地址、输出端口号以进行转发;如果不匹配,而且系统中没有设置默认路由表,则将数据包送往CPU;如果系统中设置了默认路由表,则将目的IP地址和默认路由表的子网掩码进行逻辑与,并检查是否与IP地址匹配,如果有多个匹配,则选取具有最长子网掩码位的条目作为匹配项。如果在该匹配项中设置了CPU位,则传输数据包的一份拷贝到CPU以进行地址解析,没有匹配的送给CPU进行处理;重新计算数据包的IP校验,改变目的MAC地址为下一跳MAC地址,源MAC地址为对应的层三接口MAC地址;检查该包的输出端口是否需要标签。通过查找路由转发接口表,获得VLAN ID,再查找VTABLE获得标签规则,即获得该包的输出端口是否需要标签。关于路由转发表查找算法,目前常用的查表法有线性查表法(linear lookup)、二元树查表法(Binary tree lookup)及杂凑函数查表法(Hashing function lookup)等,其中线性查表法是将存取地址同地址表的内容从头到尾一个一个比较,因没有效率已经很少使用;二元树查表法则是依据二分法逐步缩小查询范围来查表,因此效果比线性查表法好但是仍然无法达到以太网交换控制器的要求。另一种查表法为杂凑函数查表法(HASH算法),将其目的IP地址排序在一个大小固定的表格中,我们以一个数学函数h来代表目的地址,x在表中的地址(address),因此h(x)代表x在表中的地址,这个地址称之为x杂凑地址。用来存储目的IP地址表的存储器地址假设是连续的,这些存储器地址称之为杂凑表(hash table)。而杂凑表被分为b个桶(buckets)ht,...,ht,每个桶中有s个纪录容量。因此我们称每个桶中有s个槽,每个槽刚好可以包含一个记录,通常,而每个桶中只含有一个记录,杂凑函数h(x)用来表示对目的IP地址x的转换。h(x)把一组可能的目的IP地址对应到整数0到b-1中。现有技术采用二分查找算法,路由转发表地址查找引擎装置中各模块的连接及功能如图3所示。采用二分查找算法,路由转发查表引擎的转发决策过程划分为3级流水线结构。第一级流水查询一个路由转发表的索引表,对于2K个条目深的路由转发表,该索引表含32个条目,指向2048条目的路由转发表的32个分界点;第二级流水线是根据查询路由转发表的索引表的查找结果进一步查找路由转发表,查找结束获得转发端口;该级流水线同时启动默认路由表的查找,查找成功获得转发端口;第三级流水线是根据查询路由转发表的结果查询路由转发接口表,根据查找结果进一步查找VTABLE表,确定该包的输出端口是否需要标签,最后获得转发决策送往出口规则模块。对路由转发表的检索,若采用二分查找算法可使用如下做法对2K条目深的路由转发表的检索采取二分查找算法进行,查找一次最坏情况下需要11次查找。系统需要同时对源IP地址和目的IP地址进行查找,即每个需要进行层三转发的包在最坏情况下需要对路由转发表进行22次查找。但系统中只有一个路由转发表,且每个数据包最多只能有14个左右的时钟周期进行检索,显然不能满足系统的需要。在此建立一个对路由转发表的索引表,32比特宽,32条目深,将路由转发表分成32个相等的空间,每个空间可以放置64个条目。该索引表的条目分别对应路由转发表的第64、128、192、...、2048条目,存放所对应路由转发表条目的IP地址值。对该索引表的检索也采用二分查找算法,最坏需要5次查找。通过对该索引表的检索缩小了对路由转发表的检索空间,控制在64个条目以内,最坏只需要6次查找。由于路由转发表和索引表是不同的表,在此可以进行流水线的查找,即完成一次路由转发表的检索最坏只需要6次查找。一个路由转发转发包在最坏情况下只需要对路由转发表进行12次查找,满足系统的需要。采用二分查找算法,路由转发表按IP地址的升序排列,搜索关键字是目的IP地址,CPU对路由转发表维护所耗费的时间比较长,增加或删除一个条目需要更新整张表。
技术实现思路
本专利技术的目的是为了克服现有技术中使用二分查找算法查找引擎装置处理速度比较慢的缺点,而提出了一种路由转发表地址查找引擎装置。为了实现上述专利技术目的,本专利技术提出的一种路由转发表查找引擎装置包括状态机模块、源IP地址路由转发搜索引擎模块、目的IP地址路由转发表搜索引擎模块、默认路由表搜索引擎模块、路由转发表维护模块、默认路由表维护模块、路由转发接口表搜索引擎模块、路由转发接口表维护模块。状态机模块分别启动源IP地址路由转发表搜索引擎模块、目的IP地址路由转发表搜索引擎模块、默认路由表搜索引擎模块进行路由转发表搜索以获得转发信息。路由转发表维护模块、默认路由表维护模块、路由转发接口表维护模块分别对各自转发表进行维护。本专利技术所描述的路由转发表地址查找引擎装置,该装置采用并行流水线结构,采用HASH算法,用基于11比特的CRC算法进行路由转发表查找,路由转发地址表地址为SA,14比特位宽。基于11比特的CRC算法查表过程输入是IP,CRC生成式采用CRC-11:X11+X5+1HASH_RESULT=CRC11,When IP table size=2K,HASH_RESULT={IP,IP};When IP table size=6K,HASH_RESULT={IP,IP}%3;When IP table size=8K,HASH_RESULT={IP,IP}%4;When IP table size=10K,HASH_RESULT={IP,IP}%5;When IP table size=14K,HASH_RESULT={IP,IP}%7;SA=HASH_RESULT采用HASH算法,路由转发查表引擎的转发决策过程划分为2级流水线结构第一级流水线是查询路由转发表,查找结束获得转发端口号;该级流水线同时启动默认路由表的查找,查找成功获得转发端口号;第二级流水线是根据查询路由转发表的结果查询路由转发接口表,以获取路由器MAC地址和VLAN ID。本专利技术所述的装置采用了并行流水线结构,采用HASH算法,与现有技术相比该只需要两级流水线,至多在19个时钟周期(125MHz系统时钟)内完成一个路由转发数据包的转发决策,查找速度块,而且可同时支持2K、6K、8K、10K、14K条目的路由转发地址表查表,同时还能节省一些硬件成本,以进行快速路由转发表查找,从而节省系统总体成本。附图说明图1采用二分查找算法的路由转发表查找引擎原理框图;图2采用HASH算本文档来自技高网
...

【技术保护点】
一种路由转发表地址查找引擎装置,其特征在于,包括:本专利技术提出的一种路由转发表查找引擎装置包括:状态机模块、源IP地址路由转发搜索引擎模块、目的IP地址路由转发表搜索引擎模块、默认路由表搜索引擎模块、路由转发表维护模块、默认路由表维护模块状态机模块、路由转发接口表搜索引擎模块、路由转发接口表维护模块;状态机模块分别启动源IP地址路由转发表搜索引擎模块、目的IP地址路由转发表搜索引擎模块、默认路由表搜索引擎模块进行路由转发表搜索以获得转发信息;路由转发表维护模块、默认路由表维护模块、路由转发接口表维护模块分别对各自转发表进行维护。

【技术特征摘要】

【专利技术属性】
技术研发人员:王锦山
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1