CN115152192A - Pce受控网络可靠性 - Google Patents
Pce受控网络可靠性 Download PDFInfo
- Publication number
- CN115152192A CN115152192A CN202080097553.7A CN202080097553A CN115152192A CN 115152192 A CN115152192 A CN 115152192A CN 202080097553 A CN202080097553 A CN 202080097553A CN 115152192 A CN115152192 A CN 115152192A
- Authority
- CN
- China
- Prior art keywords
- controller
- message
- cluster
- value
- controllers
- 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
Links
- 238000004891 communication Methods 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 77
- 230000001737 promoting effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 64
- 238000007726 management method Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000007257 malfunction Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Safety Devices In Control Systems (AREA)
- Selective Calling Equipment (AREA)
Abstract
一种由包括主控制器和辅控制器的控制器集群中的所述辅控制器实现的方法。所述方法包括:检测所述主控制器与所述辅控制器之间的通信链路的故障;向与所述主控制器和所述辅控制器通信的网元(network element,NE)发送第一消息,其中,所述第一消息包括控制器类型长度值(type length value,TLV)结构,所述控制器TLV结构具有在所述故障被检测到时,所述辅控制器尝试将自身提升为所述控制器集群的新主控制器的指示;从所述网元接收第二消息,其中,所述第二消息包括指示所述主控制器的状态的第二控制器TLV结构;当所述主控制器的所述状态为活动状态时,确定保持所述辅控制器作为所述控制器集群的所述辅控制器的位置。
Description
相关申请案交叉申请
本专利申请要求由Huaimo Chen于2020年2月27日提交的、发明名称为“PCE受控网络可靠性的系统和方法(System and Method for PCE Controlled NetworkReliability)”的第62/982,431号美国临时专利申请的权益,该专利申请通过引用的方式并入本文中。
技术领域
本发明大体上涉及网络通信,具体涉及路径计算单元(path computationalelement,PCE)受控网络。
背景技术
在路径计算单元(path computation element,PCE)受控网络中,网络中的每个网元(network element,NE)都由PCE控制器集群控制,PCE控制器集群通常包括两个或更多个控制器一起工作以控制网络(即网元)。
对于仅包括两个控制器(即主控制器和辅控制器)的控制器集群,当两个控制器之间的连接断开时,可以有两个独立的主控制器同时控制网络。辅控制器认为主控制器没有工作了,并将自身提升为新主控制器来控制网络。
对于包括两个以上控制器(即主控制器、辅控制器、第三控制器等)的控制器集群,集群中的故障可能会将集群划分为几个独立的控制器组。这些组彼此不通信。两个或更多个组可以同时被选择为控制网络的主要组。
发明内容
所公开的实施例提供了通过网元(network element,NE)发送的路径计算单元协议(path computation element protocol,PCEP)扩展。PECP扩展可确保分离的控制器(或分离的控制器组)能够正确确定当控制器之间的链路或控制器自身发生故障时,是否应提升新主控制器(或新主控制器组)。因此,PCEP扩展防止了多个主控制器(或主控制器组)同时管理或尝试管理网络(这会导致网络不稳定、数据包丢失和其它不良结果)。因此,实现本文公开的PCEP扩展的控制器能够相对于当前技术更好地管理电信网络。
第一方面涉及一种由包括主控制器和辅控制器的控制器集群中的辅控制器实现的方法,该方法包括:检测主控制器与辅控制器之间的通信链路的故障;向与主控制器和辅控制器通信的网元(network element,NE)发送第一消息,其中,第一消息包括控制器类型长度值(type length value,TLV)结构,控制器TLV结构具有在故障被检测到时,辅控制器尝试将自身提升为控制器集群的新主控制器的指示;从网元接收第二消息,其中,第二消息包括指示主控制器的状态的第二控制器TLV结构;确定当主控制器的状态为活动状态时,保持辅控制器作为控制器集群的辅控制器的位置。
可选地,根据上述任一方面,该方面的另一种实现方式中,控制器TLV结构中辅控制器预期提升自身的指示包括设置为第一值的C位和设置为第二值的位置字段。
可选地,根据上述任一方面,在该方面的另一种实现方式中,第一值是0,第二值是1。
可选地,根据上述任一方面,在该方面的另一种实现方式中,控制器TLV结构还标识通告控制器TLV结构的控制器数量、辅控制器的旧位置、辅控制器的优先级和辅控制器的标识符(identifier,ID)。
可选地,根据上述任一方面,在该方面的另一种实现方式中,第一消息和第二消息中的一个或多个通过信息信道交换。
可选地,根据上述任一方面,在该方面的另一种实现方式中,主控制器和辅控制器中的一个或多个是路径计算单元(path computational element,PCE),网元是路径计算客户端(path computational client,PCC)。
可选地,根据上述任一方面,在该方面的另一种实现方式中,向网元发送开放消息,以指示高可用性控制器(high availability of controller,HAC)的能力。
可选地,根据上述任一方面,在该方面的另一种实现方式中,开放消息包括开放对象,其中,开放对象包括控制器能力TLV结构,控制器能力TLV结构包括第二C位,第二C位设置为第一值,以指示辅控制器是控制器。
第二方面涉及一种由包括主控制器和辅控制器的控制器集群中的辅控制器实现的方法,该方法包括:检测主控制器的潜在故障;向与主控制器和辅控制器通信的网元(network element,NE)发送第一消息,其中,第一消息包括控制器类型长度值(typelength value,TLV)结构,控制器TLV结构具有在潜在故障被检测到时,辅控制器尝试将自身提升为控制器集群的新主控制器的指示;在预定时间段内,未从网元接收到指示主控制器仍为活动状态的第二消息;将辅控制器自身提升为控制器集群的新主控制器。
可选地,根据上述任一方面,该方面的另一种实现方式中,控制器TLV结构中辅控制器尝试提升自身的指示包括设置为第一值的C位和设置为第二值的位置字段。
可选地,根据上述任一方面,在该方面的另一种实现方式中,第一值是0,第二值是1。
可选地,根据上述任一方面,在该方面的另一种实现方式中,在辅控制器已经将自身提升为控制器集群的新主控制器之后,移除辅控制器与网元之间的信息信道,并在辅控制器与网元之间建立控制信道。
可选地,根据上述任一方面,在该方面的另一种实现方式中,向网元发送包括更新的控制器TLV结构的第三消息,更新的控制器TLV结构包括设置为第一值的C位和设置为第二值的位置字段,以指示辅控制器为新主控制器,其中,第一值是1。
可选地,根据上述任一方面,在该方面的另一种实现方式中,第一消息通过信息信道发送,第三消息通过信息信道或控制信道发送。
可选地,根据上述任一方面,在该方面的另一种实现方式中,主控制器和辅控制器中的一个或多个是路径计算单元(path computational element,PCE),网元是路径计算客户端(path computational client,PCC)。
第三方面涉及一种由与控制器集群中的主控制器和辅控制器通信的网元(network element,NE)实现的方法,该方法包括:从辅控制器接收第一消息,其中,第一消息包括控制器类型长度值(type length value,TLV)结构,控制器TLV结构具有在主控制器与辅控制器之间的通信链路的故障被检测到时,辅控制器尝试将自身提升为控制器集群的新主控制器的指示;向主控制器发送第一消息;从主控制器接收第二消息,其中,第二消息包括第二控制器类型长度值(type length value,TLV)结构,第二控制器TLV结构具有主控制器仍为活动状态的指示;向辅控制器发送第二消息,以防止辅控制器将自身提升为新主控制器。
可选地,根据上述任一方面,在该方面的另一种实现方式中,控制器TLV结构中辅控制器尝试提升自身的指示包括设置为第一值的C位和设置为第二值的位置字段,其中,第一值是0,第二值是1。
可选地,根据上述任一方面,在该方面的另一种实现方式中,第二控制器TLV结构中主控制器仍为活动状态的指示包括设置为1的第二C位和设置为1的第二位置字段。
第四方面涉及一种由控制器集群中的辅控制器实现的方法,该方法包括:检测将控制器集群划分为第一控制器组和第二控制器组的故障,第二控制器组包括辅控制器;向与控制器集群中的每个控制器通信的网元(network element,NE)发送第一消息,其中,第一消息包括将辅控制器标识为第二控制器组的预期主控制器的控制器类型长度值(typelength value,TLV)结构、第二控制器组中的控制器总数量,以及辅控制器在控制器集群中的先前位置;从NE接收第二消息,其中,第二消息包括将来自第一控制器组的主控制器标识为第一控制器组的预期主控制器的第二控制器TLV结构、第一控制器组中的控制器数量,以及主控制器在控制器集群中的先前位置;将第一控制器组中的控制器数量与第二控制器组中的控制器数量进行比较;当第一控制器组中的控制器数量超过第二控制器组中的控制器数量时,确定保持辅控制器作为控制器集群的辅控制器的位置;当第二控制器组中的控制器数量超过第一控制器组中的控制器数量时,将辅控制器自身提升为控制器集群的新主控制器。
可选地,根据上述任一方面,在该方面的另一种实现方式中,第一消息中的控制器TLV和第二消息中的控制器TLV各自包括设置为第一值的C位,第一值是0。
可选地,根据上述任一方面,在该方面的另一种实现方式中,当第二控制器组中的控制器数量等于第一控制器组中的控制器数量时,将主控制器在控制器集群中的先前位置与辅控制器在控制器集群中的先前位置进行比较;当辅控制器在控制器集群中的先前位置低于主控制器在控制器集群中的先前位置时,将辅控制器自身提升为控制器集群的新主控制器。
可选地,根据上述任一方面,在该方面的另一种实现方式中,当辅控制器确定保持辅控制器作为辅控制器的位置时,从NE接收第三消息,其中,第三消息包括将来自第一控制器组的主控制器标识为新主控制器的第三控制器TLV结构。
第五方面涉及一种辅控制器,该辅控制器属于包括主控制器和该辅控制器的控制器集群,该辅控制器包括:处理器,处理器用于检测主控制器与辅控制器之间的通信链路的故障;发射器,发射器耦合到处理器,并用于向与主控制器和辅控制器通信的网元(networkelement,NE)发送第一消息,其中,第一消息包括控制器类型长度值(type length value,TLV)结构,控制器TLV结构具有在故障被检测到时,辅控制器尝试将自身提升为控制器集群的新主控制器的指示;接收器,接收器耦合到发射器,并用于从网元接收第二消息,其中,第二消息包括指示主控制器的状态的第二控制器TLV结构;其中,控制器集群的辅控制器用于当主控制器的状态为活动状态时,确定保持辅控制器作为辅控制器的位置。
可选地,根据上述任一方面,该方面的另一种实现方式中,控制器TLV结构中辅控制器尝试提升自身的指示包括设置为第一值的C位和设置为第二值的位置位。
可选地,根据上述任一方面,在该方面的另一种实现方式中,第一值是0,第二值是1。
可选地,根据上述任一方面,在该方面的另一种实现方式中,控制器TLV结构还标识连接辅控制器的控制器数量、辅控制器的旧位置、辅控制器的优先级和辅控制器的标识符(identifier,ID)。
可选地,根据上述任一方面,在该方面的另一种实现方式中,第一消息、第二消息和开放消息中的一个或多个通过信息信道交换。
可选地,根据上述任一方面,在该方面的另一种实现方式中,主控制器和辅控制器中的一个或多个是路径计算单元(path computational element,PCE),网元是路径计算客户端(path computational client,PCC)。
可选地,根据上述任一方面,在该方面的另一种实现方式中,向网元发送开放消息,以指示高可用性控制器(high availability of controller,HAC)的能力。
可选地,根据上述任一方面,在该方面的另一种实现方式中,开放消息包括开放对象,其中,开放对象包括控制器能力TLV结构,控制器能力TLV结构包括第二C位,第二C位设置为第一值,以指示辅控制器是控制器,其中,第一值是1。
第六方面涉及一种辅控制器,该辅控制器属于包括主控制器和该辅控制器的控制器集群,该辅控制器包括:处理器,处理器用于检测主控制器的潜在故障;发射器,发射器耦合到处理器,并用于向与主控制器和辅控制器通信的网元(network element,NE)发送第一消息,其中,第一消息包括控制器类型长度值(type length value,TLV)结构,控制器TLV结构具有在潜在故障被检测到时,辅控制器尝试将自身提升为控制器集群的新主控制器的指示;接收器,接收器耦合到发射器,并用于从网元接收指示主控制器仍为活动状态的第二消息;其中,处理器还用于当接收器未能接收到指示主控制器在预定时间段内仍为活动状态的第二消息时,将辅控制器提升为控制器集群的新主控制器。
可选地,根据上述任一方面,该方面的另一种实现方式中,控制器TLV结构中辅控制器尝试提升自身的指示包括设置为第一值的C位和设置为第二值的位置字段。
可选地,根据上述任一方面,在该方面的另一种实现方式中,第一值是0,第二值是1。
可选地,根据上述任一方面,在该方面的另一种实现方式中,在辅控制器已经将自身提升为控制器集群的新主控制器之后,移除辅控制器与网元之间的信息信道,并在辅控制器与网元之间建立控制信道。
可选地,根据上述任一方面,在该方面的另一种实现方式中,向网元发送包括更新的控制器TLV结构的第三消息,更新的控制器TLV结构包括设置为第一值的C位和设置为第二值的位置字段,以指示辅控制器为新主控制器,其中,第一值是1,第二值是1。
可选地,根据上述任一方面,在该方面的另一种实现方式中,第一消息通过信息信道发送,第三消息通过信息信道或控制信道发送。
可选地,根据上述任一方面,在该方面的另一种实现方式中,主控制器和辅控制器中的一个或多个是路径计算单元(path computational element,PCE),网元是路径计算客户端(path computational client,PCC)。
第七方面涉及一种与控制器集群中的主控制器和辅控制器通信的网元,该网元包括:接收器,接收器用于:从辅控制器接收第一消息,其中,第一消息包括控制器类型长度值(type length value,TLV)结构,控制器TLV结构具有在主控制器与辅控制器之间的通信链路的故障被检测到时,辅控制器尝试将自身提升为控制器集群的新主控制器的指示;从主控制器接收第二消息,其中,第二消息包括第二控制器类型长度值(type length value,TLV)结构,第二控制器TLV结构具有主控制器仍为活动状态的指示;发射器,发射器耦合到接收器,并用于:向主控制器发送第一消息;向辅控制器发送第二消息,以防止辅控制器将自身提升为新主控制器。
可选地,根据上述任一方面,在该方面的另一种实现方式中,控制器TLV结构中辅控制器尝试提升自身的指示包括设置为第一值的C位和设置为第二值的位置位,其中,第一值是0,第二值是1。
可选地,根据上述任一方面,在该方面的另一种实现方式中,第二控制器TLV结构中主控制器仍为活动状态的指示包括设置为第一值的第二C位和设置为第二值的第二位置字段,其中,第一值是1,第二值是1。
第八方面涉及一种控制器集群中的辅控制器,该辅控制器包括:处理器,处理器用于检测将控制器集群划分为第一控制器组和第二控制器组的故障,第二控制器组包括辅控制器;发射器,发射器耦合到处理器,并用于向与控制器集群中的每个控制器通信的网元(network element,NE)发送第一消息,其中,第一消息包括将辅控制器标识为第二控制器组的预期主控制器的控制器类型长度值(type length value,TLV)结构、第二控制器组中的控制器总数量,以及辅控制器在控制器集群中的先前位置;接收器,接收器耦合到发射器,并用于从NE接收第二消息,其中,第二消息包括将来自第一控制器组的主控制器标识为第一控制器组的预期主控制器的第二控制器TLV结构、第一控制器组中的控制器数量,以及主控制器在控制器集群中的先前位置;其中,处理器还用于:将第一控制器组中的控制器数量与第二控制器组中的控制器数量进行比较;当第一控制器组中的控制器数量超过第二控制器组中的控制器数量时,确定保持辅控制器作为控制器集群的辅控制器的位置;当第二控制器组中的控制器数量超过第一控制器组中的控制器数量时,将辅控制器提升为控制器集群的新主控制器。
可选地,根据上述任一方面,在该方面的另一种实现方式中,第一消息中的控制器TLV和第二消息中的控制器TLV各自包括设置为第一值的C位,第一值是0。
可选地,根据上述任一方面,在该方面的另一种实现方式中,当第二控制器组中的控制器数量等于第一控制器组中的控制器数量时,处理器还用于将主控制器在控制器集群中的先前位置与辅控制器在控制器集群中的先前位置进行比较;当辅控制器在控制器集群中的先前位置低于主控制器在控制器集群中的先前位置时,辅控制器用于将辅控制器自身提升为控制器集群的新主控制器。
第九方面涉及一种系统,包括:控制器集群中的主控制器;控制器集群中的辅控制器,辅控制器包括所公开的任一实施例中的辅控制器;以及网元,该网元包括所公开的任一实施例中的网元。
第十方面涉及一种非瞬时性计算机可读介质,包括供辅控制器或网元使用的计算机程序产品,计算机程序产品包括存储在非瞬时性计算机可读介质中的计算机可执行指令,使得当计算机可执行指令由处理器执行时,使辅控制器执行所公开的任一实施例中的方法。
第十一方面涉及一种网络通信的装置,包括:接收模块,接收模块用于接收一个或多个消息;发送模块,发送模块耦合到接收模块,发送模块用于发送一个或多个消息;存储模块,存储模块耦合到接收模块或发送模块中的至少一个,存储模块用于存储指令;处理模块,处理模块耦合到存储模块,处理模块用于执行存储在存储模块中的指令,以执行所公开的任一实施例中的方法。
为了描述的清晰性,上述任一实施例可以与上述其它任一或多个实施例结合以创建本发明范围内的新实施例。
根据以下结合附图和权利要求书的详细描述,将会更清楚地理解这些和其它特征。
附图说明
为了更全面地理解本发明,现在参考以下结合附图和具体实施方式进行的简要描述,其中,相同的附图标记表示相同的部件。
图1是网络架构的示意图。
图2是示出主控制器与辅控制器之间连接故障的网络架构的示意图。
图3是控制器集群包括两个以上控制器的网络架构的示意图。
图4是示出控制器集群中多个故障的网络架构的示意图。
图5是根据所公开的实施例的网络架构的示意图。
图6是根据实施例的握手过程中使用的开放消息的示意图。
图7是图6的控制器能力类型长度值(type-length-value,TLV)结构的示意图。
图8是控制器消息的示意图。
图9是图8的公共报头的详细示意图。
图10是图8的控制器TLV结构的详细示意图。
图11是使用信息信道或控制信道从主控制器发送到网元的控制器TLV结构的示意图。
图12是使用信息信道从辅控制器发送到网元的控制器TLV结构的示意图。
图13是示出主控制器与辅控制器之间故障连接的网络架构的示意图。
图14是在检测到连接故障之后,使用在辅控制器与网元之间延伸的信息信道从辅控制器发送到网元的控制器TLV结构的示意图。
图15是在检测到连接故障之后或在接收到图14中的控制器TLV结构之后,使用在主控制器与网元之间延伸的信息信道从主控制器发送到网元的控制器TLV结构的示意图。
图16是示出故障主控制器的网络架构的示意图。
图17是在检测到主控制器的潜在故障之后,使用在辅控制器与网元之间延伸的信息信道从辅控制器发送到网元的控制器TLV结构的示意图。
图18是在辅控制器已经将自身提升为新主控制器之后,使用在主控制器与网元之间延伸的信息信道从辅控制器发送到网元的控制器TLV结构的示意图。
图19是示出主控制器职责从故障主控制器到辅控制器的过渡的网络架构的示意图。
图20是使用控制信道从主控制器发送到网元的控制器TLV结构的示意图。
图21是使用信息信道从辅控制器发送到网元的控制器TLV结构的示意图。
图22是示出控制器集群中多个故障的网络架构的示意图。
图23是在检测到连接故障之后,使用在主控制器与网元之间延伸的控制信道或信息信道从主控制器发送到网元的控制器TLV结构的示意图。
图24是在检测到连接故障之后,使用在辅控制器与网元之间延伸的信息信道从辅控制器发送到网元的控制器TLV结构的示意图。
图25是在主控制器被选择为控制器集群的主控制器之后,使用在主控制器与网元之间延伸的控制信道(或信息信道)从主控制器发送到网元的控制器TLV结构的示意图。
图26是示出控制器集群中多个故障的网络架构的示意图。
图27是在检测到故障之后,使用在第三控制器与网元之间延伸的信息信道从第三控制器发送到网元的控制器TLV结构的示意图。
图28是在检测到连接故障之后,使用在辅控制器与网元之间延伸的信息信道从辅控制器发送到网元的控制器TLV结构的示意图。
图29是在辅控制器被选择为控制器集群的主控制器之后,使用在辅控制器与网元之间延伸的信息信道(或控制信道)从辅控制器发送到网元的控制器TLV结构的示意图。
图30是示出主控制器职责从故障主控制器到辅控制器的过渡的网络架构的示意图。
图31是由控制器集群中的控制器实现的网络管理方法的实施例。
图32是由控制器集群中的控制器实现的网络管理方法的实施例。
图33是由网元实现的方法的实施例。
图34是由控制器集群中的控制器实现的网络管理方法的实施例。
图35是根据本发明实施例的通信设备的示意图。
图36是用于网络通信的模块的实施例的示意图。
具体实施方式
首先应当理解,尽管下文提供一个或多个实施例的说明,但所公开的系统和/或方法可以使用任意数量的技术来实施,无论这些技术是当前已知的还是现有的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可以在所附权利要求书的范围以及其等效物的完整范围内修改。
图1是网络架构100的示意图。如图所示,网络架构100包括用于管理网络104的控制器集群102。在图1中,控制器集群102包括主控制器106和辅控制器108。在实施例中,主控制器106和辅控制器108中的一个或两个是路径计算单元(path computational element,PCE),用于实现路径计算单元通信协议(path computational element communicationprotocol,PCEP)。PCEP在J.P.Vasseur等人于2009年3月发布在互联网工程任务组(Internet Engineering Task Force,IETF)文件征求意见(RFC)5440中的标题为“路径计算单元(PCE)通信协议(PCEP)(Path Computation Element(PCE)Communication Protocol(PCEP))”中详细描述。为了讨论的目的,主控制器106被标记为控制器A,而辅控制器108被标记为控制器B。
网络104包括多个网元(network element,NE)150。网元150可以是路由器、交换机或其它用于发送和接收数据、信息、数据包等的通信设备。网元150可以根据它们在网络104拓扑中的位置作为入口边缘、出口边缘或中间节点操作。为了讨论的目的,一些网元150已经用提供商边缘(provider edge,PE)编号(例如,PE1、PE2、PE3、PE4和PE5)进行标记,以标识它们是边缘设备。
在正常操作中,主控制器106通过在控制器集群102与一个或多个网元150之间建立的控制信道152(例如,PCEP会话)控制网络104(例如,管理每个网元150)。主控制器106通过控制信道152向网元150发送指令,以例如建立从标记为PE1的网元150到标记为PE4的网元150穿过网络104的隧道190。主控制器106还将网络104的指令和/或当前状态存储在状态数据库(status database,SDB)170中。
在实施例中,控制器集群102中的控制器耦合以与网络104中的每个网元150通信。也就是说,在实施例中,控制器集群102中的控制器直接通信,并与每个单元建立会话。在实施例中,控制器集群102中的控制器仅耦合到网络中的一些网元150(例如,入口边缘和出口边缘)。
主控制器106通过连接180耦合到辅控制器108。连接180可以是有线链路、无线链路或其组合。连接180支持主控制器106与辅控制器108交换信息。在实施例中,主控制器106能够将网络104的指令和/或当前状态与辅控制器108同步,辅控制器108将该信息存储在SDB172中。尽管辅控制器108可以访问指令,但不将指令发送到任何网元150。相反,在主控制器106和/或连接180经历故障(即故障、变得不活动、死亡、功能障碍、停止操作、停止通信等)的情况下,控制器集群102中的辅控制器108用作备份。在这种情况下,主控制器106可能不再能够有效地控制或管理网络104。因此,辅控制器108的一个功能是提供冗余。
当主控制器106发生故障时,辅控制器108将自身提升为新主控制器,并开始控制或管理网络104。也就是说,辅控制器108开始通过控制器集群102与网元150之间建立的控制信道152向网元150发送指令。在实施例中,辅控制器108将网络104的指令和/或当前状态存储在SDB 172中。
图2是示出主控制器106与辅控制器108之间的连接180故障的网络架构100的示意图。由于连接180发生故障,所以辅控制器108可以不再从主控制器106接收心跳报文(或其它预期通信)。因此,即使主控制器106仍活着和活动,辅控制器108也可能错误地确定主控制器106已经经历了故障。因此,两个控制器,即主控制器106和辅控制器108,每个控制器都可以尝试同时通过控制信道152控制或管理网络104。如果来自主控制器106的指令与来自辅控制器108的指令冲突,则在网络104中可能会遇到不希望的结果。因此,在这种情况下,辅控制器不应将自身提升为控制网络的新主控制器。
图3是网络架构100的示意图,其中,控制器集群102包括两个以上的控制器(例如,n个控制器,其中,n>2)。如图3所示,控制器集群102包括主控制器106、辅控制器108、第三控制器110和第n控制器112。虽然示出了四个控制器,但在实际应用中,控制器集群102可以包括不同数量的控制器。
在正常操作中,主控制器106通过在控制器集群102与一个或多个网元150之间建立的控制信道152控制网络104(例如,管理每个网元150)。主控制器106通过控制信道152向网元150发送指令,以例如建立从标记为PE1的网元150到标记为PE4的网元150穿过网络104的隧道190。
主控制器106、辅控制器108、第三控制器110和第n控制器112通过连接180彼此耦合。每个连接180可以是有线链路、无线链路或其组合。连接180支持主控制器106与辅控制器108、第三控制器110和第n控制器112交换信息。
主控制器106将网络104的指令和/或当前状态存储在状态数据库(未示出,但类似于图1中的SDB 170)中。在实施例中,主控制器106能够将网络104的指令和/或当前状态与辅控制器108、第三控制器110和第n控制器112同步,辅控制器108、第三控制器110和第n控制器112中的每个控制器将该信息存储在它们各自的状态数据库(未示出,但类似于图1中的SDB 172)中。
尽管辅控制器108、第三控制器110和第n控制器112可以访问指令,但不将指令发送到任何网元150。相反,在主控制器106和/或连接180经历故障(即故障、变得不活动、死亡、功能障碍、停止操作、停止通信等)的情况下,控制器集群102中的辅控制器108、第三控制器110和第n控制器112各自用作备份。在这种情况下,主控制器106可能不再能够有效地控制或管理网络104。因此,辅控制器108、第三控制器110和第n控制器112的一个功能是提供冗余。
当主控制器106发生故障时,辅控制器108将自身提升为新主控制器,并开始控制或管理网络104。也就是说,辅控制器108开始通过控制器集群102与网元150之间建立的控制信道152向网元150发送指令。在实施例中,辅控制器108将网络104的指令和/或当前状态存储在SDB 172中。
图4是示出控制器集群102中的多个故障的网络架构100的示意图。例如,主控制器106与辅控制器108之间的连接180中存在故障,主控制器106与第n控制器112之间的连接180中存在故障,以及第三控制器110与第n控制器112之间的连接180中存在故障。多个故障有效地将控制器集群102划分为单独的控制器组。例如,主控制器106和第三控制器110仍通过连接180中的一个通信,并形成第一组。辅控制器108和第n控制器112仍通过连接180中的一个通信,并因此形成第二组,第二组不与第一组通信。由于连接180发生故障,所以第二组中的辅控制器108和第n控制器112可以不再从第一组中的主控制器106接收心跳报文(或其它预期通信)。
当控制器集群102中发生多个故障时,具有最大控制器数量的组负责控制网络。例如,具有最多控制器的组成为控制器集群102的主要控制器组。此后,主要控制器组选择新主控制器、新辅控制器等。
但是,由于故障,单独的控制器组无法确定本组是否具有最多的控制器。也就是说,每个控制器组无法确定其它组中有多少控制器。因此,如图4所示,可以选择或确定两组或更多组的控制器以同时控制网络104。例如,包括主控制器106和第三控制器110的第一控制器组可以确定第一组负责控制网络104,并且可以将控制器106选择为控制器集群102的新主控制器。同时,包括第二控制器108和第n控制器112的第二控制器组可以确定第二控制器组负责控制网络104,并且可以选择(或提升)第二控制器108作为控制器集群102的新主控制器。这种情况会导致不理想的结果。
本文公开了提供通过网元(network element,NE)发送的路径计算单元协议(pathcomputation element protocol,PCEP)扩展的技术。PECP扩展可确保分离的控制器(或分离的控制器组)能够正确确定当控制器之间的链路或控制器自身发生故障时,是否应提升新主控制器(或新主控制器组)。因此,PCEP扩展防止了多个主控制器(或主控制器组)同时管理或尝试管理网络(这会导致网络不稳定、数据包丢失和其它不良结果)。因此,实现本文公开的PCEP扩展的控制器能够相对于当前技术更好地管理电信网络。
图5是根据所公开实施例的网络架构100的示意图。在实施例中,主控制器106和辅控制器108参与与一个或多个网元150的握手过程。握手过程支持主控制器106、辅控制器108(以及控制器集群102中的任何其它控制器)和网元150通告它们对PCEP扩展的支持以实现网络可靠性,特别是使用PCE的高可用性控制器(high availability of controller,HAC)。在所示的实施例中,主控制器106和辅控制器108参与与标记为PE2的网元150和标记为PE3的网元150的握手过程。但是,在本文公开的实施例中,在实际应用中,主控制器106和辅控制器108可以参与与任何数量的网元150(包括所有网元)的握手过程。只要主控制器106和辅控制器108参与与至少一个共享、相同或公共网元150的握手过程,本文公开的实施例就可以实现。
图6是根据实施例的握手过程中使用的开放消息600的示意图。开放消息600包括开放对象602,其包含或包括控制器能力TLV结构604(即,控制器能力TLV)。控制器能力TLV结构604支持主控制器106、辅控制器108和网元150通告它们对PCEP扩展的支持。
图7是图6的控制器能力TLV结构604的详细示意图。如图7所示,每个控制器的控制器能力TLV结构604包括类型字段702、长度字段704和标志字段706。在实施例中,类型字段702包括16位,并将由因特网地址分配组织(Internet Assigned Numbers Authority,IANA)分配。在实施例中,长度字段704包括16位,并指示以八位字节为单位的值部分的长度,即4。在实施例中,标志字段706包括32位,并包括一个标志位708。一个标志位708可以被指定为C位。
当设置为第一值(例如,1)时,一个标志位708指示PCEP扬声器支持作为控制器(例如,第一控制器106、第二控制器108)的高可用性控制器。当设置为第二值(例如,0)时,一个标志位708指示PCEP扬声器支持作为网元(例如,网元150)的高可用性控制器。因此,一个标志位708用于确定发送设备(即,PCEP扬声器)是控制器还是网元。在实施例中,主控制器106和辅控制器108各自从相同的网元150(例如PE2和PE3)接收开放消息600,其中,一个标志位708设置为第二值,并且网元150从相同的控制器(例如,第一控制器106和第二控制器108)接收开放消息600,其中,一个标志位708设置为第一值。另一设备是否支持作为控制器或作为网元的高可用性控制器的指示可以由主控制器106、辅控制器108和网元150存储。
如果主控制器106、辅控制器108或网元150接收到没有控制器能力TLV结构604的开放消息600,则这些设备可以确定发送设备不支持高可用性控制器。
回到图5,在握手过程之后,辅控制器108与标记为PE2的网元150和标记为PE3的网元150建立信息信道162。信息信道用于通过网元在控制器之间交换关于控制器的信息。主控制器106还可以与标记为PE2的网元150和标记为PE3的网元150建立信息信道(未示出),或者主控制器106可以使用现有的控制信道152。在图5所示的实施例中,主控制器106将控制信道152用作信息信道。因此,如图5所示,在主控制器106与标记为PE2的网元和标记为PE3的网元之间示出的控制信道152也可以被称为信息信道,并同时用作信息信道。
图8是控制器消息800的示意图。控制器消息800包括公共报头802和包含控制器TLV结构806(即,控制器TLV)的控制器对象804。如下面将全面解释的,控制器TLV结构806可以用于确保当现有主控制器仍在工作并管理网络时,分离的控制器(或分离的控制器组中的控制器)不会不适当地提升为新主控制器。
图9是图8的公共报头802的详细示意图。如图所示,公共报头802包括版本字段902、标志字段904、消息类型字段906和消息长度字段908。版本字段902包括3位,并包括PCEP版本号(例如,PCEP的当前版本是版本1)。标志字段904包括5位。标志字段904可以包含一个或多个标志。消息类型字段906包括8位,并将由IANA分配。在实施例中,控制器消息800是具有将由IANA分配的消息类型的新消息。在实施例中,对于报告,控制器消息800是扩展报告消息,其消息类型等于10。在实施例中,对于保活,控制器消息800是扩展保活消息,其消息类型等于2。消息长度字段908包括16位,并指示控制器消息800的总长度(包括公共报头802),以字节为单位。
图10是图8的控制器TLV结构806的详细示意图。控制器TLV结构806包括类型字段1002、长度字段1004、包括一个标志位1008的标志字段1006、位置字段1010、控制器数量字段(NoControllers)1012、旧位置字段1014、保留字段1016、优先级字段1018和连接的控制器标识(identity,ID)字段1020。
类型字段1002包括16位,并将由IANA分配。长度字段1004包括16位,并以八位字节为单位表示值部分的长度。标志字段1006包括8位,并包括一个标志位1008。一个标志位1008可以被指定为C位。
当设置为第一值(例如,1)时,一个标志位1008指示发起控制器TLV结构806的控制器当前具有位置字段1010中指示的位置。当设置为第二值(例如,0)时,一个标志位1008指示发起控制器TLV结构806的控制器预期将自身提升为位置字段1010中指示的位置。位置字段1010包括8位,并指示发起控制器TLV结构806的控制器在控制器集群102或控制器组中具有当前或预期位置。在实施例中,位置1是主(或第一)控制器,位置2是辅(或第二)控制器,位置3是第三控制器,依此类推,直到控制器集群102或控制器组中的第n个控制器。
例如,假设主控制器106发送包含控制器TLV结构806的控制器消息800,其中,一个标志位1008设置为1,位置字段1010中的值设置为1。这种控制器TLV结构806将向接收控制器(例如,辅控制器108)指示主控制器106是控制网络(例如,网络104)的活动主控制器。又示例,假设辅控制器108发送包含控制器TLV结构806的控制器消息800,其中,一个标志位1008设置为0,位置字段1010中的值设置为1。这种控制器TLV结构806将向接收控制器(例如,主控制器106)指示辅控制器108预期将自身提升为控制网络(例如,网络104)的活动主控制器。
控制器数量字段1012包括8位,并指示连接到发起包含控制器TLV结构806的控制器消息800的控制器数量(加一,以便包括发端控制器)。旧位置字段1014包括8位,并指示在控制器集群102或控制器组被划分之前发起包含控制器TLV结构806的控制器消息800的控制器的先前位置(即,前位置、旧位置、之前的位置)。
保留字段1016包括24位,并设置为0进行传输。因此,在接收时忽略保留字段1016。优先级字段1018包括8位,并指示要选择为主控制器的控制器的优先级,该优先级可以进行配置。连接控制器ID字段1020包括多个32位,并表示控制器在其相对位置处的ID。例如,连接的控制器ID字段1020包含控制器集群或控制器组中位置(i=1至n)处的控制器i的ID。
回到图5,信息信道162和/或控制信道152在主控制器106、辅控制器108、与主控制器106和辅控制器108两者通信的至少一个网元150(例如,PE2和PE3)之间建立之后,主控制器106和辅控制器108交换包含控制器TLV结构806的控制器消息800。
图11是使用信息信道162或控制信道152从主控制器106发送到标记为PE2的网元150的控制器TLV结构806的示意图。控制器TLV结构806还可以发送到标记为PE3的网元150以提供冗余。如图11所示,一个标志位1008和位置字段1010中的值都被设置为1,以指示主控制器106是网络104的活动主控制器。控制器数量字段1012设置为指示与主控制器106通信的控制器数量。在实施例中,辅控制器108是连接到主控制器106的唯一的另一个控制器。因此,控制器数量字段1012设置为值2,其表示一个连接的控制器(例如,辅控制器)和发端控制器(例如,主控制器)。
由于主控制器106之前是活动主控制器,因此旧位置字段1014设置为值1。此外,优先级字段1018已被更新为包括主控制器的优先级,并且连接控制器ID字段1020已被填充有主控制器106的ID以及与主控制器106通信的每个控制器的ID。
图12是使用信息信道162从辅控制器108发送到标记为PE2的网元150的控制器TLV结构806的示意图。控制器TLV结构806还可以发送到标记为PE3的网元150以提供冗余。如图12所示,一个标志位1008设置为值0,以指示辅控制器108不是网络104的主控制器。此外,位置字段1010设置为值2,以指示辅控制器108具有第二位置(相对于主控制器106的第一位置)并用作备用控制器。控制器数量字段1012设置为指示与辅控制器108通信的控制器数量。在实施例中,主控制器106是连接到辅控制器108的唯一的另一个控制器。因此,控制器数量字段1012设置为值2,其表示一个连接的控制器(例如,主控制器)和发端控制器(例如,辅控制器)。
由于辅控制器108之前是备用控制器,因此旧位置字段1014设置为值2。此外,优先级字段1018已被更新为包括辅控制器的优先级,并且连接控制器ID字段1020已被填充有辅控制器108的ID以及与辅控制器108通信的每个控制器的ID。
图13是示出主控制器106与辅控制器108之间的故障连接180的网络架构100的示意图。由于连接180发生故障,所以辅控制器108不能再确定或确认主控制器106正在主动控制或管理网络104。因此,辅控制器108实现所公开的实施例中一个或多个,以确保辅控制器108不会错误地将自身提升为新主控制器。
图14是在检测到连接故障180之后,使用在辅控制器108与标记为PE2的网元150之间延伸的信息信道162从辅控制器108发送到标记为PE2的网元150的控制器TLV结构806的示意图。如本文所描述,控制器TLV结构806在控制器消息800中携带。控制器TLV结构806还可以发送到标记为PE3的网元150(或附加网元)以提供冗余。
如图14所示,一个标志位1008设置为值0,位置字段设置为值1,以指示辅控制器108预期将自身提升为控制器集群102的新主控制器。控制器数量字段1012设置为值1,因为辅控制器108不能确定主控制器106仍在工作。此外,主控制器106的ID从连接控制器ID字段1020中移除。
图15是在检测到连接故障180之后或从记为PE2的网元接收到图14中的控制器TLV结构806时,使用在主控制器106与标记为PE2的网元150之间延伸的信息信道162从主控制器106发送到标记为PE2的网元150的控制器TLV结构806的示意图。如本文所描述,控制器TLV结构806在控制器消息800中携带。控制器TLV结构806还可以发送到标记为PE3的网元150(或附加网元)以提供冗余。
如图15所示,一个标志位1008和位置字段已设置为值1,以指示主控制器106仍用作主控制器。也就是说,主控制器106仍在管理网络104,因此,辅控制器108不应被提升。控制器数量字段1012设置为值1,并且辅控制器108的ID从连接控制器ID字段1020中移除。
在标记为PE2的网元150接收到包含图15的控制器TLV结构806的控制器消息800时,网元150将控制器消息800发送到辅控制器108。由于一个标志位1008和位置字段已设置为值1,以指示主控制器106仍用作主控制器,所以避免了辅控制器108将自身提升为集群的新主控制器。因此,避免了两个控制器尝试同时管理网络104的情况,如图2所示。
图16是示出故障主控制器106的网络架构100的示意图。在这种情况下,辅控制器108不再通过控制器连接180接收来自主控制器106的通信。但是,辅控制器108可能无法容易地确定与主控制器106的通信丢失是由于主控制器106的故障还是由于控制器连接180的故障。因此,辅控制器108不能再确定或确认主控制器106正在主动控制或管理网络104。因此,辅控制器108实现所公开的实施例中一个或多个,以确保辅控制器108不会错误地将自身提升为新主控制器。
图17是在检测到主控制器106的潜在故障之后,使用在辅控制器108与标记为PE2的网元150之间延伸的信息信道162从辅控制器108发送到标记为PE2的网元150的控制器TLV结构806的示意图。如本文所描述,控制器TLV结构806在控制器消息800中携带。控制器TLV结构806还可以发送到标记为PE3的网元150(或附加网元)以提供冗余。
如图17所示,一个标志位1008设置为值0,位置字段设置为值1,以指示辅控制器108预期将自身提升为控制器集群102的新主控制器。控制器数量字段1012设置为值1,因为辅控制器108不能确定主控制器106仍在工作。此外,主控制器106的ID从连接控制器ID字段1020中移除。
在实施例中,当标记为PE2的网元150接收携带图17的控制器TLV结构806的控制器消息800时,由于主控制器106发生故障,所以网元150将信息存储在控制器TLV结构806中。也就是说,网元150可以不将信息发送或转发到任何其它控制器,因为控制器集群102中没有其它正常工作的控制器。
当辅控制器108在预定时间段(例如,100毫秒)内未能从标记为PE2的网元150接收到控制器消息800(具有类似于上面图15中的控制器TLV结构806)时,辅控制器108确定主控制器106实际上发生了故障。因此,辅控制器108将自身提升为控制器集群102的新主控制器。
图18是在辅控制器108将其自身提升为新主控制器之后,使用在主控制器108与标记为PE2的网元150之间延伸的信息信道162从辅控制器108发送到标记为PE2的网元150的控制器TLV结构806的示意图。如本文所描述,控制器TLV结构806在控制器消息800中携带。控制器TLV结构806还可以发送到标记为PE3的网元150(或附加网元)以提供冗余。
如图18所示,一个标志位1008和位置字段已设置为值1,以指示辅控制器108现在用作主控制器。也就是说,由于主控制器106的故障,辅控制器108已经开始管理网络104。控制器数量字段1012设置为值1(如果还没有完成),并且主控制器106的ID从连接控制器ID字段1020中移除(如果还没有被移除的话)。
图19是示出主控制器职责从故障主控制器106到辅控制器108的过渡的网络架构100的示意图。在辅控制器108发送图18中所示的控制器TLV结构806和/或已将自身提升为新活动主控制器之后,网元150开始由辅控制器108通过控制信道152管理。由于辅控制器108在这种情况下正确地提升了自身,因此避免了两个控制器尝试同时管理网络104的情况。
与图13和图16中示出的控制器集群102仅具有两个控制器的实施例不同,在一些实施例中,控制器集群102包括例如图3中所示的两个以上的控制器。因此,需要修订关于图13和图16描述的程序,以容纳附加的控制器。回到图3,控制器集群102包括主控制器106、辅控制器108、第三控制器110和第n控制器112。虽然示出了四个控制器,但在实际应用中,控制器集群102可以包括不同数量的控制器。
图20是使用控制信道152从主控制器106发送到标记为PE2的网元150的控制器TLV结构806的示意图。在实施例中,在主控制器106与标记为PE2的网元150之间建立的单独控制信道可以用于发送控制器TLV结构806。控制器TLV结构806还可以发送到标记为PE3的网元150以提供冗余。如图20所示,一个标志位1008和位置字段1010中的值都被设置为1,以指示主控制器106是网络104的活动主控制器。控制器数量字段1012设置为指示与主控制器106通信的控制器数量。因此,控制器数量字段1012设置为值n,这表示控制器集群102中存在n个控制器。
由于主控制器106之前是活动主控制器,因此旧位置字段1014设置为值1。此外,优先级字段1018已被更新为包括主控制器的优先级,并且连接控制器ID字段1020已被填充有控制器集群102中每个控制器(例如,主控制器106、辅控制器108、第三控制器110和第n控制器112)的ID。
图21是使用信息信道162从辅控制器108发送到标记为PE2的网元150的控制器TLV结构806的示意图。控制器TLV结构806还可以发送到标记为PE3的网元150以提供冗余。如图21所示,一个标志位1008设置为值0,以指示辅控制器108不是网络104的主控制器。此外,位置字段1010设置为值2,以指示辅控制器108具有第二位置(相对于主控制器106的第一位置)并用作备用控制器。控制器数量字段1012设置为指示与主控制器106通信的控制器数量。因此,控制器数量字段1012设置为值n,这表示控制器集群102中存在n个控制器。
由于辅控制器108之前是备用控制器,因此旧位置字段1014设置为值2。此外,优先级字段1018已被更新为包括辅控制器的优先级,并且连接控制器ID字段1020已被填充有控制器集群102中每个控制器(例如,主控制器106、辅控制器108、第三控制器110和第n控制器112)的ID。
应认识到,第三控制器110和第n控制器112还使用信息信道向标记为PE2的网元150发送控制器TLV结构806。对于第三控制器110,一个标志位1008设置为值0,以指示第三控制器110不是网络104的主控制器。此外,位置字段1010设置为值3,以指示第三控制器110具有第三位置(相对于主控制器106的第一位置和辅控制器108的第二位置)并用作另一个备用控制器。控制器数量字段1012设置为指示与主控制器106通信的控制器数量。因此,控制器数量字段1012设置为值n,这表示控制器集群102中存在n个控制器。
由于第三控制器110之前是备用控制器,因此旧位置字段1014设置为值3。此外,优先级字段1018已被更新为包括第三控制器的优先级,并且连接控制器ID字段1020已被填充有控制器集群102中每个控制器(例如,主控制器106、辅控制器108、第三控制器110和第n控制器112)的ID。
对于第n控制器112,一个标志位1008设置为值0,以指示第n控制器110不是网络104的主控制器。此外,位置字段1010设置为值n,以指示第n控制器112具有第n位置(相对于主控制器106的第一位置、辅控制器108的第二位置,以及第三控制器110的第三位置)并用作另一个备用控制器。控制器数量字段1012设置为指示与主控制器106通信的控制器数量。因此,控制器数量字段1012设置为值n,这表示控制器集群102中存在n个控制器。
由于第n控制器112之前是备用控制器,因此旧位置字段1014设置为值n。此外,优先级字段1018已被更新为包括第n控制器的优先级,并且连接控制器ID字段1020已被填充有控制器集群102中每个控制器(例如,主控制器106、辅控制器108、第三控制器110和第n控制器112)的ID。
图22是示出控制器集群102中的多个故障的网络架构100的示意图。由于连接180发生故障,所以第二组中的辅控制器108和第n控制器112可以不再从第一组中的主控制器106接收心跳报文(或其它预期通信)。因此,由于故障,单独的控制器组无法确定本组是否具有最多的控制器。也就是说,每个控制器组无法确定其它组中有多少控制器。
在实施例中,每个组为本组选择主控制器、辅控制器等。例如,图22中的第一组将主控制器106选择为第一组的假定或预期的主控制器,因为主控制器106相对于第三控制器110具有更高的优先级或更高的位置。类似地,图22中的第二组将辅控制器108选择为第二组的假定或预期的主控制器,因为辅控制器108相对于第n控制器112具有更高的优先级或更高的位置。
图23是在检测到连接故障180之后,使用在主控制器106与标记为PE2的网元150之间延伸的控制信道152或信息信道162从主控制器106发送到标记为PE2的网元150的控制器TLV结构806的示意图。
如图23所示,一个标志位1008设置为值0,位置字段设置为值1,以指示主控制器106预期将自身提升为控制器集群102的新主控制器。控制器数量字段1012设置为值2,因为第一组中存在两个控制器(例如,主控制器106和第三控制器110)。旧位置字段1014设置为1,以指示主控制器106的先前位置。此外,主控制器106的ID和第三控制器110的ID包括在连接控制器ID字段1020中。
图24是在检测到连接故障180之后,使用在辅控制器108与标记为PE2的网元150之间延伸的信息信道162从辅控制器108发送到标记为PE2的网元150的控制器TLV结构806的示意图。
如图24所示,一个标志位1008设置为值0,位置字段设置为值1,以指示辅控制器108预期将自身提升为控制器集群102的新主控制器。控制器数量字段1012设置为值2,因为第二组中存在两个控制器(例如,辅控制器108和第n控制器112)。旧位置字段1014设置为2,以指示辅控制器108的先前位置。此外,辅控制器108的ID和第n控制器112的ID包括在连接控制器ID字段1020中。
在标记为PE2的网元150从主控制器106接收到控制器TLV结构806时,网元150将控制器TLV结构806发送到辅控制器108。类似地,在标记为PE2的网元150从辅控制器108接收到控制器TLV结构806时,网元150将控制器TLV结构806发送到主控制器106。
主控制器106和辅控制器108各自检查控制器TLV结构806,以确定第一组或第二组是否具有最多的控制器。为此,主控制器106和辅控制器108评估控制器数量字段1012中的值。
例如,如果主控制器106向网元150发送的控制器TLV结构806中的控制器数量字段1012中的值大于主控制器106从网元150接收到的控制器TLV结构806中的控制器数量字段1012中的值,则在第一组(相对于第二组)中存在更多数量的控制器。如果辅控制器108向网元150发送的控制器TLV结构806中的控制器数量字段1012中的值大于辅控制器108从网元150接收到的控制器TLV结构806中的控制器数量字段1012中的值,则第二组(相对于第一组)中存在更多数量的控制器。
如果第一组具有最多的控制器,则第一组的预期或假定的主控制器(例如,主控制器106)被选择为控制器集群102的主控制器。另一方面,如果第二组具有最多的控制器,则第二组的预期或假定的主控制器(例如,辅控制器108)被选择为控制器集群102的主控制器。
在所示的实施例中,由主控制器106发送到网元150的控制器TLV结构806中的控制器数量字段1012中的值与主控制器106从网元150接收到的控制器TLV结构806中的控制器数量字段1012中的值相同。也就是说,在故障180之后,第一控制器组和第二控制器组各自包含2个控制器。在该实施例中,旧位置字段1014中的值用作关键因素。例如,由于主控制器106的旧位置为1,而辅控制器的旧位置为2,所以主控制器106被选择为控制器集群102的主控制器。
图25是在主控制器106被选择为控制器集群102的主控制器之后,使用在主控制器106与标记为PE2的网元150之间延伸的控制信道152(或信息信道)从主控制器106发送到标记为PE2的网元150的控制器TLV结构806的示意图。
如图25所示,一个标志位1008被设置为值1,位置字段被设置为值1,以指示主控制器106是控制器集群102的主控制器。控制器数量字段1012设置为值2,因为第一组中存在两个控制器(例如,主控制器106和第三控制器110)。旧位置字段1014设置为1,以指示主控制器106的先前位置。此外,主控制器106的ID和第三控制器110的ID包括在连接控制器ID字段1020中。
图26是示出控制器集群102中的多个故障的网络架构100的示意图。由于故障180,第二组中的辅控制器108和第n控制器112可以不再从第一组中的主控制器106接收心跳报文(或其它预期通信)。因此,由于故障,单独的控制器组无法确定本组是否具有最多的控制器。也就是说,每个控制器组无法确定其它组中有多少控制器。
在实施例中,每个组为本组选择主控制器、辅控制器等。例如,图26中的第一组将第三控制器110选择为第一组的假定或预期的主控制器,因为第三控制器110是第一组中唯一工作的控制器。类似地,图26中的第二组将辅控制器108选择为第二组的假定或预期的主控制器,因为辅控制器108相对于第n控制器112具有更高的优先级或更高的位置。
图27是在检测到故障180之后,使用在第三控制器110与标记为PE2的网元150之间延伸的信息信道162从第三控制器110发送到标记为PE2的网元150的控制器TLV结构806的示意图。
如图27所示,一个标志位1008设置为值0,位置字段设置为值1,以指示第三控制器110预期将自身提升为控制器集群102的新主控制器。控制器数量字段1012设置为值1,因为在第一组中只有一个控制器(例如,第三控制器110)在工作。旧位置字段1014设置为3,以指示第三控制器108在故障180之前的先前位置。此外,第三控制器110的ID包括在连接控制器ID字段1020中。
图28是在检测到连接故障180之后,使用在辅控制器108与标记为PE2的网元150之间延伸的信息信道162从辅控制器108发送到标记为PE2的网元150的控制器TLV结构806的示意图。
如图28所示,一个标志位1008设置为值0,位置字段设置为值1,以指示辅控制器108预期将自身提升为控制器集群102的新主控制器。控制器数量字段1012设置为值2,因为第二组中存在两个控制器(例如,辅控制器108和第n控制器112)。旧位置字段1014设置为2,以指示辅控制器108在故障180之前的先前位置。此外,辅控制器108的ID和第n控制器112的ID包括在连接控制器ID字段1020中。
在标记为PE2的网元150从第三控制器110接收到控制器TLV结构806时,网元150将控制器TLV结构806发送到辅控制器108。类似地,在标记为PE2的网元150从辅控制器108接收到控制器TLV结构806时,网元150将控制器TLV结构806发送到第三控制器110。
第三控制器110和辅控制器108各自检查控制器TLV结构806,以确定第一组或第二组是否具有最多的控制器。为此,第三控制器110和辅控制器108评估控制器数量字段1012中的值。
在所示的实施例中,如果辅控制器108向网元150发送的控制器TLV结构806中的控制器数量字段1012中的值大于辅控制器108从网元150接收到的控制器TLV结构806中的控制器数量字段1012中的值,则第二组(相对于第一组)中存在更多数量的控制器。由于第二组具有最多的控制器,所以第二组的预期或假定的主控制器(例如,辅控制器108)被选择为控制器集群102的主控制器。
图29是在辅控制器108被选择为控制器集群102的主控制器之后,使用在辅控制器108与标记为PE2的网元150之间延伸的信息信道162(或控制信道)从辅控制器108发送到标记为PE2的网元150的控制器TLV结构806的示意图。
如图29所示,一个标志位1008被设置为值1,位置字段被设置为值1,以指示辅控制器108是控制器集群102的主控制器。控制器数量字段1012设置为值2,因为第二组中存在两个控制器(例如,辅控制器108和第n控制器112)。旧位置字段1014设置为2,以指示辅控制器108在故障180之前的先前位置。此外,辅控制器108的ID和第n控制器112的ID包括在连接控制器ID字段1020中。
图30是示出主控制器职责从故障主控制器106到辅控制器108的过渡的网络架构100的示意图。在辅控制器108发送图29中所示的控制器TLV结构806和/或已将自身提升为新活动主控制器之后,网元150开始由辅控制器108通过控制信道152管理。由于辅控制器108在这种情况下正确地提升了自身,因此避免了两个控制器尝试同时管理网络104的情况。
图31是由控制器集群(例如,控制器集群102)中的控制器(例如,辅控制器108)实现的网络管理方法3100的实施例。方法3100可以被执行来确保分离的控制器能够正确地确定当控制器之间的链路发生故障时是否应提升新主控制器。因此,可以避免两个或更多个控制器尝试同时控制或管理网络(例如,网络104)的情况。实际上,本文公开的改进的网络管理技术提供了更可靠、稳定和无错误的网络管理。
在框3102中,辅控制器检测主控制器(例如,主控制器106)与辅控制器(例如,辅控制器108)之间的通信链路(例如,连接180)的故障。由于故障,主控制器和辅控制器不再直接通信。
在框3104中,辅控制器向与主控制器和辅控制器通信的网元(例如,标记为PE2的网元150)发送第一消息。第一消息包括控制器类型长度值(type length value,TLV)结构(例如,TLV 806),其中,该控制器TLV结构具有在故障被检测到之后,辅控制器尝试(即,预期)将自身提升为控制器集群的新主控制器的指示。在实施例中,控制器TLV结构中辅控制器尝试提升自身的指示包括设置为第一值的C位和设置为第二值的位置字段。在实施例中,第一值是0,第二值是1。
在实施例中,控制器TLV结构还标识通告控制器TLV结构的控制器数量、辅控制器的旧位置、辅控制器的优先级和辅控制器的标识符(identifier,ID)。
在实施例中,主控制器和辅控制器中的一个或多个是路径计算单元(pathcomputational element,PCE)。在实施例中,网元是路径计算客户端(path computationalclient,PCC)。
在框3106中,辅控制器从网元接收第二消息。第二消息包括指示主控制器的状态的第二控制器TLV结构。在实施例中,第一消息和第二消息中的一个或多个通过信息信道(例如,信息信道162)交换。在实施例中,第一消息通过控制信道(例如,控制信道152)交换。
在框3108中,当主控制器的状态是活动(即,活的、工作的、管理网络的等)时,辅控制器确定保持辅控制器作为控制器集群的辅控制器的位置。
在实施例中,辅控制器向网元发送能力消息,以指示如本文所描述的高可用性控制器(high availability of controller,HAC)的能力。在实施例中,能力消息包括开放消息,开放消包括开放对象,其中,开放对象包括控制器能力TLV结构,控制器能力TLV结构包括第二C位,第二C位设置为第一值,以指示辅控制器是控制器。在实施例中,在检测到通信链路中的故障之前,能力消息被发送到网元。
图32是由控制器集群(例如,控制器集群102)中的控制器(例如,辅控制器108)实现的网络管理方法3200的实施例。方法3200可以被执行来确保分离的控制器能够正确地确定当当前主控制器(例如主控制器106)具有潜在故障时是否应提升新主控制器。因此,可以避免两个或更多个控制器尝试同时控制或管理网络(例如,网络104)的情况。实际上,本文公开的改进的网络管理技术提供了更可靠、稳定和无错误的网络管理。
在框3202中,辅控制器检测主控制器的潜在故障。可能发生潜在故障的检测,因为例如,辅控制器停止通过连接180从主控制器接收心跳报文或其它预期通信。
在框3204中,辅控制器向与主控制器和辅控制器通信的网元(network element,NE)发送第一消息。第一消息包括控制器类型长度值(type length value,TLV)结构(例如,控制器TLV结构806),其中,该控制器TLV结构具有在潜在故障被检测到之后,辅控制器尝试将自身提升为控制器集群的新主控制器的指示。在实施例中,控制器TLV结构中辅控制器尝试提升自身的指示包括设置为第一值的C位和设置为第二值的位置字段。在实施例中,第一值是0,第二值是1。
在框3206中,辅控制器在预定时间段内未能从网元接收到指示主控制器仍为活动状态的第二消息。
在框3208中,辅控制器将自身提升为控制器集群的新主控制器。在实施例中,在辅控制器已经将自身提升为控制器集群的新主控制器之后,辅控制器移除辅控制器与网元之间的信息信道(例如,信息信道162),并在辅控制器与网元之间建立控制信道(例如,控制信道152)。
在实施例中,辅控制器向网元发送第三消息。第三消息包括更新的控制器TLV结构。更新的控制器TLV结构包括设置为第一值的C位和设置为第二值的位置字段,以指示辅控制器是新主控制器。在实施例中,第一值是0,第二值是1。在实施例中,第一消息通过信息信道发送,第三消息通过信息信道或控制信道发送。在实施例中,主控制器和辅控制器中的一个或多个是路径计算单元(path computational element,PCE),网元是路径计算客户端(path computational client,PCC)。
图33是由网元(例如,标记为PE2的网元150)实现的方法3300的实施例。方法3300可以被执行来确保分离的控制器能够正确地确定当当前主控制器(例如,主控制器106)与辅控制器之间的通信链路发生故障时是否应提升新主控制器。因此,可以避免两个或更多个控制器尝试同时控制或管理网络(例如,网络104)的情况。实际上,本文公开的改进的网络管理技术提供了更可靠、稳定和无错误的网络管理。
在框3302中,网元从辅控制器接收第一消息。第一消息包括控制器类型长度值结构(例如,TLV结构806),其中,控制器类型长度值结构具有在主控制器与辅控制器之间的通信链路的故障被检测到之后,辅控制器尝试将自身提升为控制器集群的新主控制器的指示。在实施例中,控制器TLV结构中辅控制器尝试提升自身的指示包括设置为第一值的C位和设置为第二值的位置字段。在实施例中,第一值是0,第二值是1。在实施例中,第一消息通过信息信道(例如,信息信道162)接收。
在框3304中,网元向主控制器发送第一消息。在实施例中,第一消息通过信息信道或通过控制信道(例如,控制信道152)发送到主控制器。
在框3306中,网元从主控制器接收第二消息。第二消息包括第二控制器类型长度值结构,其中,第二控制器类型长度值结构具有主控制器仍为活动状态的指示。在实施例中,第二控制器TLV结构中主控制器仍为活动状态的指示包括设置为第三值的第二C位和设置为第四值的第二位置字段。在实施例中,第三值是1,第四值是1。
在框3308中,网元向辅控制器发送第二消息,以防止辅控制器将自身提升为新主控制器。
图34是由控制器集群(例如,控制器集群102)中的控制器(例如,辅控制器108)实现的网络管理方法3400的实施例。方法3400可以被执行来确保分离的控制器组能够正确地确定当控制器组由于故障而彼此分离时是否应提升新主控制器。因此,可以避免两个或更多个控制器尝试同时控制或管理网络(例如,网络104)的情况。实际上,本文公开的改进的网络管理技术提供了更可靠、稳定和无错误的网络管理。
在框3402中,辅控制器检测将控制器集群划分为第一控制器组和第二控制器组的故障。也就是说,控制器集群中的一些控制器与控制器集群中的其它控制器分离(例如,无法直接通信),这有效地在控制器集群中创建了两组不同的控制器(例如,参见图22)。第二控制器组包括辅控制器。
在框3404中,辅控制器向与控制器集群中的每个控制器通信的网元(networkelement,NE)发送第一消息。第一消息包括将辅控制器标识为第二控制器组的预期主控制器的控制器类型长度值结构(例如,TLV结构806)、第二控制器组中的控制器总数量,以及辅控制器在控制器集群中的先前位置。
在框3406中,辅控制器从NE接收第二消息。第二消息包括将来自第一控制器组的主控制器标识为第一控制器组的预期主控制器的第二控制器TLV结构、第一控制器组中的控制器数量,以及主控制器在控制器集群中的先前位置。
在实施例中,第一消息中的控制器TLV和第二消息中的控制器TLV各自包括设置为第一值的C位。在实施例中,第一值是0。
在框3408中,辅控制器将第一控制器组中的控制器数量与第二控制器组中的控制器数量进行比较。
在框3410中,当第一控制器组中的控制器数量超过第二控制器组中的控制器数量时,辅控制器确定保持辅控制器作为控制器集群的辅控制器的位置。在实施例中,当辅控制器已经确定保持辅控制器作为辅控制器的位置时,辅控制器从NE接收第三消息。第三消息包括将来自第一控制器组的主控制器标识为新主控制器的第三控制器TLV结构。
在框3412中,当第二控制器组中的控制器数量超过第一控制器组中的控制器数量时,辅控制器将自身提升为控制器集群的新主控制器。
在实施例中,当第二控制器组中的控制器数量等于第一控制器组中的控制器数量时,辅控制器将主控制器在控制器集群中的先前位置与辅控制器在控制器集群中的先前位置进行比较。此后,当辅控制器在控制器集群中的先前位置低于主控制器在控制器集群中的先前位置时,辅控制器将自身提升为控制器集群的新主控制器。当辅控制器在控制器集群中的先前位置高于主控制器在控制器集群中的先前位置时,辅控制器确定保持辅控制器作为控制器集群的辅控制器的位置。
在实施例中,辅控制器从NE接收第三消息。第三消息包括将来自第一控制器组的主控制器标识为新主控制器的第三控制器TLV结构。
还应当理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应当理解为仅仅是示例性的。同理,在与本发明各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或组合。
图35是根据本发明实施例的通信设备3500(例如,主控制器106、辅控制器108、网元150等)的示意图。通信设备3500适用于实现本文描述的公开实施例。通信设备3500包括用于接收数据的入端口3510和接收器单元(Rx)3520;用于处理数据的处理器、逻辑单元或中央处理单元(central processing unit,CPU)3530;用于发送数据的发送单元(Tx)3540和出端口3550;以及用于存储数据的存储器3560。通信设备3500还可以包括耦合到入端口3510、接收单元3520、发送单元3540和出端口3550的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用作光信号或电信号的出口或入口。
处理器3530通过硬件和软件来实现。处理器3530可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application specific integrated circuit,ASIC)和数字信号处理器(digital signal processor,DSP)。处理器3530与入端口3510、接收器单元3520、发送单元3540、出端口3550和存储器3560通信。处理器3530包括通信模块3570。通信模块3570实现以上公开的实施例。例如,通信模块3570实现、处理、准备或提供本文公开的各种功能。因此,包含通信模块3570对通信设备3500的功能提供了实质性的改进,并实现通信设备3500到不同状态的转换。或者,通信模块3570实现为存储在存储器3560中并由处理器3530执行的指令。
通信设备3500还可以包括用于向用户和从用户传输数据的输入和/或输出(input/output,I/O)设备3580。I/O设备3580可以包括输出设备,例如用于显示视频数据的显示器、用于输出音频数据的扬声器等。I/O设备3580还可以包括输入设备,例如键盘、鼠标、轨迹球等,和/或用于与这些输出设备交互的对应的接口。
存储器3560包括一个或多个磁盘、磁带驱动器和固态硬盘,并且可用作溢出数据存储设备,以在选择程序用于执行时存储这些程序,以及存储程序执行期间读取的指令和数据。存储器3560可以是易失性和/或非易失性的,并且可以是只读存储器(read-onlymemory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(staticrandom-access memory,SRAM)。
图36是用于网络通信的模块3600的实施例的示意图。在实施例中,用于网络通信的模块3600在通信设备3602(例如,主控制器106、辅控制器108、网元150等)中实现。通信设备3602包括接收模块3601。例如,接收模块3601用于接收一个或多个消息。通信设备3602包括耦合到接收模块3601的发送模块3607。例如,发送模块3607用于发送一个或多个消息。接收模块3601和/或发送模块3607还可以从I/O设备3580中的一个接收信息(例如,来自网络管理员或用户的输入)、向其发送信息或与其交换信息。
通信设备3602包括存储模块3603。存储模块3603耦合到接收模块3601或发送模块3607中的至少一个。存储模块3603用于存储指令。通信设备3602还包括处理模块3605。处理模块3605耦合到存储模块3603。处理模块3605用于执行存储在存储模块3603中的指令,以执行本文公开的方法。
虽然本发明提供了若干个实施例,但应理解,在不偏离本发明的精神或范围的情况下,所公开的系统和方法可以通过其它多种具体形式体现。本发明的示例将被视为说明性而非限制性的,且本发明并不限于本文中所给出的详细内容。例如,各种元件或组件可以组合或集成在另一系统中,或者一些特征可以省略或不实施。
此外,在各种实施例中描述和示出为分立的或单独的技术、系统、子系统和方法,在不偏离本发明的范围的情况下,可以与其它系统、组件、技术或方法组合或集成。其它变更、替换、更改示例能够由本领域技术人员确定,并且可以在不偏离本文公开的精神和范围的情况下进行。
Claims (46)
1.一种由包括主控制器和辅控制器的控制器集群中的所述辅控制器实现的方法,其特征在于,所述方法包括:
检测所述主控制器与所述辅控制器之间的通信链路的故障;
向与所述主控制器和所述辅控制器通信的网元(network element,NE)发送第一消息,其中,所述第一消息包括控制器类型长度值(type length value,TLV)结构,所述控制器TLV结构具有在所述故障被检测到时,所述辅控制器尝试将自身提升为所述控制器集群的新主控制器的指示;
从所述网元接收第二消息,其中,所述第二消息包括指示所述主控制器的状态的第二控制器TLV结构;
当所述主控制器的所述状态为活动状态时,确定保持所述辅控制器作为所述控制器集群的所述辅控制器的位置。
2.根据权利要求1所述的方法,其特征在于,所述控制器TLV结构中所述辅控制器尝试提升自身的所述指示包括设置为第一值的C位和设置为第二值的位置字段。
3.根据权利要求2所述的方法,其特征在于,所述第一值是0,所述第二值是1。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述控制器TLV结构还标识通告所述控制器TLV结构的控制器数量、所述辅控制器的旧位置、所述辅控制器的优先级和所述辅控制器的标识符(identifier,ID)。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一消息和所述第二消息中的一个或多个通过信息信道交换。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述主控制器和所述辅控制器中的一个或多个是路径计算单元(path computational element,PCE),所述网元是路径计算客户端(path computational client,PCC)。
7.根据权利要求1至6中任一项所述的方法,其特征在于,还包括向所述网元发送开放消息,以指示高可用性控制器(high availability of controller,HAC)的能力。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述开放消息包括开放对象,其中,所述开放对象包括控制器能力TLV结构,所述控制器能力TLV结构包括第二C位,所述第二C位设置为第一值,以指示所述辅控制器是控制器。
9.一种由包括主控制器和辅控制器的控制器集群中的所述辅控制器实现的方法,其特征在于,所述方法包括:
检测所述主控制器的潜在故障;
向与所述主控制器和所述辅控制器通信的网元(network element,NE)发送第一消息,其中,所述第一消息包括控制器类型长度值(type length value,TLV)结构,所述控制器TLV结构具有在所述潜在故障被检测到时,所述辅控制器尝试将自身提升为所述控制器集群的新主控制器的指示;
在预定时间段内,未从所述网元接收到指示所述主控制器仍为活动状态的第二消息;
将所述辅控制器自身提升为所述控制器集群的所述新主控制器。
10.根据权利要求9所述的方法,其特征在于,所述控制器TLV结构中所述辅控制器尝试提升自身的所述指示包括设置为第一值的C位和设置为第二值的位置字段。
11.根据权利要求10所述的方法,其特征在于,所述第一值是0,所述第二值是1。
12.根据权利要求9至11中任一项所述的方法,其特征在于,还包括在所述辅控制器已经将自身提升为所述控制器集群的所述新主控制器之后,移除所述辅控制器与所述网元之间的信息信道,并在所述辅控制器与所述网元之间建立控制信道。
13.根据权利要求9至12中任一项所述的方法,其特征在于,还包括向所述网元发送包括更新的控制器TLV结构的第三消息,所述更新的控制器TLV结构包括设置为第一值的C位和设置为所述第二值的位置字段,以指示所述辅控制器为所述新主控制器,其中,所述第一值是1。
14.根据权利要求9至13中任一项所述的方法,其特征在于,所述第一消息通过信息信道发送,所述第三消息通过所述信息信道或控制信道发送。
15.根据权利要求9至14中任一项所述的方法,其特征在于,所述主控制器和所述辅控制器中的一个或多个是路径计算单元(path computational element,PCE),所述网元是路径计算客户端(path computational client,PCC)。
16.一种由与控制器集群中的主控制器和辅控制器通信的网元(network element,NE)实现的方法,其特征在于,所述方法包括:
从所述辅控制器接收第一消息,其中,所述第一消息包括控制器类型长度值(typelength value,TLV)结构,所述控制器TLV结构具有在所述主控制器与所述辅控制器之间的通信链路的故障被检测到时,所述辅控制器尝试将自身提升为所述控制器集群的新主控制器的指示;
向所述主控制器发送所述第一消息;
从所述主控制器接收第二消息,其中,所述第二消息包括第二控制器类型长度值(typelength value,TLV)结构,所述第二控制器TLV结构具有所述主控制器仍为活动状态的指示;
向所述辅控制器发送所述第二消息,以防止所述辅控制器将自身提升为所述新主控制器。
17.根据权利要求16所述的方法,其特征在于,所述控制器TLV结构中所述辅控制器尝试提升自身的所述指示包括设置为第一值的C位和设置为第二值的位置字段,其中,所述第一值是0,所述第二值是1。
18.根据权利要求16或17所述的方法,其特征在于,所述第二控制器TLV结构中所述主控制器仍为活动状态的所述指示包括设置为1的第二C位和设置为1的第二位置字段。
19.一种由控制器集群中的辅控制器实现的方法,其特征在于,所述方法包括:
检测将所述控制器集群划分为第一控制器组和第二控制器组的故障,所述第二控制器组包括所述辅控制器;
向与所述控制器集群中的每个控制器通信的网元(network element,NE)发送第一消息,其中,所述第一消息包括将所述辅控制器标识为所述第二控制器组的预期主控制器的控制器类型长度值(type length value,TLV)结构、所述第二控制器组中的控制器总数量,以及所述辅控制器在所述控制器集群中的先前位置;
从所述NE接收第二消息,其中,所述第二消息包括将来自所述第一控制器组的主控制器标识为所述第一控制器组的预期主控制器的第二控制器TLV结构、所述第一控制器组中的控制器数量,以及所述主控制器在所述控制器集群中的先前位置;
将所述第一控制器组中的所述控制器数量与所述第二控制器组中的所述控制器数量进行比较;
当所述第一控制器组中的所述控制器数量超过所述第二控制器组中的所述控制器数量时,确定保持所述辅控制器作为所述控制器集群的所述辅控制器的位置;
当所述第二控制器组中的所述控制器数量超过所述第一控制器组中的所述控制器数量时,将所述辅控制器自身提升为所述控制器集群的新主控制器。
20.根据权利要求19所述的方法,其特征在于,所述第一消息中的所述控制器TLV和所述第二消息中的所述控制器TLV各自包括设置为第一值的C位,所述第一值是0。
21.根据权利要求19或20所述的方法,其特征在于,还包括:
当所述第二控制器组中的所述控制器数量等于所述第一控制器组中的所述控制器数量时,将所述主控制器在所述控制器集群中的所述先前位置与所述辅控制器在所述控制器集群中的所述先前位置进行比较;
当所述辅控制器在所述控制器集群中的所述先前位置低于所述主控制器在所述控制器集群中的所述先前位置时,将所述辅控制器自身提升为所述控制器集群的新主控制器。
22.根据权利要求19至21中任一项所述的方法,其特征在于,还包括当所述辅控制器确定保持所述辅控制器作为所述辅控制器的位置时,从所述NE接收第三消息,其中,所述第三消息包括将来自所述第一控制器组的主控制器标识为所述新主控制器的第三控制器TLV结构。
23.一种辅控制器,其特征在于,所述辅控制器属于包括主控制器和所述辅控制器的控制器集群,所述辅控制器包括:
处理器,所述处理器用于检测所述主控制器与所述辅控制器之间的通信链路的故障;
发射器,所述发射器耦合到所述处理器,并用于向与所述主控制器和所述辅控制器通信的网元(network element,NE)发送第一消息,其中,所述第一消息包括控制器类型长度值(type length value,TLV)结构,所述控制器TLV结构具有在所述故障被检测到时,所述辅控制器尝试将自身提升为所述控制器集群的新主控制器的指示;
接收器,所述接收器耦合到所述发射器,并用于从所述网元接收第二消息,其中,所述第二消息包括指示所述主控制器的状态的第二控制器TLV结构;
其中,所述控制器集群的所述辅控制器用于当所述主控制器的状态为活动状态时,确定保持所述辅控制器作为所述辅控制器的位置。
24.根据权利要求23所述的辅控制器,其特征在于,所述控制器TLV结构中所述辅控制器尝试提升自身的所述指示包括设置为第一值的C位和设置为第二值的位置位。
25.根据权利要求24所述的辅控制器,其特征在于,所述第一值是0,所述第二值是1。
26.根据权利要求23至25中任一项所述的辅控制器,其特征在于,所述控制器TLV结构还标识连接所述辅控制器的控制器数量、所述辅控制器的旧位置、所述辅控制器的优先级和所述辅控制器的标识符(identifier,ID)。
27.根据权利要求23至26中任一项所述的辅控制器,其特征在于,所述第一消息、所述第二消息和所述开放消息中的一个或多个通过信息信道交换。
28.根据权利要求23至27中任一项所述的辅控制器,其特征在于,所述主控制器和所述辅控制器中的一个或多个是路径计算单元(path computational element,PCE),所述网元是路径计算客户端(path computational client,PCC)。
29.根据权利要求23至28中任一项所述的辅控制器,其特征在于,还包括向所述网元发送开放消息,以指示高可用性控制器(high availability of controller,HAC)的能力。
30.根据权利要求23至29中任一项所述的辅控制器,其特征在于,所述开放消息包括开放对象,其中,所述开放对象包括控制器能力TLV结构,所述控制器能力TLV结构包括第二C位,所述第二C位设置为第一值,以指示所述辅控制器是控制器,其中,所述第一值是1。
31.一种辅控制器,其特征在于,所述辅控制器属于包括主控制器和所述辅控制器的控制器集群,所述辅控制器包括:
存储器,所述存储器存储指令;
处理器,所述处理器耦合到所述存储器,并用于执行存储在所述存储器中的所述指令,以检测所述主控制器的潜在故障;
发射器,所述发射器耦合到所述处理器,并用于向与所述主控制器和所述辅控制器通信的网元(network element,NE)发送第一消息,其中,所述第一消息包括控制器类型长度值(type length value,TLV)结构,所述控制器TLV结构具有在所述潜在故障被检测到时,所述辅控制器预期将自身提升为所述控制器集群的新主控制器的指示;
接收器,所述接收器耦合到所述发射器,并用于从所述网元接收指示所述主控制器仍为活动状态的第二消息;
其中,所述处理器还用于当所述接收器未能接收到指示所述主控制器在预定时间段内仍为活动状态的所述第二消息时,执行存储在所述存储器中的所述指令,以将所述辅控制器提升为所述控制器集群的所述新主控制器。
32.根据权利要求31所述的辅控制器,其特征在于,所述控制器TLV结构中所述辅控制器预期提升自身的所述指示包括设置为第一值的C位和设置为第二值的位置字段。
33.根据权利要求32所述的辅控制器,其特征在于,所述第一值是0,所述第二值是1。
34.根据权利要求31至33中任一项所述的辅控制器,其特征在于,还包括在所述辅控制器已经将自身提升为所述控制器集群的所述新主控制器之后,移除所述辅控制器与所述网元之间的信息信道,并在所述辅控制器与所述网元之间建立控制信道。
35.根据权利要求31至34中任一项所述的辅控制器,其特征在于,还包括向所述网元发送包括更新的控制器TLV结构的第三消息,所述更新的控制器TLV结构包括设置为第一值的C位和设置为第二值的位置字段,以指示所述辅控制器为所述新主控制器,其中,所述第一值是1,所述第二值是1。
36.根据权利要求31至35中任一项所述的辅控制器,其特征在于,所述第一消息通过信息信道发送,所述第三消息通过所述信息信道或控制信道发送。
37.根据权利要求31至36中任一项所述的辅控制器,其特征在于,所述主控制器和所述辅控制器中的一个或多个是路径计算单元(path computational element,PCE),所述网元是路径计算客户端(path computational client,PCC)。
38.一种与控制器集群中的主控制器和辅控制器通信的网元,其特征在于,所述网元包括:
接收器,所述接收器用于:
从所述辅控制器接收第一消息,其中,所述第一消息包括控制器类型长度值(typelength value,TLV)结构,所述控制器TLV结构具有在所述主控制器与所述辅控制器之间的通信链路的故障被检测到时,所述辅控制器预期将自身提升为所述控制器集群的新主控制器的指示;
从所述主控制器接收第二消息,其中,所述第二消息包括第二控制器类型长度值(typelength value,TLV)结构,所述第二控制器TLV结构具有所述主控制器仍为活动状态的指示;
发射器,所述发射器耦合到所述接收器,并用于:
向所述主控制器发送所述第一消息;
向所述辅控制器发送所述第二消息,以防止所述辅控制器将自身提升为所述新主控制器。
39.根据权利要求38所述的网元,其特征在于,所述控制器TLV结构中所述辅控制器预期提升自身的所述指示包括设置为第一值的C位和设置为第二值的位置位,其中,所述第一值是0,所述第二值是1。
40.根据权利要求38或39所述的网元,其特征在于,所述第二控制器TLV结构中所述主控制器仍为活动状态的所述指示包括设置为第一值的第二C位和设置为第二值的第二位置字段,其中,所述第一值是1,所述第二值是1。
41.一种控制器集群中的辅控制器,其特征在于,所述辅控制器包括:
存储器,所述存储器存储指令;
处理器,所述处理器用于执行所述存储器中存储的所述指令,以检测将所述控制器集群划分为第一控制器组和第二控制器组的故障,所述第二控制器组包括所述辅控制器;
发射器,所述发射器耦合到所述处理器,并用于向与所述控制器集群中的每个控制器通信的网元(network element,NE)发送第一消息,其中,所述第一消息包括将所述辅控制器标识为所述第二控制器组的预期主控制器的控制器类型长度值(type length value,TLV)结构、所述第二控制器组中的控制器总数量,以及所述辅控制器在所述控制器集群中的先前位置;
接收器,所述接收器耦合到所述发射器,并用于从所述NE接收第二消息,其中,所述第二消息包括将来自所述第一控制器组的主控制器标识为所述第一控制器组的预期主控制器的第二控制器TLV结构、所述第一控制器组中的控制器数量,以及所述主控制器在所述控制器集群中的先前位置;
其中,所述处理器还用于执行所述存储器中存储的所述指令,以执行以下操作:
将所述第一控制器组中的所述控制器数量与所述第二控制器组中的所述控制器数量进行比较;
当所述第一控制器组中的所述控制器数量超过所述第二控制器组中的所述控制器数量时,确定保持所述辅控制器作为所述控制器集群的所述辅控制器的位置;
当所述第二控制器组中的所述控制器数量超过所述第一控制器组中的所述控制器数量时,将所述辅控制器提升为所述控制器集群的新主控制器。
42.根据权利要求41所述的辅控制器,其特征在于,所述第一消息中的所述控制器TLV和所述第二消息中的所述控制器TLV各自包括设置为第一值的C位,所述第一值是0。
43.根据权利要求41或42所述的辅控制器,其特征在于,所述处理器还用于当所述第二控制器组中的所述控制器数量等于所述第一控制器组中的所述控制器数量时,将所述主控制器在所述控制器集群中的所述先前位置与所述辅控制器在所述控制器集群中的所述先前位置进行比较;所述辅控制器用于当所述辅控制器在所述控制器集群中的所述先前位置低于所述主控制器在所述控制器集群中的所述先前位置时,将所述辅控制器自身提升为所述控制器集群的新主控制器。
44.一种系统,其特征在于,包括:
控制器集群中的主控制器;
所述控制器集群中的辅控制器,所述辅控制器包括根据权利要求23至30、权利要求31至37或权利要求41至43中任一项所述的辅控制器;
网元,所述网元包括根据权利要求38至40中任一项所述的网元。
45.一种非瞬时性计算机可读介质,其特征在于,包括供辅控制器或网元使用的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,使得当所述计算机可执行指令由处理器执行时,使所述辅控制器执行根据权利要求1至8、权利要求9至15或19至22中任一项所述的方法,或使所述网元执行根据权利要求16至18中任一项所述的方法。
46.一种用于网络通信的模块,其特征在于,所述模块包括:
接收模块,所述接收模块用于接收一个或多个消息;
发送模块,所述发送模块耦合到所述接收模块,所述发送模块用于发送所述一个或多个消息;
存储模块,所述存储模块耦合到所述接收模块或所述发送模块中的至少一个,所述存储模块用于存储指令;
处理模块,所述处理模块耦合到所述存储模块,所述处理模块用于执行存储在所述存储模块中的所述指令,以执行根据权利要求1至8、权利要求9至15、权利要求16至18或权利要求19至22中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062982431P | 2020-02-27 | 2020-02-27 | |
US62/982,431 | 2020-02-27 | ||
PCT/US2020/066595 WO2021046565A2 (en) | 2020-02-27 | 2020-12-22 | Pce controlled network reliability |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115152192A true CN115152192A (zh) | 2022-10-04 |
CN115152192B CN115152192B (zh) | 2024-04-12 |
Family
ID=74184946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080097553.7A Active CN115152192B (zh) | 2020-02-27 | 2020-12-22 | Pce受控网络可靠性 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220417136A1 (zh) |
EP (1) | EP4094421A2 (zh) |
CN (1) | CN115152192B (zh) |
WO (1) | WO2021046565A2 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115066871A (zh) | 2020-02-11 | 2022-09-16 | 华为技术有限公司 | 用于网络可靠性的系统和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195865A (zh) * | 2010-03-09 | 2011-09-21 | 丛林网络公司 | 多宿网络中的通信网络路径和状态信息 |
US20150009796A1 (en) * | 2013-07-08 | 2015-01-08 | Nicira, Inc. | Reconciliation of Network State Across Physical Domains |
CN106161333A (zh) * | 2015-03-24 | 2016-11-23 | 华为技术有限公司 | 基于sdn的ddos攻击防护方法、装置及系统 |
US20170244628A1 (en) * | 2016-02-19 | 2017-08-24 | Futurewei Technologies, Inc. | Path Computation Element Hierarchical Software Defined Network Control |
US20170257228A1 (en) * | 2016-03-03 | 2017-09-07 | Futurewei Technologies, Inc. | Border Gateway Protocol for Communication Among Software Defined Network Controllers |
-
2020
- 2020-12-22 CN CN202080097553.7A patent/CN115152192B/zh active Active
- 2020-12-22 EP EP20842138.8A patent/EP4094421A2/en active Pending
- 2020-12-22 WO PCT/US2020/066595 patent/WO2021046565A2/en unknown
-
2022
- 2022-08-26 US US17/896,514 patent/US20220417136A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195865A (zh) * | 2010-03-09 | 2011-09-21 | 丛林网络公司 | 多宿网络中的通信网络路径和状态信息 |
US20150009796A1 (en) * | 2013-07-08 | 2015-01-08 | Nicira, Inc. | Reconciliation of Network State Across Physical Domains |
CN106161333A (zh) * | 2015-03-24 | 2016-11-23 | 华为技术有限公司 | 基于sdn的ddos攻击防护方法、装置及系统 |
US20180013787A1 (en) * | 2015-03-24 | 2018-01-11 | Huawei Technologies Co., Ltd. | SDN-Based DDOS Attack Prevention Method, Apparatus, and System |
US20170244628A1 (en) * | 2016-02-19 | 2017-08-24 | Futurewei Technologies, Inc. | Path Computation Element Hierarchical Software Defined Network Control |
US20170257228A1 (en) * | 2016-03-03 | 2017-09-07 | Futurewei Technologies, Inc. | Border Gateway Protocol for Communication Among Software Defined Network Controllers |
Also Published As
Publication number | Publication date |
---|---|
CN115152192B (zh) | 2024-04-12 |
WO2021046565A2 (en) | 2021-03-11 |
US20220417136A1 (en) | 2022-12-29 |
EP4094421A2 (en) | 2022-11-30 |
WO2021046565A3 (en) | 2021-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8018844B2 (en) | Reliable message transfer over an unreliable network | |
US8886831B2 (en) | System and methodology for fast link failover based on remote upstream failures | |
US9385944B2 (en) | Communication system, path switching method and communication device | |
US9628324B2 (en) | Openflow switch and failure recovery method in openflow network | |
US10560550B1 (en) | Automatic configuration of a replacement network device in a high-availability cluster | |
US9049241B2 (en) | Peer discovery and secure communication in failover schemes | |
US20150016245A1 (en) | Method and apparatus for protection switching in packet transport system | |
CN105656645A (zh) | 堆叠系统的故障处理的决策方法和装置 | |
US8880932B2 (en) | System and method for signaling dynamic reconfiguration events in a middleware machine environment | |
EP3029883B1 (en) | Network protection method and apparatus, next-ring node, and system | |
US8477655B2 (en) | Method, device, and system for establishing label switching path in fast rerouting switching | |
US10666558B2 (en) | Automatic alignment of roles of routers in networks | |
US20220417136A1 (en) | Pce controlled network reliability | |
US9246796B2 (en) | Transmitting and forwarding data | |
US10680930B2 (en) | Method and apparatus for communication in virtual network | |
CN106533771B (zh) | 一种网络设备以及控制信息传输方法 | |
EP2953299B1 (en) | Protection switching method, system and node | |
CN105426118B (zh) | 一种双控系统中利用串口备份心跳通道的方法 | |
CN109039680B (zh) | 一种切换主宽带网络网关bng和备bng的方法、系统和bng | |
US9590893B2 (en) | System and method for management of network links by traffic type | |
CN111224803A (zh) | 一种堆叠系统中多主检测方法及堆叠系统 | |
CN115004655B (zh) | 用于边界网关协议(bgp)控制的网络可靠性的系统和方法 | |
US11552882B2 (en) | Efficient propagation of fault routing notifications | |
CN108965126B (zh) | 一种报文转发方法及装置 | |
EP4184822A1 (en) | Method and apparatus for keeping user terminal alive |
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 |