本发明涉及通信
技术领域:
,尤其涉及一种多路径选择方法及设备。
背景技术:
:随着数据中心(DataCenter,DC)网络规模的迅速扩大,其拓扑结构也日趋复杂,DC网络两个网络设备之间部署了包含多条路径的多路径组。采用多路径选择方法,可以让携带有目的地址的报文从多路径组中选择对应的路径传递,在增加传输带宽的同时,还可以让该多路径组中的其他路径作为备份故障路径,以使数据传输不被中断。在这个过程中,需要用到路径映射表和多路径表。路径映射表的表项中记录有多路径组中可用路径的路径索引,多路径表的表项记录对应路径的路径信息。当网络设备接收到报文时,可以对该报文计算获得路径的路径索引,并根据所述路径映射表将计算出的路径的路径索引映射成可用路径的路径索引,从而确认出可用的路径。最后根据所述可用的路径读取多路径表中对应的路径信息。举例说明,若所述多路径组中可用路径为路径1和路径2,且所述网络设备可以预先设定路径1的路径索引为[1],路径2的路径索引为[2],如表1A、表1B所示,所述路径映射表的表项可以记录路径1和路径2的路径索引[1]、[2],比如所述路径映射表的第一个表项记录路径索引[1]、第二个表项记录[2]、第三个表项记录[1]和第四个表项记录[2]。所述多路径表路径索引为[1]的表项(第二表项)中对应路径1的路径信息,在路径索引为[2]的表项(第三个表项)中记录对应路径2的路径信息,其他表项可不记录路径信息。其中为了便于描述,表1A、1B中左侧[0]、[1]、[2]和[3]用来表示表项的索引,实际并不被记录在内。表1A路径映射表[0]—>[1][1]—>[2][2]—>[1][3]—>[2]表1B多路径表[0][1]路径1路径信息[2]路径2路径信息[3]若所述网络设备根据所述报文计算得到路径索引为[2],则所述网络设备根据表1A将路径索引[2]映射成可用路径的路径索引[1],从而确认出可用路径1,并在表1B读取路径索引[1]对应的路径1的路径信息。但是,实践中发现,所述网络设备是通过所述路径映射表记录的可用路径的路径索引,将根据所述报文计算出的路径索引映射成可用路径的路径索引,从而确认出可用的路径。所述路径映射表中记录的可用路径的路径索引占用较大的存储资源,导致该多路径选路系统的内存需求较大。技术实现要素:本发明实施例公开了一种多路径选择方法及设备,能够降低多路径选路系统的内存需求。第一方面,本发明实施例公开了一种多路径选择方法,所述方法包括:维护路径状态表和多路径表,所述路径状态表的表项与多路径组中路径一一对应,所述路径表的表项中均记录有对应路径的路径状态标记,所述路径状态标记用于指示对应路径是否可用,如果所述路径状态标记被记为有效,则表明对应的路径可用,所述多路径表的表项与所述多路径组中路径一一对应,所述多路径表的表项中记录对应路径的路径信息;接收报文,根据所述报文获得多条路径的路径索引;根据所述多条路径的路径索引查询所述路径状态表,确认可用的多条路径,并从所述可用的多条路径中选择目标可用路径;根据所述目标可用路径读取多路径表中对应的路径信息,并根据所述路径信息转发所述报文。本发明实施例中,路径状态表替代了现有技术中的路径映射表,路经状态表中的路径状态标记比路径映射表中的路径索引占用更少的存储资源,降低了多路径选择系统的内存需求。在一种可能的设计中,根据所述报文获得多条路径的路径索引,包括:通过多个哈希Hash函数分别对所述报文进行计算,得到多个Hash计算值,并根据所述多个Hash计算值和所述多路径组的最大路径数目K,生成多条路径的路径索引。通过本发明实施例提供的方案,通过所述K对所述M个Hash值取模计算,使计算出的路径索引小于所述K,保证了所述网络设备能够根据计算出的路径索引在上述多路径表或路径状态表中查找到对应的信息,比如对应的路径信息或对应的路径状态标记等。在一种可能的设计中,从所述可用的多条路径中选择目标可用路径,包括:从所述可用的多条路径的路径索引中,选择优先级最高的目标路径索引;以及将所述目标路径索引对应的路径作为目标可用路径。在一种可能的设计中,所述方法还包括:在所述多路径组中的路径状态发生变化的情况下,更新状态发生变化的路径的路径状态标记。进一步地,在所述多路径组中的路径发生故障的情况下,将发生故障的路径的路径状态标记记为无效。或者,在所述多路径组中发生故障的路径恢复正常,或新增路径的情况下,将恢复正常的路径和新增的路径的路径状态标记记为有效。通过本发明实施例提供的方案,当所述多路径组中路径状态发生变化的情况下,比如所述多路径组中路径发生故障、发生故障的路径恢复正常或所述多路径组中新增路径等,所述网络设备只需更新状态发生变化的路径的路径状态标记即可,系统维护简单。在一种可能的设计中,所述方法还包括:在根据所述多条路径的路径索引查询所述路径状态表,确认没有可用的多条路径的情况下,选择默认路径信息,并根据所述默认路径信息转发所述报文。通过本发明实施例提供的方案,当所述多路径组中多条路径同时不可用时,所述网络设备仍可以通过所述默认路径将所述报文转发到目的地址,提高了系统的健壮性。第二方面,本发明实施例公开了一种网络设备,所述设备包括:路径表维护单元,用于维护路径状态表和多路径表,所述路径状态表的表项与多路径组中路径一一对应,所述路径表的表项中均记录有对应路径的路径状态标记,所述路径状态标记用于指示对应路径是否可用,如果所述路径状态标记被记为有效,则表明对应的路径可用,所述多路径表的表项与所述多路径组中路径一一对应,所述多路径表的表项中记录对应路径的路径信息;接收单元,用于接收报文;路径选择单元,用于根据所述报文获得多条路径的路径索引;以及,根据所述多条路径的路径索引查询所述路径状态表,确认可用的多条路径,并从所述可用的多条路径中选择目标可用路径;以及,根据所述目标可用路径读取多路径表中对应的路径信息,并根据所述路径信息转发所述报文。本发明实施例中,路径状态表替代了现有技术中的路径映射表,路经状态表中的路径状态标记比路径映射表中的路径索引占用更少的存储资源,降低了多路径选择系统的内存需求。在一种可能的设计中,所述路径选择单元,在执行所述根据所述报文获得多条路径的路径索引操作时,具体用于通过多个哈希Hash函数分别对所述报文进行计算,得到多个Hash计算值,并根据所述多个Hash计算值和所述多路径组的最大路径数目K,生成多条路径的路径索引。通过本发明实施例提供的方案,通过所述K对所述M个Hash值取模计算,使计算出的路径索引小于所述K,保证了所述网络设备能够根据计算出的路径索引在上述多路径表或路径状态表中查找到对应的信息,比如对应的路径信息或对应的路径状态标记等。在一种可能的设计中,所述路径选择单元,在执行所述从所述可用的多条路径中选择目标可用路径的操作时,具体用于从所述可用的多条路径的路径索引中,选择优先级最高的目标路径索引;以及将所述目标路径索引对应的路径作为目标可用路径。在一种可能的设计中,所述设备还包括更新单元,用于在所述多路径组中的路径状态发生变化的情况下,更新状态发生变化的路径的路径状态标记。进一步地,所述更新单元,具体用于在所述多路径组中的路径发生故障的情况下,将发生故障的路径的路径状态标记记为无效。或者,所述更新单元,具体用于在所述多路径组中发生故障的路径恢复正常,或新增路径的情况下,将恢复正常的路径和新增的路径的路径状态标记记为有效。通过本发明实施例提供的方案,当所述多路径组中路径状态发生变化的情况下,比如所述多路径组中路径发生故障、发生故障的路径恢复正常或所述多路径组中新增路径等,所述网络设备只需更新状态发生变化的路径的路径状态标记即可,系统维护简单。在一种可能的设计中,所述路径选择单元,还用于在根据所述多条路径的路径索引查询所述路径状态表,确认没有可用的多条路径的情况下,选择默认路径信息,并根据所述默认路径信息转发所述报文。通过本发明实施例提供的方案,当所述多路径组中多条路径同时不可用时,所述网络设备仍可以通过所述默认路径将所述报文转发到目的地址,提高了系统的健壮性。第三方面,本发明实施例公开了一种网络设备,包括处理器、与所述处理器连接的输入装置,以及与所述处理器连接的存储器,其中所述存储器用于存储一组程序代码、路径状态表和多路径表;通过所述输入装置接收报文;所述处理器调用所述存储器中存储的程序代码执行以下操作:维护路径状态表和多路径表,所述路径状态表的表项与多路径组中路径一一对应,所述路径表的表项中均记录有对应路径的路径状态标记,所述路径状态标记用于指示对应路径是否可用,如果所述路径状态标记被记为有效,则表明对应的路径可用,所述多路径表的表项与所述多路径组中路径一一对应,所述多路径表的表项中记录对应路径的路径信息;接收报文,根据所述报文获得多条路径的路径索引;根据所述多条路径的路径索引查询所述路径状态表,确认可用的多条路径,并从所述可用的多条路径中选择目标可用路径;根据所述目标可用路径读取多路径表中对应的路径信息,并根据所述路径信息转发所述报文。本发明实施例中,路径状态表替代了现有技术中的路径映射表,路经状态表中的路径状态标记比路径映射表中的路径索引占用更少的存储资源,降低了多路径选择系统的内存需求。在一种可能的设计中,所述处理器执行所述根据所述报文获得多条路径的路径索引操作的具体方式为:通过多个哈希Hash函数分别对所述报文进行计算,得到多个Hash计算值,并根据所述多个Hash计算值和所述多路径组的最大路径数目K,生成多条路径的路径索引。通过本发明实施例提供的方案,通过所述K对所述M个Hash值取模计算,使计算出的路径索引小于所述K,保证了所述网络设备能够根据计算出的路径索引在上述多路径表或路径状态表中查找到对应的信息,比如对应的路径信息或对应的路径状态标记等。在一种可能的设计中,所所述处理器执行所述从所述可用的多条路径中选择目标可用路径的具体方式为:从所述可用的多条路径的路径索引中,选择优先级最高的目标路径索引;以及将所述目标路径索引对应的路径作为目标可用路径。在一种可能的设计中,所述处理器还执行以下操作:在在所述多路径组中的路径状态发生变化的情况下,更新状态发生变化的路径的路径状态标记。进一步地,在所述多路径组中的路径发生故障的情况下,将发生故障的路径的路径状态标记记为无效。或者,在所述多路径组中发生故障的路径恢复正常,或新增路径的情况下,将恢复正常的路径和新增的路径的路径状态标记记为有效。通过本发明实施例提供的方案,当所述多路径组中路径状态发生变化的情况下,比如所述多路径组中路径发生故障、发生故障的路径恢复正常或所述多路径组中新增路径等,所述网络设备只需更新状态发生变化的路径的路径状态标记即可,系统维护简单。在一种可能的设计中,所述处理器还执行以下操作:在根据所述多条路径的路径索引查询所述路径状态表,确认没有可用的多条路径的情况下,选择默认路径信息,并根据所述默认路径信息转发所述报文。通过本发明实施例提供的方案,当所述多路径组中多条路径同时不可用时,所述网络设备仍可以通过所述默认路径将所述报文转发到目的地址,提高了系统的健壮性。实施本发明实施例,具有以下有益效果:本发明实施例中,所述网络设备是根据所述路径状态表中记录的路径状态标记,确认多路径中可用的路径,即当路径状态标记为有效时,则表明对应的路径为可用路径。可见,与现有技术中,所述网络设备通过所述路径映射表记录的可用路径的路径索引,将根据所述报文计算出的路径索引映射成可用路径的路径索引,从而确认出可用的路径相比,本发明实施例用路径状态表替代了现有技术中的路径映射表,即用占用存储资源较小的路径状态标记代替占用存储资源较大的可用路径的路径索引,降低了多路径选择系统的内存需求。附图说明为了更清楚地说明本发明实施例或
背景技术:
中的技术方案,下面将对本发明实施例或
背景技术:
中所需要使用的附图进行说明。图1是本发明实施例公开的一种DC网络架构示意图;图2是本发明实施例公开的一种多路径选择方法的流程示意图;图3是本发明实施例公开的一种多路径选路方法的示意图;图4是本发明实施例公开的另一种多路径选路方法的示意图;图5是本发明实施例公开的另一种多路径选路方法的示意图;图6是本发明实施例公开的另一种多路径选路方法的示意图;图7是本发明实施例公开的另一种多路径选路方法的示意图;图8是本发明实施例公开的另一种多路径选路方法的示意图;图9是本发明实施例公开的一种网络设备的结构示意图;图10是本发明实施例公开的另一种网络设备的结构示意图;图11是本发明实施例公开的另一种网络设备的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。为了便于理解本发明实施例,下面先对本发明实施例的网络架构进行描述。请参见图1,图1是本发明实施例的一种DC网络的架构图。如图1所示,所述DC网络包括网络设备R1至R6,并在R1和R6之间部署了R1R2R6、R1R3R6、R1R4R6和R1R5R6这4条路径,这4条路径构成了一个多路径组。当R1接收到以设备R6为目标的报文时,采用多路径选择方法可以从上述多路径组中选择合适的路径将所述报文转发到R6。尽管图1描绘了R1至R6六个网络设备,但是DC网络可包括不同数目的网络设备,其中所述网络设备可以包括具有“路由”功能的网络设备,比如路由器或交换机等。请参见图2,图2所示的是一种多路径选择方法的流程示意图。如图2所示,本发明实施例可以执行以下步骤。步骤S201、维护路径状态表和多路径表。需要说明的是,为了便于描述,本发明实施例可以定义所述路径状态表和多路径表中只记录一个多路径组,且所述多路径组中各路径的目的地址与本发明实施例中报文的目的地址相同,即所述报文可以通过所述多路径组的路径到达目的地址。至于若所述路径状态表和多路径表中记录多个多路径组、且所述多个多路径组各自的目的地址不同时,则所述网络设备可以先从所述多个多路径组中选择与所述报文的目的地址相同的多路径组,然后再按照本发明实施例提供的方案从选择出所述多路径组中选择合适的路径转发所述报文,在此不再赘述。其中所述路径状态表的表项与多路径组中路径一一对应,所述路径表的表项中均记录有对应路径的路径状态标记,所述路径状态标记用于指示对应路径是否可用,如果所述路径状态标记被记为有效,则表明对应的路径可用。在一种可选的实施方式中,所述网络设备可以预先设置多路径组中各个路径的路径索引。所述网络设备在维护所述路径状态表过程中,可以在所述路径索引处的表项中记录对应路径的路径状态标记,从而实现所述路径状态表的表项与多路径组中路径一一对应。进一步地,当所述网络设备检测到所述多路径组中某条路径为可用路径时,则所述网络设备可以将所述可用路径的路径索引处的表项记为有效的路径状态标记;当所述网络设备检测到所述多路径组中某条路径为不可用路径时,则所述网络设备可以将所述不可用路径的路径索引处的表项记为无效的路径状态标记。其中,所述网络设备可以预先设置路径的性能参数,比如路径的时延、路径的拥塞程度等,当所述网络设备检测到所述多路径组中某条路径的性能参数满足预设的所述性能参数时,则所述网络设备可以定义所述路径为可用路径,反之,当不满足时,则所述网络设备可以定义所述路径为不可用路径。比如,所述网络设备预先设置路径的时延为250ms,当所述网络设备检测到所述多路径组中某条路径的时延为200ms,小于250ms,则所述网络设备可以将所述路径定义为可用路径,反之,若所述网络检测到所述多路径组中某条路径的时延为260ms,大于250ms时,则所述网络设备可以将所述路径定义为不可用路径等。其中,所述路径状态标记可以用逻辑状态0和1表示,1可以为有效的路径状态标记,0可以为无效的路径状态标记。另外,所述路径状态表的表项的数目可以大于所述多路径组中路径的数目,即网络设备中在建立路径状态表时,不是按照多路径组中路径的数目给所述路径状态表分配的资源,而是分配了比所述多路径组中路径的数目所需的更多的资源。比如,所述网络设备可以按照硬件允许的最大路径数来设计路径状态表的表项数目,或是按照所述多路径组支持的路径的最大数目进行设计。在这里所说的资源,可以指所述路径状态表的表项。需要说明的是,对于所述路径状态表的表项的数目等于所述多路径组中路径的数目也适用于本发明实施例。举例说明,所述多路径组包括路径1、路径2、路径3、路径6和路径7五条路径,所述网络设备可以分别设置路径1、路径2、路径3、路径6和路径7的路径索引为[1]、[2]、[3]、[6]和[7],即路径1的路径索引为[1]、路径2的路径索引为[2]、路径3的路径索引为[3]、路径6的路径索引为[6]和路径7的路径索引为[7],且所述网络设备可以为所述多路径表分配8个表项。如表2A所示,若所述网络设备检测到检测所述多路径组中的路径1、路径2、路径3、路径6和路径7五条路径全为可用路径,则所述网络设备可以在所述五条路径的路径索引[1]、[2]、[3]、[6]和[7]处的表项中记为有效的路径状态标记1;同时,所述网络设备还可以将所述路径状态表中剩余的路径索引[0]、[4]和[5]处的表项中记为无效的路径状态标记0。表2A路径状态表[0]0[1]1[2]1[3]1[4]0[5]0[6]1[7]1如表2B所示,若所述网络设备检测到所述多路径组中的路径3为不可用路径,其余路径全为有用路径,则所述网络设备将路径3的路径索引[3]处的表项记为无效的路径状态标记0,以及将所述路径组中的其余路径1、路径2、路径6和路径7的路径索引[1]、[2]、[6]和[7]处的表项记为有效的路径状态标记1;同时,如表2B所示,所述网络设备还可以将所述路径状态表中剩余的路径索引[0]、[4]和[5]处的表项中记为无效的路径状态标记0。表2B路径状态表[0]0[1]1[2]1[3]0[4]0[5]0[6]1[7]1在另一种可选的实施例中,所述多路径表的表项与所述多路径组中路径一一对应,所述多路径表的表项中记录对应路径的路径信息。进一步地,所述网络设备在维护所述多路径表过程中,可以在所述多路径组中各个路径的路径索引处的表项中记录对应路径的路径信息,从而实现所述多路径表的表项与多路径组中路径一一对应。另外,所述多路径表的表项的数目可以大于所述多路径组中路径的数目,即网络设备中在建立多路径表时,不是按照多路径组中路径的数目给所述多路径表分配的资源,而是分配了比所述多路径组中路径的数目所需的更多的资源。比如,所述网络设备可以按照硬件允许的最大路径数来设计多路径表的表项数目,或是按照所述多路径组支持的路径的最大数目进行设计。在这里所说的资源,可以指所述多路径表的表项。需要说明的是,对于所述多路径表的表项的数目等于所述多路径组中路径的数目也适用于本发明实施例。接上述举例说明,所述多路径组包括路径1、路径2、路径3、路径6和路径7五条路径,且所述网络设备可以为所述多路径表分配8个表项。如表3所示,所述网络设备可以在所述多路径组的这五条路径的路径索引[1]、[2]、[3]、[6]和[7]处的表项记录对应路径的路径信息。比如,在路径索引[1]处的表项中记录路径1的路径信息,在路径索引[2]处的表项中记录路径2的路径信息、在路径索引[3]处的表项中记录路径3的路径信息、在路径索引[6]处的表项中记录路径6的路径信息和在路径索引[7]处的表项中记录路径7的路径信息。同时,所述网络设备还可以在所述多路径表中剩余的路径索引[0]、[4]和[5]处表项不记录路径信息或记录用于指示路径不可用的路径信息等,本发明实施例不作限定。所述路径信息可以包括由一串下一跳设备组成的路径信息,比如图1所示由下一跳设备R1、R2、R3、R4、R5和R6组成的R1R2R6、R1R3R6、R1R4R6和R1R5R6等路径信息;或者由不同的端口组成的路径信息等。表3多路径表需要说明的是,本发明实施例出现的[x](x=0,1,……,n,n为整数)表示路径索引,为了便于描述将[x]书写在表2A、表2B和表3的表项内,实际上[x]可以不被记录在内。S201、接收报文,根据所述报文获得多条路径的路径索引。所述网络设备可以根据所述报文的目的地址等字段,通过查表的方式查询到所述多条路径的路径索引。进一步地,所述网络设备可以预先建立目的地址与路径索引的对应表,当接收到所述报文时,所述网络设备可以获取所述报文的目的地址,再在所述对应表中查找获取的所述目的地址对应的路径索引即可。比如,所述对应表有第一目的地址、第二目的地址、路径索引[0]、路径索引[1]、路径索引[2]和路径索引[6],且第一目的地址对应路径索引[0]、路径索引[2]和路径索引[6],第二目的地址对应路径索引[1],若接收到目的地址为第一目的地址的报文,则所述网络设备可以根据所述第一目的地址查询到路径索引[0]、[2]和[6]。或者,所述网络设备还可以通过M个不同的Hash函数,对获取所述报文的源地址和目的地址等字段分别进行M次Hash计算得到M个Hash值;然后再对所述M个Hash值对最大路径数目K取模运算(ModuloOperation,Mod)得到M个路径索引,其中所述K可以为所述多路径组支持的最大的路径数目,或可以理解为上述多路径表或路径状态表中表项的数目,所述M为大于1的正整数。通过所述K对所述M个Hash值取模计算,使计算出的路径索引小于所述K,保证了所述网络设备能够根据计算出的路径索引在上述多路径表或路径状态表中查找到对应的信息,比如对应的路径信息或对应的路径状态标记等。举例说明,所述网络设备通过M=3个不同的Hash函数(第一Hash函数、第二Hash函数和第三Hash函数)分别对所述报文的源地址和目的地址等字段计算,得到8比特(bit)Hash值、10bitHash值和14bitHash值,令所述K为上述多路径表的表项数目8,然后通过下述公式实现8比特(bit)Hash值、10bitHash值和14bitHash值对K=8的取模运算。8Mod8=0;10Mod8=2;14Mod8=6;即得到[0]、[2]和[6]共3个路径索引。其中,所述网络设备通过第一Hash函数计算得到的路径索引为[0],通过第二Hash函数计算得到的路径索引为[2],和通过第三Hash函数计算得到的路径索引为[6]。其中,本发明实施例中可以不对所述Hash函数的数目M进行限定,通常所述M越大,系统的负荷分担效果越均匀,稳定性越高。S203、根据所述多条路径的路径索引查询所述路径状态表,确认可用的多条路径,并从所述可用的多条路径中选择目标可用路径。所述网络设备可以根据所述多条路径的路径索引查询所述路径状态表,若所述多条路径的路径索引对应的路径状态标记有被记为有效时,则所述网络设备可以将所述有效的路径状态标记对应的路径定义为可用的多条路径。进一步地,所述网络设备可以查询所述有效的路径状态标记对应的路径索引,并将查询到的所述路径索引对应的路径定义为可用的多条路径。举例说明,若所述M个路径索引即所述多条路径的路径索引为[0]、[2]和[6],且[0]、[2]和[6]对应的路径状态标记如表2A所示分别为0,1,1,则所述网络设备可以查询有效的路径状态标记1对应的路径索引[2]和[6],并将路径索引[2]和[6]对应的路径2和路径6作为所述可用的多条路径。在一种可选的实施方式中,所述网络设备可以获取所述可用的多条路径中各条路径的拥塞程度,并从所述可用的多条路径中选择拥塞程度最低的路径作为所述目标可用路径;或者,所述网络设备还可以获取所述可用的多条路径中各条路径的时延,并从所述可用的多条路径中选择时延最小的路径作为所述目标可用路径。接上述说明,所述可用的多条路径为路径2和路径6,若路径2的时延为100ms,路径6的时延为200ms,则所述网络设备可以时延最短的路径2作为目标路径索引。在另一种可选的实施方式中,所述网络设备还可以预先设置M个不同的Hash函数中不同Hash函数对应不同的优先级,故通过M个不同的Hash函数对所述报文计算出的所述M个路径索引中,不同的路径索引可以对应不同的优先级。进一步地,所述网络设备计算出的路径索引可以具有与计算出所述路径索引的Hash函数相同的优先级;然后计算出的路径索引即可携带有各自对应的优先级信息。在所述网络设备查询所述可用的多条路径的路径索引之后,所述网络设备可以从查询到的所述路径索引中选择优先级最高的路径索引,并将优先级最高的路径索引对应的路径作为所述目标可用路径。举例说明,所述网络设备可以预先设置第一Hash函数的优先级为A、第二Hash函数的优先级为B,第三Hash函数的优先级为C,且优先级A、B和C依次降低。所述网络设备可以通过第一Hash函数、第二Hash函数和第三Hash函数对所述报文分别计算得到路径索引[0]、[2]和[6](其中路径索引[0]的优先级为A、[2]的优先级为B和[6]的优先级为C),且所述网络设备可以查询有效的路径状态标记1对应的路径索引[2]和[6]。因此,所述网络设备可以从路径索引[2]和[6]中选择优先级最高的路径索引[2],并将路径索引[2]对应的路径2作为所述目标可用路径。S204、根据所述目标可用路径读取多路径表中对应的路径信息,并根据所述路径信息转发所述报文。所述网络设备可以查询所述目标可用路径的路径索引,再根据所述目标可用路径的路径索引读取所述多路径表中对应的路径信息。接上述举例说明,若所述网络设备查询出所述目标可用路径的路径索引为[2],则所述网络设备可以表3所示的多路径状态表中读取[2]对应的路径信息,并按照读取的路径信息转发所述报文。若目标路径索引[2]对应的路径信息为图1所示的路径信息R1R4R6,则所述网络设备可以按照R1R4R6转发所述报文。本发明实施例中,所述多路径组的最大路径数目K可以不随着所述多路径组的路径变化而变化,即当所述多路径组中的某条路径发生故障、或所述多路径组中发生故障的路径又恢复正常、或所述多路径组中新增加路径等,所述多路径组的最大路径数目K不变,因此,通过所述K计算路径索引,当多路径组中的路径变化时,可以使计算出的路径索引发生变化,从而避免报文因转发路径变化而导致乱序,提高了系统的稳定性。在另一种可选的实施例中,所述网络设备还可以预先设置转发报文的默认路径,比如将图1所示的路径R1R5R6作为默认路径,若所述网络设备在步骤S203没有确认出所述可用的多条路径时,则所述网络设备可以按照默认路径转发所述报文。通过本发明实施例提供的方案,当所述多路径组中多条路径同时不可用时,所述网络设备仍可以通过所述默认路径将所述报文转发到目的地址,提高了系统的健壮性。本发明实施例中,所述网络设备是根据所述路径状态表中记录的路径状态标记,确认多路径中可用的路径,即当路径状态标记为有效时,则表明对应的路径为可用路径。可见,与现有技术中,所述网络设备通过所述路径映射表记录的可用路径的路径索引,将根据所述报文计算出的路径索引映射成可用路径的路径索引,从而确认出可用的路径相比,本发明实施例用路径状态表替代了现有技术中的路径映射表,即用占用存储资源较小的路径状态标记代替占用存储资源较大的可用路径的路径索引,降低了多路径选择系统的内存需求。在网络运行中,所述多路径组中各路径的路径状态可能会发生变化,比如路径发生故障、或发生故障的路径恢复正常或所述多路径组新增路径等。以下实施例将在所述多路径组中各路径的路径状态发生变化的情况下,对所述网络设备如何处理所述路径状态表和所述多路径表、以及根据处理后的所述路径状态表和所述多路径表如何选路进行讲述。在一种可选的实施例中,在路径状态发生变化的情况下,所述网络设备可以更新状态发生变化的路径的路径状态标记。进一步地,所述网络设备可以检测所述多路径组中路径状态发生变化的路径,并查询状态发生变化的路径的路径索引,最后更新查询到的所述路径索引处表项中的路径状态标记。下面结合几种情况进行说明,需要说明的是,本发明实施例包括但不限于以下几种情况。情况一:在所述多路径组中的路径发生故障的情况下,将发生故障的路径的路径状态标记记为无效;在网络运行中,所述网络设备可以通过多路径组中的路径发送检测包到接收端,并请求所述接收端按照原路径发送该检测包。当所述网络设备接收到所述接收端按原路径发送的检测包时,所述网络设备可以根据发送的检测包和接收到的检测包的情况,判断是否发生丢包现象,若发生丢包现象,则所述网络设备可以判定所述路径发生故障。假设所述网络设备检测到所述多路径组中某条路径发生故障,则所述网络设备可以查询发生故障的路径的路径索引,并在所述路径状态表中,将发生故障的路径的路径索引处的表项记为无效的路径状态标记。举例说明,图3所示的是一种多路径选路系统的示意图,同前面所述,所述网络设备可以通过第一Hash函数、第二Hash函数和第三Hash函数对所述报文分别计算得到路径索引[0]、[2]和[6](其中路径索引[0]的优先级为A、[2]的优先级为B和[6]的优先级为C,优先级A、B和C依次降低),且所述网络设备可以查询有效的路径状态标记1对应的路径索引[2]和[6]。因此,所述网络设备可以从路径索引[2]和[6]中选择优先级最高的路径索引[2],并将路径索引[2]对应的路径2作为所述目标可用路径。图4所示的是另一种多路径选路系统的示意图,示意了图3所示的多路径组中路径3发生故障。所述网络设备检测到所述多路径组中路径3发生故障,并查询路径3的路径索引[3],最后在所述路径状态表中将[3]处的表项标记为无效的路径状态标记0。进一步地,所述网络设备还可以按照前面提供的选路方法、根据更新后的路径状态表从所述多路径组中进行选路。如图4所示,所述路径状态表中[3]对应的路径状态标记更新为无效的路径状态标记0之后,所述网络设备根据更新后的所述路径状态表,从路径索引[0]、[2]、[6]中查询有效的路径状态标记1对应的路径索引[2]和[6],并从[2]和[6]选择优先级最高的[2],将路径索引[2]对应的路径2作为所述目标可用路径。最后所述网络设备通过路径2转发所述报文,同图3选择的转发路径相同。可见,通过本发明实施例提供的选路方法,当所述多路径组中路径发生故障时,所述网络设备只需更新发生故障的路径的路径状态标记即可,系统维护简单;且同一报文的转发路径在所述多路径组中路径发生故障前后仍可以不变,降低了所述报文乱序的概率,提高了系统的稳定性。情况二:在所述多路径组中发生故障的路径恢复正常,将恢复正常的路径的路径状态标记记为有效。同前面所述,所述网络设备可以通过发生故障的路径向接收端发送检测包,并请求接收端按照原路径发送所述检测包,当所述网络设备再次接收到所述检测包、且判断无丢包现象时,所述网络设备可以判定发生故障的路径恢复正常。假设所述网络设备检测到所述多路径组中某条发生故障的路径恢复正常时,则所述网络设备可以查询恢复正常的所述路径的路径索引,并在所述路径状态表中,将恢复正常的路径的路径索引处的表项记为有效的路径状态标记。举例说明,图5所示的是另一种多路径选路系统的示意图,示意了图4所示的多路径组中发生故障的路径3恢复正常。所述网络设备检测到发生故障的路径3恢复正常,并查询路径3关联的路径索引[3],最后在所述路径状态表中将[3]处的表项记为有效的路径状态标记1。进一步地,所述网络设备还可以按照前面提供的选路方法、根据更新后的路径状态表从所述多路径组中进行选路。如图5所示,所述路径状态表中[3]对应的路径状态标记更新为有效的路径状态标记1之后,所述网络设备根据更新后的所述路径状态表,从路径索引[0]、[2]、[6]中查询有效的路径状态标记1对应的路径索引[2]和[6],并从[2]和[6]选择优先级最高的[2],将路径索引[2]对应的路径2作为所述目标可用路径。最后所述网络设备通过路径2转发所述报文,同图4选择的转发路径相同。可见,通过本发明实施例提供的选路方法,当所述多路径组中发生故障的路径恢复正常时,所述网络设备只需更新恢复正常的路径的路径状态标记即可,系统维护简单;且同一报文的转发路径在所述多路径组中路径恢复正常前后仍可以不变,降低了所述报文乱序的概率,提高了系统的稳定性。情况三:在所述多路径组中新增路径的情况下,将新增的路径的路径状态标记记为有效。所述网络设备检测到所述多路径组中新增某条路径时,则所述网络设备可以查询新增路径的路径索引,并在所述路径状态表中,将新增的路径的路径索引处的表项记为有效的路径状态标记。举例说明,图6所示的是另一种多路径选路系统的示意图,示意了图3的多路径组中新增路径4。所述网络设备检测到多路径组中新增路径4,并查询路径4关联的路径索引[4],最后在所述路径状态表中将[4]处的表项记为有效的路径状态标记1。进一步地,所述网络设备还可以按照前面提供的选路方法、根据更新后的路径状态表从所述多路径组中进行选路。如图6所示,所述路径状态表中[4]对应的路径状态标记更新为有效的路径状态标记1之后,所述网络设备根据更新后的所述路径状态表,从路径索引[0]、[2]、[6]中查询有效的路径状态标记1对应的路径索引[2]和[6],并从[2]和[6]选择优先级最高的[2],将路径索引[2]对应的路径2作为所述目标可用路径。最后所述网络设备通过路径2转发所述报文,同图3选择的转发路径相同。可见,通过本发明实施例提供的选路方法,当所述多路径组中新增路径时,所述网络设备只需更新新增路径的路径状态标记即可,系统维护简单;且同一报文的转发路径在所述多路径组新增路径前后仍可以不变,降低了所述报文乱序的概率,提高了系统的稳定性。另外,需要说明的是,所述网络设备在图3中选择路径2转发所述报文。但是,假设图3多路径组路径2发生故障,如图7所示,所述网络设备可以将所述路径状态表中路径2路径索引[2]对应的路径状态标记更新为无效的路径状态标记0,且所述网络设备可以从路径索引[0]、[2]、[6]中查询有效的路径状态标记1对应的路径索引[6],将路径索引[6]对应的路径6作为所述目标可用路径。最后所述网络设备通过路径6转发所述报文。但是,当路径2从故障中恢复正常时,则如图8所示,所述网络设备还可以按照上述的多路径选路方法选择路径2转发所述报文,即在所述多路径组中路径从故障中恢复正常的情况下,所述网络设备还可以回切到原来路径2上转发所述报文,提高了系统的自适应性。请参见图9,图9是本发明实施例公开的一种网络设备的结构示意图。其中,图9所示的设备可以包括:路径表维护单元901,用于维护路径状态表和多路径表,所述路径状态表的表项与多路径组中路径一一对应,所述路径表的表项中均记录有对应路径的路径状态标记,所述路径状态标记用于指示对应路径是否可用,如果所述路径状态标记被记为有效,则表明对应的路径可用,所述多路径表的表项与所述多路径组中路径一一对应,所述多路径表的表项中记录对应路径的路径信息;接收单元902,用于接收报文;路径选择单元903,用于根据所述报文获得多条路径的路径索引;以及,根据所述多条路径的路径索引查询所述路径状态表,确认可用的多条路径,并从所述可用的多条路径中选择目标可用路径;以及,根据所述目标可用路径读取多路径表中对应的路径信息,并根据所述路径信息转发所述报文。进一步地,所述路径选择单元903,在执行所述根据所述报文获得多条路径的路径索引操作时,具体用于通过多个哈希Hash函数分别对所述报文进行计算,得到多个Hash计算值,并根据所述多个Hash计算值和所述多路径组的最大路径数目K,生成多条路径的路径索引。本发明实施例可以参考图2至图8实施例的相关描述,在此不再赘述。所述路径选择单元903,在执行所述从所述可用的多条路径中选择目标可用路径的操作时,具体用于从所述可用的多条路径的路径索引中,选择优先级最高的目标路径索引;以及将所述目标路径索引对应的路径作为目标可用路径。本发明实施例可以参考图2至图8的相关描述,在此不再赘述。请参见图10所示的另一种网络设备的结构示意图,如图9所示所述设备还包括更新单元904,用于在所述多路径组中的路径状态发生变化的情况下,更新状态发生变化的路径的路径状态标记。进一步地,所述更新单元904,具体用于在所述多路径组中的路径发生故障的情况下,将发生故障的路径的路径状态标记记为无效。或者,所述更新单元904,具体用于在所述多路径组中发生故障的路径恢复正常,或新增路径的情况下,将恢复正常的路径和新增的路径的路径状态标记记为有效。在另一种可选的实施例中,所述路径选择单元903,还用于在根据所述多条路径的路径索引查询所述路径状态表,确认没有可用的多条路径的情况下,选择默认路径信息,并根据所述默认路径信息转发所述报文。可见,本发明实施例中,路径状态表替代了现有技术中的路径映射表,路经状态表中的路径状态标记比路径映射表中的路径索引占用更少的存储资源,降低了多路径选择系统的内存需求。请参见图11,图11是本发明实施例公开的另一种网络设备的结构示意图。其中,本发明实施例提供的网络设备可以用于实施上述图2~图8所示的本发明各实施例实现的方法,为了便于说明,仅示出了与本发明各实施例相关的部分,具体技术细节未揭示的,请参照图2~图8所示的本发明各实施例。其中,图11所示的网络设备可以包括:处理器1以及通过接口2与处理器1相连接的输入装置3、以及通过总线4与处理器1相连接的存储器5、以及通过接口2与处理器1相连接的输出装置6。其中,所述存储器5存储一组程序代码、路径索引对应的路径状态标记,以及多路径组中各路径对应的路径信息;处理器1用于调用存储器5中存储的程序代码,用于执行以下操作:通过所述输入装置3接收报文;所述处理器1调用所述存储器5中存储的程序代码执行以下操作:维护路径状态表和多路径表,所述路径状态表的表项与多路径组中路径一一对应,所述路径表的表项中均记录有对应路径的路径状态标记,所述路径状态标记用于指示对应路径是否可用,如果所述路径状态标记被记为有效,则表明对应的路径可用,所述多路径表的表项与所述多路径组中路径一一对应,所述多路径表的表项中记录对应路径的路径信息;接收报文,根据所述报文获得多条路径的路径索引;根据所述多条路径的路径索引查询所述路径状态表,确认可用的多条路径,并从所述可用的多条路径中选择目标可用路径;根据所述目标可用路径读取多路径表中对应的路径信息,并根据所述路径信息转发所述报文。进一步地,处理器1用于调用存储器5中存储的程序代码执行所述根据所述报文获得多条路径的路径索引操作的具体方式为:通过多个哈希Hash函数分别对所述报文进行计算,得到多个Hash计算值,并根据所述多个Hash计算值和所述多路径组的最大路径数目K,生成多条路径的路径索引。以及在执行所述从所述可用的多条路径中选择目标可用路径的具体方式为:从所述可用的多条路径的路径索引中,选择优先级最高的目标路径索引;以及将所述目标路径索引对应的路径作为目标可用路径。在一种可选的实施方式中,所述处理器还执行以下操作:在所述多路径组中的路径状态发生变化的情况下,更新状态发生变化的路径的路径状态标记。可选地,在所述多路径组中的路径发生故障的情况下,将发生故障的路径的路径状态标记记为无效;或者,在所述多路径组中发生故障的路径恢复正常,或新增路径的情况下,将恢复正常的路径和新增的路径的路径状态标记记为有效。在另一种可选的实施方式中,处理器1用于调用存储器5中存储的程序代码,还可以执行:在根据所述多条路径的路径索引查询所述路径状态表,确认没有可用的多条路径的情况下,选择默认路径信息,并根据所述默认路径信息转发所述报文。其中,本发明实施例可以参考图2至图8中相关的描述,在此不再赘述。可见,本发明实施例中,路径状态表替代了现有技术中的路径映射表,路经状态表中的路径状态标记比路径映射表中的路径索引占用更少的存储资源,降低了多路径选择系统的内存需求。尽管在此结合各实施例对本发明进行了描述,然而不能以此来限定本发明之权利范围,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。当前第1页1 2 3