CN104243113A - 备选控制路径确定方法及装置 - Google Patents

备选控制路径确定方法及装置 Download PDF

Info

Publication number
CN104243113A
CN104243113A CN201410469379.0A CN201410469379A CN104243113A CN 104243113 A CN104243113 A CN 104243113A CN 201410469379 A CN201410469379 A CN 201410469379A CN 104243113 A CN104243113 A CN 104243113A
Authority
CN
China
Prior art keywords
node
controller
forward node
path
net control
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
CN201410469379.0A
Other languages
English (en)
Other versions
CN104243113B (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.)
Beijing Zhigu Ruituo Technology Services Co Ltd
Original Assignee
Beijing Zhigu Ruituo Technology Services 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 Beijing Zhigu Ruituo Technology Services Co Ltd filed Critical Beijing Zhigu Ruituo Technology Services Co Ltd
Priority to CN201410469379.0A priority Critical patent/CN104243113B/zh
Publication of CN104243113A publication Critical patent/CN104243113A/zh
Application granted granted Critical
Publication of CN104243113B publication Critical patent/CN104243113B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供了一种备选控制路径确定方法及装置。方法包括:获取一第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态和控制网络的信息;至少根据所述物理链路状态和所述控制网络的信息确定,在所述多个转发节点中一第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过逆向路径转发方式传输到一第二控制器;将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径。本申请实施例提供了一种确定针对控制器与转发节点之间的控制流的备选路径的方案。

Description

备选控制路径确定方法及装置
技术领域
本申请实施例涉及网络技术领域,尤其涉及一种备选控制路径确定方法及装置。
背景技术
软件定义网络(Software-Defined Networking,简称SDN)是一种控制与转发分离的网络架构。在SDN中,转发平面由极其简单的转发节点(switch)组成,其转发行为完全由逻辑上集中式的控制器(controller)进行控制。当网络出现故障时,控制器与转发节点之间的通信可能会中断。在这种情况下,失联的转发节点仍然能够根据已有的转发规则对数据包进行转发,但是,这些转发节点却无法向控制器请求针对于新流的转发规则,从而造成丢包。此外,由于某些SDN的控制应用(如负载均衡、流量工程等)需要掌握实时的网络状况,控制器与转发节点的通信中断也会使控制平面无法掌握准确的网络状态,造成网络性能下降。
发明内容
有鉴于此,本申请实施例的一个目的在于提供一种确定针对控制器与转发节点之间的控制流的备选路径的方案。
为实现上述目的,根据本申请实施例的一个方面,提供一种备选控制路径确定方法,包括:
获取一第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态和控制网络的信息;
至少根据所述物理链路状态和所述控制网络的信息确定,在所述多个转发节点中一第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过逆向路径转发方式传输到一第二控制器;
将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径。
为实现上述目的,根据本申请实施例的又一个方面,提供一种备选控制路径确定装置,包括:
获取模块,用于获取一第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态和控制网络的信息;
第一确定模块,用于至少根据所述物理链路状态和所述控制网络的信息确定,在所述多个转发节点中一第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过逆向路径转发方式传输到一第二控制器;
第二确定模块,用于将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径。
以上多个技术方案中的至少一个技术方案具有如下有益效果:
本申请实施例提供了一种确定针对控制器与转发节点之间的控制流的备选路径的方案,且在确定备选路径时考虑了逆向路径转发的故障保护方式,一定程度上提高了控制器和转发节点之间的通信可靠性。
附图说明
图1为本申请提供的一种备选控制路径确定方法实施例的流程示意图;
图2A为本申请中一种单控制器的控制网络的示意图;
图2B为本申请中一种双控制器的控制网络的示意图;
图3A为本申请提供的一种备选控制路径确定装置实施例一的结构示意图;
图3B-3C分别为图3A所示实施例的一种可选实现方式的结构示意图;
图4为本申请提供的一种备选控制路径确定装置实施例二的结构示意图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1为本申请提供的一种备选控制路径确定方法实施例的流程示意图。如图1所示,本实施例包括:
110、获取一第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态和控制网络的信息。
举例来说,一备选控制路径确定装置作为本实施例的执行主体,执行110~120。可选地,所述备选控制路径确定装置以软件和/或硬件的形式设置在所述第一控制器中。
本实施例可选地应用于SDN网络,SDN中一控制器对应的多个转发节点是指,被分配给该控制器管理的多个转发节点。通常,一控制器配置该控制器对应的多个转发节点针对数据流的转发规则。
本实施例中,一第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态至少包括:所述第一控制器与各所述转发节点之间以及各所述转发节点之间是否存在物理链路。可选地,所述物理链路状态还包括:物理链路是否故障,物理链路的质量、开销等。
本实施例中,一第一控制器和所述第一控制器对应的多个转发节点之间的控制网络是指用于在所述第一控制器和所述第一控制器对应的多个转发节点之间传输控制流的网络,包括传输控制流的各首选路径。具体地,所述第一控制器的控制流可以通过所述控制网络传输到各所述转发节点,各所述转发节点的控制流也可以通过所述控制网络传输到所述第一控制器。其中,所述控制网络的信息用于指示所述控制网络是怎么样的,即,指示传输控制流的各首选路径。
120、至少根据所述物理链路状态和所述控制网络的信息确定,在所述多个转发节点中一第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过逆向路径转发方式传输到一第二控制器。
本实施例中,所述第一转发节点在所述控制网络中的上一跳节点是,所述第一转发节点要将控制流传输到所述第一控制器的首选下一跳;在以所述第一控制器为顶点的所述控制网络中,所述上一跳节点位于所述第一转发节点的上游。具体地,所述上一跳节点可以是另一转发节点,或者,所述第一转发节点对应的控制器,即所述第一控制器。
本实施例中,上一跳节点也称为一跳上游节点,下一跳节点也称为一跳下游节点。
本实施例中,所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障包括但不限于:所述第一转发节点与所述上一跳节点之间的物理链路发生故障,所述上一跳节点发生故障,所述第一转发节点与所述上一跳节点连接的端口发生故障。
本实施例中,所述第一转发节点的控制流通过逆向路径转发(Reverse Forwarding)方式传输包括,所述第一转发节点将控制流向逆向路径转发,即发送给所述第一转发节点在所述控制网络中的下一跳节点。根据所述控制网络,所述第一转发节点的控制流不需经过所述第一转发节点在所述控制网络中的下一跳节点而需经过所述第一转发节点在所述控制网络中的上一跳节点传输到所述第一控制器,而所述第一转发节点在所述控制网络中的下一跳节点的控制流需经过所述第一转发节点传输到所述第一控制器,因此,所述第一转发节点的控制流能通过逆向路径转发方式传输到一第二控制器的一个前提是所述第一转发节点的一至少一跳下游节点(比如一跳下游节点、两跳下游节点等)的控制流能通过本地重路由(Local Rerouting)方式传输到所述第二控制器。其中,所述至少一跳下游节点的控制流通过本地重路由方式传输包括,所述至少一跳下游节点将控制流发送给本地重路由到的另一节点,该另一节点可以是除所述至少一跳下游节点在所述控制网络中的上一跳节点和下一跳节点之外的任一节点;所述至少一跳下游节点能本地重路由的一个前提是,所述至少一跳下游节点与除所述至少一跳下游节点在所述控制网络中的上一跳节点和下一跳节点之外的至少一其它节点之间存在物理链路,所述其它节点可以是转发节点或控制器。
本实施例中,所述第二控制器可以是所述第一控制器,也可以是除所述第一控制器之外的任一其它控制器。
图2A为本申请中一种单控制器的控制网络的示意图。如图2A所示,E为控制器,A、B、C、D为E对应的转发节点,A~E之间的物理链路如图中实线所示,E与A、B、C、D之间的控制网络如图中虚线所示,该控制网络可表示为:其中表示双向路径。对于转发节点B,当B与B在该控制网络中的上一跳节点,即转发节点C之间发生故障时,由于B的下一跳节点A与转发节点D之间存在物理链路,B可以通过逆向路径转发将控制流发送给下一跳节点A,A再通过本地重路由将B的控制流发送给转发节点D,D再将B的控制流发送给控制器E,也就是说,转发节点A的控制流能通过本地重路由方式传输到控制器E,转发节点B的控制流能通过逆向路径转发方式传输到控制器E。
本实施例中,所述转发节点的控制流“能”通过逆向路径转发方式传输到一第二控制器是至少根据所述第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态以及所述控制网络确定的,即理论上的“能”,并不意味着在相应的转发节点已配置了对应的针对控制流的备选路由表项。
130、将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径。
本实施例中,所述备选控制路径是指传输控制流的备选路径,其中,“备选”路径是针对所述控制网路中的“首选”路径来说的。
举例来说,图2A中的转发节点B的控制流能通过逆向路径转发方式传输到控制器E,相应地,将从B到B在所述控制网络中的下一跳节点,转发节点A的路径确定为一备选控制路径,即,将B→A确定为一备选控制路径,其中“→”表示箭头方向所示的单向路径。
本实施例提供了一种确定针对控制器与转发节点之间的控制流的备选路径的方案,且在确定备选路径时考虑了逆向路径转发的故障保护方式,一定程度上提高了控制器和转发节点之间的通信可靠性。
下面通过一些可选的实现方式进一步描述本实施例的方法。
本实施例中,所述第二控制器可以是所述第一控制器,也可以是除所述第一控制器之外的任一其它控制器。
在一种可选的实现方式中,所述第二控制器为所述第一控制器。
举例来说,图2A中对应控制器E的转发节点C的两跳下游节点、转发节点B的一跳下游节点,转发节点A的控制流能通过本地重路由方式传输到控制器E,相应地,对应控制器E的转发节点C、B的控制流均能通过逆向路径转发方式传输到控制器E;而对于图2A中对应控制器E的转发节点A、D,由于A、D在控制网络中均无下一跳节点,相应地,对应控制器E的A、D的控制流不能通过逆向路径转发方式传输到控制器E。
在此实现方式中,除了将控制流通过逆向路径转发方式传输到所述第一控制器,可选地,还考虑其它故障保护方式,如将控制流通过本地重路由方式传输到所述第一控制器。
在一种可能的场景中,本实施例还包括:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过本地重路由方式传输到所述第一控制器;
将从所述第一转发节点到所述第一转发节点重路由到的另一节点的路径,确定为又一备选控制路径。
举例来说,对于图2A中对应控制器E的转发节点C,由于C的两跳下游节点A与转发节点D之间存在物理链路,而D既不是A的上一跳节点也不是A的下一跳节点,因此,A的控制流能通过本地重路由方式传输到控制器E,相应地,C的控制流能通过逆向路径转发方式传输到控制器E,因此,将C→B确定为一备选控制路径;另外,由于C与转发节点D之间存在物理链路,而D既不是C的上一跳节点也不是C的下一跳节点,因此,C的控制流能通过本地重路由方式传输到控制器E,相应地,将C→D确定为又一备选控制路径。
可选地,无论所述第一转发节点的控制流能否通过逆向路径转发方式传输到所述第一控制器,只要确定所述第一转发节点的控制流能通过本地重路由方式传输到所述第一控制器,就将从所述第一转发节点到所述第一转发节点重路由到的另一节点的路径确定为一备选控制路径。
在此场景中,由于实际发生故障时,将控制流通过本地重路由方式传输到原控制器的故障恢复时间通常比通过逆向路径转发方式要短,因此,可选地优先选择通过本地重路由方式传输到原控制器的备选控制路径,比如设置将控制流通过本地重路由方式传输到原控制器的备选控制路径的优先级高于通过逆向路径转发方式传输到原控制器的备选控制路径的优先级。举例来说,将图2A所示的备选控制路径C→D的优先级设置为高于备选控制路径C→B。
在又一种可能的场景中,所述将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径之前,还包括:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流不能通过本地重路由方式传输到所述第一控制器。
具体地,只有在所述第一转发节点的控制流不能通过本地重路由方式传输到所述第一控制器、且能通过逆向路径转发方式传输到所述第一控制器的情况下,才将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径确定为一备选控制路径。
举例来说,图2A中对应控制器E的转发节点B的控制流不能通过本地重路由方式传输到控制器E,且能通过逆向路径转发方式传输到控制器E,因此,将B→A确定为一备选控制路径。
在又一种可选的实现方式中,所述第二控制器不为所述第一控制器。具体地,所述第二控制器可以为除所述第一控制器之外的任一控制器。
在此实现方式中,确定所述第一转发节点的控制流能通过逆向路径转发方式传输到所述第二控制器,还需参考所述第二控制器的控制网络以及所述第二控制器、所述第二控制器对应的多个转发节点与所述第一控制器对应的多个转发节点之间的物理链路状态。
可选地,所述第二控制器与所述第一控制器处于同一管理域中。
图2B为本申请中一种双控制器的控制网络的示意图。如图2B所示,A、E为控制器,B、H、I、J为A对应的转发节点,C、D、F、G、K为E对应的转发节点,A~K之间的物理链路如图中实线所示,A与B、H、I、J之间的第一控制网络、E与C、D、F、G、K之间的第二控制网络分别如图中虚线所示,具体地,第一控制网络可表示为:第二控制网络可表示为: 对于对应控制器E的转发节点G,当G与G在第二控制网络中的上一跳节点,即转发节点F之间发生故障时,由于G与第一控制网络中的转发节点H之间存在物理链路,因此,G可以通过本地重路由将控制流发送给H,H再将G的控制流经转发节点I发送给控制器A,也就是说,对应控制器E的G的控制流能通过本地重路由方式传输到控制器A。对于对应控制器E的转发节点F,当F与F在第二控制网络中的上一跳节点,即控制器E之间发生故障时,由于F的下一跳节点G的控制流能通过本地重路由方式传输到控制器A,相应地,对应控制器E的F的控制流能通过逆向路径转发方式传输到控制器A,因此,将F→G确定为一备选控制路径。需要说明的是,在同时存在多个控制器的场景中,该多个控制器之间可以交互各自的控制信息,这样在发生故障时各控制器可以代为管理其它控制器对应的转发节点。
在此实现方式中,除了将控制流通过逆向路径转发方式传输到所述第二控制器,可选地,还考虑其它的故障保护方式,如将控制流通过本地重路由方式传输到所述第一控制器或除所述第一控制器之外的任一其它路由器。
在一种可能的场景中,本实施例还包括:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过本地重路由方式传输到所述第一控制器;
将从所述第一转发节点到所述第一转发节点重路由到的另一节点的路径,确定为又一备选控制路径。
具体地,无论所述第一转发节点的控制流能否通过逆向路径转发方式传输到所述第二控制器,只要所述第一转发节点的控制流能通过本地重路由方式传输到所述第一控制器,就将从所述第一转发节点到所述第一转发节点重路由到的另一节点的路径确定为一备选控制路径。
在又一种可能的场景中,本实施例还包括:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过本地重路由方式传输到除所述第一控制器之外的一其它路由器;
将从所述第一转发节点到所述第一转发节点重路由到的另一节点的路径,确定为又一备选控制路径。
具体地,无论所述第一转发节点的控制流能否通过逆向路径转发方式传输到所述第二控制器,只要所述第一转发节点的控制流能通过本地重路由方式传输到所述其它控制器,就将从所述第一转发节点到所述第一转发节点重路由到的另一节点的路径确定为一备选控制路径。
在上述任一可能的场景中,由于实际发生故障时,对于控制流的各种故障保护方式的恢复时间从短到长通常依次为:通过本地重路由方式传输到原控制器、通过逆向路径转发方式传输到原控制器、通过本地重路由方式传输到其它控制器、通过逆向路径转发方式传输到其它控制器。可选地,按照上述恢复时间从短到长的顺序优先选择恢复时间更短的故障保护方式所对应的备选控制路径,比如按照上述顺序设置上述各种故障保护方式对应的备选控制路径的优先级。
举例来说,图2B中对应控制器E的转发节点C的控制流能通过本地重路由方式传输到控制器E,也能通过本地重路由方式传输到控制器A,因此,可以将C→K和C→B均确定为备选控制路径,且设置将控制流通过本地重路由方式传输到控制器E的备选控制路径C→K的优先级高于C→B。
在又一种可能的场景中,所述将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径之前,还包括:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流不能通过本地重路由方式传输到所述第一控制器或除所述第一控制器之外的任一其它控制器,也不能通过逆向路径转发方式传输到所述第一控制器。
具体地,在满足所述第一转发节点的控制流不能通过本地重路由方式传输到所述第一控制器或除所述第一控制器之外的任一其它控制器、也不能通过逆向路径转发方式传输到所述第一控制器、且能通过逆向路径转发方式传输到所述第二控制器的条件时,将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径确定为一备选控制路径。
举例来说,图2B中对应控制器E的转发节点F的控制流不能通过本地重路由方式或逆向路径转发方式传输到控制器E,也不能通过本地重路由方式传输到控制器A,但能通过逆向路径转发方式传输到控制器A,相应地,将F→G确定为一备选控制路径。
本实施例中,为了尽量避免逆向路径转发过程中的跳数过多对计算复杂度和恢复时间的影响,可选地,还考虑通过逆向转发路径方式的逆向跳数。
在一种可选的实现方式中,所述逆向路径转发为有预设逆向跳数限制的逆向路径转发。
相应地,120具体为:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述多个转发节点中一第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过不超过所述预设逆向跳数的逆向路径转发方式传输到一第二控制器。
其中,所述预设逆向跳数可以至少根据所述第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态,以及可容忍的计算复杂度、恢复时间来设定。
举例来说,所述预设逆向跳数可以设为2;图2A中对应控制器E的转发节点B的下一跳节点,转发节点A的控制流能通过本地重路由方式传输到控制器E,转发节点B的逆向路径转发方式的逆向跳数为1,因此,转发节点B的控制流能通过不超过所述预设逆向跳数的逆向路径转发方式传输到控制器E;图2B中对应控制器E的转发节点F的下一跳节点,转发节点G的控制流可以通过本地重路由方式传输到控制器A,转发节点F的逆向路径转发方式的逆向跳数为1,因此,转发节点F的控制流能通过不超过所述预设逆向跳数的逆向路径转发方式传输到控制器A。
本实施例中,将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径确定为一备选控制路径,通常通过在相应的节点处配置相应的路由表项来实现。可选地,所述将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径,包括:
在所述第一转发节点处配置将控制流向所述下一跳节点发送的一备选路由表项。
通常,所述第一转发节点处配置的针对控制流的首选路由表项是将控制流向所述第一转发节点在所述控制网络中的上一跳节点发送。
本实施例中,对于各所述转发节点,均可以将其作为所述第一转发节点执行120、130。
以所述第一转发节点在所述控制网络中的下一跳节点为例,所述下一跳节点的故障保护方式有多种可能,相应地,针对所述下一跳节点确定的备选控制路径也有多种可能。
在一种可选的场景中,本实施例还包括:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点在所述控制网络中的下一跳节点与所述第一转发节点之间发生故障时,所述下一跳节点的控制流能通过本地重路由方式传输到所述第二控制器;
将从所述下一跳节点到所述下一跳节点重路由的另一节点的路径,确定为又一备选控制路径。
举例来说,所述第一转发节点为图2B中对应控制器E的转发节点D,D的控制流能通过逆向路径转发方式传输到控制器E,相应地,将D→C确定为一备选控制路径,另外,D在第二控制网络中的下一跳节点C的控制流能通过本地重路由方式传输到控制器E,相应地,将从C到C重路由到的另一节点,转发节点K的路径确定为又一备选控制路径,即将C→K确定为一备选控制路径。
可选地,所述将从所述下一跳节点到所述下一跳节点重路由的另一节点的路径,确定为又一备选控制路径,包括:
在所述下一跳节点处配置将控制流向所述重路由的另一节点发送的一备选路由表项。
在又一种可选的场景中,所述方法还包括:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点在所述控制网络中的下一跳节点与所述第一转发节点之间发生故障时,所述下一跳节点的控制流能通过逆向路径转发方式传输到所述第二控制器;
将从所述下一跳节点到所述下一跳节点在所述控制网络中的下一跳节点的路径,确定为又一备选控制路径。
举例来说,所述第一转发节点为图2A中对应控制器E的转发节点C,C的控制流能通过逆向路径转发方式传输到控制器E,相应地,将C→B确定为一备选控制路径,另外,C在控制网络中下一跳节点B的控制流能通过逆向路径转发方式传输到控制器E,相应地,将B→A确定为又一备选控制路径。
其中,所述下一跳节点在所述控制网络中的下一跳节点即为,所述第一转发节点在所述控制网络中的两跳下游节点。
可选地,所述将从所述下一跳节点到所述下一跳节点在所述控制网络中的下一跳节点的路径,确定为又一备选控制路径,包括:
在所述第一转发节点在所述控制网络中的下一跳节点处配置将控制流向所述第一转发节点在所述控制网络中的两跳下游节点发送的一备选路由表项。
图3A为本申请提供的一种备选控制路径确定装置实施例一的结构示意图。如图3A所示,备选控制路径确定装置(以下简称装置)300包括:
获取模块31,用于获取一第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态和控制网络的信息;
第一确定模块32,用于至少根据所述物理链路状态和所述控制网络的信息确定,在所述多个转发节点中一第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过逆向路径转发方式传输到一第二控制器;
第二确定模块33,用于将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径。
本实施例可选地应用于SDN网络,SDN中一控制器对应的多个转发节点是指,被分配给该控制器管理的多个转发节点。通常,一控制器配置该控制器对应的多个转发节点针对数据流的转发规则。
本实施例中,一第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态至少包括:所述第一控制器与各所述转发节点之间以及各所述转发节点之间是否存在物理链路。可选地,所述物理链路状态还包括:物理链路是否故障,物理链路的质量、开销等。
本实施例中,一第一控制器和所述第一控制器对应的多个转发节点之间的控制网络是指用于在所述第一控制器和所述第一控制器对应的多个转发节点之间传输控制流的网络,包括传输控制流的各首选路径。具体地,所述第一控制器的控制流可以通过所述控制网络传输到各所述转发节点,各所述转发节点的控制流也可以通过所述控制网络传输到所述第一控制器。其中,所述控制网络的信息用于指示所述控制网络是怎么样的,即,指示传输控制流的各首选路径。
本实施例中,所述第一转发节点在所述控制网络中的上一跳节点是,所述第一转发节点要将控制流传输到所述第一控制器的首选下一跳;在以所述第一控制器为顶点的所述控制网络中,所述上一跳节点位于所述第一转发节点的上游。具体地,所述上一跳节点可以是另一转发节点,或者,所述第一转发节点对应的控制器,即所述第一控制器。
本实施例中,上一跳节点也称为一跳上游节点,下一跳节点也称为一跳下游节点。
本实施例中,所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障包括但不限于:所述第一转发节点与所述上一跳节点之间的物理链路发生故障,所述上一跳节点发生故障,所述第一转发节点与所述上一跳节点连接的端口发生故障。
本实施例中,所述第一转发节点的传输流通过逆向路径转发(Reverse Forwarding)方式传输包括,所述第一转发节点将控制流向逆向路径转发,即发送给所述第一转发节点在所述控制网络中的下一跳节点。根据所述控制网络,所述第一转发节点的控制流不需经过所述第一转发节点在所述控制网络中的下一跳节点而需经过所述第一转发节点在所述控制网络中的上一跳节点传输到所述第一控制器,而所述第一转发节点在所述控制网络中的下一跳节点的控制流需经过所述第一转发节点传输到所述第一控制器,因此,所述第一转发节点的控制流能通过逆向路径转发方式传输到一第二控制器的一个前提是所述第一转发节点的一至少一跳下游节点(比如一跳下游节点、两跳下游节点等)的控制流能通过本地重路由(Local Rerouting)方式传输到所述第二控制器。其中,所述至少一跳下游节点的控制流通过本地重路由方式传输包括,所述至少一跳下游节点将控制流发送给本地重路由到的另一节点,该另一节点可以为除所述至少一跳下游节点在所述控制网络中的上一跳节点和下一跳节点之外的任一节点;所述至少一跳下游节点能本地重路由的一个前提是,所述至少一跳下游节点与除所述至少一跳下游节点在所述控制网络中的上一跳节点和下一跳节点之外的至少一其它节点之间存在物理链路,所述其它节点可以是转发节点或控制器。
本实施例中,所述第二控制器可以是所述第一控制器,也可以是除所述第一控制器之外的任一其它控制器。
图2A为本申请中一种单控制器的控制网络的示意图,具体说明参照本申请提供的一种备选控制路径确定方法实施例中相应描述。
本实施例中,所述转发节点的控制流“能”通过逆向路径转发方式传输到一第二控制器是至少根据所述第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态以及所述控制网络确定的,即理论上的“能”,并不意味着在相应的转发节点已配置了对应的针对控制流的备选路由表项。
本实施例中,所述备选控制路径是指传输控制流的备选路径,其中,“备选”路径是针对所述控制网路中的“首选”路径来说的。
举例来说,图2A中的转发节点B的控制流能通过逆向路径转发方式传输到控制器E,相应地,将从B到B在所述控制网络中的下一跳节点,转发节点A的路径确定为一备选控制路径,即,将B→A确定为一备选控制路径,其中“→”表示箭头方向所示的单向路径。
本实施例中,装置300可选地以软件和/或硬件的形式设置在所述第一控制器中。
本实施例提供了一种确定针对控制器与转发节点之间的控制流的备选路径的方案,且备选控制路径确定装置在确定备选路径时考虑了逆向路径转发的故障保护方式,一定程度上提高了控制器和转发节点之间的通信可靠性。
下面通过一些可选的实现方式进一步描述本实施例的装置300。
本实施例中,所述第二控制器可以是所述第一控制器,也可以是除所述第一控制器之外的任一其它控制器。
在一种可选的实现方式中,所述第二控制器为所述第一控制器。
举例来说,图2A中对应控制器E的转发节点C的两跳下游节点、转发节点B的一跳下游节点,转发节点A的控制流能通过本地重路由方式传输到控制器E,相应地,对应控制器E的转发节点C、B的控制流均能通过逆向路径转发方式传输到控制器E;而对于图2A中对应控制器E的转发节点A、D,由于A、D在控制网络中均无下一跳节点,相应地,对应控制器E的A、D的控制流不能通过逆向路径转发方式传输到控制器E。
在此实现方式中,除了将控制流通过逆向路径转发方式传输到所述第一控制器,可选地,还考虑其它故障保护方式,如将控制流通过本地重路由方式传输到所述第一控制器。
在一种可能的场景中,第一确定模块32还用于:至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过本地重路由方式传输到所述第一控制器;
第二确定模块33还用于:将从所述第一转发节点到所述第一转发节点重路由到的另一节点的路径,确定为又一备选控制路径。
举例来说,对于图2A中对应控制器E的转发节点C,由于C的两跳下游节点A与转发节点D之间存在物理链路,而D既不是A的上一跳节点也不是A的下一跳节点,因此,A的控制流能通过本地重路由方式传输到控制器E,相应地,第一确定模块32确定C的控制流能通过逆向路径转发方式传输到控制器E,因此,第二确定模块33将C→B确定为一备选控制路径;另外,由于C与转发节点D之间存在物理链路,而D既不是C的上一跳节点也不是C的下一跳节点,因此,第一确定模块32确定C的控制流能通过本地重路由方式传输到控制器E,相应地,第二确定模块33将C→D确定为又一备选控制路径。
可选地,无论所述第一转发节点的控制流能否通过逆向路径转发方式传输到所述第一控制器,只要第一确定模块32确定所述第一转发节点的控制流能通过本地重路由方式传输到所述第一控制器,第二确定模块33就将从所述第一转发节点到所述第一转发节点重路由到的另一节点的路径确定为一备选控制路径。
在此场景中,由于实际发生故障时,将控制流通过本地重路由方式传输到原控制器的故障恢复时间通常比通过逆向路径转发方式要短,因此,可选地优先选择通过本地重路由方式传输到原控制器的备选控制路径,比如设置将控制流通过本地重路由方式传输到原控制器的备选控制路径的优先级高于通过逆向路径转发方式传输到原控制器的备选控制路径的优先级。
举例来说,第二确定模块33将图2A所示的备选控制路径C→D的优先级设置为高于备选控制路径C→B。
在又一种可能的场景中,如图3B所示,装置300还包括:
第三确定模块34,用于至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流不能通过本地重路由方式传输到所述第一控制器。
具体地,只有在第三确定模块34确定所述第一转发节点的控制流不能通过本地重路由方式传输到所述第一控制器、且第一确定模块32确定所述第一转发节点的控制流能通过逆向路径转发方式传输到所述第一控制器的情况下,第二确定模块33才将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径确定为一备选控制路径。
举例来说,第三确定模块34确定图2A中对应控制器E的转发节点B的控制流不能通过本地重路由方式传输到控制器E,且第一确定模块32确定B的控制流能通过逆向路径转发方式传输到控制器E,因此,第二确定模块33将B→A确定为一备选控制路径。
在又一种可选的实现方式中,所述第二控制器不为所述第一控制器。具体地,所述第二控制器可以为除所述第一控制器之外的任一控制器。
在此实现方式中,第一确定模块32确定所述第一转发节点的控制流能通过逆向路径转发方式传输到所述第二控制器,还需参考所述第二控制器的控制网络以及所述第二控制器、所述第二控制器对应的多个转发节点与所述第一控制器对应的多个转发节点之间的物理链路状态。
可选地,所述第二控制器与所述第一控制器处于同一管理域中。
图2B为本申请中一种双控制器的控制网络的示意图,具体说明参照本申请提供的一种备选控制路径确定方法实施例中相应描述。
在此实现方式中,除了将控制流通过逆向路径转发方式传输到所述第二控制器,可选地,还考虑其它的故障保护方式,如将控制流通过本地重路由方式传输到所述第一控制器或除所述第一控制器之外的任一其它路由器。
在一种可能的场景中,第一确定模块32还用于:至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过本地重路由方式传输到所述第一控制器;
第二确定模块33还用于:将从所述第一转发节点到所述第一转发节点重路由到的另一节点的路径,确定为又一备选控制路径。
具体地,无论所述第一转发节点的控制流能否通过逆向路径转发方式传输到所述第二控制器,只要第一确定模块32确定所述第一转发节点的控制流能通过本地重路由方式传输到所述第一控制器,第二确定模块33就将从所述第一转发节点到所述第一转发节点重路由到的另一节点的路径确定为一备选控制路径。
在又一种可能的场景中,第一确定模块32还用于:至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过本地重路由方式传输到除所述第一控制器之外的一其它路由器;
第二确定模块33还用于:将从所述第一转发节点到所述第一转发节点重路由到的另一节点的路径,确定为又一备选控制路径。
具体地,无论所述第一转发节点的控制流能否通过逆向路径转发方式传输到所述第二控制器,只要第一确定模块32确定所述第一转发节点的控制流能通过本地重路由方式传输到所述其它控制器,第二确定模块33就将从所述第一转发节点到所述第一转发节点重路由到的另一节点的路径确定为一备选控制路径。
在上述任一可能的场景中,由于实际发生故障时,对于控制流的各种故障保护方式的恢复时间从短到长通常依次为:通过本地重路由方式传输到原控制器、通过逆向路径转发方式传输到原控制器、通过本地重路由方式传输到其它控制器、通过逆向路径转发方式传输到其它控制器。可选地,按照上述恢复时间从短到长的顺序优先选择恢复时间更短的故障保护方式所对应的备选控制路径,比如第二确定模块33可以按照上述顺序设置上述各种故障保护方式对应的备选控制路径的优先级。
举例来说,第一确定模块32确定图2B中对应控制器E的转发节点C的控制流能通过本地重路由方式传输到控制器E,也能通过本地重路由方式传输到控制器A,因此,第二确定模块33可以将C→K和C→B均确定为备选控制路径,且设置将控制流通过本地重路由方式传输到控制器E的备选控制路径C→K的优先级高于C→B。
在又一种可能的场景中,如图3C所示,装置300还包括:
第四确定模块35,用于至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流不能通过本地重路由方式传输到所述第一控制器或除所述第一控制器之外的任一其它控制器,也不能通过逆向路径转发方式传输到所述第一控制器。
具体地,在满足所述第一转发节点的控制流不能通过本地重路由方式传输到所述第一控制器或除所述第一控制器之外的任一其它控制器、也不能通过逆向路径转发方式传输到所述第一控制器、且能通过逆向路径转发方式传输到所述第二控制器的条件时,第二确定模块33将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径确定为一备选控制路径。
举例来说,第四确定模块35确定图2B中对应控制器E的转发节点F的控制流不能通过本地重路由方式或逆向路径转发方式传输到控制器E,也不能通过本地重路由方式传输到控制器A,第一确定模块32确定转发节点F的控制流能通过逆向路径转发方式传输到控制器A,相应地,第二确定模块33将F→G确定为一备选控制路径。
本实施例中,为了尽量避免逆向路径转发过程中的跳数过多对计算复杂度和恢复时间的影响,可选地,还考虑通过逆向转发路径方式的逆向跳数。
在一种可选的实现方式中,所述逆向路径转发为有预设逆向跳数限制的逆向路径转发。
相应地,第一确定模块32具体用于:至少根据所述物理链路状态和所述控制网络的信息确定,在所述多个转发节点中一第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过不超过所述预设逆向跳数的逆向路径转发方式流传输到一第二控制器。
其中,所述预设逆向跳数可以至少根据所述第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态,以及可容忍的计算复杂度、恢复时间来设定。
举例来说,所述预设逆向跳数可以设为2;图2A中对应控制器E的转发节点B的下一跳节点,转发节点A的控制流可以通过本地重路由方式传输到控制器E,转发节点B的逆向路径转发方式的逆向跳数为1,因此,第一确定模块32确定转发节点B的控制流能通过不超过所述预设逆向跳数的逆向路径转发方式传输到控制器E;图2B中对应控制器E的转发节点F的下一跳节点,转发节点G的控制流可以通过本地重路由方式传输到控制器A,转发节点F的逆向路径转发方式的逆向跳数为1,因此,第一确定模块32确定转发节点F的控制流能通过不超过所述预设逆向跳数的逆向路径转发方式传输到控制器A。
本实施例中,第二确定模块33将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径确定为一备选控制路径,通常通过在相应的节点处配置相应的路由表项来实现。可选地,第二确定模块33具体用于:在所述第一转发节点处配置将控制流向所述下一跳节点发送的一备选路由表项。
通常,所述第一转发节点处配置的针对控制流的首选路由表项是将控制流向所述第一转发节点在所述控制网络中的上一跳节点发送。
本实施例中,对于各所述转发节点,第一确定模块32、第二确定模块33均可以将其作为所述第一转发节点执行相应的功能。
以所述第一转发节点在所述控制网络中的下一跳节点为例,所述下一跳节点的故障保护方式有多种可能,相应地,第二确定模块33针对所述下一跳节点确定的备选控制路径也有多种可能。
在一种可选的场景中,第一确定模块32还用于:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点在所述控制网络中的下一跳节点与所述第一转发节点之间发生故障时,所述下一跳节点的控制流能通过本地重路由方式传输到所述第二控制器;
第二确定模块33还用于:将从所述下一跳节点到所述下一跳节点重路由的另一节点的路径,确定为又一备选控制路径。
举例来说,第一确定模块32确定所述第一转发节点为图2B中对应控制器E的转发节点D,D的控制流能通过逆向路径转发方式传输到控制器E,相应地,第二确定模块33将D→C确定为一备选控制路径,另外,第一确定模块32确定D在第二控制网络中的下一跳节点C的控制流能通过本地重路由方式传输到控制器E,相应地,第二确定模块33将从C到C重路由到的另一节点,转发节点K的路径确定为又一备选控制路径,即将C→K确定为一备选控制路径。
可选地,第二确定模块33还具体用于:
在所述下一跳节点处配置将控制流向所述重路由的另一节点发送的一备选路由表项。
在又一种可选的场景中,第一确定模块32还用于:至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点在所述控制网络中的下一跳节点与所述第一转发节点之间发生故障时,所述下一跳节点的控制流能通过逆向路径转发方式传输到所述第二控制器;
第二确定模块33还用于:将从所述下一跳节点到所述下一跳节点在所述控制网络中的下一跳节点的路径,确定为又一备选控制路径。
举例来说,所述第一转发节点为图2A中对应控制器E的转发节点C,第一确定模块32确定C的控制流能通过逆向路径转发方式传输到控制器E,相应地,第二确定模块33将C→B确定为一备选控制路径,另外,第一确定模块32确定C在控制网络中下一跳节点B的控制流能通过逆向路径转发方式传输到控制器E,相应地,第二确定模块33将B→A确定为又一备选控制路径。
其中,所述下一跳节点在所述控制网络中的下一跳节点即为,所述第一转发节点在所述控制网络中的两跳下游节点。
可选地,第二确定模块33还具体用于:在所述第一转发节点在所述控制网络中的下一跳节点处配置将控制流向所述第一转发节点在所述控制网络中的两跳下游节点发送的一备选路由表项。
图4为本申请提供的一种备选控制路径确定装置实施例二的结构示意图。如图4所示,备选控制路径确定装置400包括:
处理器(processor)41、通信接口(Communications Interface)42、存储器(memory)43、以及通信总线44。其中:
处理器41、通信接口42、以及存储器43通过通信总线44完成相互间的通信。
通信接口42,用于与比如转发节点等外部设备的通信。
处理器41,用于执行程序432,具体可以执行上述备选控制路径确定方法实施例中的相关步骤。
具体地,程序432可以包括程序代码,所述程序代码包括计算机操作指令。
处理器41可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施上述备选控制路径确定方法实施例的一个或多个集成电路。
存储器43,用于存放程序432。存储器43可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序432具体可以用于使得备选控制路径确定装置400执行以下步骤:
获取一第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态和控制网络的信息;
至少根据所述物理链路状态和所述控制网络的信息确定,在所述多个转发节点中一第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过逆向路径转发方式传输到一第二控制器;
将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径。
程序432中各步骤的具体实现可以参见上述备选控制路径确定方法实施例中的相应步骤中对应的描述,在此不赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对原有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (18)

1.一种备选控制路径确定方法,其特征在于,所述方法包括:
获取一第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态和控制网络的信息;
至少根据所述物理链路状态和所述控制网络的信息确定,在所述多个转发节点中一第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过逆向路径转发方式传输到一第二控制器;
将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径。
2.根据权利要求1所述的方法,其特征在于,所述第二控制器为所述第一控制器。
3.根据权利要求2所述的方法,其特征在于,所述将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径之前,还包括:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流不能通过本地重路由方式传输到所述第一控制器。
4.根据权利要求1所述的方法,其特征在于,所述第二控制器不为所述第一控制器。
5.根据权利要求4所述的方法,其特征在于,所述将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径之前,还包括:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流不能通过本地重路由方式传输到所述第一控制器或除所述第一控制器之外的任一其它控制器,也不能通过逆向路径转发方式传输到所述第一控制器。
6.根据权利要求1~5中任一所述的方法,其特征在于,所述逆向路径转发为有预设逆向跳数限制的逆向路径转发。
7.根据权利要求1~6中任一所述的方法,其特征在于,所述将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径,包括:
在所述第一转发节点处配置将控制流向所述下一跳节点发送的一备选路由表项。
8.根据权利要求1~7中任一所述的方法,其特征在于,所述方法还包括:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点在所述控制网络中的下一跳节点与所述第一转发节点之间发生故障时,所述下一跳节点的控制流能通过本地重路由方式传输到所述第二控制器;
将从所述下一跳节点到所述下一跳节点重路由的另一节点的路径,确定为又一备选控制路径。
9.根据权利要求1~7中任一所述的方法,其特征在于,所述方法还包括:
至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点在所述控制网络中的下一跳节点与所述第一转发节点之间发生故障时,所述下一跳节点的控制流能通过逆向路径转发方式传输到所述第二控制器;
将从所述下一跳节点到所述下一跳节点在所述控制网络中的下一跳节点的路径,确定为又一备选控制路径。
10.一种备选控制路径确定装置,其特征在于,所述装置包括:
获取模块,用于获取一第一控制器和所述第一控制器对应的多个转发节点之间的物理链路状态和控制网络的信息;
第一确定模块,用于至少根据所述物理链路状态和所述控制网络的信息确定,在所述多个转发节点中一第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流能通过逆向路径转发方式传输到一第二控制器;
第二确定模块,用于将从所述第一转发节点到所述第一转发节点在所述控制网络中的下一跳节点的路径,确定为一备选控制路径。
11.根据权利要求10所述的装置,其特征在于,所述第二控制器为所述第一控制器。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流不能通过本地重路由方式传输到所述第一控制器。
13.根据权利要求10所述的装置,其特征在于,所述第二控制器不为所述第一控制器。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第四确定模块,用于至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点与所述第一转发节点在所述控制网络中的上一跳节点之间发生故障时,所述第一转发节点的控制流不能通过本地重路由方式传输到所述第一控制器或除所述第一控制器之外的任一其它控制器,也不能通过逆向路径转发方式传输到所述第一控制器。
15.根据权利要求10~14中任一所述的装置,其特征在于,所述逆向路径转发为有预设逆向跳数限制的逆向路径转发。
16.根据权利要求10~15中任一所述的装置,其特征在于,所述第二确定模块具体用于:在所述第一转发节点处配置将控制流向所述下一跳节点发送的一备选路由表项。
17.根据权利要求10~16中任一所述的装置,其特征在于,所述第一确定模块还用于:至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点在所述控制网络中的下一跳节点与所述第一转发节点之间发生故障时,所述下一跳节点的控制流能通过本地重路由方式传输到所述第二控制器;
所述第二确定模块还用于:将从所述下一跳节点到所述下一跳节点重路由的另一节点的路径,确定为又一备选控制路径。
18.根据权利要求10~16中任一所述的装置,其特征在于,所述第一确定模块还用于:至少根据所述物理链路状态和所述控制网络的信息确定,在所述第一转发节点在所述控制网络中的下一跳节点与所述第一转发节点之间发生故障时,所述下一跳节点的控制流能通过逆向路径转发方式传输到所述第二控制器;
所述第二确定模块还用于:将从所述下一跳节点到所述下一跳节点在所述控制网络中的下一跳节点的路径,确定为又一备选控制路径。
CN201410469379.0A 2014-09-15 2014-09-15 备选控制路径确定方法及装置 Active CN104243113B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410469379.0A CN104243113B (zh) 2014-09-15 2014-09-15 备选控制路径确定方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410469379.0A CN104243113B (zh) 2014-09-15 2014-09-15 备选控制路径确定方法及装置

Publications (2)

Publication Number Publication Date
CN104243113A true CN104243113A (zh) 2014-12-24
CN104243113B CN104243113B (zh) 2018-11-30

Family

ID=52230536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410469379.0A Active CN104243113B (zh) 2014-09-15 2014-09-15 备选控制路径确定方法及装置

Country Status (1)

Country Link
CN (1) CN104243113B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108243047A (zh) * 2016-12-27 2018-07-03 中兴通讯股份有限公司 一种业务切换方法、装置及业务切换系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483548A (zh) * 2009-02-26 2009-07-15 中国人民解放军信息工程大学 一种距离向量路由协议自愈的方法和系统
US20140211615A1 (en) * 2012-12-18 2014-07-31 Juniper Networks, Inc. Aggregation network with centralized control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483548A (zh) * 2009-02-26 2009-07-15 中国人民解放军信息工程大学 一种距离向量路由协议自愈的方法和系统
US20140211615A1 (en) * 2012-12-18 2014-07-31 Juniper Networks, Inc. Aggregation network with centralized control

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NEDA BEHESHTI等: "Fast failover for control traffic in software-defined networks", 《GLOBECOM 2012-NEXT GENERATION NETWORKING AND INTERNET SYMPOSIUM》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108243047A (zh) * 2016-12-27 2018-07-03 中兴通讯股份有限公司 一种业务切换方法、装置及业务切换系统

Also Published As

Publication number Publication date
CN104243113B (zh) 2018-11-30

Similar Documents

Publication Publication Date Title
US10868757B2 (en) Efficient routing in software defined networks
US10158533B2 (en) System and method for base topology selection
US10158523B2 (en) System and method for network topology management
Capone et al. Detour planning for fast and reliable failure recovery in SDN with OpenState
KR101390095B1 (ko) 동적 경로 분기 시스템, 동적 경로 분기 방법, 및 비일시적 컴퓨터 판독가능 저장 매체
CN102577239B (zh) 在点到多点网络中避免重复流量
CN103119900B (zh) 通信系统、控制设备、节点控制方法和节点控制程序
US9866485B2 (en) Rerouting network traffic flows based on selection criteria
US20170237654A1 (en) Fast failover recovery in software defined networks
CN104158733A (zh) 一种快速重路由方法及装置、传输网络
CN103269315A (zh) 标签分配方法、装置、系统和网络设备
CN104518891A (zh) 胖树网络中的组播组建立方法、装置及胖树网络
CN103973491A (zh) 故障处理方法及光层控制网元、ip层控制网元
CN104202242A (zh) 控制网络确定方法及装置
CN102377672A (zh) 数据中心网络中的选路方法和通信设备
Vanamoorthy et al. Congestion-free transient plane (CFTP) using bandwidth sharing during link failures in SDN
KR20180122513A (ko) Sdn 기반 네트워크 가상화 플랫폼의 네트워크 하이퍼바이저에서 트래픽 엔지니어링 방법 및 프레임워크
CN102143076B (zh) 一种多重保护叠加的保护组实现方法和装置
CN104243113A (zh) 备选控制路径确定方法及装置
CN102857436A (zh) 一种基于irf网络的流量传输方法和设备
Huang et al. Congestion aware fast link failure recovery of SDN network based on source routing
CN102970219B (zh) 绑定保护环的方法和装置
Raza et al. MPTCP based in-band controlling for the software defined networks
JP2017085442A (ja) 制御装置、通信システム、制御方法、および、プログラム
CN104038436A (zh) 一种解决有线网络拥塞的路由选择方法

Legal Events

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