[发明专利]转发数据包的方法及装置有效
申请号: | 201010183334.9 | 申请日: | 2010-05-26 |
公开(公告)号: | CN101834802A | 公开(公告)日: | 2010-09-15 |
发明(设计)人: | 杜文华;洪荣峰;易毅 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 转发 数据包 方法 装置 | ||
1.一种转发数据包的方法,其特征在于,包括:
从所接收到的数据包的目的地址中取出第一预定字段作为键值;
根据所述键值查找预先设置的TCAM表项,获取所述TCAM表项返回的索引值;
根据所述索引值和所述数据包的目的地址中的第二预定字段,按照预定算法查找预先设置的FIB表项,获取所述数据包的转发地址。
2.根据权利要求1所述的转发数据包的方法,其特征在于,所述第二预定字段为所述数据包的目的地址中除了第一预定字段以外的剩余字段。
3.根据权利要求1所述的转发数据包的方法,其特征在于,所述方法还包括:
如果没有命中所述TCAM表项,根据所述目的地址的完整字段按照预定算法查找预先设置的FIB表项,获取所述数据包的转发地址。
4.根据权利要求1所述的转发数据包的方法,其特征在于,所述根据所述索引值和所述数据包的目的地址中的第二预定字段,按照预定算法查找预先设置的FIB表项,获取所述数据包的转发地址的方法包括:
将所述索引值和所述数据包的目的地址中的第二预定字段相结合,构成第二键值;根据所述第二键值按照所述预定算法查找所述FIB表项,获取所述数据包的转发地址;或者,
根据所述索引值获取所述FIB表项的查找范围;将所述数据包的目的地址中的第二预定字段作为第三键值,在所述FIB表项的查找范围内按照所述预定算法查找所述FIB表项,获取所述数据包的转发地址。
5.根据权利要求1所述的转发数据包的方法,其特征在于,
所述预先设置的TCAM表项采用片内TCAM实现,或者,采用片外TCAM实现。
6.根据权利要求1所述的转发数据包的方法,其特征在于,
所述预先设置的FIB表项存储于片内随机存取存储器中,或者,存储于片外随机存取存储器中。
7.根据权利要求1所述的转发数据包的方法,其特征在于,所述数据包的目的地址包括:
目的IP地址,或者,所述目的IP地址与预定网络号的组合。
8.根据权利要求1所述的转发数据包的方法,其特征在于,
从所述目的地址中取出的第一预定字段为所述目的地址的前预定长度的字段。
9.根据权利要求1或3所述的转发数据包的方法,其特征在于,所述预定算法包括:
Trie算法,或者B-tree算法。
10.一种转发数据包的装置,其特征在于,包括:
提取单元,用于从所接收到的数据包的目的地址中取出第一预定字段作为键值;
第一查找单元,用于根据由所述提取单元提取的键值查找预先设置的TCAM表项,获取所述TCAM表项返回的索引值;
第二查找单元,用于根据由所述第一查找单元获取的索引值和所述数据包的目的地址中的第二预定字段,按照预定算法查找预先设置的FIB表项,获取所述数据包的转发地址。
11.根据权利要求10所述的转发数据包的装置,其特征在于,所述装置还包括:
第三查找单元,用于当没有命中所述TCAM表项时,根据所述目的地址的完整字段按照预定算法查找预先设置的FIB表项,获取所述数据包的转发地址。
12.根据权利要求10所述的转发数据包的装置,其特征在于,所述第二查找单元包括:
生成单元,用于将由所述第一查找单元获取的索引值和所述数据包的目的地址中的第二预定字段相结合,构成第二键值;第一查找子单元,用于根据由所述生成单元生成的第二键值按照所述预定算法查找所述FIB表项,获取所述数据包的转发地址;或者,
获取单元,用于根据由所述第一查找单元获取的索引值获取所述FIB表项的查找范围;第二查找子单元,用于将所述数据包的目的地址中的第二预定字段作为第三键值,在由所述获取单元所获取的FIB表项的查找范围内按照所述预定算法查找所述FIB表项,获取所述数据包的转发地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010183334.9/1.html,转载请声明来源钻瓜专利网。