CN106603401A - 快速重路由方法和装置 - Google Patents

快速重路由方法和装置 Download PDF

Info

Publication number
CN106603401A
CN106603401A CN201710084925.2A CN201710084925A CN106603401A CN 106603401 A CN106603401 A CN 106603401A CN 201710084925 A CN201710084925 A CN 201710084925A CN 106603401 A CN106603401 A CN 106603401A
Authority
CN
China
Prior art keywords
hop
information
route
main
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710084925.2A
Other languages
English (en)
Other versions
CN106603401B (zh
Inventor
陈丹
韦霁洲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201710084925.2A priority Critical patent/CN106603401B/zh
Publication of CN106603401A publication Critical patent/CN106603401A/zh
Application granted granted Critical
Publication of CN106603401B publication Critical patent/CN106603401B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供的快速重路由方法和装置,属于通信技术领域。所述方法包括:接收上层控制装置下发的主备路径信息。将所述主下一跳信息写入交换芯片的预设下一跳位置,以使交换芯片通过预设下一跳位置的主下一跳信息所指向的主路径执行当前路由的转发操作。在接收到主路径失效的指示信息时,将当前路由的备下一跳信息写入到预设下一跳位置,以使交换芯片通过备下一跳信息所指向的备路径执行所述当前路由的转发操作。直接将可用的正确的下一跳信息写入交换芯片的预设下一跳位置,以使所述交换芯片只需要根据所述预设下一跳位置内写入的下一跳信息即可实现正确快速地路由转换,极大程度地减少了路由切换的时间,提高了快速重路由的效率。

Description

快速重路由方法和装置
技术领域
本发明涉及通信技术领域,具体而言,涉及快速重路由方法和装置。
背景技术
FRR(Fast ReRoute,快速重路由)是一种网络拓扑中对链路和节点的保护机制。其应用场合是一些对流量中断非常敏感的场合,如IP电话、流媒体等。其实现的原理是,通过配置让控制平面学到一主一备两条路径,并下发给转发平面,并且正常情况下仅有主路径生效。当主路径发生故障时,立即让备路径生效,将流量转移到备路径上,以保证流量不会中断,弥补协议收敛前的间隙,保证业务不断流。
BFD(Bidirectional Forwarding Detection,双向转发检测)是一种用于检测两个转发点之间故障的网络协议,可以提供毫秒级的检测,实现链路状态变化的快速检测。由于快速重路由通常要求50ms内切换完成,因此通常都使用BFD来作为链路状态检测的协议。
转发信息库是一个维护了与上层路由表相同的镜像数据库,其主要作用是用于维护设备的转发表项,即每当上层控制装置通过配置生成或者协议学习使得路由表发生了变化,则其会将该信息告知转发信息库,由其来进行实际转发表项的修改。对于基于芯片设计的系统,转发信息库通常会直接调用驱动提供的接口对底层芯片上的转发表项进行修改。
目前对于拥有网络处理器的设备,其FRR的实现一般是通过控制平面检测到主链路失效后,修改转发平面上的转发表来实现,而对于基于芯片设计的系统,由于其所使用的芯片通常没有能处理主备路径切换的功能,所以FRR的实现均是通过控制平面先删除失效的路由,再添加新的有效路由来完成。但这样的实现方式所需要的切换时间会随着路由数量的增大而增大,导致当路由容量超过一定数量时,切换时间不能达到要求。
发明内容
有鉴于此,本发明实施例提供了快速重路由方法和装置,旨在提供快速重路由的方案,以改善上述问题。
本发明实施例提供的一种快速重路由方法,所述方法包括:接收上层控制装置下发的主备路径信息,其中,所述主备路径信息包括当前路由、以及与所述当前路由对应的主下一跳信息和备下一跳信息。将所述主下一跳信息写入交换芯片的预设下一跳位置,以使所述交换芯片通过所述主下一跳信息所指向的主路径执行所述当前路由的转发操作。在接收到所述主路径失效的指示信息时,将所述当前路由的所述备下一跳信息写入到所述预设下一跳位置,以使所述交换芯片通过所述备下一跳信息所指向的备路径执行所述当前路由的转发操作。
本发明实施例提供的一种快速重路由装置,所述快速重路由装置包括:所述快速重路由装置包括:主备路径信息接收模块,用于接收上层控制装置下发的主备路径信息,其中,所述主备路径信息包括当前路由、以及与所述当前路由对应的主下一跳信息和备下一跳信息。第一写入模块,用于将所述主下一跳信息写入交换芯片的预设下一跳位置,以使所述交换芯片通过所述预设下一跳位置的主下一跳信息所指向的主路径执行所述当前路由的转发操作。第二写入模块,用于在接收到所述主路径失效的指示信息时,将所述当前路由的所述备下一跳信息写入到所述预设下一跳位置,以使所述交换芯片通过所述备下一跳信息所指向的备路径执行所述当前路由的转发操作。
本发明实施例提供的快速重路由方法,应用于所述快速重路由装置。接收上层控制装置下发的主备路径信息后,获取所述主备路径信息中所包含的当前路由,以及与所述当前路由对应的主下一跳信息和备下一跳信息。在交换芯片的预先设置下一跳位置,以便根据所述下一跳位置内的下一跳信息进行路由转换。优先将所获取的主下一跳信息写入所述交换芯片的预设下一跳位置,以使所述交换芯片通过所述主下一跳信息所指向的主路径执行所述当前路由的转发操作。在检测到所述主路径失效时,将所获取的备下一跳信息覆盖所述交换芯片的预设下一跳位置处的主下一跳信息,以使所述交换芯片可以在所述主路径失效时,根据所述备下一跳信息进行路由转换。对于基于芯片设计的系统时,不需要执行主备路径的切换,直接将可用的正确的下一跳信息写入交换芯片的预设下一跳位置,以使所述交换芯片只需要根据所述预设下一跳位置内写入的下一跳信息即可实现正确快速地路由转换,极大程度地减少了路由切换的时间,提高了快速重路由的效率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的快速重路由系统的交互示意图;
图2为本发明第一实施例提供的快速重路由方法的步骤流程图;
图3为本发明第二实施例提供的快速重路由方法的步骤流程图;
图4为本发明第三实施例提供的快速重路由装置的功能模块图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明实施例提供的快速重路由方法和装置所应用的快速重路由系统的交互示意图。所述快速重路由系统包括:上层控制装置101、快速重路由装置102、交换芯片103和至少一个子网路由104。所述上层控制装置101与所述快速重路由装置102连接,所述上层控制装置将学习到的主备路径信息发送至所述快速重路由装置102。所述快速重路由装置102与所述交换芯片103连接,所述交换芯片103与至少一个所述子网路由104连接。所述快速重路由装置根据所述上层控制装置发送的主备路径信息,以及各个路径的可用状态,根据预设的规则将可用的路由信息写入到与之连接的交换芯片的预设下一跳位置,与所述交换芯片连接的子网路由只需要根据所述交换芯片内的预设下一跳位置的下一跳信息完成路由转换。
请参见图2,为本发明第一实施例提供的快速重路由方法的步骤流程图,所述快速重路由方法应用于图1所示的快速重路由装置102。下面将对图2所示的步骤进行具体解释。
步骤S201,接收上层控制装置下发的主备路径信息。
运用快速重路由对网络拓扑中对链路和节点进行保护,以便于对流量中断非常敏感的场合进行快速重路由配置。通过配置,所述快速重路由的上层控制装置,即为图1所示的上层控制装置,即控制平面中进行路由协议学习并且将学习到的路由信息进行分发的装置。该上层控制装置可在配置了快速重路由并且学习到主备路径信息的情况下,将其学习到的主备路径信息下发至所述快速重路由装置。所接收到的所述主备路径信息中可以包括:当前路由、以及与所述当前路由对应的下一跳路径信息。其中,与所述当前路径对应的下一跳路径信息包括主下一跳信息和备下一跳信息。所述主下一跳信息为优选地与所述当前路径对应的下一跳路径的信息,所述备下一跳信息为在主路径发生故障时,作为备份下一跳路径的信息。快速重路由功能的使用,需要先配置好上层路由协议和路由策略,再配置备下一跳的出接口和目的地址。在配置完成之后,被快速重路由保护的路径会启用双向转发检测协议,探测到达主下一跳的路径是否可达。
步骤S202,将所述主下一跳信息写入交换芯片的预设下一跳位置,以使所述交换芯片通过所述主下一跳信息所指向的主路径执行所述当前路由的转发操作。
所述快速重路由装置与所述交换芯片连接,在所述快速重路由装置内预设下一跳位置,用于写入可用状态的下一跳的路径信息。与所述交换芯片连接的所述子网路由获取所述预设下一跳位置内的路径信息,根据所获取的路径信息完成路由转发。在进行正常状态的路由配置时,将所述主备路径信息中的主下一跳信息写入所述预设下一跳位置,以使所述交换芯片通过所述主下一跳信息所指向的主路径执行所述当前路由的转发操作。
在其他实施方式中,为了进一步提高配置效率,在接收到上层控制装置下发的主备路径信息时,首先根据所述当前路由、所述主下一跳信息和所述备下一跳信息生成下一跳表项。在所生成的下一跳表项中,每个所述当前路由对应一个所述主下一跳信息和一个所述备下一跳信息。在所述交换芯片的所述预设下一跳位置内,设置有当前路由、与所述当前路由对应的下一跳信息,所述下一跳信息由所述快速重路由装置根据所述下一跳表项中的路径信息和路径可用状态进行配置。
在一种实施方式中,上层控制装置下发主备路径至快速重路由的具体方式可以包括:上层协议在学习到路由任意一条路由之后,会判断当前学习到的路由的主下一跳地址是否与上述步骤所配置的备下一跳地址相符。若相符,则对该路由打上快速重路由备路由的标记。上层协议在向快速重路由装置下发路由时,主路径路由和备路径路由会被作为两条路由信息分别下发。下发的信息字段中有一个快速重路由标记位,当下发的信息是备路径的路由时,该标记位会被置位,以便于后续的快速重路由处理。
相应地,所述快速重路由装置在接收到主备路径信息时,根据所接收路径信息的先后顺序进行不同的处理。若先接收到的是主路径信息,则会与处理常规的路由表项添加的流程一样,分别在前缀表和下一跳表中生成相应的表项。之后,当备路由加下来时,会先根据前缀信息找到已经存在的主路径前缀,并将该主路径上所有的普通下一跳释放,随后重新以释放的下一跳和当前添加下来的备下一跳为信息,生成一个新的快速重路由的下一跳,再将前缀指向该下一跳。
若先收到的是备路径信息,由于没有主路径下发,因此仅将前缀和备下一跳记录,不为其分配下一跳ID,也不会写芯片生成转发表项。待主路径下发后,根据前缀信息找到已经存储下的备路径信息,用前缀上的备下一跳信息和当前加下来的主下一跳信息去生成FRR下一跳,再将前缀指向该下一跳。
步骤S203,在接收到所述主路径失效的指示信息时,将所述当前路由的所述备下一跳信息写入到所述预设下一跳位置,以使所述交换芯片通过所述备下一跳信息所指向的备路径执行所述当前路由的转发操作。
网络协议一般还设置有双向转发检测协议(Bidirectional ForwardingDetection,BFD),是一种用于检测两个转发点之间故障的网络协议,可以提供毫秒级的检测,以实现链路状态变化的快速检测。一般场景中,快速重路由通常要求50ms内完成路径切换,因此通常应用所述双向转发协议作为链路状态检测的协议,以便在检测到链路状态异常时及时作出对应路由配置策略。
所述快速重路由装置内配置有用于维护与上层路由表相同的转发信息库,其主要作用是用于维护设备的转发表项,即每当上层控制装置通过配置生成或者协议学习使得路由表发生了变化,会将所学习到的信息下发至转发信息库,由所属转发信息库来进行实际转发表项的修改。基于信息设计的应用系统中,所设置的转发信息库通常会直接调用驱动提供的接口对底层芯片上的转发表项进行修改。
所述双向转发检测协议在检测到当前路由的主路径失效时,表明所述交换芯片内存储的所述主下一跳信息的状态为不可用。为了保证路由转发的正常工作状态,需要快速完成路由的切换。所述快速重路由装置接收到主路径失效的指示信息,所述主路径失效的指示信息包括失效的当前路由。所述快速重路由装置在检测到所述主路径失效的指示信息时,根据失效的当前路由,在所述下一跳表项中查找出所述当前路由对应的备下一跳信息。在所述交换芯片中查找到所述失效的当前路由对应的预设下一跳位置,将获取的备下一跳信息覆盖所述预设下一跳位置内已经存在的主下一跳信息。覆盖的方式可以包括,删除所述预设下一跳位置内已经存在的主下一跳信息,将所获取的备下一跳信息写入已经清除原有主下一跳信息的预设下一跳位置。子网路由仍然是根据所述交换芯片内预设下一跳位置内的下一跳信息进行路由转发,只是在所述快速重路由装置将所述预设下一跳位置内的主下一跳信息替换为备下一跳信息时,所述子网路由根据替换后的备下一跳信息所指向的备路径进行路由转发,从而实现了主路径失效时快速的路由转换。
在一种实施方式中,使用双向转发检测协议作为主链路检测的协议,可以默认检测超时时间是30ms,若需要更长或更短的时间,则可以在前述步骤中进行设置。当转发检测过程中发生超时之后,所述双向转发检测协议将出现故障的下一跳IP地址和出接口作为通知信息发送给所述快速重路由装置。快速重路由装置在接收到双向转发检测协议会话的down事件之后,就会以下一跳IP地址查找是否存在符合这两个字段的快速重路由类型的下一跳。若查找到符合要求的下一跳,则立刻将快速重路由类型下一跳表项中已经存储的备下一跳信息通过驱动提供的接口下发到芯片中。由于备下一跳使用的ID与已经下发的主下一跳的ID相同,因此在本次下发之后,芯片中对应ID位置就已经被替换成了备下一跳的信息。由于ID没有变化,芯片中所有的前缀都还指向所找到的ID,因此关联该ID对应下一跳的所有路由前缀都已经指向了备份路径,即为完成了整体系统的主备路径的切换。
上述本发明实施例提供的快速重路由方法,通过获取上层控制装置下发的主备路径信息中所包含的当前路由,以及与所述当前路由对应的主下一跳信息和备下一跳信息。预先将主下一跳信息写入到交换芯片的预设下一跳位置。在检测到主路径失效时,及时将备下一跳信息覆盖所述预设下一跳位置内已经失效的主下一跳信息,已完成快速简便的路由转换,提高了主路径失效时的路径转换,保护了应用系统的网络稳定性。
请参见图3,为本发明第二实施例提供的快速重路由方法的步骤流程图。在上述实施例的基础上,增设通过关联路由前缀的方式,进一步提高多个路由子网的路径切换效率。下面将对图3所示的步骤进行具体解释。
步骤S301,根据所述当前路由的路由前缀,和与所述第一索引关联的第二索引生成前缀表项。
在实际的网络环境中,路由子网的数量会产生较多的前缀数量,但是在一整套路由系统中,会将多数路由子网的前缀的下一跳配置为相同,也就是说,多数前缀复用相同的或者少数的下一跳。存在多个路由前缀的快速重路由系统中,可以仅通过切换少量的下一跳信息,即可完成所切换的下一跳信息所关联的全部或者大部分路由前缀对应的路由子网,完成简化、便捷地实现根据多数前缀关联的少数下一跳,实现备路径切换的操作。
为了提高路径配置效率,所述快速重路由装置在接收到上层控制装置下发的主备路径信息时,首先设置下一跳表项。所述下一跳表项包括当前路由、所述当前路由对应的主下一跳信息和备下一跳信息。在所生成的所述下一跳表项中,包括至少一个当前路由,以及每个所述当前路由对应的主下一跳表项和备下一跳表项。所述下一跳表项中还包括用于与所述路由前缀关联的第一索引。
设置对应所述下一跳表项的前缀表项,在所述前缀表项中设置第二索引,所述第二索引与所述第一索引对应关联。根据所述当前路由的路由前缀和所述第二索引生成所述前缀表项。所述第一索引与所述第二索引之间的对应关联关,可以表示为所述第一索引与所述第二索引相等,或者所述第一索引与所述第二索引之间为映射关系。
步骤S302,将所述当前路由的所述路由前缀、所述主下一跳信息和预设的第三索引写入所述交换芯片的预设下一跳位置。
进行路由前缀关联时,需要将所述下一跳表项、所述前缀表项和所述交换芯片进行关联,因此在所述交换芯片的预设下一跳位置写入用于关联前缀表项的第三索引。将所述当前路由的所述路由前缀、所述主下一跳信息和所述第三索引写入所述交换芯片的预设下一跳位置。其中,所述第三索引关联所述第一索引和所述第二索引。所述第三索引关联所述第一索引和所述第二索引的方式包括:所述第一索引、所述第二索引和所述第三索引中的任意两者之间互为相等或者映射关系。
步骤S303,根据所述主路径失效的指示信息,获取失效的所述主下一跳信息。
在接收到主路径失效的指示信息时,获取所述主路径失效的指示信息所指向的失效的主下一跳信息。
步骤S304,根据所述主下一跳信息对应的所述第一索引,获取关联的所述第二索引和所述第三索引。
根据上述步骤获取失效的主下一跳信息后,在所述下一跳表项中查找该失效的主下一跳表项所对应的目标第一索引。根据所述第一索引、第二索引和所述第三索引之间的对应关系,查找所获取的目标第一索引所对应的目标第二索引和目标第三索引。
步骤S305,将所关联的所述第三索引对应的所述预设下一跳位置内的所述主下一跳信息,替换为所关联的所述第一索引对应的所述备下一跳信息。
依据上述步骤获取对应所述失效的主下一跳信息的目标第三索引后,查找到所述目标第三索引对应的预设下一跳位置内的失效主下一跳信息。获取目标第一索引对应下一跳表项中的目标备下一跳信息,将所述目标备下一跳信息覆盖所述失效主下一跳信息。实现目标备下一跳信息覆盖主下一跳信息的方式可以为:删除所述预设下一跳位置内的失效主下一跳信息,将所述目标备下一跳信息写入所述预设下一跳位置内,以实现有效路由的快速切换。
步骤S306,控制所述第二索引对应的全部所述路由前缀对应路由的下一跳信息均转换为所获取的所述备下一跳信息。
依据上述步骤完成所述交换芯片内下一跳信息的切换后,执行全部子网路由的路径切换操作。第二索引关联的前缀表项中的多个路由前缀,关联所述第三索引对应的交换芯片的预设下一跳位置内的下一跳信息。在完成所述交换芯片中的下一跳信息的切换后,根据所述第二索引和所述第三索引的对应关系,将所述第二索引对应的全部所述路由前缀对应路由的下一跳信息,均转换为所述交换芯片中的备下一跳信息,以实现路由的快速切换。
在上述实施例的基础上,还可以包括快速重路由的清除操作。完成主路径失效后的快速重路由操作后,所述上层控制装置的路由协议收敛,此时删除所述下一跳表项,以当前更新过的备份路由作为当前路由,执行相应操作,进行正常的路由转发操作。
在一种实施方式中,在下发快速重路由类型的下一跳时,会使用快速重路由下一跳的ID以及主下一跳的信息作为写入交换芯片表项的关键字。驱动提供给转发信息库调用的接口,是通过ID来确定具体写在交换芯片中的位置。在接收到上层控制装置下发的主备路径信息后,于自身软件表项中生成快速重路由类型的下一跳表项,所生成的下一跳表项中存储着从主备路径信息中提取的主下一跳信息和备下一跳信息,并且自身以ID的形式索引。将所述快速重路由类型下一跳表项中的主下一跳信息写入交换芯片,写入的位置ID与该下一跳在软件表项中的ID相同。再将路由前缀信息和快速重路由类型下一跳的ID写入交换芯片的路由表中。当快速重路由类型的主路径出现故障时,会接收到主路径失效的指示信息,并且通过指示信息中失效的主路径地址找到快速重路由类型的下一跳,然后将这个下一跳上的备路径覆盖到芯片上原路径的ID上,未完成快速重路由的切换。
在一种具体实施方式中,在某应用系统配置快速重路由之后,学习到的一条当前路由为10.0.0.1/24,它的主下一跳为1.0.0.1,备下一跳为2.0.0.1。上层控制装置配置路由协议并启动快速重路由,并在学习到主备两条路由之后,分别下发给所述快速重路由装置,其实现方式可以为:
Add 10.0.0.1 255.255.255.0 1.0.0.1
Add 10.0.0.1 255.255.255.0 2.0.0.1(FRR)
收到这两条路由后,在下一跳表项中生成一个快速重路由类型的下一跳,ID为a,所生成的下一跳表项上面存有主下一跳1.0.0.1和备下一跳2.0.0.1,在前缀表上生成一个路由前缀10.0.0.1/24,其NHPID=a。在写入交换芯片时,写前缀表用的参数是10.0.0.1/24,下一跳ID为a;写下一跳表时,用的参数是ID为a,地址为1.0.0.1。
当监测到主路径出现故障时,转发信息库会收到双向转发检测协议会话down事件,事件中包含双向转发检测会话的目的地址1.0.0.1。于是就立刻查找下一跳表项,看是否有快速重路由类型的下一跳并且主下一跳地址为1.0.0.1。在找到ID为a的FRR下一跳后停止搜索,并将a上的备下一跳地址写芯片的下一跳表,此时写芯片的参数为ID为a,地址变为备路径地址2.0.0.1。经过上述操作,芯片上所有指向a的前缀都相当于变成了走备路径2.0.0.1转发出去,完成了多个路由子网的快速重路由的主备切换。
在上述步骤实现主备路径的切换之后,当上层协议重新收敛后,重新下发当前稳定状态下的路由表项,并删除已经失效的路由表项,其实现方式可以为:
Add 10.0.0.1 255.255.255.0 2.0.0.1
Del 10.0.0.1 255.255.255.0 1.0.0.1
Del 10.0.0.1 255.255.255.0 2.0.0.1(FRR)
上述本发明实施例提供的快速重路由方法,通过所述快速重路由装置在软件层面进行适配来实现主备路径的大量、快速切换。其适用范围不仅仅局限在基于芯片设计的系统上,凡是采用前缀关联下一跳形式进行转发的设备,都可以经过一定的移植和适配,并结合上述实施例提供的快速重路由方法来实现路由的切换。其他类似场景均可适用于本实施例。
上述本发明实施例提供的快速重路由方法,根据实际网络环境中,会将数量较多的路由配置少数的下一跳,即可通过在主路径失效时,切换少数的下一跳即可实现其所关联的较多路由前缀对应的子网路由的路径切换。无论下一跳有多少前缀关联,仅需要非常少量的表项更新即可完成切换动作。从芯片层面上,所使用的芯片资源并未增加,使得快速重路由功能的启用不会对别的业务生效产生影响,同时也不会因为网络拓扑的变化导致交换芯片的资源耗尽而导致快速重路由功能的失效,更为简便、敏捷地实现路由切换。
请参见图4,为本发明第三实施例提供的快速重路由装置400的功能模块图。本实施例提供的所述快速重路由装置400可以同上述实施例提供的快速重路由装置102。所述快速重路由装置400包括:主备路径信息接收模块401、第一写入模块402和第二写入模块403。
主备路径信息接收模块401,用于接收上层控制装置下发的主备路径信息,其中,所述主备路径信息包括当前路由、以及与所述当前路由对应的主下一跳信息和备下一跳信息;
第一写入模块402,用于将所述主下一跳信息写入交换芯片的预设下一跳位置,以使所述交换芯片通过所述预设下一跳位置的主下一跳信息所指向的主路径执行所述当前路由的转发操作;
第二写入模块403,用于在接收到所述主路径失效的指示信息时,将所述当前路由的所述备下一跳信息写入到所述预设下一跳位置,以使所述交换芯片通过所述备下一跳信息所指向的备路径执行所述当前路由的转发操作。
请继续参见图4,在上述实施例的基础上,所述快速重路由装置400还包括:下一跳表项生成模块404。所述下一跳表项生成模块404用于根据所述当前路由、所述主下一跳信息和所述备下一跳信息生成下一跳表项。
在上述实施例的基础上,所述第二写入模403用于:
获取所述主路径失效的指示信息;
在所述下一跳表项中,获取与所述主路径对应的所述主下一跳信息对应的所述备下一跳信息;
删除所述预设下一跳位置中的所述主下一跳信息,将与所述主下一跳信息对应的所述备下一跳信息写入到所述预设下一跳位置。
在上述实施例的基础上,所述下一跳表项还包括第一索引,所述第一写入模块402用于:
根据所述当前路由的路由前缀,和与所述第一索引关联的第二索引生成前缀表项;
将所述当前路由的所述路由前缀、所述主下一跳信息和预设的第三索引写入所述交换芯片的预设下一跳位置,其中,所述第三索引关联所述第一索引和所述第二索引。
在上述实施例的基础上,所述第一索引、所述第二索引和所述第三索引中的任意两者之间互为相等或者映射关系。
在上述实施例的基础上,所述第二写入模块403用于:
根据所述主路径失效的指示信息获取失效的所述主下一跳信息;
根据所述主下一跳信息对应的所述第一索引,获取关联的所述第二索引和所述第三索引;
将所关联的所述第三索引对应的所述预设下一跳位置内的所述主下一跳信息,替换为所关联的所述第一索引对应的所述备下一跳信息。
在上述实施例的基础上,所述快速重路由装置400还包括路由转换模块405,用于:
控制所述第二索引对应的全部所述路由前缀对应路由的下一跳信息均转换为所获取的所述备下一跳信息。
在上述实施例的基础上,所述快速重路由装置400还包括删除模块406,用于在所述上层控制装置的路由协议收敛后,删除所述下一跳表项。
上述本发明实施例提供的快速重路由装置,通过获取上层控制装置下发的主备路径信息中所包含的当前路由,以及与所述当前路由对应的主下一跳信息和备下一跳信息。预先将主下一跳信息写入到交换芯片的预设下一跳位置。在检测到主路径失效时,及时将备下一跳信息覆盖所述预设下一跳位置内已经失效的主下一跳信息,以完成快速简便的路由转换,提高了主路径失效时的路径转换,保护了应用系统的网络稳定性。根据实际网络环境中,会将数量较多的路由配置少数的下一跳,即可通过在主路径失效时,切换少数的下一跳即可实现其所关联的较多路由前缀对应的子网路由的路径切换,较为简便、敏捷地实现路由切换。本发明实施例提供的快速重路由装置的具体实施过程请参见上述装置实施例,在此不再一一赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种快速重路由方法,其特征在于,所述方法包括:
接收上层控制装置下发的主备路径信息,其中,所述主备路径信息包括当前路由、以及与所述当前路由对应的主下一跳信息和备下一跳信息;
将所述主下一跳信息写入交换芯片的预设下一跳位置,以使所述交换芯片通过所述主下一跳信息所指向的主路径执行所述当前路由的转发操作;
在接收到所述主路径失效的指示信息时,将所述当前路由的所述备下一跳信息写入到所述预设下一跳位置,以使所述交换芯片通过所述备下一跳信息所指向的备路径执行所述当前路由的转发操作。
2.根据权利要求1所述的方法,其特征在于,将所述主下一跳信息写入交换芯片的预设下一跳位置的步骤之前,所述方法还包括:根据所述当前路由、所述主下一跳信息和所述备下一跳信息生成下一跳表项。
3.根据权利要求2所述的方法,其特征在于,在接收到所述主路径失效的指示信息时,将所述当前路由的所述备下一跳信息写入到所述预设下一跳位置的步骤包括:
获取所述主路径失效的指示信息;
在所述下一跳表项中,获取与所述主路径对应的所述主下一跳信息对应的所述备下一跳信息;
删除所述预设下一跳位置中的所述主下一跳信息,将与所述主下一跳信息对应的所述备下一跳信息写入到所述预设下一跳位置。
4.根据权利要求2所述的方法,其特征在于,所述下一跳表项还包括第一索引,将所述主下一跳信息写入交换芯片的预设下一跳位置的步骤包括:
根据所述当前路由的路由前缀,和与所述第一索引关联的第二索引生成前缀表项;
将所述当前路由的所述路由前缀、所述主下一跳信息和预设的第三索引写入所述交换芯片的预设下一跳位置,其中,所述第三索引关联所述第一索引和所述第二索引,其中,所述第一索引、所述第二索引和所述第三索引中的任意两者之间互为相等或者映射关系。
5.根据权利要求4所述的方法,其特征在于,在接收到所述主路径失效的指示信息时,将所述当前路由的所述备下一跳信息写入到所述预设下一跳位置的步骤包括:
根据所述主路径失效的指示信息获取失效的所述主下一跳信息;
根据所述主下一跳信息对应的所述第一索引,获取关联的所述第二索引和所述第三索引;
将所关联的所述第三索引对应的所述预设下一跳位置内的所述主下一跳信息,替换为所关联的所述第一索引对应的所述备下一跳信息。
6.根据权利要求5所述的方法,其特征在于,将所关联的所述第三索引对应的所述预设下一跳位置内的所述主下一跳信息,替换为所关联的所述第一索引对应的所述备下一跳信息的步骤之后,所述方法还包括:
控制所述第二索引对应的全部所述路由前缀对应路由的下一跳信息均转换为所获取的所述备下一跳信息。
7.一种快速重路由装置,其特征在于,所述快速重路由装置包括:
主备路径信息接收模块,用于接收上层控制装置下发的主备路径信息,其中,所述主备路径信息包括当前路由、以及与所述当前路由对应的主下一跳信息和备下一跳信息;
第一写入模块,用于将所述主下一跳信息写入交换芯片的预设下一跳位置,以使所述交换芯片通过所述主下一跳信息所指向的主路径执行所述当前路由的转发操作;
第二写入模块,用于在接收到所述主路径失效的指示信息时,将所述当前路由的所述备下一跳信息写入到所述预设下一跳位置,以使所述交换芯片通过所述备下一跳信息所指向的备路径执行所述当前路由的转发操作。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:下一跳表项生成模块,所述下一跳表项生成模块用于:
根据所述当前路由、所述主下一跳信息和所述备下一跳信息生成下一跳表项。
9.根据权利要求8所述的装置,其特征在于,所述第二写入模块用于:
获取所述主路径失效的指示信息;
在所述下一跳表项中,获取与所述主路径对应的所述主下一跳信息对应的所述备下一跳信息;
删除所述预设下一跳位置中的所述主下一跳信息,将与所述主下一跳信息对应的所述备下一跳信息写入到所述预设下一跳位置。
10.根据权利要求9所述的装置,其特征在于,所述下一跳表项还包括第一索引,所述第一写入模块用于:
根据所述当前路由的路由前缀,和与所述第一索引关联的第二索引生成前缀表项;
将所述当前路由的所述路由前缀、所述主下一跳信息和预设的第三索引写入所述交换芯片的预设下一跳位置,其中,所述第三索引关联所述第一索引和所述第二索引;
所述第一索引、所述第二索引和所述第三索引中的任意两者之间互为相等或者映射关系。
11.根据权利要求10所述的装置,其特征在于,所述第二写入模块用于:
根据所述主路径失效的指示信息获取失效的所述主下一跳信息;
根据所述主下一跳信息对应的所述第一索引,获取关联的所述第二索引和所述第三索引;
将所关联的所述第三索引对应的所述预设下一跳位置内的所述主下一跳信息,替换为所关联的所述第一索引对应的所述备下一跳信息。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括路由转换模块,所述路由转换模块用于:
控制所述第二索引对应的全部所述路由前缀对应路由的下一跳信息均转换为所获取的所述备下一跳信息。
CN201710084925.2A 2017-02-16 2017-02-16 快速重路由方法和装置 Active CN106603401B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710084925.2A CN106603401B (zh) 2017-02-16 2017-02-16 快速重路由方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710084925.2A CN106603401B (zh) 2017-02-16 2017-02-16 快速重路由方法和装置

Publications (2)

Publication Number Publication Date
CN106603401A true CN106603401A (zh) 2017-04-26
CN106603401B CN106603401B (zh) 2019-09-13

Family

ID=58587564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710084925.2A Active CN106603401B (zh) 2017-02-16 2017-02-16 快速重路由方法和装置

Country Status (1)

Country Link
CN (1) CN106603401B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259217A (zh) * 2017-09-30 2018-07-06 新华三技术有限公司 一种设备升级方法及装置
CN109587065A (zh) * 2017-09-28 2019-04-05 北京金山云网络技术有限公司 转发报文的方法、装置、交换机、设备及存储介质
CN111431798A (zh) * 2020-03-31 2020-07-17 新华三信息安全技术有限公司 一种路由切换方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080025309A1 (en) * 2006-07-31 2008-01-31 Cisco Technology, Inc. Technique for multiple path forwarding of label-switched data traffic
CN101442494A (zh) * 2008-12-16 2009-05-27 中兴通讯股份有限公司 一种实现快速重路由的方法
CN102201964A (zh) * 2010-03-22 2011-09-28 杭州华三通信技术有限公司 一种实现快速路径切换的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080025309A1 (en) * 2006-07-31 2008-01-31 Cisco Technology, Inc. Technique for multiple path forwarding of label-switched data traffic
CN101442494A (zh) * 2008-12-16 2009-05-27 中兴通讯股份有限公司 一种实现快速重路由的方法
CN102201964A (zh) * 2010-03-22 2011-09-28 杭州华三通信技术有限公司 一种实现快速路径切换的方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587065A (zh) * 2017-09-28 2019-04-05 北京金山云网络技术有限公司 转发报文的方法、装置、交换机、设备及存储介质
US11050667B2 (en) 2017-09-28 2021-06-29 Beijing Kingsoft Cloud Network Technology Co., Ltd. Packet forwarding method, device, switch, apparatus, and storage medium
CN108259217A (zh) * 2017-09-30 2018-07-06 新华三技术有限公司 一种设备升级方法及装置
CN108259217B (zh) * 2017-09-30 2021-05-28 新华三技术有限公司 一种设备升级方法及装置
CN111431798A (zh) * 2020-03-31 2020-07-17 新华三信息安全技术有限公司 一种路由切换方法及装置
CN111431798B (zh) * 2020-03-31 2022-07-12 新华三信息安全技术有限公司 一种路由切换方法及装置

Also Published As

Publication number Publication date
CN106603401B (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
US10411949B2 (en) Method and system for virtual network mapping protection and computer storage medium
US8856584B2 (en) Transport control server that modifies routing information
US8456982B2 (en) System and method for fast network restoration
CN101820395B (zh) 基于mpls的路由信息配置和私网标签添加方法及装置
CN101710875A (zh) 一种实现快速重路由的方法及装置
CN104301251A (zh) 一种QoS处理方法、系统及设备
CN110417569A (zh) 一种网络链路故障处理方法和隧道端点设备
CN101436976A (zh) 一种转发数据帧的方法、系统和设备
CN101431466B (zh) 快速重路由方法及标签交换路由器
US9065757B2 (en) Network device and method of routing traffic
CN106603401A (zh) 快速重路由方法和装置
WO2019100706A1 (zh) 保护组叠加倒换方法、控制装置及光通信设备
CN103201987A (zh) 区分路由信息更新的优先级
US9515872B2 (en) Systems and methods for tunnel-free fast rerouting in internet protocol networks
CN105471599A (zh) 一种保护倒换方法及网络设备
CN104205745B (zh) 报文处理的方法与设备
CN103259720B (zh) 一种基于mtr的数据传输方法和设备
CN105743784B (zh) 一种部署大容量业务时的切换控制方法及装置
CN106850268A (zh) 一种线性保护倒换的实现装置及方法
CN109873766A (zh) 报文传输方法和装置
CN108023800A (zh) 一种lte承载网络的保护方法及装置
CN106464511A (zh) 一种业务保护方法及装置
CN102523160B (zh) 以太网线性保护中快速切换的芯片实现方法及系统
CN103428085A (zh) 一种rip路由的快速切换方法和设备
EP2693706A1 (en) Method and device for implementing multi-protection overlapped protection groups

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant