[发明专利]网络处理器使用的建表和查表方法有效
申请号: | 200910106953.5 | 申请日: | 2009-05-04 |
公开(公告)号: | CN101556610A | 公开(公告)日: | 2009-10-14 |
发明(设计)人: | 梁秀帅;陆珠兴 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳市万商天勤知识产权事务所(普通合伙) | 代理人: | 顾光一 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网络 处理器 使用 方法 | ||
技术领域
本发明涉及网络通讯领域,尤其涉及网络处理器使用的建表和查表方法。
背景技术
随着信息技术的发展,数据业务量越来越高,不同数据协议和数据类型的处理也越来越复杂,因而要求网络节点具备灵活处理数据业务的能力。现在的网络处理器可以按照需求定制业务处理流程,相对于原有的业务芯片具有实现灵活、便于升级和开发周期短的优点,在最近几年内得到了广泛应用。
网络处理器对数据的处理一般包括:流分类、限速、流量管理和整形、报文修改等几个步骤。网络处理器在处理过程中,需要从数据中获得信息,在获得数据包中信息后,查表,根据查表结果,判断对数据包进行何种处理。通常,在数据处理过程中,根据业务复杂度的不同,要查若干张表,如果查表消耗的时间较长,就会影响网络处理器的处理效率,造成其性能下降。影响查表效率的因素主要有两个方面:一是表的设计即建表方法,也就是以什么形式来保存表项;二是查表方法,即用什么方法来匹配输入项与表中已存在项。
目前的网络处理器使用的表设计和查表方法,有以下几种:
(1)完全匹配搜索算法,使用hash函数对输入Key进行计算,到树表查找直到找到叶子、键值和相应的信息,都包含在Patricia树结构中,Hash函数进行key bit到Hash key的n->n转换。
(2)最长匹配算法,一次比较一个bit,直到找到精确匹配项,需要比较n次来识别是否是最符合的匹配。不管是最精确匹配还是最长前缀匹配,数表创建保证只有一个最好匹配。
(3)使用Hash函数进行最长匹配查找,对网络协议地址的第一部分进行hash,映射成一个VPN号,并和IP地址剩余部分合起来作为输入key。然后逐个进行比较。
(4)使用多级存储实现数表处理,要被访问的树被分级放在内存中,数表的第一部分数据放在第一个级内存,第二部分放在第二级内存,依次类推。在查表时,处理器通过保存在内存级中的一个或多个部分来决定保存在内存等级和输入搜索项之间一个或多个匹配项。处理器、第一个内存等级和第二内存等级在一个集成电路上实现,第三内存等级在这个集成电路外部实现。
如上所述,在现有技术中,有的查表通过逐个bit比较,有的使用hash算法计算key值进行,或者使用上述两种方法的结合,或者分级建表分级查表。逐个bit进行比较的方法,在匹配的bit位数较大时,需要比较的次数较多,而利用hash算法进行匹配的方法,可能产生冲突,也容易造成性能下降。
如果把比较的对象的bit位数作为一个值参与匹配,或者作为一个值参与hash计算,或者使匹配在同一bit长度的表项间进行,则可以在变长表中减少比较次数,解决现有技术中存在的问题。
这里所说的匹配长度是指,树表表项的匹配字节长度或输入要匹配的字段长度,比如一个最长16bit的表的表项:0101001110******,其匹配长度为10bit,6bit为通配,如果一个输入的字段是:10101010********,要匹配字段是10101010,其匹配长度为8bit。
发明内容
本发明的目的在于克服现有技术的不足之处,公开一种网络处理器使用的建表和查表方法,简化网络处理器的查表过程,提高网络处理器的处理能力,对于匹配字节长度不固定的表,效果尤其显著。
本发明公开的一种网络处理器使用的建表方法,用于配置表项,根据所述表项的匹配比特长度和匹配比特值计算所述表项的存放索引值,再根据所述存放索引值确定所述表项的存储区域。
本发明公开的网络处理器使用的建表方法,还包括如下从属技术特征:
所述计算存放索引值的方法是使用部分映射算法,或者使用完全映射算法;或者使用Hash函数计算;
所述根据所述存放索引值确定所述表项的存储区域包括:根据所述表项的匹配比特长度确定存放的区域,具有相同匹配比特长度的表项根据匹配比特值确定在相同区域中存放的位置;
设N为所述表项的存放索引值,所述计算存放索引值的公式是:
N=X/M+(S-1)
其中X为所述表项的匹配比特值,M为模,S为所述表项的匹配比特长度。模M的取值为1024。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910106953.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:模拟信号处理装置
- 下一篇:格栅状地下连续墙板及其制作方法