路进行编号为O到M-1。在计算哈希值时,处理器可以提取所述数据报文中的部分字段;对所述提取的部分字段所组成的字节序列进行循环冗余校验计算得到所述哈希值。且当上述取余值对应某一虚拟子链路时,处理器在确定该虚拟子链路是属于哪一个实际链路时,可以用上述取余单元得到的取余值与一个实际链路所包括的虚拟子链路数相除得到的商的整数部分,该整数部分就可以对应某一个实际链路的编号,从而得到了虚拟子链路对应的实际链路。
[0128]本发明实施例还提供一种报文转发系统,其结构示意图如上述图1b所示,包括第一通信设备(即通信设备I)和第二通信设备(即通信设备2),在所述第一通信设备与第二通信设备之间具有转发数据报文的多条实际链路;其中第一通信设备的结构可以如上述设备实施例中所述的数据报文转发装置或通信设备的结构,在此不进行赘述。
[0129]本发明实施例还提供另一种报文转发系统,其结构示意图如上述图1a所示,包括第一通信设备(即通信设备I)和多个第二通信设备(即通信设备21到2m),在所述第一通信设备与所述多个第二通信设备之间分别具有一条转发数据报文的实际链路;其中第一通信设备的结构可以如上述设备实施例中所述的数据报文转发装置或通信设备的结构,在此不进行赘述。
[0130]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
[0131]以上对本发明实施例所提供的报文转发方法、系统及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种报文转发方法,其特征在于,包括: 确定链路总数为2的整数次幂,所述链路总数包括添加的虚拟链路数和转发数据报文的实际链路数之和; 计算所述数据报文对应的哈希值,并用所述哈希值对所述链路总数进行取余; 如果所述哈希值对所述链路总数的取余值对应所述虚拟链路,则计算所述数据报文对应的另一哈希值,并基于所述另一哈希值返回执行所述取余的步骤,循环操作直到所述数据报文对应的哈希值对所述链路总数的取余值对应所述实际链路,并在所述实际链路中转发所述数据报文;或,如果所述哈希值对所述链路总数的取余值对应所述虚拟链路,则用所述数据报文对应的哈希值对所述实际链路数进行取余,并在对所述实际链路数的取余值对应的实际链路中转发所述数据报文; 如果所述哈希值对所述链路总数的取余值对应所述实际链路,则在所述实际链路中转发所述数据报文。2.如权利要求1所述的方法,其特征在于,所述计算所述数据报文对应的哈希值,具体包括: 提取所述数据报文中的部分字段; 对所述提取的部分字段所组成的字节序列进行循环冗余校验计算得到所述哈希值。3.—种报文转发方法,其特征在于,包括: 确定链路总数为2的整数次幂,所述链路总数中包括转发数据报文的实际链路扩展成的虚拟子链路数,及添加的虚拟链路数之和; 计算所述数据报文对应的哈希值,并用所述哈希值对所述链路总数进行取余; 如果所述哈希值对所述链路总数的取余值对应所述虚拟链路,则计算所述数据报文的另一哈希值,并基于所述另一哈希值返回执行所述取余的步骤,循环操作直到所述数据报文对应的哈希值对所述链路总数的取余值对应所述实际链路的某一虚拟子链路,并在所述实际链路中转发所述数据报文;或, 如果所述哈希值对所述链路总数的取余值对应所述虚拟链路,则用所述数据报文对应的哈希值对所述虚拟子链路数进行取余,并在对所述虚拟子链路数的取余值对应的虚拟子链路所属的实际链路中转发所述数据报文。4.如权利要求3所述的方法,其特征在于,所述方法还包括: 如果所述哈希值对所述链路总数的取余值对应某一虚拟子链路,则在所述某一虚拟子链路对应的实际链路中转发所述数据报文。5.如权利要求3或4所述的方法,其特征在于,所述确定链路总数为2的整数次幂之前,还包括: 确定转发数据报文的每个实际链路需要扩展的虚拟子链路数; 将所述确定的虚拟子链路数与所述实际链路数相乘得到积数,并确定与所述积数相加得到2的整数次幂的相加值; 如果所述相加值小于预置的值,则将所述相加值作为需要添加的虚拟链路数,如果所述相加值大于预置的值,则返回确定所述每个实际链路需要扩展的另一虚拟子链路数,并针对所述另一虚拟子链路数确定对应的所述相加值; 所述确定链路总数为2的整数次幂,具体包括:确定所述链路总数为所述积数和相加值的和。6.如权利要求3或4所述的方法,其特征在于,所述计算所述数据报文对应的哈希值,具体包括: 提取所述数据报文中的部分字段; 对所述提取的部分字段所组成的字节序列进行循环冗余校验计算得到所述哈希值。7.一种报文转发装置,其特征在于,包括: 链路确定单元,用于确定链路总数为2的整数次幂,所述链路总数包括添加的虚拟链路数和转发数据报文的实际链路数之和; 取余单元,用于计算所述数据报文对应的哈希值,并用所述哈希值对所述链路确定单元确定的链路总数进行取余; 通知单元,用于如果所述取余单元得到的哈希值对所述链路总数的取余值对应所述虚拟链路,则通知所述取余单元计算所述数据报文的另一哈希值,并基于所述另一哈希值执行所述取余的步骤;转发单元,用于当所述取余单元和通知单元循环操作直到所述数据报文对应的哈希值对所述链路总数的取余值对应所述实际链路时,在所述实际链路中转发所述数据报文;或, 所述通知单元,用于如果所述取余单元得到的哈希值对所述链路总数的取余值对应所述虚拟链路,则通知所述取余单元用所述数据报文对应的哈希值对所述实际链路数进行取余;所述转发单元,用于在所述取余单元对所述实际链路数的取余值对应的实际链路中转发所述数据报文; 所述转发单元,还用于如果所述取余单元得到的哈希值对所述链路总数的取余值对应所述实际链路,则在所述实际链路中转发所述数据报文。8.如权利要求7所述的装置,其特征在于, 所述取余单元,具体用于提取所述数据报文中的部分字段;对所述提取的部分字段所组成的字节序列进行循环冗余校验计算得到所述哈希值。9.一种报文转发装置,其特征在于,包括: 链路确定单元,用于确定链路总数为2的整数次幂,所述链路总数中包括转发数据报文的实际链路扩展成的虚拟子链路数,及添加的虚拟链路数之和; 取余单元,用于计算所述数据报文对应的哈希值,并用所述哈希值对所述链路确定单元确定的链路总数进行取余; 通知单元,用于如果所述取余单元得到的哈希值对所述链路总数的取余值对应所述虚拟链路,则通知所述取余单元计算所述数据报文的另一哈希值,并基于所述另一哈希值执行所述取余的步骤;转发单元,用于当所述取余单元和通知单元循环操作直到所述数据报文对应的哈希值对所述链路总数的取余值对应所述实际链路的某一虚拟子链路时,在所述实际链路中转发所述数据报文;或, 所述通知单元,用于如果所述取余单元得到的哈希值对所述链路总数的取余值对应所述虚拟链路,则通知所述取余单元用所述数据报文对应的哈希值对所述虚拟子链路数进行取余;所述转发单元,用于在所述取余单元对所述虚拟子链路数的取余值对应的虚拟子链路所属的实际链路中转发所述数据报文。10.如权利要求9所述的装置,其特征在于, 所述转发单元,还用于如果所述取余单元得到的哈希值对所述链路总数的取余值对应某一虚拟子链路,则在所述某一虚拟子链路对应的实际链路中转发所述数据报文。11.如权利要求9或10所述的装置,其特征在于, 所述链路确定单元,还用于确定转发数据报文的每个实际链路需要扩展的虚拟子链路数;将所述确定的虚拟子链路数与所述实际链路数相乘得到积数,并确定与所述积数相加得到2的整数次幂的相加值;如果所述相加值小于预置的值,则将所述相加值作为需要添加的虚拟链路数,确定所述链路总数为所述积数和相加值的和;如果所述相加值大于预置的值,则返回确定所述每个实际链路需要扩展的另一虚拟子链路数,并针对所述另一虚拟子链路数确定对应的所述相加值。12.如权利要求9或10所述的装置,其特征在于, 所述取余单元,具体用于提取所述数据报文中的部分字段;对所述提取的部分字段所组成的字节序列进行循环冗余校验计算得到所述哈希值。13.一种报文转发系统,其特征在于,包括第一通信设备和第二通信设备,在所述第一通信设备与第二通信设备之间具有多条实际链路; 所述第一通信设备是如权利要求7至12任一项所述的报文转发装置。14.一种报文转发系统,其特征在于,包括第一通信设备和多个第二通信设备,在所述第一通信设备与所述多个第二通信设备分别具有一条实际链路; 所述第一通信设备是如权利要求7至12任一项所述的报文转发装置。
【专利摘要】本发明实施例公开了报文转发方法、系统及装置,应用于通信技术领域。通信设备会通过数据报文的哈希值对确定的链路总数进行取余,该链路总数为2的整数次幂,可以包括添加的虚拟链路数和转发数据报文的实际链路数之和;如果哈希值对链路总数的取余值对应虚拟链路,则计算数据报文的另一哈希值,并基于另一哈希值执行所述取余的步骤;循环操作直到数据报文对应的哈希值对链路总数的取余值对应实际链路,并在实际链路中转发数据报文;或如果哈希值对链路总数的取余值对应虚拟链路,则用数据报文的哈希值直接对实际链路总数进行取余,并在取余值对应的实际链路中转发数据报文。能尽可能地将数据报文均匀地分配到实际链路上,从而降低对业务的影响。
【IPC分类】H04L12/707, H04L12/803, H04L12/46
【公开号】CN104954249
【申请号】CN201410120857
【发明人】张波, 佟兴
【申请人】华为技术有限公司
【公开日】2015年9月30日
【申请日】2014年3月27日
【公告号】WO2015143981A1