[发明专利]获取下一跳路由的方法和装置无效
| 申请号: | 200810097473.2 | 申请日: | 2008-05-27 |
| 公开(公告)号: | CN101282296A | 公开(公告)日: | 2008-10-08 |
| 发明(设计)人: | 游南林 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L12/24 |
| 代理公司: | 北京三高永信知识产权代理有限责任公司 | 代理人: | 何文彬 |
| 地址: | 518129广东省*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 获取 一跳 路由 方法 装置 | ||
技术领域
本发明涉及网络管理领域,特别涉及一种获取下一跳路由的方法和装置。
背景技术
目前路由器上利用哈希算法选择下一跳路由的应用越来越多,例如在选择多下一跳路由时,希望报文流量均匀分布到各个路由上,这时就需要利用哈希算法来均匀选择多下一跳路由。具体做法是,接收报文,根据报文的目的地址查询路由表获取报文的下一跳路由数;计算报文的哈希值,哈希值具体取值范围为0~(P-1),其中P(P为正然数)为最大可能负担的下一跳路由数;根据报文的哈希值查询下一跳路由的路由信息表得到下一跳路由信息;根据下一跳路由信息转发报文。其中,下一跳路由的路由信息表的所能存储的下一跳路由的表项数取值为N,N(N为正然数)和P相等;路由表存储报文的目的地址、报文的源地址、源端口、目的端口等信息。
参见图1,接收报文,根据根据报文的目的地址查询路由表获取报文的下一跳路由数M(M为正整数)为3,分别为A号路由、B号路由和C号路由;计算报文的哈希值,哈希值具体取值范围为0~(P-1)=7,此时P取值为8。向下一跳路由的路由路由信息表下发报文的下一跳路由信息,分别为A号路由信息、B号路由信息、C号路由信息、A号路由信息、B号路由信息、C号路由信息、A号路由信息、B号路由信息。如果对报文计算的哈希值为3,则将路由信息表的首地址加上3,进而选择A号路由信息;如果对报文计算的哈希值为5,则将路由信息表的首地址加上5,进而选择C号路由信息;如果对报文计算的哈希值为7,则将路由信息表的首地址加上7,进而选择B号路由信息。由于得到每一个哈希值的概率相同,因此,选择流经A号路由、B号路由和C号路由的报文流量比为3∶3∶2。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于现有技术中,P取值为2≤P≤16,且P和下一跳路由的路由信息表的表项数取值N必须相等,当下一跳路由的路由信息表的表项数取值N不能被下一跳路由数M整除时,则会导致流经下一跳路由报文流量分布不均匀。如果提高P的取值,则会增加设备成本。
发明内容
为了提高路由负载的均匀度,本发明实施例提供了一种获取下一跳路由的方法和装置。所述技术方案如下:
一种获取下一跳路由的方法,所述方法包括:
接收报文;
根据所述报文的目的地址查询路由表获取所述报文的下一跳路由数,所述下一跳路由数至少为两条;
当所述下一跳路由的路由信息表的表项数不能被所述下一跳路由数整除时,计算报文的哈希值,所述哈希值的取值个数大于所述下一跳路由的路由信息表的表项数;
根据所述哈希值获取对应的路由索引;
根据所述对应的路由索引获取下一跳路由信息。
一种路由索引表的生成方法,包括:
接收报文;
根据所述报文的目的地址查询路由表获取所述报文的下一跳路由数,所述下一跳路由数至少为两条;
当所述下一跳路由的路由信息表的表项数不能被所述下一跳路由数整除时,计算所述报文的哈希值,所述报文的哈希值的取值个数大于所述下一跳路由的路由信息表的表项数;
根据所述哈希值的取值个数建立所述报文的路由索引表,所述路由索引表的中路由索引的个数为所述哈希值的取值个数;
将所述下一跳路由的路由索引环填充在所述路由索引表中,直到所述路由索引表的表项被填满。
一种路由边界值表的生成方法,包括:
接收报文;
根据所述报文的目的地址查询路由表获取所述报文的下一跳路由数,所述下一跳路由数至少为两条;
当所述下一跳路由的路由信息表的表项数不能被所述下一跳路由数整除时,计算所述报文的哈希值,所述报文的哈希值的取值个数大于所述下一跳路由的路由信息表的表项数;
根据所述下一跳路由数的条数和所述哈希值的取值个数生成所述报文的路由边界值表,所述路由边界值表的边界值的个数为所述下一跳路由数的条数,所述路由边界值表的第一个边界值为所述哈希值的取值个数与所述下一跳路由数的条数的商加上1,所述哈希值的取值个数与所述下一跳路由数的条数的商的余数减1,所述路由边界值表的第二个边界值为所述商乘2加上2,所述哈希值的取值个数与所述下一跳路由数的条数的商的余数减2,依次类推,直到所述哈希值的取值个数与所述下一跳路由数的条数的商的余数为0,所述路由边界值表的最后一个边界值为所述哈希值的取值个数。
一种获取下一跳路由的装置,包括:
接收模块,用于接收报文;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810097473.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:专利技术关联性分析方法
- 下一篇:一种压力传感器的温度漂移的补偿方法





