一种非负载均衡路由切换方法及装置与流程

文档序号:18545354发布日期:2019-08-27 21:36阅读:191来源:国知局
一种非负载均衡路由切换方法及装置与流程

本发明涉及通信领域,尤其涉及一种非负载均衡路由切换方法及装置。



背景技术:

随着网络承载业务重要性的日益提升,网络通信中对网络的可靠性要求也越来越高。为了应对此要求,在通过网络进行数据发送时,若源地址和目的地址之间存在多条路径,可以通过主备路由备份的方式来提高可靠性,即将数据路由至源地址和目的地址之间的多条路径进行发送,其中在通常情况下,将数据路由至主路径进行转发,当主路径出现故障时,将数据路由至到备份路径进行转发,当主路径的故障排除后,再次将数据路由至主路径进行发送。

根据主备路由备份方式所部署的业务在进行路由切换时,主要包括三步:协议层的提前准备,数据层的故障检测以及数据层的切换。其中协议层的提前准备可以根据快速重路由(英文全称:Fast Reroute,英文简称:FRR)机制来完成,数据层的故障检测可以根据双向转发检测(英文全称;Bidirectional Forwarding Detection,英文简称:BFD)机制来完成。对于数据层的切换,由于主备路由备份方式为非负载均衡的路由方式,数据面在存放路由信息时路由信息前缀与下一跳信息直接关联,当进行数据层的切换时,首先删除原始的路由信息前缀以及与原始的路由信息前缀关联的下一跳信息,再存放更新路由信息前缀以及与更新路由信息前缀关联的下一跳信息,之后在获取下一跳信息时,可以根据路由前缀获取对应的切换后的下一跳信息。

在路由切换的过程中,路由切换时间是一项非常重要的指标,由于现有的FRR机制以及BFD机制耗时较少,因此数据层的切换耗时对路由切换时间往往影响较大。上述路由切换方法虽然能够对路由前缀以及与其对应下一跳信息进行更新,但由于删除原始路由前缀以及与原始路由前缀关联的下一跳信息往往耗时较多,当需要更新的路由前缀以及与需要更新的路由前缀关联的下一跳信息较多即需要切换的路由量较大时,上述路由切换方法需要对每个需要跟新的路由前缀以及关联下一跳信息进行更新以达到路由切换的目的,导致所消耗的时间较长,从而在整体上增加了路由切换时间,降低了路由切换的效率,损害了用户体验。



技术实现要素:

本申请提供一种非负载均衡路由切换方法及装置,能够在需要切换的路由量较大时通过对ECMP资源的下一跳信息更新达到路由切换的目的。

第一方面,本发明的实施例提供了一种非负载均衡路由切换方法,包括:获取路由信息,路由信息包括路由前缀、与路由前缀对应的主下一跳信息以及与路由前缀对应的备份下一跳信息;根据主下一跳信息以及备份下一跳信息对路由信息进行分组以生成分组路由信息,分组路由信息包括对应相同主下一跳信息并对应相同备份下一跳信息的路由前缀;为每一组分组路由信息生成各自对应的等价路由ECMP资源,ECMP资源包括下一跳信息以及路由前缀,将ECMP资源的下一跳信息与ECMP资源对应的分组路由信息的主下一跳信息关联,将ECMP资源的路由前缀设置为与ECMP资源对应的分组路由信息的路由前缀;对ECMP资源的下一跳信息所指示的路径进行检测,当确定ECMP资源的下一跳信息所指示的路径出现故障时,将ECMP资源的下一跳信息关联为ECMP资源对应的分组路由信息的备份下一跳信息;检测后的ECMP资源用于当获取切换路由前缀时,结合切换路由前缀获取切换后的下一跳信息。

第二方面,本发明的实施例提供了一种非负载均衡路由切换装置,包括:获取模块,被配置为获取路由信息,路由信息包括路由前缀、与路由前缀对应的主下一跳信息以及与路由前缀对应的备份下一跳信息;处理模块,被配置为根据主下一跳信息以及备份下一跳信息对路由信息进行分组以生成分组路由信息,分组路由信息包括对应相同主下一跳信息并对应相同备份下一跳信息的路由前缀;为每一组分组路由信息生成各自对应的等价路由ECMP资源,ECMP资源包括下一跳信息以及路由前缀,将ECMP资源的下一跳信息与ECMP资源对应的分组路由信息的主下一跳信息关联,将ECMP资源的路由前缀设置为与ECMP资源对应的分组路由信息的路由前缀;检测模块,被配置为对ECMP资源的下一跳信息所指示的路径进行检测,当确定ECMP资源的下一跳信息所指示的路径出现故障时,将ECMP资源的下一跳信息与ECMP资源对应的分组路由信息的备份下一跳信息关联,检测后的ECMP资源用于当获取切换路由前缀时,结合切换路由前缀获取切换后的下一跳信息。

本发明的实施例所提供的一种非负载均衡路由切换方法,通过获取路由信息,并进行分组生成分组路由信息,其中将指示相同数据转发路径的路由信息分为一组,并为每一组分组路由信息生成各自对应的等价路由ECMP资源,ECMP资源包括下一跳信息,使不同的ECMP资源能够用于指示不同数据转发路径,从而在获取路由信息即数据转发路径时,可以根据路由前缀确定对应的ECMP资源,并进一步通过获取该ECMP资源的下一跳信息获取数据转发路径。当ECMP中下一跳信息所指示的路径出现故障即需要进行路由切换时,将该ECMP的下一跳信息关联为该ECMP对应的分组路由信息的备份下一跳信息,保证ECMP资源的下一跳信息所指示的数据转发路径为工作正常的路径,达到路由切换的目的,从而在进行路径检测并进行上述路由切换后,能够根据切换路由前缀获取切换主下一跳信息即获取正常工作的数据转发路径。因此本发明的实施例所提供的路由切换方法能够在需要切换的路由量较大时通过对ECMP资源的下一跳信息更新达到路由切换的目的,从而缩短了路由切换的时间,提高了路由切换的效率,改善了用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的实施例所提供的一种非负载均衡路由切换方法的示意性流程图;

图2为本发明的另一实施例所提供的一种非负载均衡路由切换方法的示意性流程图;

图3为本发明的实施例所提供的一种非负载均衡路由切换装置的示意性结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。

路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口,即分组(英文全称:packet)从源端到目的端时,决定端到端路径的网络范围的进程。其中路由器为经过路由器的每个数据包寻找一条最佳的传输路径,并将该数据有效地传送到目的站点,即通过数据包对应的路由信息所指示的传输路径转发该数据包。其中,对于非负载均衡的路由机制,路由器中所存放的路由信息后直接存放与其关联的下一跳信息。

本发明的实施例提供了一种非负载均衡路由切换方法,通过将指示相同传输路径的路由信息分为一组,并为每一组路由信息生成对应的ECMP资源,其中ECMP资源包括下一跳信息,ECMP资源的下一跳信息为该组路由信息的主下一跳信息即用于指示传输路径的信息。当该组路由信息所指示的传输路径需要进行路由切换时,将ECMP资源中的主下一跳信息关联为该组路由信息的备份下一跳信息,使之后需要获取对应路由信息所指示的传输路径时,可以根据ECMP资源获取对应的路由切换后的下一跳信息即用于指示路由切换后传输路径的信息。从而在仅需对ECMP资源进行一次修改的前提下完成路由切换,与现有技术相比减少了数据读写的次数与所消耗的资源,从而缩短了路由切换的时间,提高了路由切换的效率,改善了用户体验。

如附图1所示,本发明的实施例提供了一种非负载均衡路由切换方法,包括:

101、获取路由信息。

其中,路由信息包括路由前缀、与路由前缀对应的主下一跳信息以及与路由前缀对应的备份下一跳信息。

具体的,路由前缀用于指示对应的路由信息,根据路由前缀可以确定对应的路由信息,主下一跳信息可以指示用于进行数据转发的路径,通过主下一跳信息所指示的路径可以将需要转发的数据路由至下一个路由器或网络设备,主下一跳信息也可以直接用于指示将需要转发的数据路由至的下一个路由器或网络设备,此时根据主下一跳信息可以确定用于进行数据转发的路径。备份下一跳信息可以指示在主下一跳信息所指示的路径出现故障时,另一条能够用于进行数据转发的路径。通过备份下一跳信息所指示的路径也可以将需要转发的数据路由至下一个路由器或网络设备,备份下一跳信息也可以直接用于指示将需要转发的数据路由至的下一个路由器或网络设备,此时根据备份下一跳信息可以确定用于进行数据转发的路径。

主下一跳信息以及备份下一跳信息可以为路由器或网络设备的网络地址,也可以为与路由器或网络设备对应的标识或索引,只要根据该主下一跳信息或备份下一跳信息能够确定对应的路由器或网络设备即可。

102、根据主下一跳信息以及备份下一跳信息对路由信息进行分组以生成分组路由信息。

其中,分组路由信息包括对应相同主下一跳信息并对应相同备份下一跳信息的路由前缀。

具体的,将路由信息中对应的主下一跳信息以及备份下一跳信息相同的路由前缀分为一组,即分组后处于同一组分组路由信息的路由前缀所对应的主下一跳信息以及备份下一跳信息所指示的数据转发路径相同,或该路由前缀所对应的主下一跳信息以及备份下一跳信息所指示的将需要转发的数据路由至的下一个路由器或网络设备相同。

103、为每一组分组路由信息生成各自对应的等价路由ECMP资源,将ECMP资源的下一跳信息与ECMP资源对应的分组路由信息的主下一跳信息关联,将ECMP资源的路由前缀设置为与ECMP资源对应的分组路由信息的路由前缀。

其中,等价路由(英文全称:Equal-Cost Multi-path Routing,英文简称:ECMP)资源包括与ECMP资源对应的下一跳信息以及与ECMP资源对应的路由前缀。

具体的,为每一组分组路由信息生成各自对应的等价路由ECMP资源,可以是为每一组路由申请一个ECMP资源,并记录该ECMP资源的索引信息,根据与ECMP资源对应的路由前缀可以确定该ECMP资源的索引信息,根据该ECMP资源的索引信息可以确定与ECMP资源对应的下一跳信息。

104、检测ECMP资源的下一跳信息所指示的路径。

具体的,检测ECMP资源的下一跳信息所指示的路径可以为检测该下一跳信息所指示的进行数据转发的路径是否出现故障,也可以为检测该下一跳信息所指示的将需要转发的数据路由至的下一个路由器或网络设备是否出现故障。

示例性的,可以ECMP资源的下一跳信息所指示的路径建立双向转发检测(英文全称:Bidirectional Forwarding Detection,英文简称:BFD)会话,并通过BFD会话检测该主下一跳信息所指示的路径的状态。

当确定ECMP资源的下一跳信息所指示的路径出现故障时,执行步骤105。

105、将ECMP资源的下一跳信息关联为ECMP资源对应的分组路由信息的备份下一跳信息。

具体的,当ECMP资源的下一跳信息所指示的路径出现故障时,将ECMP资源的下一跳信息关联为ECMP资源对应的分组路由信息的备份下一跳信息,从而确定ECMP资源的下一跳信息所指示的数据转发路径处于正常工作状态。

其中,检测后的ECMP资源用于当获取切换路由前缀时,结合切换路由前缀获取切换后的下一跳信息。

其中,切换路由前缀为路由切换后所获取的路由前缀。切换路由前缀可以为用户或系统输入的路由前缀,用户或系统通过输入该切换路由前缀获取该切换路由前缀对应的路由信息所指示的数据转发路径,即确定下一跳信息所指示的处于正常工作状态的数据转发路径。当检测后的ECMP资源包括该切换路由前缀时,获取检测后的ECMP资源中该切换路由前缀所对应的下一跳信息,即切换下一跳信息。

本发明的实施例所提供的一种非负载均衡路由切换方法,通过获取路由信息,并进行分组生成分组路由信息,其中将指示相同数据转发路径的路由信息分为一组,并为每一组分组路由信息生成各自对应的等价路由ECMP资源,ECMP资源包括下一跳信息,使不同的ECMP资源能够用于指示不同数据转发路径,从而在获取路由信息即数据转发路径时,可以根据路由前缀确定对应的ECMP资源,并进一步通过获取该ECMP资源的下一跳信息获取数据转发路径。当ECMP中下一跳信息所指示的路径出现故障即需要进行路由切换时,将该ECMP的下一跳信息关联为该ECMP对应的分组路由信息的备份下一跳信息,保证ECMP资源的下一跳信息所指示的数据转发路径为工作正常的路径,达到路由切换的目的,从而在进行路径检测并进行上述路由切换后,能够根据切换路由前缀获取切换主下一跳信息即获取正常工作的数据转发路径。因此本发明的实施例所提供的路由切换方法能够在需要切换的路由量较大时通过对ECMP资源的下一跳信息更新达到路由切换的目的,从而缩短了路由切换的时间,提高了路由切换的效率,改善了用户体验。

具体的,如附图2所示,上述实施例所提供的非负载均衡路由切换方法还包括:

106、获取更新路由信息。

具体的,更新路由信息为路由信息所指示的数据转发路径进行的更新的路由信息,更新路由信息可以为路由信息的主下一跳信息进行了更新,也可以为路由信息的备份下一跳信息进行了更新,或两者均进行了更新。

107、根据更新路由信息在分组路由信息中确定更新分组路由信息。

其中,更新分组路由信息包括更新路由信息的路由前缀。

具体的,根据更新路由信息在分组路由信息中确定更新分组路由信息,可以为根据更新路由信息的路由前缀在分组路由信息中确定包含该路由前缀的分组路由信息,即更新分组路由信息。

当更新分组路由信息的主下一跳信息与更新路由信息的主下一跳信息相同并且更新分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息相同时,执行步骤108。

当更新分组路由信息的主下一跳信息与更新路由信息的主下一跳信息不相同,或更新分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息不相同时,执行步骤110。

当更新分组路由信息的主下一跳信息与更新路由信息的主下一跳信息不相同或更新分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息不相同,并且确定分组路由信息不包括切换分组路由信息时,执行步骤113。

108、确定更新分组路由信息对应的ECMP资源。

具体的,当更新分组路由信息的主下一跳信息与更新路由信息的主下一跳信息相同并且更新分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息相同时,表示更新路由信息若进行了更新,也仅包括对出现了故障的数据转发路径进行故障排除所导致的更新,同时确定更新路由信息所指示的数据转发路径在步骤102中已生成对应的分组路由信息。

确定更新分组路由信息对应的ECMP资源可以为确定步骤103中为该更新分组路由信息生成的ECMP资源。

109、当更新分组路由信息对应的ECMP资源的下一跳信息为更新路由信息的备份下一跳信息时,将更新分组路由信息对应的ECMP资源的下一跳信息关联为更新路由信息的主下一跳信息。

当更新分组路由信息对应的ECMP资源的下一跳信息为更新路由信息的备份下一跳信息时,表示该更新分组路由信息对应的ECMP资源的下一跳信息所指示的路径为备份路径,该更新分组路由信息对应的主下一跳信息所指示的路径由于曾经出现故障,导致在更新分组路由信息对应的主下一跳信息所指示的路径与更新分组路由信息对应的备份下一跳信息所指示的路径间进行了路由切换。

在收到更新路由信息后,由于更新路由信息的主下一跳信息为更新分组路由信息对应的主下一跳信息,表示该更新路由信息的主下一跳信息所指示的数据转发路径已排除故障能够正常进行数据转发,因此将更新分组路由信息对应的ECMP资源的下一跳信息关联为更新路由信息的主下一跳信息,使该ECMP资源的下一跳信息所指示的数据转发路径切换回更新分组路由信息对应主下一跳信息所指示的数据转发路径,在能够进行数据转发的前提下通过更新分组路由信息对应主下一跳信息所指示的数据转发路径进行数据转发,从而提高数据转发的质量与效率。

110、在分组路由信息中确定切换分组路由信息。

其中,切换分组路由信息的主下一跳信息与更新路由信息的主下一跳信息相同且切换分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息相同。

具体的,当更新分组路由信息的主下一跳信息与更新路由信息的主下一跳信息不相同,或更新分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息不相同时,表示更新路由信息所指示的数据转发路径进行了更新,并且该更新并不是因为路径故障而导致的,因此确定切换分组路由信息以确定在步骤102中是否已生成与更新路由信息对应的路由分组信息。

111、将更新路由信息的路由前缀从更新分组路由信息的路由前缀中删除,并在切换分组路由信息的路由前缀中加入更新路由信息的路由前缀。

由于切换分组路由信息的主下一跳信息与更新路由信息的主下一跳信息相同且切换分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息相同,因此更新路由信息的路由前缀所指示的数据转发路径发生了变化,因此将更新路由信息的路由前缀从更新分组路由信息的路由前缀中删除,并在切换分组路由信息的路由前缀中加入更新路由信息的路由前缀,将该路由前缀调整至指示该路由前缀对应数据转发路径的分组路由信息中,从而之后在需要进行路由切换时,能够根据调整后的分组路由信息生成对应的ECMP资源并进行路由切换,减少路由切换耗时,提高路由切换效率。

当确定删除更新路由信息的路由前缀的更新分组路由信息不包括任何路由前缀时,执行步骤112。

112、删除更新分组路由信息以及更新分组路由信息对应的ECMP资源。

具体的,当确定删除更新路由信息的路由前缀的更新分组路由信息不包括任何路由前缀时,更新分组路由信息所对应的数据转发路径已不再承担任何数据转发,因此删除更新分组路由信息以及更新分组路由信息对应的ECMP资源,以节省系统资源。

113、将更新路由信息的路由前缀从更新分组路由信息中删除,并根据更新路由信息生成新加分组路由信息。

其中,新加分组路由信息包括对应相同主下一跳信息并对应相同备份下一跳信息的更新路由信息的路由前缀。

具体的,当更新分组路由信息的主下一跳信息与更新路由信息的主下一跳信息不相同或更新分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息不相同,并且确定分组路由信息不包括切换分组路由信息时,表示路由信息不包括更新路由信息所指示的数据转发路径,因此向分组路由信息加入新的分组路由信息新加分组路由信息,该新加分组路由信息能够对应更新路由信息所指示的数据转发路径,以便于之后在需要进行路由切换时,能够根据加入新加分组路由信息的分组路由信息生成对应的ECMP资源并进行路由切换,减少路由切换耗时,提高路由切换效率。

如附图3所示,本发明的实施例提供了一种非负载均衡路由切换装置200,其特征在于,包括:

获取模块201,被配置为获取路由信息,路由信息包括路由前缀、与路由前缀对应的主下一跳信息以及与路由前缀对应的备份下一跳信息;

其中,路由信息包括路由前缀、与路由前缀对应的主下一跳信息以及与路由前缀对应的备份下一跳信息。

具体的,路由前缀用于指示对应的路由信息,根据路由前缀可以确定对应的路由信息,主下一跳信息可以指示用于进行数据转发的路径,通过主下一跳信息所指示的路径可以将需要转发的数据路由至下一个路由器或网络设备,主下一跳信息也可以直接用于指示将需要转发的数据路由至的下一个路由器或网络设备,此时根据主下一跳信息可以确定用于进行数据转发的路径。备份下一跳信息可以指示在主下一跳信息所指示的路径出现故障时,另一条能够用于进行数据转发的路径。通过备份下一跳信息所指示的路径也可以将需要转发的数据路由至下一个路由器或网络设备,备份下一跳信息也可以直接用于指示将需要转发的数据路由至的下一个路由器或网络设备,此时根据备份下一跳信息可以确定用于进行数据转发的路径。

主下一跳信息以及备份下一跳信息可以为路由器或网络设备的网络地址,也可以为与路由器或网络设备对应的标识或索引,只要根据该主下一跳信息或备份下一跳信息能够确定对应的路由器或网络设备即可。

处理模块202,被配置为根据主下一跳信息以及备份下一跳信息对路由信息进行分组以生成分组路由信息,分组路由信息包括对应相同主下一跳信息并对应相同备份下一跳信息的路由前缀;

为每一组分组路由信息生成各自对应的等价路由ECMP资源,ECMP资源包括下一跳信息以及路由前缀,将ECMP资源的下一跳信息与ECMP资源对应的分组路由信息的主下一跳信息关联,将ECMP资源的路由前缀设置为与ECMP资源对应的分组路由信息的路由前缀。

其中,分组路由信息包括对应相同主下一跳信息并对应相同备份下一跳信息的路由前缀。

具体的,将路由信息中对应的主下一跳信息以及备份下一跳信息相同的路由前缀分为一组,即分组后处于同一组分组路由信息的路由前缀所对应的主下一跳信息以及备份下一跳信息所指示的数据转发路径相同,或该路由前缀所对应的主下一跳信息以及备份下一跳信息所指示的将需要转发的数据路由至的下一个路由器或网络设备相同。

其中,等价路由(英文全称:Equal-Cost Multi-path Routing,英文简称:ECMP)资源包括与ECMP资源对应的分组路由信息的主下一跳信息以及与ECMP资源对应的分组路由信息的路由前缀。

具体的,为每一组分组路由信息生成各自对应的等价路由ECMP资源,可以是为每一组路由申请一个ECMP资源,并记录该ECMP资源的索引信息,根据与ECMP资源对应的分组路由信息的路由前缀可以确定该ECMP资源的索引信息,根据该ECMP资源的索引信息可以确定与ECMP资源对应的分组路由信息的主下一跳信息。

检测模块203,被配置为对ECMP资源的下一跳信息所指示的路径进行检测,当确定ECMP资源的下一跳信息所指示的路径出现故障时,将ECMP资源的下一跳信息与ECMP资源对应的分组路由信息的备份下一跳信息关联,检测后的ECMP资源用于当获取切换路由前缀时,结合切换路由前缀获取切换后的下一跳信息。

具体的,检测ECMP资源的下一跳信息所指示的路径可以为检测该主下一跳所指示的进行数据转发的路径是否出现故障,也可以为检测该主下一跳所指示的将需要转发的数据路由至的下一个路由器或网络设备是否出现故障。

示例性的,可以ECMP资源的下一跳信息所指示的路径建立双向转发检测(英文全称:Bidirectional Forwarding Detection,英文简称:BFD)会话,并通过BFD会话检测该主下一跳信息所指示的路径的状态。

具体的,当ECMP资源的下一跳信息所指示的路径出现故障时,将ECMP资源的下一跳信息关联为ECMP资源对应的分组路由信息的备份下一跳信息,从而确定ECMP资源的下一跳信息所指示的数据转发路径处于正常工作状态。

其中,检测后的ECMP资源用于当获取切换路由前缀时,结合切换路由前缀获取切换后的下一跳信息。

其中,切换路由前缀为路由切换后所获取的路由前缀。切换路由前缀可以为用户或系统输入的路由前缀,用户或系统通过输入该切换路由前缀获取该切换路由前缀对应的路由信息所指示的数据转发路径,即确定下一跳信息所指示的处于正常工作状态的数据转发路径。当检测后的ECMP资源包括该切换路由前缀时,可以获取检测后的ECMP资源中该切换路由前缀所对应的下一跳信息,即切换下一跳信息。

本发明的实施例所提供的一种非负载均衡路由切换装置,通过获取路由信息,并进行分组生成分组路由信息,其中将指示相同数据转发路径的路由信息分为一组,并为每一组分组路由信息生成各自对应的等价路由ECMP资源,ECMP资源包括下一跳信息,使不同的ECMP资源能够用于指示不同数据转发路径,从而在获取路由信息即数据转发路径时,可以根据路由前缀确定对应的ECMP资源,并进一步通过获取该ECMP资源的下一跳信息获取数据转发路径。当ECMP中下一跳信息所指示的路径出现故障即需要进行路由切换时,将该ECMP的下一跳信息关联为该ECMP对应的分组路由信息的备份下一跳信息,保证ECMP资源的下一跳信息所指示的数据转发路径为工作正常的路径,达到路由切换的目的,从而在进行路径检测并进行上述路由切换后,能够根据切换路由前缀获取切换主下一跳信息即获取正常工作的数据转发路径。因此本发明的实施例所提供的路由切换方法能够在需要切换的路由量较大时通过对ECMP资源的下一跳信息更新达到路由切换的目的,从而缩短了路由切换的时间,提高了路由切换的效率,改善了用户体验。

具体的,获取模块201,还被配置为获取更新路由信息。

具体的,更新路由信息为路由信息所指示的数据转发路径进行的更新的路由信息,更新路由信息可以为路由信息的主下一跳信息进行了更新,也可以为路由信息的备份下一跳信息进行了更新,或两者均进行了更新。

处理模块202,还被配置为根据更新路由信息在分组路由信息中确定更新分组路由信息,更新分组路由信息包括更新路由信息的路由前缀。

当更新分组路由信息的主下一跳信息与更新路由信息的主下一跳信息相同并且更新分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息相同时,确定更新分组路由信息对应的ECMP资源;

当更新分组路由信息对应的ECMP资源的下一跳信息为更新路由信息的备份下一跳信息时,将更新分组路由信息对应的ECMP资源的下一跳信息关联为更新路由信息的主下一跳信息。

其中,更新分组路由信息包括更新路由信息的路由前缀。

具体的,根据更新路由信息在分组路由信息中确定更新分组路由信息,可以为根据更新路由信息的路由前缀在分组路由信息中确定包含该路由前缀的分组路由信息,即更新分组路由信息。

具体的,当更新分组路由信息的主下一跳信息与更新路由信息的主下一跳信息相同并且更新分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息相同时,表示更新路由信息若进行了更新,也仅包括对出现了故障的数据转发路径进行故障排除所导致的更新,同时确定更新路由信息所指示的数据转发路径在步骤102中已生成对应的分组路由信息。

确定更新分组路由信息对应的ECMP资源可以为确定步骤103中为该更新分组路由信息生成的ECMP资源。

当更新分组路由信息对应的ECMP资源的下一跳信息为更新路由信息的备份下一跳信息时,表示该更新分组路由信息对应的ECMP资源的下一跳信息所指示的路径为备份路径,该更新分组路由信息对应的主下一跳信息所指示的路径由于曾经出现故障,导致在更新分组路由信息对应的主下一跳信息所指示的路径与更新分组路由信息对应的备份下一跳信息所指示的路径间进行了路由切换。

在收到更新路由信息后,由于更新路由信息的主下一跳信息为更新分组路由信息对应的主下一跳信息,表示该更新路由信息的主下一跳信息所指示的数据转发路径已排除故障能够正常进行数据转发,因此将更新分组路由信息对应的ECMP资源的下一跳信息关联为更新路由信息的主下一跳信息,使该ECMP资源的下一跳信息所指示的数据转发路径切换回更新分组路由信息对应主下一跳信息所指示的数据转发路径,在能够进行数据转发的前提下通过更新分组路由信息对应主下一跳信息所指示的数据转发路径进行数据转发,从而提高数据转发的质量与效率。

具体的,处理模块202,还被配置为当更新分组路由信息的主下一跳信息与更新路由信息的主下一跳信息不相同,或更新分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息不相同时,根据更新路由信息在分组路由信息中确定切换分组路由信息。

将更新路由信息的路由前缀从更新分组路由信息的路由前缀中删除,并在切换分组路由信息的路由前缀中加入更新路由信息的路由前缀。

其中,切换分组路由信息的主下一跳信息与更新路由信息的主下一跳信息相同且切换分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息相同。

具体的,当更新分组路由信息的主下一跳信息与更新路由信息的主下一跳信息不相同,或更新分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息不相同时,表示更新路由信息所指示的数据转发路径进行了更新,并且该更新并不是因为路径故障而导致的,因此确定切换分组路由信息以确定是否已生成与更新路由信息对应的路由分组信息。

由于切换分组路由信息的主下一跳信息与更新路由信息的主下一跳信息相同且切换分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息相同,因此更新路由信息的路由前缀所指示的数据转发路径发生了变化,因此将更新路由信息的路由前缀从更新分组路由信息的路由前缀中删除,并在切换分组路由信息的路由前缀中加入更新路由信息的路由前缀,将该路由前缀调整至指示该路由前缀对应数据转发路径的分组路由信息中,从而之后在需要进行路由切换时,能够根据调整后的分组路由信息生成对应的ECMP资源并进行路由切换,减少路由切换耗时,提高路由切换效率。

具体的,处理模块202,还被配置为当确定删除更新路由信息的路由前缀的更新分组路由信息不包括任何路由前缀时,删除更新分组路由信息以及更新分组路由信息对应的ECMP资源。

具体的,当确定删除更新路由信息的路由前缀的更新分组路由信息不包括任何路由前缀时,更新分组路由信息所对应的数据转发路径已不再承担任何数据转发,因此删除更新分组路由信息以及更新分组路由信息对应的ECMP资源,以节省系统资源。

具体的,处理模块202,还被配置为:

当更新分组路由信息的主下一跳信息与更新路由信息的主下一跳信息不相同或更新分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息不相同,并且确定分组路由信息不包括切换分组路由信息时,将更新路由信息的路由前缀从更新分组路由信息中删除,并根据更新路由信息生成新加分组路由信息,新加分组路由信息包括对应相同主下一跳信息并对应相同备份下一跳信息的更新路由信息的路由前缀。

其中,新加分组路由信息包括对应相同主下一跳信息并对应相同备份下一跳信息的更新路由信息的路由前缀。

具体的,当更新分组路由信息的主下一跳信息与更新路由信息的主下一跳信息不相同或更新分组路由信息的备份下一跳信息与更新路由信息的备份下一跳信息不相同,并且确定分组路由信息不包括切换分组路由信息时,表示路由信息不包括更新路由信息所指示的数据转发路径,因此向分组路由信息加入新的分组路由信息新加分组路由信息,该新加分组路由信息能够对应更新路由信息所指示的数据转发路径,以便于之后在需要进行路由切换时,能够根据加入新加分组路由信息的分组路由信息生成对应的ECMP资源并进行路由切换,减少路由切换耗时,提高路由切换效率。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括随机存储器(英文全称:Random Access Memory,英文简称:RAM)、只读存储器(英文全称:Read Only Memory,英文简称:ROM)、电可擦可编程只读存储器(英文全称:Electrically Erasable Programmable Read Only Memory,英文简称:EEPROM)、只读光盘(英文全称:Compact Disc Read Only Memory,英文简称:CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户专线(英文全称:Digital Subscriber Line,英文简称:DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在计算机可读介质的定义中。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,当以软件方式实现本发明时,可以将用于执行上述方法的指令或代码存储在计算机可读介质中或通过计算机可读介质进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、电可擦可编程只读存储器(全称:electrically erasable programmable read-only memory,简称:EEPROM)、光盘、磁盘或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1