【技术实现步骤摘要】
一种报文转发方法及装置
本公开涉及网络通信
,尤其涉及一种报文转发方法及装置。
技术介绍
ECMP(EqualCostMultiplePath,等价路由)是当前网络中普遍使用的一种多路径负载均衡和链路备份的技术,其缺点较明显,就是当不同链路的可用带宽不同时,带宽的利用率比较低。例如:两条链路,链路一可用带宽10G,链路二可用带宽是1G,如果要在这两条路径上部署ECMP,由于两条链路对流量均衡负载分担,总带宽最多只能是2G,否则链路二会超带宽丢包。UCMP(UnequalCostMultiplePath,非等价路由)可以很好的解决ECMP遇到的带宽利用率低的问题,用户可以根据链路带宽不同,设置其分担不同比例的流量,仍以上一示例为例,当在这两条路径上部署UCMP时,可以指定链路一分担流量的权值为10,链路二分担流量的权值为1,这样流量的10/11将会走链路一,剩余的1/11将会走链路二,提高了链路利用率。
技术实现思路
本公开提供一种报文转发方法及装置,以解决现有UCMP实现方案中的下一跳数据下发方式会消耗大量的资源的问题根据本公开的第一方面,提供一种报文转发方法,应用于支持UCMP的转发设备,所述方法包括:对于本地存在多个非等价下一跳的转发信息库FIB表项,根据各下一跳对应的出口带宽确定各下一跳的权值;当接收到报文,且确定所述报文匹配的目标FIB表项存在多个非等价下一跳时,根据所述报文的指定特征,利用预设算法,得到第一数值,并利用所述第一数值对目标FIB表项的各下一跳的权值之和取余,得到第二数值;根据所述第二数值从所述目标FIB表项对应的目标下一跳数组中确 ...
【技术保护点】
1.一种报文转发方法,应用于支持非等价路由UCMP的转发设备,其特征在于,所述方法包括:对于本地存在多个非等价下一跳的转发信息库FIB表项,根据各下一跳对应的出口带宽确定各下一跳的权值;当接收到报文,且确定所述报文匹配的目标FIB表项存在多个非等价下一跳时,根据所述报文的指定特征,利用预设算法,得到第一数值,并利用所述第一数值对目标FIB表项的各下一跳的权值之和取余,得到第二数值;根据所述第二数值从所述目标FIB表项对应的目标下一跳数组中确定用于转发所述报文的目标下一跳;其中,所述第二数值大于所述目标下一跳数组中所述目标下一跳之前的各下一跳的权值之和,且小于等于所述目标下一跳数组中所述目标下一跳之前的各下一跳与所述目标下一跳的权值之和。
【技术特征摘要】
1.一种报文转发方法,应用于支持非等价路由UCMP的转发设备,其特征在于,所述方法包括:对于本地存在多个非等价下一跳的转发信息库FIB表项,根据各下一跳对应的出口带宽确定各下一跳的权值;当接收到报文,且确定所述报文匹配的目标FIB表项存在多个非等价下一跳时,根据所述报文的指定特征,利用预设算法,得到第一数值,并利用所述第一数值对目标FIB表项的各下一跳的权值之和取余,得到第二数值;根据所述第二数值从所述目标FIB表项对应的目标下一跳数组中确定用于转发所述报文的目标下一跳;其中,所述第二数值大于所述目标下一跳数组中所述目标下一跳之前的各下一跳的权值之和,且小于等于所述目标下一跳数组中所述目标下一跳之前的各下一跳与所述目标下一跳的权值之和。2.根据权利要求1所述的方法,其特征在于,FIB表对应的下一跳数组中包括第一类型字段和第二类型字段,所述下一跳数组中任一下一跳的第一类型字段的值为该下一跳数组中该任一下一跳之前的各下一跳与该任一下一跳的权值之和,第二类型字段的值为该下一跳数组中该任一下一跳之前的各下一跳的权值之和;所述根据所述第二数值从所述目标FIB表项对应的目标下一跳数组中确定用于转发所述报文的目标下一跳,包括:从所述目标下一跳数组中选择候选下一跳;若候选下一跳的第一类型字段的值大于所述第二数值,第二类型字段的值小于等于所述第二数值,则将该候选下一跳确定为目标下一跳;否则,重新选择候选下一跳。3.根据权利要求1所述的方法,其特征在于,FIB表对应的下一跳数组中包括第三类型字段和第四类型字段,所述下一跳数组中任一下一跳的第三类型字段的值为该下一跳数组中该任一下一跳之前的各下一跳与该任一下一跳的权值之和,第四类型字段的值为该任一下一跳的权值;所述根据所述第二数值从所述目标FIB表项对应的目标下一跳数组中确定用于转发所述报文的目标下一跳,包括:从所述目标下一跳数组中选择候选下一跳;若候选下一跳的第三类型字段的值大于所述第二数值,第三类型字段的值与第四类型字段的值的差值小于等于所述第二数值,则将该候选下一跳确定为目标下一跳;否则,重新选择候选下一跳。4.根据权利要求2或3所述的方法,其特征在于,所述从所述目标下一跳数组中选择候选下一跳,包括:按照从前往后的顺序或从后往前的顺序依次选择目标下一跳数组中各下一跳为候选下一跳。5.根据权利要求2或3所述的方法,其特征在于,所述从所述目标下一跳数组中选择候选下一跳,包括:利用二分法从所述目标下一跳数组中选择候选下一跳。6.一种报文转发装置,应用于支持非等价路由UCMP的转发设备,其特征在于,所述装置包括:第一确定单元,用于对于本地存在多个非等价下一跳的转发信息库FIB表项,根据各下一跳对应的出口带宽确定各下一跳的权值;接收单元,用于接收报文;第二确定单元,还用于当所述接收单元接收到报文,且确定所述报文匹配的目标FIB表项存在多个非等价下一跳时,根据所述报文的指定特征,利用预设算法,得到第一数值,并利用所述第一数值对目标FIB表项的各下一跳的权值之和取余,得到第二数值;第三确定单元,用于根据所述第二数值从所述目标FIB表项对应的目标下一跳数组中确定用于转发所述报文的目标下一跳;其中,所述第二数值大于所述目标下一跳数组中所述目标下一跳之前的各下一跳的权值之和...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。