CN115066871A - 用于网络可靠性的系统和方法 - Google Patents

用于网络可靠性的系统和方法 Download PDF

Info

Publication number
CN115066871A
CN115066871A CN202180013677.7A CN202180013677A CN115066871A CN 115066871 A CN115066871 A CN 115066871A CN 202180013677 A CN202180013677 A CN 202180013677A CN 115066871 A CN115066871 A CN 115066871A
Authority
CN
China
Prior art keywords
controller
network
field
cluster
tlv
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.)
Pending
Application number
CN202180013677.7A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN115066871A publication Critical patent/CN115066871A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0695Management of faults, events, alarms or notifications the faulty arrangement being the maintenance, administration or management system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0686Additional information in the notification, e.g. enhancement of specific meta-data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Abstract

一种由网络控制器执行的用于提供网络可靠性的方法。所述方法包括使用内部网关协议(interior gateway protocol,IGP)代理,所述IGP代理用于使用具有控制器TLV的IGP(链路状态通告(link‑state advertisement,LSA)或链路状态协议数据单元(link state protocol data unit,LSP))将关于所述网络控制器的控制器信息发送到一个或多个网元。所述方法使用所述控制器信息在网络故障时正确选择主控制器。

Description

用于网络可靠性的系统和方法
相关申请的交叉引用
本专利申请要求由Huaimo Chen等人于2020年2月11日提交的、发明名称为“用于网络可靠性的系统和方法(System and Method for Network Reliability)”的第62/973,000号美国临时专利申请的权益,该专利申请通过引用的方式并入本文中。
技术领域
本发明大体上涉及网络管理,具体涉及提供网络可靠性的系统和方法的各种实施例。
背景技术
软件定义网络(software-defined network,SDN)是一种组网方法,该方法使用基于软件的控制器或应用程序编程接口(application programming interface,API)与底层硬件基础架构通信,并在网络上引导流量。SDN将网络设备的网络控制平面与转发网络流量的底层数据平面分离,以实现网络资源的更自动化的调配和基于策略的管理。网络交换机成为简单的转发设备,控制逻辑在逻辑集中的控制器中实现。
发明内容
第一方面涉及一种由配置为控制器集群的主网络控制器的网络控制器执行的方法。控制器集群包括主网络控制器和非主网络控制器(例如,辅网络控制器)。主控制器用于控制网络。该方法包括在主网络控制器中使用内部网关协议(interior gatewayprotocol,IGP)代理,该IGP代理用于使用IGP将关于主网络控制器的控制器信息发送到网络中的一个或多个网元。该方法通过网络控制器的IGP代理,在主网络控制器的IGP代理与网络中的一个或多个网元之间建立IGP邻接关系。主网络控制器的IGP代理向一个或多个网元通告关于主网络控制器的控制器信息。该方法包括使用主网络控制器的IGP代理检测与控制器集群中的非主网络控制器的通信故障。网络控制器的IGP代理向一个或多个网元通告关于主网络控制器的更新控制器信息,更新控制器信息反映了由通信故障引起的控制器信息的改变。该方法包括保持主网络控制器作为用于控制网络的主网络控制器。
第二方面涉及一种由配置为控制器集群的非主网络控制器的网络控制器执行的方法。控制器集群包括主网络控制器和非主网络控制器。主网络控制器用于控制网络。该方法包括在非主网络控制器中使用内部网关协议(interior gateway protocol,IGP)代理,该IGP代理用于使用IGP将关于非主网络控制器的控制器信息发送到网络中的一个或多个网元。该方法通过非主网络控制器的IGP代理,在非主网络控制器的IGP代理与网络中的一个或多个网元之间建立IGP邻接关系。非主网络控制器的IGP代理向一个或多个网元通告关于非主网络控制器的控制器信息。该方法包括使用非主网络控制器的IGP代理检测与控制器集群中的主控制器的通信故障。非主网络控制器的IGP代理向一个或多个网元通告关于非主网络控制器的更新控制器信息,更新控制器信息反映了由通信故障引起的非主控制器信息的改变。该方法包括确定主网络控制器发生故障。在主网络控制器发生故障之后,非主网络控制器的IGP代理向一个或多个网元通告关于非主网络控制器的第二更新控制器信息。第二更新控制器信息将非主网络控制器升级为控制器集群的主网络控制器。
第三方面涉及一种由控制器集群中的用于控制网络的网络控制器执行的方法。控制器集群包括多个网络控制器。该方法包括使用内部网关协议(interior gatewayprotocol,IGP)代理,IGP代理用于使用IGP将关于网络控制器的控制器信息发送到网络中的一个或多个网元。该方法通过网络控制器的IGP代理,在网络控制器的IGP代理与网络中的一个或多个网元之间建立IGP邻接关系。网络控制器的IGP代理向一个或多个网元通告关于网络控制器的控制器信息。该方法包括使用网络控制器的IGP代理检测控制器集群内的通信故障,该通信故障将控制器集群划被划分成多个控制器组。网络控制器的IGP代理向一个或多个网元通告关于网络控制器的更新控制器信息,更新控制器信息反映了由通信故障引起的控制器信息的改变。该方法包括确定网络控制器是多个控制器组中的选定主组的一部分。当网络控制器是选定主组的意图主控制器时,网络控制器的IGP代理向一个或多个网元通告关于网络控制器的第二更新控制器信息。第二更新控制器信息指示网络控制器是网络的当前活动主网络控制器。
可选地,根据上述任一方面,在第一种实现方式中,确定主网络控制器是否发生故障包括:使用IGP代理中的链路状态数据库(link state database,LSDB)来确定主控制器的IGP代理是否正在向网络中的一个或多个网元通告控制器信息。
可选地,根据上述任一方面或其实现方式,在第二种实现方式中,网络控制器的IGP代理与网络中的一个或多个网元之间的IGP邻接关系通过控制信道建立。
可选地,根据上述任一方面或其实现方式,在第三种实现方式中,控制器信息包括在控制器类型/长度/值(type/length/value,TLV)中。
可选地,根据上述任一方面或其实现方式,在第四种实现方式中,控制器TLV包括在开放式最短路径优先版本2(open shortest path first version 2,OSPFv2)路由器信息(router informational,RI)不透明链路状态通告(link-state advertisement,LSA)、OSPFv3 RI不透明LSA或中间系统到中间系统(intermediate system to intermediatesystem,IS-IS)链路状态协议数据单元(link state protocol data unit,LSP)中的一个中。
可选地,根据上述任一方面或其实现方式,在第五种实现方式中,控制器TLV包括位字段和位置字段,位字段在被设置时指示位置字段中指示的位置是当前活动主控制器的位置。
可选地,根据上述任一方面或其实现方式,在第六种实现方式中,控制器TLV包括控制器数量字段,控制器数量字段指示连接到通告控制器TLV的网络控制器的控制器的数量。
可选地,根据上述任一方面或其实现方式,在第七种实现方式中,控制器TLV包括旧位置字段,旧位置字段指示在控制器集群被划分之前网络控制器在控制器集群中的位置。
可选地,根据上述任一方面或其实现方式,在第八种实现方式中,控制器TLV包括优先级字段,优先级字段指示网络控制器被选择为主网络控制器的优先级。
可选地,根据上述任一方面或其实现方式,在第九种实现方式中,控制器TLV包括控制器标识符(identifier,ID)字段,控制器ID字段包括控制器集群中所有控制器的控制器ID。
附图说明
为了更完整地理解本发明,结合附图和具体实施方式,参考以下简要描述,其中,相同的附图标记表示相同的部件。
图1是根据本发明的实施例的由包括两个网络控制器的控制器集群控制的软件定义网络的示意图。
图2是根据本发明的实施例的由包括两个以上网络控制器的控制器集群控制的软件定义网络的示意图。
图3是根据本发明的实施例的由控制器集群控制的软件定义网络的示意图,该控制器集群包括两个网络控制器并实现具有用于提供网络可靠性的扩展的内部网关协议(interior gateway protocol,IGP)。
图4是根据本发明的实施例的由控制器集群控制的软件定义网络的示意图,该控制器集群包括两个以上网络控制器并实现具有用于提供网络可靠性的扩展的IGP。
图5是根据本发明的实施例的控制器类型/长度/值(type/length/value,TLV)。
图6A是根据本发明的实施例的控制器TLV的示例。
图6B是根据本发明的实施例的控制器TLV的示例。
图7是根据本发明的实施例的开放式最短路径优先版本2(open shortest pathfirst version2,OSPFv2)路由器信息(router informational,RI)不透明链路状态通告(link-state advertisement,LSA)。
图8是根据本发明的实施例的开放式最短路径优先版本3(open shortest pathfirst version3,OSPFv3)RI不透明LSA。
图9是根据本发明的实施例的控制器TLV。
图10A是根据本发明的实施例的控制器TLV的示例。
图10B是根据本发明的实施例的控制器TLV的示例。
图11是根据本发明的实施例的中间系统到中间系统(intermediate system tointermediate system,IS-IS或ISIS)链路状态协议数据单元(link state protocol dataunit,LSP)。
图12A是示出根据本发明的实施例的由主控制器执行的用于提供网络可靠性的过程的流程图。
图12B是根据本发明的实施例的由辅控制器执行的用于提供网络可靠性的过程的流程图。
图13是根据本发明的实施例的控制器TLV的示例。
图14是根据本发明的实施例的控制器TLV的示例。
图15是根据本发明的实施例的控制器TLV的示例。
图16是根据本发明的实施例的控制器TLV的示例。
图17是根据本发明的实施例的控制器TLV的示例。
图18是根据本发明的实施例的控制器TLV的示例。
图19是根据本发明的实施例的由控制器执行的用于提供网络可靠性的过程的流程图。
图20A是根据本发明的实施例的控制器TLV的示例。
图20B是根据本发明的实施例的控制器TLV的示例。
图21A是根据本发明的实施例的控制器TLV的示例。
图21B是根据本发明的实施例的控制器TLV的示例。
图22A是根据本发明的实施例的控制器TLV的示例。
图22B是根据本发明的实施例的控制器TLV的示例。
图23A是根据本发明的实施例的控制器TLV的示例。
图23B是根据本发明的实施例的控制器TLV的示例。
图24是根据本发明的实施例的控制器TLV的示例。
图25是根据本发明的实施例的控制器TLV的示例。
图26是根据本发明的实施例的控制器TLV的示例。
图27是根据本发明的实施例的控制器TLV的示例。
图28是根据本发明的实施例的控制器TLV的示例。
图29是根据本发明的实施例的控制器TLV的示例。
图30是根据本发明的实施例的控制器TLV的示例。
图31是根据本发明的实施例的控制器TLV的示例。
图32是根据本发明的一个实施例的网元的示意图。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可使用任何数量的技术来实现,无论这些技术是当前已知还是现有的。本发明绝不限于下文所说明的说明性实现方式、附图和技术,包括本文所说明和描述的示例性设计和实现方式,而是可在所附权利要求书的范围以及其等效部分的完整范围内修改。
在软件定义网络(software defined network,SDN)中,网络中的每个网元(network element,NE)都由控制器集群控制,控制器集群通常由两个或更多个控制器组成,共同控制网络(即网元)。对于仅包括两个控制器(即主控制器和辅控制器)的控制器集群,两个控制器之间的连接故障会导致两个分离的控制器尝试作为主控制器运行。例如,当辅控制器检测到连接故障时,认为主控制器死机了,并将自己升级为新的主控制器。当主控制器未死机时,这可能会导致控制集群中有两个主控制器,这会导致网络可靠性问题。对于包括两个以上控制器(即主控制器、辅控制器、第三控制器等)的控制器集群,集群中的一个或多个连接和/或控制器故障可能会将集群划分为多个分离的控制器组。由于连接故障,这些组彼此不知道,不知道哪个组应该被选择为控制网络的一个主组。这会导致两个或更多个组被选择为控制网络的主组,这也会导致网络可靠性问题。
为了解决上述问题和其它问题,本发明描述了各种系统和方法,这些系统和方法通过以下方式提供网络可靠性:使分离的控制器或控制器组仍然能够通过使用具有新扩展的内部网关协议(interior gateway protocol,IGP)进行通信,从而使它们彼此了解。IGP是一种用于在自治系统(autonomous system,AS)内的网关(通常是路由器)之间交换路由信息的协议。然后,该路由信息可用于路由网络层协议,如互联网协议(internetprotocol,IP)数据包。AS是在代表单个管理实体或域的一个或多个网络运营商控制下的连接IP路由前缀的集合,该单个管理实体或域向互联网(例如,企业局域网系统)提供通用的、明确定义的路由策略。有不同类型的IGP。类型1IGP称为链路状态路由协议。链路状态路由协议由网络中的每个交换节点(即,准备转发数据包的节点;在互联网中,这些节点称为路由器)执行。链路状态路由的基本概念是,每个节点都以图表的形式构建与网络的连接的图,示出哪些节点连接到哪些其它节点。然后,每个节点独立计算从其到网络中每个可能目的地的最佳逻辑路径或最佳下一跳接口。然后,每个最佳路径集合将形成每个节点的路由表。
链路状态路由协议(或类型1IGP)的示例包括OSPF路由协议和IS-IS。OSPF使用链路状态通告(link-state advertisement,LSA)在路由器之间交换路由信息。区域内的每个路由器都会泛洪区域内的类型1LSA(也称为路由器LSA)。LSA封装在OPSF数据包之后,然后是IP数据包。区域是具有相同区域号的基于OSPF的网络、路由器和链路的逻辑组。属于同一区域的路由器为整个区域保留拓扑数据库。路由器LSA包括关于路由器所属区域中直连链路的信息(例如,包括该路由器的所有直连链路的列表)。该信息会泛洪到该区域的所有路由器。当路由器是区域边界路由器(area border router,ABR)时,该路由器为其连接的所有区域生成类型1LSA,并将这些LSA发送到对应区域中的所有邻居。OSPF从第一个版本开始进行了修改。使用的两个最常见的版本是OSPF版本2(OSPF version 2,OSPFv2)和OSPF版本3(OSPF version 3,OSPFv3)。OSPFv2是互联网协议的第四个版本(fourth version of theinternet protocol,IPv4)的版本,而OSPFv3是IPv6的版本。
IS-IS使用链路状态协议数据单元(link state protocol data unit,LSP)在路由器之间交换路由信息。LSP是网络路由器在链路状态路由协议(该协议列出了路由器的邻居)中生成的信息包(即,描述连接链路、邻居路由器、IP子网、相关度量信息等的本地链路状态信息)。LSP的副本通过称为泛洪的过程分发到特定区域中的所有路由器。最终,一个区域中的所有路由器都会获取每个其它路由器的LSP并同步其数据库。
如上所述,本发明描述了各种系统和方法,这些系统和方法通过以下方式提供网络可靠性:使分离的控制器或控制器组通过使用具有新扩展的IGP进行通信,从而使它们彼此了解。在一个实施例中,控制器集群中的每个控制器使用IGP(OSPF或IS-IS)作为代理,该代理连接到运行IGP的一个或多个网元。每个控制器通过使用IGP扩展通告它是控制器,以及其它信息,例如但不限于其位置和其组中控制器的数量(包括其本身)。当控制器集群由于集群内的一个或多个故障而被划分时,所公开的实施例能够正确选择新的主控制器或控制器组。因此,所公开的实施例提高了控制器集群的可靠性和SDN的可靠性。
图1是根据本发明的实施例的软件定义网络(software defined network,SDN)100的示意图。SDN 100包括网络120,网络120包括多个网元(网络设备),包括网元122和一个或多个网络提供商边缘(provider edge,PE)设备(例如,PE1至PE5)。网元122可以是但不限于能够转发数据包的网络路由器或交换机。例如,可以在网络入口路由器PEI到网络出口路由器PE4之间配置隧道/路径,以通过网络120传输数据包。在一个实施例中,网络120由控制器集群110控制,该控制器集群110包括两个网络控制器,即控制器A 102和控制器B 106。在所示出的实施例中,控制器A 102被设置为主控制器,控制器B 106被设置为辅(备份)控制器。控制器A 102在控制信道上向网元提供控制逻辑,以支持网络120内的网络资源的调配和管理。通过将控制逻辑解离到控制器集群110中的控制器A 102,网元122成为简单的转发设备。
如图1所示,在正常操作期间(即,没有网络故障,包括控制器集群中的故障),主控制器(即,控制器A102)通过控制信道向网元发送信息而控制网络120(即,每个网元)。控制器A 102可以将状态信息存储在状态数据库(status database,SDB)104中。类似地,控制器B可以将状态信息存储在SDB 108中。例如,在一个实施例中,当控制器A 102通过控制信道向网元中的一个或多个发送指令时,控制器A 102将关于指令的状态存储在其SDB 104中。然后,控制器A 102通过主控制器A 102与辅控制器B 106之间的连接112,将SDB 104中的状态信息与辅控制器(即,控制器B 106)同步。辅控制器B 106可以用接收到的状态信息更新其SDB 108,但当它不是主控制器时,不向网元发送任何指令。
目前,当控制器A 102与控制器B 106之间的连接112发生故障时,控制器B 106无法确定主控制器A 102是否真的死机(即,不工作),或者是否仅仅是控制器A 102与控制器B106之间的连接112发生故障。当辅控制器B 106推测主控制器A 102发生故障时,辅控制器B106将自己升级为新的主控制器并控制网络120。作为主控制器的控制器B 106开始通过其和网元之间的控制信道向网元发送指令。控制器106将关于指令的状态存储到其SDN 108中。但是,当控制器A 102没有发生故障(即,仅控制器A 102与控制器B 106之间的连接发生故障)时,由于控制器A 102和控制器B 106都充当主控制器并发送控制网络120的指令,所以网络120会遇到问题。
图2是根据本发明的实施例的SDN 200的示意图。SDN 200类似于图1中的SDN 100,只是网络120由包括两个以上控制器的控制器集群210控制。例如,控制器集群210可以包括主控制器A 202、辅控制器B 204、第三控制器C 206和第N控制器N 208。控制器集群210中的每个控制器与控制器集群210中的其它控制器中的一个或多个具有直接或间接的连接或通信链路,用于交换状态信息或其它数据(例如,用于通过连接将其SDB(未示出)中的状态与其它控制器同步)。在正常操作期间,主控制器A 202通过主控制器A 202与网元之间的控制信道向网元发送指令,其它控制器不向网元发送任何指令。
类似于图1中的SDN 100,当主控制器A 202发生故障时,辅控制器B 204将自己升级为新的主控制器并控制网络120。辅控制器B 204开始通过辅控制器B 204与网元之间的控制信道向相关网元发送指令。辅控制器B 204将关于指令的状态存储到其SDB中。辅控制器B 204将其SDB中的状态与其它控制器同步,当主控制器A 202发生故障时,其它控制器将自己升级一个位置(例如,第三控制器成为辅控制器)。
与图1中的SDN 100相反,当控制器集群210中同时发生或同时存在多个故障时,控制器集群210可以被划分成几个分离的控制器组。例如,当控制器A 202与控制器B 204之间的链路、控制器A 202与控制器N 208和控制器C 206之间的链路都同时发生故障时,控制器集群210将划分成至少两组,组1包括控制器A 202,组2包括控制器B 204和控制器N 208。在一个实施例中,具有最大数量控制器的组(在这种情况下,为具有控制器B 204和控制器N208的组2)作为控制器集群210的控制器的主组负责控制网络。主组中的控制器根据主组中的控制器的位置为网络120分配新的主控制器、辅控制器等(例如,控制器B成为新的主控制器,控制器N 208成为控制器N-1)。但是,就目前情况而言,分离的控制器组无法确定其本身是否具有最大数量的控制器,因为它不知道关于其它分离组的任何信息。因此,一组以上的控制器最终为网络120分配新的主控制器,每个主控制器都会命令网元,从而产生网络可靠性问题。
图3是根据本发明的实施例的SDN 300的示意图。SDN 300类似于图1中的SDN 100。如上所述,控制器B 306当前不能确定主控制器A 302是否发生故障,或者是否仅仅是控制器A 302与控制器B 306之间的连接312发生故障。这会导致控制器B 306成为主控制器,而控制器A 302也是主控制器。为了解决这个问题,控制器A 302和控制器B 306中的每个控制器使用IGP(OSPF或IS-IS)作为信息代理(本文称为IGP信息代理或简称为IGP代理)。例如,控制器A 302包括IGP代理312,控制器B 306包括IGP代理314。IGP代理312是模块(软件、硬件或其组合),用于使用具有本文所公开的新扩展的IGP(例如,图5中公开的用于OSPF的控制器TLV或图9中公开的用于IS-IS的控制器TLV),以直接或间接地将关于控制器的信息发送到网元和其它控制器。在一个实施例中,控制器中的每个IGP代理与网络120中的一个或多个网元建立IGP邻接关系。邻接关系是两个节点之间的、在节点上的链路状态数据库中维护的虚拟链路或连接。邻接是为了交换路由信息而形成的。在一些实施例中,控制器中的每个IGP代理与网络120中的所有网元建立IGP邻接关系。在一个实施例中,IGP代理在控制器与网元之间的控制信道上建立并维护邻接关系。在其它实施例中,IGP代理在除控制器与网元之间的控制信道以外的连接(例如但不限于控制器与网元之间的链路)上建立和维护邻接关系。在一个实施例中,当一个邻接关系被断开时,在可能的情况下创建和维护新的邻接关系。给定数量的邻接关系由IGP代理保留(即,不更改)。
在一个实施例中,控制器集群310中控制器的每个IGP代理使用具有扩展的新IGP将关于控制器的信息发送到网元。在一个实施例中,关于控制器的信息包括在新的控制器TLV中。在一个实施例中,控制器TLV包括在RI LSA或控制器通告的LSP中。控制器集群310中控制器的每个IGP代理可以维护链路状态数据库(link state database,LSDB),该LSDB可用于确定另一个控制器是否仍连接到一个或多个网元。例如,控制器B 306的IGP代理314可以检查其LSDB,以确定主控制器A 302是否仍然连接到网络120的一个或多个网元。当主控制器A 302未连接到一个或多个网元时,则指示主控制器A 302发生故障。然后,控制器B306可以安全地成为控制器集群310中的主控制器,而不会因为具有两个主控制器而产生任何网络问题。
图4是根据本发明的实施例的SDN 400的示意图。SDN 400类似于图2中的SDN 200,只是控制器集群410中的每个控制器包括本文所公开的IGP代理。例如,主控制器A 402包括IGP代理412,辅控制器B 404包括IGP代理414,第三控制器C 406包括IGP代理416,并且第N控制器N 408包括IGP代理418。在一个实施例中,控制器集群410中的控制器的每个IGP代理与网络120中的每个网元建立并维护IGP邻接关系。在一个实施例中,IGP代理邻接关系在控制器与网元之间的控制信道上建立和维护。在另一个实施例中,IGP代理邻接关系在除控制器与网元之间的控制信道以外的连接(例如但不限于控制器与网元之间的链路)上建立和维护。在一个实施例中,当IGP代理与网元之间的一个邻接关系被断开时,IGP代理在可能的情况下创建并维护与网元的新邻接关系。在一个实施例中,保留给定数量的邻接关系。网元提供控制器集群410中的控制器之间的间接连接,用于使用具有扩展的新IGP交换控制器和/或控制器组信息。
图5是根据本发明的实施例的控制器TLV 500。在一个实施例中,控制器TLV 500是开放最短路径优先(open shortest path first,OSPF)的协议扩展。在一个实施例中,当OSPF充当集群中控制器的代理时,IGP代理使用控制器TLV 500在其RI LSA(例如,如图7和图8中所描述)中通告关于控制器的信息,例如连接到通告控制器的控制器的数量(包括其本身)。
在所示出的实施例中,控制器TLV 500包括类型字段502、长度字段504、标志字段506、C位字段508、位置字段510、NoControllers字段512、OldPosition字段514、保留字段516、优先级字段518和控制器ID字段520。类型字段502是16位,用于指定指示数据格式是控制器TLV 500的类型值。类型字段502的值将由因特网地址分配组织(internet assignednumbers authority,IANA)分配。长度字段504也是16位。长度字段504以八位字节指示控制器TLV 500的值或有效载荷部分的长度(即,控制器TLV 500的大小,不包括类型字段502和长度字段504)。标志字段506是8位,包括C位字段508。标志字段506可用于指示一个或多个标志(待确定)。C位字段508被设置为第一值(例如,1),以指示通告控制器(即,通告链路状态信息的控制器)是当前活动主控制器。位置字段510是8位。位置字段510指示控制器集群或组内的控制器相对于该控制器集群或组内的其它控制器的当前或预期的相对位置。例如,位置字段510中的位置值1指示控制器相对于控制器集群中的其它控制器是控制器集群中的主(第一)控制器,位置值2指示控制器相对于控制器集群中的其它控制器是辅控制器,等等(即,值n的控制器位置指示集群或组中的第n控制器。例如,当C位字段508被设置为1(C=1)并且位置字段510中的位置被设置为1(位置=1)时,控制器是控制网络的当前活动主控制器。NoControllers字段512是8位。NoControllers字段512指示连接到通告控制器TLV500的控制器的控制器数量。OldPosition字段514是8位。OldPosition字段514指示在控制器集群被划分之前控制器在控制器集群中的旧位置。保留字段516是24位,保留供将来使用。在一个实施例中,保留字段516设置为零进行发送,接收时忽略。优先级字段518是8位。优先级字段518指示控制器相对于集群或组中的其它控制器的优先级,其确定在当前活动主控制器发生故障时,哪个控制器将被升级为活动主控制器。优先级字段518的值可以由网络工程师或系统管理员配置。在一个实施例中,优先级为零的控制器不能被选择为主控制器,并且在集群或组中优先级最高的控制器被选择为主控制器。控制器ID字段520是多个32位。控制器ID字段520包括在集群或组中位置i(i=1……n)处的控制器i的标识符(identifier,ID),每个ID是32位。
图6A是根据本发明的实施例的控制器TLV 600A的示例。控制器TLV 600A示出了用于具有两个控制器的控制器集群的控制器TLV 500的示例,如图3中所示。具体地,控制器TLV 600A示出了在正常操作期间具有两个控制器的控制器集群中的主控制器(例如,图3中的控制器A 302)的控制器信息。如上所述,当控制器TLV 600A包括在RI LSA(例如,如图7和图8中所描述)中时,控制器TLV 600A通告关于控制器的信息,例如连接到通告控制器的控制器的数量(包括其本身)。
在所示出的实施例中,控制器TLV 600A包括类型字段602A、长度字段604A、标志字段606A、C位字段608A、位置字段610A、NoControllers字段612A、OldPosition字段614A、保留字段616A、优先级字段618A和控制器ID字段620A。如上所述,类型字段602A是16位,并存储指示数据格式是控制器TLV的值(待确定)。长度字段604A是16,以指示控制器TLV 600A的值部分的长度,以八位字节为单位。标志字段606A是8位,包括C位字段608A。在所示出的实施例中,C位字段608A被设置为1,以指示通告控制器(即,通告链路状态信息的控制器)是当前活动主控制器。位置字段610A被设置为1,以指示通告LSA的控制器(即,图3中的控制器A302)当前处于控制器集群或组中的第一位置。在所示出的实施例中,NoControllers字段612A被设置为2,以指示连接到通告控制器TLV 600A的控制器的控制器只有两个(包括其本身)。OldPosition字段614A被设置为1,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置(例如,当图3中控制器A 302与控制器B 306之间的连接312发生故障时)。在一个实施例中,保留字段616A设置为零进行发送,接收时忽略。优先级字段618A指示要选择为主控制器的控制器的优先级。控制器ID字段620A包括控制器集群或组中的两个控制器的控制器ID(即,控制器A的ID和控制器B的ID)。
图6B是根据本发明的实施例的控制器TLV 600B的示例。控制器TLV 600B示出了在正常操作期间具有两个控制器的控制器集群中的辅控制器(例如,图3中的控制器B 306)的控制器信息。当控制器TLV 600B包括在RI LSA(例如,如图7和图8中所描述)中时,控制器TLV 600B通告关于控制器的信息,例如连接到通告控制器的控制器的数量(包括其本身)。
在所示出的实施例中,控制器TLV 600B包括类型字段602B、长度字段604B、标志字段606B、C位字段608B、位置字段610B、NoControllers字段612B、OldPosition字段614B、保留字段616B、优先级字段618B和控制器ID字段620B。如上所述,类型字段602B是16位,并存储指示数据格式是控制器TLV的值(TBD)。长度字段604B是16位,以指示控制器TLV 600B的值部分的长度,以八位字节为单位。标志字段606B是8位,包括C位字段608B。在所示出的实施例中,C位字段608B被设置为0,以指示通告控制器不是当前活动主控制器。位置字段610B被设置为2,以指示通告LSA的控制器(即,图3中的控制器B 306)当前处于控制器集群或组中的第二位置。NoControllers字段612B被设置为2,以指示连接到通告控制器TLV 600B的控制器的控制器只有两个(包括其本身)。OldPosition字段614B被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置(例如,当图3中控制器A 302与控制器B306之间的连接312发生故障时)。在一个实施例中,保留字段616B设置为零进行发送,接收时忽略。优先级字段618B指示要选择为主控制器的控制器的优先级。控制器ID字段620B包括控制器集群或组中的两个控制器的控制器ID(即,控制器A的ID和控制器B的ID)。
图7是根据本发明的实施例的OSPFv2 RI不透明LSA 700。在一个实施例中,当关于控制器的信息(例如,链路状态信息、路由器能力)发生变化时(或当创建OSPF路由器实例时),控制器(例如,图3中的控制器A302和/或控制器B 306)的IGP代理发起OSPFv2路由器信息不透明LSA 700,以将新信息通告给网元。
在一个实施例中,OSPFv2路由器信息不透明LSA 700包括OSPFv2路由器信息不透明LSA的标准字段,其包括链路状态(link state,LS)年龄字段702、选项字段704、LS类型字段706、不透明类型字段708、不透明标识符(identifier,ID)字段710、通告路由器字段712、LS序列号字段714、LS校验和字段716、长度字段718和TLV字段720。LS年龄字段702包括OSPFv2路由器信息不透明LSA 700通告的年龄(以秒为单位),以使旧通告能够从路由域刷新。选项字段704指定一个或多个OSPFv2选项。选项字段704使OSPF路由器能够支持(或不支持)可选能力,并将其能力级别发送到其它OSPF路由器。LS类型字段706用于指示OSPFv2路由器信息不透明LSA 700的泛洪范围。对于OSPFv2,类型9(链路范围)、类型10(区域范围)或类型11(AS范围)不透明LSA可能会被泛洪。不透明类型字段708是类型4,不透明ID字段710是用于标识OSPFv2路由器信息(router information,RI)不透明LSA实例的值。通告路由器字段712包括发起OSPFv2路由器信息不透明LSA700的路由器的路由器ID。LS序列号字段714包括用于检测旧LSA或重复LSA的连续序列号。LS校验和字段716包括OSPFv2路由器信息不透明LSA 700的完整内容的校验和,不包括LS年龄字段702。长度字段718表示OSPFv2路由器信息不透明LSA 700的总长度(以八位字节为单位)。TLV字段720包括一个或多个TLV,一个或多个TLV包括一个或多个控制器TLV,例如图5中的控制器TLV 500。如上所述,控制器TLV使用IGP进行传输,使控制集群中的控制器能够与连接到控制器的其它控制器共享关于控制器的信息。例如,信息可以包括连接到通告控制器的控制器的数量。
图8是根据本发明的实施例的OSPFv3 RI不透明LSA 800。类似于图7中的OSPFv2RI不透明LSA 700,当关于控制器的信息(例如,链路状态信息、路由器能力)发生变化时(或当创建OSPF路由器实例时),控制器的IGP代理发起OSPFv3路由器信息不透明LSA 800,以将新信息通告给网元。
在所示出的实施例中,OSPFv3路由器信息不透明LSA 800包括链路状态(linkstate,LS)年龄字段802、U位字段804、S1/S2字段806、功能字段808、链路状态ID(实例ID)字段810、通告路由器字段812、LS序列号字段814、LS校验和字段816、长度字段818和TLV字段820。LS年龄字段802包括OSPFv3路由器信息不透明LSA 800通告的年龄(以秒为单位),以使旧通告能够从路由域刷新。U位字段804用于指示路由器应如何处理未知LSA。在所示出的实施例中,U位字段804的值为1,以指示OSPFv3路由器信息不透明LSA 800应被泛洪,即使路由器不理解OSPFv3路由器信息不透明LSA 800也是如此(即,存储和泛洪,就像OSPFv3路由器信息不透明LSA 800被理解一样)。当U位被清除或设置为0时,未知LSA将被视为OSPFv3路由器信息不透明LSA 800具有链路本地泛洪范围。S1/S2字段806指示OSPFv3路由器信息不透明LSA 800的所需泛洪范围。例如,当S1和S2都为0时,泛洪范围为链路本地;当S1为1且S2为0时,泛洪范围为区域泛洪;当S1为0且S2为1时,泛洪范围为自治系统/路由域。函数字段808指示LSA类型。在所示出的实施例中,由IANA分配的值12指示LSA是OSPFv3 RI LSA。链路状态ID字段810指示实例ID。实例ID实现OSPFv3 RI LSA的多个实例。通告路由器字段812包括发起OSPFv3路由器信息不透明LSA 800的路由器的路由器ID。LS序列号字段814包括用于检测旧或重复LSA的连续序列号。LS校验和字段816包括OSPFv3路由器信息不透明LSA800的完整内容的校验和,不包括LS年龄字段802。长度字段818表示OSPFv3路由器信息不透明LSA800的总长度(以八位字节为单位)。TLV字段820包括一个或多个TLV,一个或多个TLV包括一个或多个控制器TLV,例如图5中的控制器TLV 500。
图9是根据本发明的实施例的控制器TLV 900。在一个实施例中,控制器TLV 900是IS-IS的协议扩展。在一个实施例中,当IS-IS充当集群中控制器的代理时,IGP代理使用控制器TLV 900在LSP中通告关于控制器的信息,例如连接到控制器的控制器的数量(包括其本身)。
在所示出的实施例中,控制器TLV 900包括类型字段902、长度字段904、标志字段906、C位字段908、位置字段910、NoControllers字段912、OldPosition字段914、优先级字段916、保留字段918和控制器ID字段920。类型字段902是8位,用于指定指示数据格式是控制器TLV 900的类型值。类型字段902的值将由IANA分配。长度字段904是8位。长度字段904指示值部分的长度,以八位字节为单位。标志字段906是8位,包括C位字段908。标志字段906可用于指示一个或多个标志(待确定)。C位字段908被设置为1,以指示控制器是当前活动主控制器。位置字段910被设置为1,以指示控制器在控制器集群或组中的当前或预期的相对位置(例如,1=主,2=辅等)。NoControllers字段912指示连接到通告控制器TLV 900的控制器的控制器数量。OldPosition字段914是8位。OldPosition字段914指示在控制器集群被划分之前控制器在控制器集群中的旧位置。优先级字段916是8位。优先级字段916指示要选择为主控制器的控制器的优先级。保留字段918是8位,保留供将来使用。在一个实施例中,保留字段918设置为零进行发送,接收时忽略。控制器ID字段920是多个32位。控制器ID字段920包括在集群或组中位置i(i=1……n)处的控制器i的标识符(identifier,ID)。
图10A是根据本发明的实施例的控制器TLV 1000A的示例。控制器TLV 1000A示出了用于具有两个控制器的控制器集群的控制器TLV 900的示例,如图9中所示。具体地,控制器TLV 1000A示出了在正常操作期间具有两个控制器的控制器集群中的主控制器(例如,图3中的控制器A302)的控制器信息。当控制器TLV 1000A包括在LSP中时,控制器TLV 1000A会通告关于控制器的信息,例如连接到控制器的控制器的数量(包括其本身)。
控制器TLV 1000A包括类型字段1002A、长度字段1004A、标志字段1006A、C位字段1008A、位置字段1010A、NoControllers字段1012A、OldPosition字段1014A、优先级字段1016A、保留字段1018A和控制器ID字段1020A。类型字段1002A指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段1004A是14,以指示值部分的长度,以八位字节为单位。标志字段1006A可用于指示一个或多个标志。C位字段1008A被设置为1,以指示通告控制器是当前活动主控制器。位置字段1010A被设置为1,以指示控制器在控制器集群或组中的当前或预期的相对位置(例如,1=主,2=辅等)。NoControllers字段1012A被设置为2,以指示连接到通告控制器TLV 1000A的控制器的控制器的数量(包括其本身)。OldPosition字段1014A被设置为1,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。优先级字段1016A指示要选择为主控制器的控制器的优先级。保留字段1018A设置为零进行发送,接收时忽略。控制器ID字段1020A包括控制器集群或组中的两个控制器的控制器ID(即,控制器A的ID和控制器B的ID)。
图10B是根据本发明的实施例的控制器TLV 1000B的示例。控制器TLV 1000B示出了用于具有两个控制器的控制器集群的控制器TLV 900的示例,如图9中所示。具体地,控制器TLV 1000B示出了在正常操作期间具有两个控制器的控制器集群中的辅控制器(例如,图3中的控制器B 306)的控制器信息。当控制器TLV 1000B包括在LSP中时,控制器TLV 1000B会通告关于控制器的信息,例如连接到控制器的控制器的数量(包括其本身)。
控制器TLV 1000B包括类型字段1002B、长度字段1004B、标志字段1006B、C位字段1008B、位置字段1010B、NoControllers字段1012B、OldPosition字段1014B、优先级字段1016B、保留字段1018B和控制器ID字段1020B。类型字段1002B指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段1004B是14,以指示值部分的长度,以八位字节为单位。标志字段1006B可用于指示一个或多个标志。C位字段1008B被设置为0,以指示广告控制器不是当前活动主控制器。位置字段1010B被设置为2,以指示通告LSA的控制器(即,图3中的控制器A 302)当前处于控制器集群或组中的第二位置。NoControllers字段1012B被设置为2,以指示连接到通告控制器TLV 1000B的控制器的数量(包括其本身)。OldPosition字段1014B被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置(例如,当图3中控制器A 302与控制器B 306之间的连接312发生故障时)。优先级字段1016B指示要选择为主控制器的控制器的优先级。保留字段1018B设置为零进行发送,接收时忽略。控制器ID字段1020B包括控制器集群或组中的两个控制器的控制器ID(即,控制器A的ID和控制器B的ID)。
图11是根据本发明的一个实施例的IS-IS LSP 1100的示意图。在一个实施例中,当关于控制器的信息(例如,链路状态信息、路由器能力)发生变化时(或当创建IS-IS路由器实例时),控制器(例如,图3中的控制器A 302和/或控制器B 306)的IGP代理发起IS-ISLSP 1100,以将新信息通告给网元。
在所示出的实施例中,IS-IS LSP 1100包括域内路由协议鉴别符(intradomainrouting protocol discriminator,IRPD)字段1102、长度指示符字段1104、版本/协议ID扩展字段1106、ID长度字段1108、协议数据单元(protocol data unit,PDU)类型字段1110、版本字段1112、保留字段1120、最大区域地址字段1122、PDU长度字段1124、剩余生存期字段1126、LSP ID字段1128、序列号字段1130、校验和字段1132、分区(partition,P)字段1134、连接(attached,ATT)字段1136、过载(overload,OL)字段1138、IS类型字段1140和类型长度值(type/length/value,TLV)字段1144。IS-IS LSP 1100包括三个保留(reserved,R)位,即,R位1105、R位1107和R位1109。
IRPD字段1102包括ISO 9577中分配给IS-IS的网络层标识符;其二进制值为10000011(0x83)。长度指示符字段1104指定固定标头字段(即,IS-IS LSP 1100的长度,不包括TLV字段1144)的长度,以八位字节为单位。版本/协议ID扩展字段1106当前的值为一(1)。ID长度字段1108指定系统ID字段的长度。系统ID字段存储生成LSP的中间系统(intermediate system,IS)的系统ID。系统ID字段是网络服务接入点(network serviceaccess point,NSAP)的网络实体名称(network entity title,NET)地址(未示出)的一部分,它标识在IS上运行的IS-IS路由协议的实例。ID长度字段1108对于域中的所有节点都是相同的。PDU类型字段1110包括指示PDU类型的PDU类型编号(例如,级别1LSP和级别2LSP的十进制值分别为18和20)。版本字段1112包括PDU的版本。保留字段1120包括保留位,这些位作为零进行发送,在接收时忽略。最大区域地址字段1122指示IS区域支持的区域地址数。路由域可以分为一个或多个子域。每个子域都被称为区域。PDU长度字段1124指示整个PDU、固定标头和TLV的长度。剩余生存期字段1126指示IS-IS LSP 1100到期前的时间,以秒为单位。LSP ID字段1128包括三个组件:系统ID、伪节点ID和LSP分片号。序列号字段1130包括用于检测旧LSP或重复LSP的连续序列号。校验和字段1132指示IS-IS LSP 1100的内容的校验和。P字段1134被设置为指示IS-IS LSP 1100的发起者支持分区修复。ATT字段1136被设置为使用ATT字段1136中指示的参考度量来指示发起者连接到另一个区域。OL字段1138被设置为指示发起方的LSP数据库过载,在到其它目的地的路径计算中应绕过。IS类型字段1140指示IS类型。例如,当仅设置IS类型字段1140的位1时,这指示级别1IS类型。当IS类型字段1140的两个位都被设置时,指示级别2IS类型。TLV字段1144包括一个或多个TLV,一个或多个TLV包括一个或多个控制器TLV,例如图9中的控制器TLV 900。如上所述,控制器TLV使用IGP进行传输,使控制集群中的控制器能够与控制器集群的其它控制器共享关于控制器的信息。例如,信息可以包括连接到通告控制器的控制器的数量。
图12A是示出根据本发明的实施例的由主控制器执行的用于提供网络可靠性的过程1200A的流程图。在所示出的实施例中,主控制器是控制器集群的一部分,该控制器集群具有两个控制器,即,主控制器和辅控制器,主控制器用于控制网络。主控制器用于通过控制信道或其它信道向一个或多个网元提供指令,以控制网络,例如但不限于控制数据包的路由。辅控制器不向网元提供任何用于控制网络的指令。在主控制器发生故障时,辅控制器是备份控制器。此时,辅控制器将升级为控制器集群的主控制器,并控制网络。
在步骤1202中,主控制器在控制器中使用IGP代理。在一个实施例中,IGP代理是模块,用于使用具有扩展的IGP将关于主控制器和/或控制器集群/组的信息发送到一个或多个网元。在步骤1204中,主控制器建立与一个或多个网元的IGP邻接关系,以交换路由信息。在一个实施例中,为了建立IGP邻接关系,主控制器的IGP代理与一个或多个网元交换一系列Hello报文,以建立控制器的IGP代理与一个或多个网元之间的双向通信。然后,IGP邻接关系通过同步它们的链路状态数据库来形成。
在步骤1206中,主控制器通过主控制器的IGP代理通告控制器信息,例如但不限于主控制器在控制器集群中的位置和连接到主控制器的控制器的数量。例如,对于OSPFv2,主控制器通告OSPFv2 RI不透明LSA 700,该OSPFv2 RI不透明LSA 700包括控制器TLV 600A,该控制器TLV 600A包括C位字段608A=1、位置字段610A=1、NoControllers字段612A=2、OldPosition字段614A=1、控制器ID字段620A=主控制器的ID和辅控制器的ID,如图6A所示。类似地,对于OSPFv3,主控制器通告OSPFv3 RI不透明LSA 800,该OSPFv3 RI不透明LSA800包括控制器TLV 600A,该控制器TLV 600A包括C位字段608A=1、位置字段610A=1、NoControllers字段612A=2、OldPosition字段614A=1、控制器ID字段620A=主控制器的ID和辅控制器的ID,如图6A所示。对于IS-IS,主控制器通告LSP(例如,图11中的IS-IS LSP1100),该LSP包括控制器TLV 1000A,该控制器TLV 1000A包括C位字段1008A=1、位置字段1010A=1、NoControllers字段1012A=2、OldPosition字段1014A=1、控制器ID字段1020A=主控制器的ID和辅控制器的ID,如图10A所示。
在步骤1208中,主控制器通过主控制器的IGP代理检测与辅控制器的通信故障。通信故障可以是主控制器与辅控制器之间的连接故障和/或辅控制器的故障。在一个实施例中,当主控制器检测到辅控制器的心跳停止时,主控制器确定与辅控制器的连接发生故障。心跳是控制器的硬件或软件产生的周期性信号,用于向控制器集群中的其它控制器指示正常操作。
在步骤1210中,主控制器通过控制器的IGP代理使用具有新控制器TLV扩展的IGP通告更新控制器信息,以反映由通信故障引起的控制器/控制器组的变化。例如,在一个实施例中,对于OSPF,当辅控制器或到辅控制器的链路发生故障时,主控制器通告LSA(例如,图7中的OSPFv2 RI不透明LSA 700或图8中的OSPFv3 RI不透明LSA 800),该LSA包括TLV1300,该TLV 1300包括C位字段1308=1、位置字段1313=1、NoControllers字段1312=1、OldPosition字段1314=1、控制器ID字段1320=主控制器的ID,如图13所示。类似地,在一个实施例中,对于IS-IS,当辅控制器或到辅控制器的链路发生故障时,主控制器通告LSP(例如,图11中的LSP 1100),该LSA包括TLV 1500,该TLV 1500包括C位字段1508=1、位置字段1515=1、NoControllers字段1512=1、OldPosition字段1514=1、控制器ID字段1520=主控制器的ID,如图15所示。
在步骤1212中,主控制器保持(或确定保持)其作为网络的主控制器的状态/位置。
图12B是根据本发明的实施例的由辅控制器执行的用于提供网络可靠性的过程1200A的流程图。在所示出的实施例中,辅控制器是控制器集群的一部分,该控制器集群具有两个控制器,即,主控制器和辅控制器,辅控制器用于控制网络。如上所述,主控制器用于通过控制信道或其它信道向一个或多个网元提供指令,以控制网络,例如但不限于控制数据包的路由。辅控制器不向网元提供任何用于控制网络的指令。在主控制器发生故障时,辅控制器是备份控制器。此时,辅控制器将升级为控制器集群的主控制器,并控制网络。
在步骤1222中,辅控制器在控制器中使用IGP代理。在一个实施例中,IGP代理是模块,用于使用具有扩展的IGP将关于辅控制器和/或控制器集群/组的信息发送到一个或多个网元。在步骤1224中,辅控制器建立与一个或多个网元的IGP邻接关系,以交换路由信息。在一个实施例中,为了建立IGP邻接关系,辅控制器的IGP代理与一个或多个网元交换一系列Hello报文,以建立控制器的IGP代理与一个或多个网元之间的双向通信。然后,IGP邻接关系通过同步它们的链路状态数据库来形成。
在步骤1226中,辅控制器通过辅控制器的IGP代理通告控制器信息,例如但不限于辅控制器在控制器集群中的位置和连接到辅控制器的控制器的数量。例如,对于OSPFv2,辅控制器通告OSPFv2 RI不透明LSA 700,该OSPFv2 RI不透明LSA 700包括控制器TLV 600B,该控制器TLV 600B包括C位字段608B=0、位置字段610B=2、NoControllers字段612B=2、OldPosition字段614B=2、控制器ID字段620B=主控制器的ID和辅控制器的ID,如图6B所示。类似地,对于OSPFv3,辅控制器通告OSPFv3 RI不透明LSA 800,该OSPFv3 RI不透明LSA800包括控制器TLV 600B,该控制器TLV 600B包括C位字段608B=0、位置字段610B=2、NoControllers字段612B=2、OldPosition字段614B=2、控制器ID字段620B=主控制器的ID和辅控制器的ID,如图6B所示。对于IS-IS,辅控制器通告LSP(例如,图11中的IS-IS LSP1100),该LSP包括控制器TLV 1000B,该控制器TLV 1000B包括C位字段1008B=0、位置字段1010B=2、NoControllers字段1012B=2、OldPosition字段1014B=2、控制器ID字段1020B=主控制器的ID和辅控制器的ID,如图10B所示。
在步骤1228中,辅控制器通过辅控制器的IGP代理检测与主控制器的通信故障。通信故障可以是主控制器与辅控制器之间的连接故障和/或主控制器的故障。在一个实施例中,当控制器检测到主控制器的心跳停止时,辅控制器确定与主控制器的连接发生故障。此时,辅控制器只知道主控制器没有与辅控制器通信,但不知道这是通信/链路故障还是主控制器发生故障。
在步骤1230中,辅控制器通过控制器的IGP代理使用具有新控制器TLV扩展的IGP通告更新控制器信息,以反映由通信故障引起的控制器/控制器组的变化。例如,在一个实施例中,对于OSPF,辅控制器通告LSA(例如,图7中的OSPFv2 RI不透明LSA 700或图8中的OSPFv3 RI不透明LSA 800),该LSA包括TLV 1400,该TLV 1400包括C位字段1408=0、位置字段1414=1、NoControllers字段1412=1、OldPosition字段1414=2、控制器ID字段1420=辅控制器的ID,如图14所示。类似地,在一个实施例中,对于IS-IS,当主控制器或到主控制器的链路发生故障时,辅控制器通告LSP(例如,图11中的LSP 1100),该LSA包括TLV 1600,该TLV 1600包括C位字段1608=1、位置字段1616=0、NoControllers字段1612=1、OldPosition字段1614=2、控制器ID字段1620=辅控制器的ID,如图16所示。
在步骤1232中,辅控制器确定主控制器是否发生故障(与主控制器与辅控制器之间的通信/链路故障相对)。在一个实施例中,在给定时间(例如但不限于300毫秒)之后,辅控制器检查辅控制器的IGP代理中的链路状态数据库(link state database,LSDB),以确定主控制器的IGP代理是否连接到至少一个网元,并通告其控制器信息(例如,通告图7中的OSPFv2 RI不透明LSA 700、图8中的OSPFv3 RI不透明LSA 800或图11中的LSP 1100),该控制器信息包括本文所描述的控制器TLV。当主控制器连接到至少一个网元并通告其控制器信息时,在步骤1232中,辅控制器确定主控制器处于活动状态;否则,在步骤1232中,辅控制器确定主控制器死机。
当辅控制器确定主控制器死机/发生故障时,在步骤1236,辅控制器通过辅控制器的IGP代理,通告具有控制器TLV的LSA或LSP,其中,更新控制器信息将辅控制器升级为控制器集群的主控制器。例如,当主控制器死机时,对于OSPF,辅控制器通告LSA(例如,OSPFv2RI不透明LSA 700或OSPFv3 RI不透明LSA 800),该LSA包括控制器TLV 1700,其中,C位字段1708=1、位置字段1710=1、NoControllers字段1712=1、OldPosition字段1714=2、控制器ID字段1720=意图/新主控制器的ID(即,辅控制器的ID)(如图17所示),以将辅控制器升级为控制器集群的主控制器。类似地,当主控制器死机时,对于IS-IS,辅控制器通告LSP(例如,如图11所示),该LSP包括控制器TLV 1800,其中,C位字段1808=1、位置字段1810=1、NoControllers字段1812=1、OldPosition字段1814=2、控制器ID字段1820=意图/主控制器的ID(如图18所示),以将辅控制器升级为控制器集群的主控制器。
当辅控制器确定主控制器未死机时,在步骤1234中,辅控制器保持其作为控制器集群的辅/备份控制器的状态。
图13是根据本发明的实施例的控制器TLV 1300的示例。控制器TLV 1300示出了用于具有两个控制器的控制器集群的控制器TLV 500的示例,如图3中所示。具体地,控制器TLV 1300示出了当辅控制器或到辅控制器的链路发生故障时,具有两个控制器的控制器集群中的主控制器(例如,图3中的控制器A 302)的控制器信息。如上所述,当控制器TLV 1300包括在RI LSA(例如,如图7和图8中所描述)中时,控制器TLV 1300通告关于控制器的信息,例如连接到通告控制器的控制器的数量(包括其本身)。
在所示出的实施例中,控制器TLV 1300包括类型字段1302、长度字段1304、标志字段1306、C位字段1308、位置字段1310、NoControllers字段1312、OldPosition字段1314、保留字段1316、优先级字段1318和控制器ID字段1320。如上所述,类型字段1302是16位,并存储指示扩展是控制器TLV的值(TBD)。长度字段1304是12,以指示控制器TLV 1300的值部分的长度,以八位字节为单位。标志字段1306是8位,包括C位字段1308。在所示出的实施例中,C位字段1308被设置为1,以指示通告控制器的位置是当前活动主控制器的位置。位置字段1310被设置为1,以指示通告LSA的控制器(即,图3中的控制器A 302)当前处于控制器集群或组中的第一位置,使通告控制器成为控制器集群的当前活动主控制器。在所示出的实施例中,NoControllers字段1312被设置为1,以指示连接到控制器的控制器只有一个(包括其本身),即通告控制器,这意味着通告控制器没有与控制器集群中的任何其它控制器连接。OldPosition字段1314被设置为1,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。保留字段1316设置为零进行传输,接收时忽略。优先级字段1318指示要选择为主控制器的控制器的优先级。控制器ID字段1320包括控制器集群或组中唯一控制器的控制器ID(例如,图3中主控制器A的ID)。
图14是根据本发明的实施例的控制器TLV 1400的示例。控制器TLV 1400示出了用于具有两个控制器的控制器集群的控制器TLV 500的示例,如图3中所示。具体地,控制器TLV 1400示出了具有两个控制器的控制器集群中的辅控制器(例如,图3中的控制器B 302)的控制器信息。如上所述,当主控制器或到主控制器的链路发生故障时,当控制器TLV 1400包括在RI LSA(例如,如图7和图8中所描述)中时,控制器TLV 1400通告关于控制器的更新信息,例如连接到辅控制器的控制器的数量(包括其本身)。
在所示出的实施例中,控制器TLV 1400包括类型字段1402、长度字段1404、标志字段1406、C位字段1408、位置字段1410、NoControllers字段1412、OldPosition字段1414、保留字段1416、优先级字段1418和控制器ID字段1420。类型字段1402是16位,并存储指示扩展是控制器TLV的值(TBD)。长度字段1404是12,以指示控制器TLV 1400的值部分的长度,以八位字节为单位。标志字段1406是8位,包括C位字段1408。在所示出的实施例中,C位字段1408被设置为O,以指示通告控制器的位置不是当前活动主控制器的位置。位置字段1410被设置为1,以指示通告LSA的控制器(即,图3中的控制器B 302)当前处于控制器集群或组中的第一位置。在所示出的实施例中,NoControllers字段1412被设置为1,以指示连接到控制器的控制器只有一个(包括其本身),即通告控制器,这意味着通告控制器没有与控制器集群中的任何其它控制器连接。OldPosition字段1414被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。保留字段1416设置为零进行传输,接收时忽略。优先级字段1418指示要选择为主控制器的控制器的优先级。控制器ID字段1420包括控制器集群或组中唯一控制器的控制器ID(例如,图3中控制器B的ID)。
图15是根据本发明的实施例的控制器TLV 1500的示例。控制器TLV 1500示出了用于具有两个控制器的控制器集群的控制器TLV 900的示例,如图3中所示。具体地,控制器TLV 1500示出了当辅控制器或到辅控制器的链路发生故障时,具有两个控制器的控制器集群中的主控制器(例如,图3中的控制器A 302)的控制器信息。如上所述,当控制器TLV1500包括在LSP(例如,如图11中所描述)中时,控制器TLV 1500通告关于控制器的信息,例如连接到通告控制器的控制器的数量(包括其本身)。
控制器TLV 1500包括类型字段1502、长度字段1504、标志字段1506、C位字段1508、位置字段1510、NoControllers字段1512、OldPosition字段1514、优先级字段1516、保留字段1518和控制器ID字段1520。类型字段1502指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段1504是10,以指示值部分的长度,以八位字节为单位。标志字段1506可用于指示一个或多个标志。C位字段1508被设置为1,以指示通告控制器的位置是当前活动主控制器的位置。位置字段1510指示控制器在控制器集群或组中的当前/意图位置(例如,1=主,2=辅等)。由于C位字段1508被设置为1(C=1)且位置=1,这指示控制器是网络的当前活动主控制器。NoControllers字段1512被设置为1,以指示连接到控制器的控制器只有一个(包括其本身),即通告控制器,这意味着通告控制器没有与控制器集群中的任何其它控制器连接。OldPosition字段1514被设置为1,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。优先级字段1516指示要选择为主控制器的控制器的优先级。保留字段1518设置为零进行传输,接收时忽略。控制器ID字段1520包括控制器集群或组中唯一控制器的控制器ID(例如,图3中主控制器A的ID)。
图16是根据本发明的实施例的控制器TLV 1600的示例。控制器TLV 1600示出了用于具有两个控制器的控制器集群的控制器TLV 900的示例,如图3中所示。具体地,控制器TLV 1600示出了具有两个控制器的控制器集群中的辅控制器(例如,图3中的控制器B 302)的控制器信息。如上所述,当主控制器或到主控制器的链路发生故障时,当控制器TLV 1600包括在LSP(例如,如图11中的LSP 1100)中时,控制器TLV 1600通告关于控制器的更新信息,例如连接到辅控制器的控制器的数量(包括其本身)。
控制器TLV 1600包括类型字段1602、长度字段1604、标志字段1606、C位字段1608、位置字段1610、NoControllers字段1612、OldPosition字段1614、优先级字段1616、保留字段1618和控制器ID字段1620。类型字段1602指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段1604是10,以指示值部分的长度,以八位字节为单位。标志字段1606可用于指示一个或多个标志。C位字段1608被设置为0,以指示通告控制器的位置不是当前活动主控制器的位置。位置字段1610被设置为1,以指示通告控制器(即,图3中的控制器B 304)当前处于控制器集群或组中的第一位置。NoControllers字段1612被设置为1,以指示连接到通告控制器TLV 1600的控制器的控制器的数量(包括其本身),这意味着目前没有控制器连接到辅控制器。OldPosition字段1614被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。优先级字段1616指示要选择为主控制器的控制器的优先级。保留字段1618设置为零进行传输,接收时忽略。控制器ID字段1620包括控制器集群或组中唯一控制器的控制器ID(例如,图3中控制器B的ID)。
图17是根据本发明的实施例的控制器TLV 1700的示例。控制器TLV 1700示出了用于具有两个控制器的控制器集群的控制器TLV 500的示例,如图3中所示。具体地,控制器TLV 1700示出了具有两个控制器的控制器集群中的辅控制器(例如,图3中的控制器B 302)的控制器信息。如上文和图12所述,当主控制器发生故障时,当控制器TLV 1700包括在RILSA(例如,如图7和图8中所描述)中时,控制器TLV 1700将通告更新控制器信息,以将辅控制器升级为控制器集群的主控制器。
在所示出的实施例中,控制器TLV 1700包括类型字段1702、长度字段1704、标志字段1706、C位字段1708、位置字段1710、NoControllers字段1712、OldPosition字段1714、保留字段1716、优先级字段1718和控制器ID字段1720。类型字段1702是16位,并存储指示扩展是控制器TLV的值(TBD)。长度字段1704是12,以指示控制器TLV 1700的值部分的长度,以八位字节为单位。标志字段1706是8位,包括C位字段1708。在所示出的实施例中,C位字段1708被设置为1,以指示通告控制器的位置是当前活动主控制器的位置。位置字段1710被设置为1,以指示通告LSA的控制器(即,图3中的控制器B 302)当前处于控制器集群或组中的第一位置。NoControllers字段1712被设置为1,以指示连接到控制器的控制器只有一个(包括其本身),即通告控制器,这意味着通告控制器没有与控制器集群中的任何其它控制器连接。OldPosition字段1714被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。保留字段1716设置为零进行传输,接收时忽略。优先级字段1718指示要选择为主控制器的控制器的优先级。控制器ID字段1720包括控制器集群或组中唯一控制器的控制器ID(即,图3中主控制器B的ID)。
图18是根据本发明的实施例的控制器TLV 1800的示例。控制器TLV 1800示出了用于具有两个控制器的控制器集群的控制器TLV 500的示例,如图3中所示。具体地,控制器TLV 1800示出了具有两个控制器的控制器集群中的辅控制器(例如,图3中的控制器B 302)的控制器信息。如上文和图12所述,当主控制器发生故障时,当控制器TLV 1800包括在LSP(例如,图11中的LSP 1100)中时,控制器TLV 1800将通告更新控制器信息,以将辅控制器升级为控制器集群的主控制器。
控制器TLV 1800包括类型字段1802、长度字段1804、标志字段1806、C位字段1808、位置字段1810、NoControllers字段1812、OldPosition字段1814、优先级字段1816、保留字段1818和控制器ID字段1820。类型字段1802指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段1804是10,以指示值部分的长度,以八位字节为单位。标志字段1806可用于指示一个或多个标志。C位字段1808被设置为1,以指示通告控制器的位置是当前活动主控制器的位置。位置字段1810被设置为1,以指示通告控制器(即,图3中的控制器B 304)当前处于控制器集群或组中的第一位置。NoControllers字段1812被设置为1,以指示连接到通告控制器TLV 1800的控制器的控制器的数量(包括其本身),这意味着目前没有控制器连接到辅控制器。OldPosition字段1814被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。优先级字段1816指示要选择为主控制器的控制器的优先级。保留字段1818设置为零进行传输,接收时忽略。控制器ID字段1820包括控制器集群或组中唯一控制器的控制器ID(例如,图3中主控制器B的ID)。
图19是根据本发明的实施例的由控制器实现的用于提供网络可靠性的过程1900的流程图。在所示出的实施例中,过程1900由控制器实现,该控制器是具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示出)的控制器集群的一部分。如上所述,当发生多个网络故障时,控制器集群410可以被划分成一个或多个控制器组。例如,参考图4,当控制器A 402与控制器B 404之间的通信链路、控制器A 402与控制器N 408之间的通信链路以及控制器C 406与控制器N 408之间的通信链路都发生故障时,控制器集群410被划分成两组,即包括控制器A 402和控制器C 406的组1,和包括控制器B 404和控制器N408的组2。上面的附图中已提及组1(控制器A 402和控制器C 406)和组2(控制器B 404和控制器N 408)。目前,在不使用本文所公开的IGP代理和控制器TLV的情况下,分离的控制器组无法确定它是否应该为网络120选择新的主控制器,因为分离的控制器组无法获得关于其它分离的组的信息。过程1900通过以下方式解决了这个问题:使分离的控制器组能够获得其它分离的控制器组的信息,以便适当的组和控制器可以被选择为网络的新的主控制器。
过程1900从步骤1902开始,控制器使用IGP代理,该IGP代理用于使用具有扩展的IGP将关于控制器或控制器集群/组的信息发送到一个或多个网元。在步骤1904中,控制器建立与一个或多个网元的IGP邻接关系,以交换路由信息。在一个实施例中,为了建立IGP邻接关系,控制器的IGP代理与一个或多个网元交换一系列Hello报文,以建立控制器的IGP代理与一个或多个网元之间的双向通信。然后,IGP邻接关系通过同步它们的链路状态数据库来形成。
在正常网络操作期间,在步骤1906中,控制器通过控制器的IGP代理通告控制器信息,例如但不限于控制器在控制器集群中的位置和连接到通告控制器的控制器的数量。在一个实施例中,只有集群或组的主控制器和意图主控制器发起具有控制器TLV的LSA或LSP,控制器TLV包括关于集群或组中控制器的信息。意图主控制器是具有最高优先级等级以成为集群组中的主控制器的控制器(例如,控制器B 404是组2的意图主控制器,因为它具有最高优先级等级以成为组2中的主控制器)。
在一个实施例中,对于OSPF,当控制器A 402是主控制器时,在正常网络操作期间,控制器A的IGP代理发起LSA(例如,图7中的OSPFv2 RI不透明LSA 700或图8中的OSPFv3 RI不透明LSA 800),该LSA包括控制器TLV,该控制器TLV包括C=l、位置=l、NoControllers=n、OldPosition=1、主控制器的优先级、主控制器的ID、辅控制器的ID……第n控制器的ID,如图20A中控制器TLV 2000A所示。对于IS-IS,当控制器A 402是主控制器时,控制器A的IGP代理发起LSP(例如,图11中的LSP 1100),该LSP包括控制器TLV 2100A,如图21A中所示。
在另一个实施例中,每个控制器中的IGP代理发起具有控制器TLV的LSA或LSP,控制器TLV包括关于集群或组中控制器的信息。例如,对于任何非主控制器J(其中,j>1),控制器J的IGP代理发起LSA或LSP,该LSA或LSP包括控制器TLV,该控制器TLV包括C=0、位置=j、NoControllers=n、OldPosition=j、第j个控制器的优先级、主控制器的ID、辅控制器的ID……第n控制器的ID。例如,当控制器B是辅控制器时,控制器B的IGP代理发起包括图20B中的控制器TLV 2000B的LSA,或包括图21B中的控制器TLV 2100B的LSP。
在步骤1908中,控制器通过控制器的IGP代理检测与控制器集群中的其它控制器的一个或多个网络通信故障,该一个或多个网络通信故障导致将控制器集群划分成两个或更多个控制器组。通信故障可以是两个控制器之间的一个或多个连接故障和/或控制器集群内的控制器中的一个或多个的故障。在一个实施例中,当控制器检测到控制器集群中的另一个控制器的心跳已经停止时,控制器知道该另一个控制器不再是同一控制器组的一部分,并且控制器集群(例如,控制器集群410)已经被划分成两个或更多个控制器组。在一个实施例中,当控制器集群被划分成两个或更多个控制器组时,每个控制器组在组中选择其意图主控制器、辅控制器等(例如,根据组中控制器的优先级、ID和旧位置)。例如,在一个实施例中,控制器A被选择为意图主控制器,控制器C是组1中的辅控制器;控制器B被选择为意图主控制器,控制器N是组2中的辅控制器。
在步骤1910中,控制器通过控制器的IGP代理,使用IGP与新控制器TLV通告更新控制器信息,以反映控制器/控制器组的变化。例如,在一个实施例中,意图主控制器A和B中的每一个发起具有控制器TLV的LSA或LSP,该控制器TLV包括关于其组中控制器的更新信息。LSA或LSP被分发/通告到运行IGP的每个节点,包括每个处于活动状态的控制器。例如,假设意图主控制器A先前为主控制器,并且没有发生故障,则控制器A通过控制器A的IGP代理通告具有控制器TLV的LSA或LSP,该控制器TLV包括C位字段=0、位置字段=1、NoControllers字段=n(n是在故障之后意图主控制器连接的组中的控制器的数量,在本例中,n=2)、OldPosition字段=1、优先级字段=意图主控制器的优先级,和控制器ID字段=意图主控制器的ID和连接的其它控制器的ID,如图22A(针对LSA)和图23A(针对LSP)所示。对于任何非主控制器J(其中,j>1),控制器J的IGP代理发起LSA或LSP,该LSA或LSP包括控制器TLV,该控制器TLV包括C位字段=0、位置字段=i(其中,i是组中的意图位置)、NoControllers字段=n(n是在故障之后控制器连接的组中的控制器的数量)、OldPosition字段=j、优先级字段=控制器j的优先级。当i=l时,旧的第j控制器是组中的意图主控制器。例如,假设控制器B被选择为意图主控制器,控制器N是组2中的辅控制器,则控制器B通过控制器B的IGP代理通告具有控制器TLV的LSA或LSP,该控制器TLV包括C位字段=0、位置字段=1、NoControllers字段=2、OldPosition字段=2、优先级字段=控制器B的优先级、控制器ID字段=控制器B的ID和控制器N的ID,如图22B(针对LSA)和图23B(针对LSP)所示。
在步骤1912中,在给定时间(例如300毫秒)之后,控制器通过控制器的IGP代理确定控制器是否为在所划分的控制器组中被选择为主组的组的一部分。在一个实施例中,根据通告的更新控制器信息(来自步骤1910),具有最大数量的控制器的组被选择为负责控制网络的主控制器组。根据选定主组中控制器的位置,从选定主组中选出新的主控制器、辅控制器等。在一个实施例中,当组1(控制器A和控制器C)和组2(控制器B和控制器N)具有相同数量的控制器时,具有较高的OldPosition(组1中的OldPosition高于组2中的OldPosition)的组被选择为主组,并且主组中的意图主控制器被确定为活动主控制器。
当控制器通过控制器的IGP代理确定控制器不是在划分的控制器组中被选择为主组的组的一部分时,在步骤1914中,控制器的IGP代理通告具有控制器TLV的更新的LSA或LSP,该更新的LSA或LSP指示控制器不是主控制器(例如,通告具有控制器TLV的LSA或LSP,该控制器TLV包括C位字段=0、位置字段=1、NoControllers字段=n、OldPosition字段=1(如果先前为主控制器)或j(如果先前为非主控制器)、优先级字段=控制器的优先级、控制器ID字段=组中控制器的ID)。
当控制器通过控制器的IGP代理确定控制器是在所划分的控制器组中被选择为主组的组的一部分时,在步骤1918中,控制器的IGP代理确定控制器是否为所选择的主组的意图控制器(例如,根据控制器在组内的位置)。在一个实施例中,当控制器是选定的主组的一部分并且不是意图控制器时,在步骤1914中,控制器通过控制器的IGP代理通告具有控制器TLV的更新的LSA或LSP,该更新的LSA或LSP指示控制器不是主控制器(例如,控制器TLV包括C位字段=0、位置字段=1、NoControllers字段=n、OldPosition字段=j)。当控制器是选定主组的意图主控制器时,在步骤1916中,控制器通过控制器的IGP代理通告具有控制器TLV的更新的LSA或LSP,更新的LSA或LSP指示控制器被升级为网络的活动主控制器(例如,通告具有控制器TLV的LSA或LSP,该控制器TLV包括C位字段=1、位置字段=1、NoControllers字段=n、OldPosition字段=1、控制器ID字段=组中控制器的ID)。例如,在给定的示例中,主组(即组1)中的意图主控制器A发起控制器具有TLV的LSA或LSP,该控制器TLV包括C位字段=1、位置字段=1、NoControllers字段=2、OldPosition字段=1、优先级字段=控制器A的优先级、控制器ID字段=控制器A的ID和控制器C的ID,如图24(针对LSA)和图25(针对LSP)所示。
在另一个实施例或第二示例中,在步骤1908中,假设控制器A本身发生故障,控制器A 402与控制器B 404之间的通信链路、控制器A 402与控制器N 408之间的通信链路,以及控制器C 406与控制器N 408之间的通信链路也发生故障。这些故障导致将控制器集群410划分成两组,组1包括控制器C 406,组2包括控制器B 404和控制器N 408。在本实施例中,控制器C被选择为组1中的意图主控制器。在步骤1910中,控制器C通过控制器C的IGP代理通告具有控制器TLV的LSA或LSP,该控制器TLV包括C位字段=0、位置字段=1、NoControllers字段=1、OldPosition字段=3、优先级字段=控制器C的优先级,和控制器ID字段=控制器C的ID,如图26(针对LSA)和图28(针对LSP)所示。假设控制器B被选择为意图主控制器,控制器N是组2中的辅控制器,则在步骤1910中,控制器B通过控制器B的IGP代理通告具有控制器TLV的LSA或LSP,该控制器TLV包括C位字段=0、位置字段=1、NoControllers字段=2、OldPosition字段=2、优先级字段=控制器B的优先级,和控制器ID字段=控制器B的ID和控制器N的ID,如图27(针对LSA)和图29(针对LSP)所示。
在步骤1912中,控制器选择组2作为所划分的控制器组中的主组,因为组2比组1包括更多的控制器。在步骤1916中,作为选定主组的意图主控制器的控制器B发起具有控制器TLV的LSA或LSP,该控制器TLV包括C位字段=1、位置字段=1、NoControllers字段=2、OldPosition字段=1、优先级字段=B的优先级、控制器ID字段=控制器B的ID和控制器N的ID(如图30(针对LSA)和图31(针对LSP)所示),以指示它是网络的活动主控制器。
图20A是根据本发明的实施例的控制器TLV 2000A的示例。控制器TLV 2000A示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 500的示例。具体地,控制器TLV 2000A示出了在正常操作期间具有两个以上控制器的控制器集群中的主控制器(例如,图4中的控制器A402)的控制器信息。如上所述,当控制器TLV 2000A包括在RI LSA(例如,如图7和图8中所描述)中时,控制器TLV 2000A通告关于控制器和控制器集群的信息。
在所示出的实施例中,控制器TLV 2000A包括类型字段2002A、长度字段2004A、标志字段2006A、C位字段2008A、位置字段2010A、NoControllers字段2012A、OldPosition字段2014A、保留字段2016A、优先级字段2018A和控制器ID字段2020A。类型字段2002A是16位,并存储指示数据格式是控制器TLV的值(TBD)。长度字段2004A是n*4+8,以指示控制器TLV2000A的值部分的长度(以八位字节为单位),其中,n是控制器集群中的控制器的数量。例如,当控制器集群中有6个控制器时,长度字段2004A是6*4+8=32。标志字段2006A是8位,包括C位字段2008A。在所示出的实施例中,C位字段2008A被设置为1,以指示通告控制器的位置是当前活动主控制器的位置。位置字段2010A被设置为1,以指示通告控制器当前处于控制器集群或组中的第一位置。在所示出的实施例中,C位字段2008A和位置字段2010A的值(C=l和P=l)向接收包括控制器TLV2000A的LSA的网元指示LSA由当前活动主控制器通告。在所示出的实施例中,NoControllers字段2012A被设置为n,以指示连接到通告控制器的控制器有n个(包括其本身)。OldPosition字段2014A被设置为1,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。在一个实施例中,保留字段2016A设置为零进行发送,接收时忽略。优先级字段2018A指示要选择为主控制器的控制器的优先级。控制器ID字段2020A包括控制器集群或组中的n个控制器的控制器ID(即,控制器A的ID、控制器B的ID……控制器N的ID)。
图20B是根据本发明的实施例的控制器TLV 2000B的示例。控制器TLV 2000B示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 500的示例。具体地,控制器TLV 2000B示出了在正常操作期间具有两个以上控制器(例如,如图4中所示的辅控制器……第n控制器)的控制器集群中的辅控制器的控制器信息。如上所述,当控制器TLV 2000B包括在RI LSA(例如,如图7和图8中所描述)中时,控制器TLV 2000B通告关于控制器和控制器集群/组的信息。
在所示出的实施例中,控制器TLV 2000B包括类型字段2002B、长度字段2004B、标志字段2006B、C位字段2008B、位置字段2010B、NoControllers字段2012B、OldPosition字段2014B、保留字段2016B、优先级字段2018B和控制器ID字段2020B。类型字段2002B是16位,并存储指示数据格式是控制器TLV的值(TBD)。长度字段2004B是n*4+8,以指示控制器TLV2000B的值部分的长度(以八位字节为单位),其中,n是控制器集群中的控制器的数量。标志字段2006B是8位,包括C位字段2008B。在所示出的实施例中,C位字段2008B被设置为0,以指示通告控制器的位置不是当前活动主控制器的位置。位置字段2010B被设置为2,以指示通告LSA的控制器(即,图3中的控制器B 306)当前处于控制器集群或组中的第二位置。NoControllers字段2012B被设置为n,以指示连接到通告控制器的控制器有n个(包括其本身)。OldPosition字段2014B被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。在一个实施例中,保留字段2016B设置为零进行发送,接收时忽略。优先级字段2018B指示要选择为主控制器的控制器的优先级。控制器ID字段2020B包括控制器集群或组中的n个控制器的控制器ID(即,控制器A的ID、控制器B的ID……控制器N的ID)。
图21A是根据本发明的实施例的控制器TLV 2100A的示例。控制器TLV 2100A示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 900的示例。具体地,控制器TLV 2100A示出了在正常操作期间具有两个以上控制器的控制器集群中的主控制器(例如,图4中的控制器A 402)的控制器信息。如上文图19中所述,当控制器TLV 2100A包括在LSP(例如,图11中的LSP 1100)中时,控制器TLV2100A通告关于控制器的信息。
控制器TLV 2100A包括类型字段2102A、长度字段2104A、标志字段2106A、C位字段2108A、位置字段2110A、NoControllers字段2112A、OldPosition字段2114A、优先级字段2116A、保留字段2118A和控制器ID字段2120A。类型字段2102A指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段2104A是n*4+6,以指示控制器TLV 2100A的值部分的长度(以八位字节为单位),其中,n是控制器集群中的控制器的数量。标志字段2106A可用于指示一个或多个标志。C位字段2108A被设置为1,以指示通告控制器的位置是当前活动主控制器的位置。位置字段2110A被设置为1,以指示控制器在控制器集群或组中的当前/意图位置(例如,1=主,2=辅等)。NoControllers字段2112A被设置为n,以指示连接到通告控制器的控制器有n个(包括其本身)。OldPosition字段2114A被设置为1,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。优先级字段2116A指示要选择为主控制器的控制器的优先级。保留字段2118A设置为零进行发送,接收时忽略。控制器ID字段2120A包括控制器集群或组中的n个控制器的控制器ID(即,控制器A的ID、控制器B的ID……控制器N的ID)。
图21B是根据本发明的实施例的控制器TLV 2100B的示例。控制器TLV 2100B示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 900的示例。具体地,控制器TLV 2100B示出了在正常操作期间具有两个以上控制器(例如,如图4中所示的辅控制器……第n控制器)的控制器集群中的辅控制器的控制器信息。如上文图19中所述,当控制器TLV 2100B包括在LSP(例如,图11中的LSP 1100)中时,控制器TLV 2100B通告关于控制器的信息。
在所示出的实施例中,控制器TLV 2100B包括类型字段2102B、长度字段2104B、标志字段2106B、C位字段2108B、位置字段2110B、NoControllers字段2112B、OldPosition字段2114B、保留字段2116B、优先级字段2118B和控制器ID字段2120B。类型字段2102B是8位,并存储指示数据格式是控制器TLV的值(TBD)。长度字段2104B是n*4+6,以指示控制器TLV2100B的值部分的长度(以八位字节为单位),其中,n是控制器集群中的控制器的数量。标志字段2106B是8位,包括C位字段2108B。在所示出的实施例中,C位字段2108B被设置为0,以指示通告控制器的位置不是当前活动主控制器的位置。位置字段2110B被设置为2,以指示通告LSP的控制器(即,图3中的控制器B 306)当前处于控制器集群或组中的第二位置。NoControllers字段2112B被设置为n,以指示连接到通告控制器的控制器有n个(包括其本身)。OldPosition字段2114B被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。在一个实施例中,保留字段2116B设置为零进行发送,接收时忽略。优先级字段2118B指示要选择为主控制器的控制器的优先级。控制器ID字段2120B包括控制器集群或组中的n个控制器的控制器ID(即,控制器A的ID、控制器B的ID……控制器N的ID)。
图22A是根据本发明的实施例的控制器TLV 2200A的示例。控制器TLV 2200A示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 500的示例。具体地,控制器TLV 2200A示出了由于一个或多个网络故障而从具有两个以上控制器的控制器集群410分离的控制器组中的主控制器(例如,图4中的组1的控制器A 402)的控制器信息。当控制器TLV 2200A包括在RI LSA(例如,如图7和图8中所描述)中时,控制器TLV 2200A通告关于控制器和控制器的控制器组的信息,以使分离的控制器组能够获得其它组的控制器信息,从而能够正确选择网络的主控制器。
在所示出的实施例中,控制器TLV 2200A包括类型字段2202A、长度字段2204A、标志字段2206A、C位字段2208A、位置字段2210A、NoControllers字段2212A、OldPosition字段2214A、保留字段2216A、优先级字段2218A和控制器ID字段2220A。类型字段2202A是16位,并存储指示数据格式是控制器TLV的值(TBD)。长度字段2204A是16,以指示控制器TLV 2200A的值部分的长度,以八位字节为单位。标志字段2206A是8位,包括C位字段2208A。在所示出的实施例中,C位字段2208A被设置为0,以指示通告控制器的位置不是当前活动主控制器的位置。位置字段2210A被设置为1,以指示通告控制器当前处于控制器组1中的第一位置。NoControllers字段2212A被设置为2,以指示连接到通告控制器的控制器有2个(包括其本身)(即,组1中总共有2个控制器)。OldPosition字段2214A被设置为1,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。保留字段2216A设置为零进行发送,接收时忽略。优先级字段2218A指示要选择为主控制器的控制器的优先级。控制器ID字段2220A包括控制器组1中2个控制器的控制器ID(即控制器A的ID和控制器C的ID)。
图22B是根据本发明的实施例的控制器TLV 2200B的示例。控制器TLV 2200B示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 500的示例。具体地,控制器TLV 2200B示出了由于一个或多个网络故障而从具有两个以上控制器的控制器集群410分离的控制器组中的辅控制器(例如,图4中的组2的控制器B 404)的控制器信息。当控制器TLV 2200B包括在RI LSA(例如,如图7和图8中所描述)中时,控制器TLV 2200B通告关于控制器和控制器的控制器组的信息,以使分离的控制器组能够获得其它组的控制器信息,从而能够正确选择网络的主控制器。
在所示出的实施例中,控制器TLV 2200B包括类型字段2202B、长度字段2204B、标志字段2206B、C位字段2208B、位置字段2210B、NoControllers字段2212B、OldPosition字段2214B、保留字段2216B、优先级字段2218B和控制器ID字段2220B。类型字段2202B是16位,并存储指示数据格式是控制器TLV的值(TBD)。长度字段2204B是16位,以指示控制器TLV2200B的值部分的长度,以八位字节为单位。标志字段2206B是8位,包括C位字段2208B。在所示出的实施例中,C位字段2208B被设置为0,以指示通告控制器的位置不是当前活动主控制器的位置。位置字段2210B被设置为1,以指示通告控制器当前处于控制器组2中的第一位置。NoControllers字段2212B被设置为2,以指示连接到通告控制器的控制器有2个(包括其本身)(即,组2中总共有2个控制器)。OldPosition字段2214B被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。保留字段2216B设置为零进行发送,接收时忽略。优先级字段2218B指示要选择为主控制器的控制器的优先级。控制器ID字段2220B包括控制器组2中2个控制器的控制器ID(即控制器B的ID和控制器N的ID)。
图23A是根据本发明的实施例的控制器TLV 2300A的示例。控制器TLV 2300A示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 900的示例。具体地,控制器TLV 2300A示出了由于一个或多个网络故障而从具有两个以上控制器的控制器集群410分离的控制器组中的主控制器(例如,图4中的组1的控制器A 402)的控制器信息。当控制器TLV 2300A包括在LSP(例如,图11中的LSP1100)中时,控制器TLV 2300A通告关于控制器和控制器的控制器组的信息,以使分离的控制器组能够获得其它组的控制器信息,从而能够正确选择网络的主控制器。
控制器TLV 2300A包括类型字段2302A、长度字段2304A、标志字段2306A、C位字段2308A、位置字段2310A、NoControllers字段2312A、OldPosition字段2314A、优先级字段2316A、保留字段2318A和控制器ID字段2320A。类型字段2302A指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段2304A是14,以指示控制器TLV 2300A的值部分的长度,以八位字节为单位。标志字段2306A可用于指示一个或多个标志。C位字段2308A被设置为0,以指示通告控制器的位置不是当前活动主控制器的位置。位置字段2310A被设置为1,以指示通告控制器当前处于控制器组1中的第一位置。NoControllers字段2312A被设置为2,以指示连接到通告控制器的控制器有2个(包括其本身)(即,组1中总共有2个控制器)。OldPosition字段2314A被设置为1,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。优先级字段2316A指示要选择为主控制器的控制器的优先级。保留字段2318A设置为零进行发送,接收时忽略。控制器ID字段2320A包括控制器组1中2个控制器的控制器ID(即控制器A的ID和控制器C的ID)。
图23B是根据本发明的实施例的控制器TLV 2300B的示例。控制器TLV 2300B示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 900的示例。具体地,控制器TLV 2300B示出了由于一个或多个网络故障而从具有两个以上控制器的控制器集群410分离的控制器组中的辅控制器(例如,图4中的组2的控制器B 404)的控制器信息。当控制器TLV 2300B包括在LSP(例如,图11中的LSP1100)中时,控制器TLV 2300B通告关于控制器和控制器的控制器组的信息,以使分离的控制器组能够获得其它组的控制器信息,从而能够正确选择网络的主控制器。
控制器TLV 2300B包括类型字段2302B、长度字段2304B、标志字段2306B、C位字段2308B、位置字段2310B、NoControllers字段2312B、OldPosition字段2314B、优先级字段2316B、保留字段2318B和控制器ID字段2320B。类型字段2302B指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段2304B是14位,以指示控制器TLV 2300B的值部分的长度,以八位字节为单位。标志字段2306B可用于指示一个或多个标志。C位字段2308B被设置为0,以指示通告控制器的位置不是当前活动主控制器的位置。位置字段2310B被设置为1,以指示通告控制器当前处于控制器组2中的第一位置。NoControllers字段2312B被设置为2,以指示连接到通告控制器的控制器有2个(包括其本身)(即,组2中总共有2个控制器)。OldPosition字段2314B被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。优先级字段2316B指示要选择为主控制器的控制器的优先级。保留字段2318B设置为零进行发送,接收时忽略。控制器ID字段2320B包括控制器组2中2个控制器的控制器ID(即控制器B的ID和控制器N的ID)。
图24是根据本发明的实施例的控制器TLV 2400的示例。控制器TLV 2400示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 500的示例。具体地,控制器TLV 2400示出了由于一个或多个网络故障而从具有两个以上控制器的控制器集群410分离的控制器组中的主控制器(例如,图4中的组1的控制器A 402)的控制器信息。在所示出的实施例中,控制器组1被选择为原始控制器集群的所有划分组中的主组。当控制器TLV 2400包括在RI LSA(例如,如图7和图8中所描述)中时,控制器TLV 2400通告关于控制器和控制器组1的信息,以使分离的控制器组能够获得组1的控制器信息,以便它们知道控制器/控制器组1信息。
控制器TLV 2400包括类型字段2402、长度字段2404、标志字段2406、C位字段2408、位置字段2410、NoControllers字段2412、OldPosition字段2414、保留字段2416、优先级字段2418和控制器ID字段2420。类型字段2402指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段2404是16,以指示控制器TLV 2400的值部分的长度,以八位字节为单位。标志字段2406可用于指示一个或多个标志。C位字段2408被设置为1,以指示通告控制器的位置是当前活动主控制器的位置。位置字段2410被设置为1,以指示通告控制器当前处于控制器组1中的第一位置。NoControllers字段2412被设置为2,以指示连接到通告控制器的控制器有2个(包括其本身)(即,组1中总共有2个控制器)。OldPosition字段2414被设置为1,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。保留字段2416设置为零进行传输,接收时忽略。优先级字段2418指示要选择为主控制器的控制器的优先级。控制器ID字段2420包括控制器组1中2个控制器的控制器ID(即控制器A的ID和控制器C的ID)。
图25是根据本发明的实施例的控制器TLV 2500的示例。控制器TLV 2500示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 900的示例。具体地,控制器TLV 2500示出了由于一个或多个网络故障而从具有两个以上控制器的控制器集群410分离的控制器组中的主控制器(例如,图4中的组1的控制器A 402)的控制器信息。在所示出的实施例中,控制器组1被选择为原始控制器集群的所有划分组中的主组。当控制器TLV 2500包括在LSP(例如,图11中的LSP 1100)中时,控制器TLV 2500通告关于控制器和控制器组1的信息,以使分离的控制器组能够获得组1的控制器信息,以便它们知道控制器/控制器组1信息。
控制器TLV 2500包括类型字段2502、长度字段2504、标志字段2506、C位字段2508、位置字段2510、NoControllers字段2512、OldPosition字段2514、优先级字段2516、保留字段2518和控制器ID字段2520。类型字段2502指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段2504是14,以指示控制器TLV 2500的值部分的长度,以八位字节为单位。标志字段2506可用于指示一个或多个标志。C位字段2508被设置为1,以指示通告控制器的位置是当前活动主控制器的位置。位置字段2510被设置为1,以指示通告控制器当前处于控制器组1中的第一位置。NoControllers字段2512被设置为2,以指示连接到通告控制器的控制器有2个(包括其本身)(即,组1中总共有2个控制器)。OldPosition字段2514被设置为1,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。优先级字段2516指示要选择为主控制器的控制器的优先级。保留字段2518设置为零进行传输,接收时忽略。控制器ID字段2520包括控制器组1中2个控制器的控制器ID(即控制器A的ID和控制器C的ID)。
图26是根据本发明的实施例的控制器TLV 2600的示例。控制器TLV 2600示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 500的示例。具体地,控制器TLV 2600示出了由于一个或多个网络故障(包括主控制器A402的故障)而从具有两个以上控制器的控制器集群410分离的控制器组中的主控制器(例如,图4中的组1的控制器C 406)的控制器信息。在所示出的实施例中,控制器组1不被选择为原始控制器集群的所有划分组中的主组,并且作为控制器组1中唯一剩余的控制器的控制器C被选择为网络的意图主控制器。当控制器TLV 2600包括在RI LSA(例如,如图7和图8中所描述)中时,控制器TLV 2600通告关于控制器C和控制器组1的信息,以使分离的控制器组能够获得组1的控制器信息,以便它们知道控制器/控制器组1信息。
控制器TLV 2600包括类型字段2602、长度字段2604、标志字段2606、C位字段2608、位置字段2610、NoControllers字段2612、OldPosition字段2614、保留字段2616、优先级字段2618和控制器ID字段2620。类型字段2602指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段2604是12,以指示控制器TLV 2600的值部分的长度,以八位字节为单位。标志字段2606可用于指示一个或多个标志。C位字段2608被设置为0,以指示通告控制器的位置不是当前活动主控制器的位置。位置字段2610被设置为1,以指示通告控制器当前处于控制器组1中的第一位置。NoControllers字段2612被设置为1,以指示连接到通告控制器的控制器有1个(即,其本身)(即,组1中总共有1个控制器)。OldPosition字段2614被设置为3,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。保留字段2616设置为零进行传输,接收时忽略。优先级字段2618指示要选择为主控制器的控制器的优先级。控制器ID字段2620包括控制器组1中控制器的控制器ID(即控制器C的ID)。
图27是根据本发明的实施例的控制器TLV 2700的示例。控制器TLV 2700示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 500的示例。具体地,控制器TLV 2700示出了在控制器集群410由于一个或多个网络故障而划分之后,组2中的控制器B 404(图4中的控制器B 404和控制器N408)的控制器信息。在所示出的实施例中,控制器B 404被选择为组2的意图主控制器,但组2不被选择为划分组中的主组。控制器B 404通过其IGP代理发起RI LSA(例如,如图7和图8中所描述),通告关于控制器B 404和控制器组2的信息,以使分离的控制器组能够获得控制器B 404和控制器组2的控制器信息。
控制器TLV 2700包括类型字段2702、长度字段2704、标志字段2706、C位字段2708、位置字段2710、NoControllers字段2712、OldPosition字段2714、保留字段2716、优先级字段2718和控制器ID字段2720。类型字段2702指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段2704是16,以指示控制器TLV 2700的值部分的长度,以八位字节为单位。标志字段2706可用于指示一个或多个标志。C位字段2708被设置为0,以指示通告控制器(组2中的控制器B 404)的位置不是当前活动主控制器的位置,因为组2没有被选择为主组。位置字段2710被设置为1,以指示通告控制器当前处于控制器组2中的第一位置。NoControllers字段2712被设置为2,以指示连接到通告控制器的控制器有2个(包括其本身)(即,组2中总共有2个控制器)。OldPosition字段2714被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。保留字段2716设置为零进行传输,接收时忽略。优先级字段2718指示要选择为主控制器的控制器的优先级。控制器ID字段2720包括控制器组2中控制器的控制器ID(即控制器B的ID和控制器N的ID)。
图28是根据本发明的实施例的控制器TLV 2800的示例。控制器TLV 2800示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 900的示例。具体地,控制器TLV 2800示出了在控制器集群410由于一个或多个网络故障(包括主控制器A402的故障)而划分之后,图4中的组1的控制器C 406的控制器信息。在所示出的实施例中,控制器组1不被选择为原始控制器集群的所有划分组中的主组。作为控制器组1中唯一剩余的控制器的控制器C被选择为网络的意图主控制器。控制器C的IGP代理发起包括控制器TLV 2800的LSP(例如,图11中的LSP 1100),以通告关于控制器C和控制器组1的信息,以使分离的控制器组获得控制器C和控制器组1的控制器信息。
控制器TLV 2800包括类型字段2802、长度字段2804、标志字段2806、C位字段2808、位置字段2810、NoControllers字段2812、OldPosition字段2814、优先级字段2816、保留字段2818和控制器ID字段2820。类型字段2802指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段2804是10,以指示控制器TLV 2800的值部分的长度,以八位字节为单位。标志字段2806可用于指示一个或多个标志。C位字段2808被设置为0,以指示通告控制器的位置不是当前活动主控制器的位置。位置字段2810被设置为1,以指示通告控制器当前处于控制器组1中的第一位置。NoControllers字段2812被设置为1,以指示连接到通告控制器的控制器有1个(即,其本身)(即,组1中总共有1个控制器)。OldPosition字段2814被设置为3,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。优先级字段2816指示要选择为主控制器的控制器的优先级。保留字段2818设置为零进行传输,接收时忽略。控制器ID字段2820包括控制器组1中控制器的控制器ID(即控制器C的ID)。
图29是根据本发明的实施例的控制器TLV 2900的示例。控制器TLV 2900示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 900的示例。具体地,控制器TLV 2900示出了在控制器集群410由于一个或多个网络故障而划分之后,组2中的控制器B 404(图4中的控制器B 404和控制器N 408)的控制器信息。在所示出的实施例中,控制器B 404被选择为组2的意图主控制器,但组2不被选择为主组。控制器B 404通过其IGP代理发起包括控制器TLV 2900的LSP(例如,图11中的LSP1100),以通告关于控制器B 404和控制器组2的信息,以使分离的控制器组能够获得控制器B 404和控制器组2的控制器信息。
控制器TLV 2900包括类型字段2902、长度字段2904、标志字段2906、C位字段2908、位置字段2910、NoControllers字段2912、OldPosition字段2914、优先级字段2916、保留字段2918和控制器ID字段2920。类型字段2902指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段2904是14,以指示控制器TLV 2900的值部分的长度,以八位字节为单位。标志字段2906可用于指示一个或多个标志。C位字段2908被设置为0,以指示通告控制器(组2中的控制器B 404)的位置不是当前活动主控制器的位置,因为组2没有被选择为主组。位置字段2910被设置为1,以指示通告控制器当前处于控制器组2中的第一位置。NoControllers字段2912被设置为2,以指示连接到通告控制器的控制器有2个(包括其本身)(即,组2中总共有2个控制器)。OldPosition字段2914被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。优先级字段2916指示要选择为主控制器的控制器的优先级。保留字段2918设置为零进行传输,接收时忽略。控制器ID字段2920包括控制器组2中控制器的控制器ID(即控制器B的ID和控制器N的ID)。
图30是根据本发明的实施例的控制器TLV 3000的示例。控制器TLV 3000示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 500的示例。具体地,控制器TLV 3000示出了在控制器集群410由于一个或多个网络故障而划分之后,组2中的控制器B 404(图4中的控制器B 404和控制器N408)的控制器信息。在所示出的实施例中,控制器B 404被选择为组2的意图主控制器,并且组2被选择为划分组中的主组。控制器B 404通过其IGP代理发起RI LSA(例如,如图7和图8中所描述),通告关于控制器B 404和控制器组2的信息,以使分离的控制器组能够获得控制器B 404和控制器组2的控制器信息。
控制器TLV 3000包括类型字段3002、长度字段3004、标志字段3006、C位字段3008、位置字段3010、NoControllers字段3012、OldPosition字段3014、保留字段3016、优先级字段3018和控制器ID字段3020。类型字段3002指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段3004是16,以指示控制器TLV 3000的值部分的长度,以八位字节为单位。标志字段3006可用于指示一个或多个标志。C位字段3008被设置为1,以指示通告控制器(组2中的控制器B 404)的位置是当前活动主控制器的位置,因为组2被选择为主组。位置字段3010被设置为1,以指示通告控制器当前处于控制器组2中的第一位置,从而使通告控制器成为网络的主控制器。NoControllers字段3012被设置为2,以指示连接到通告控制器的控制器有2个(包括其本身)(即,组2中总共有2个控制器)。OldPosition字段3014被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。保留字段3016设置为零进行传输,接收时忽略。优先级字段3018指示要选择为主控制器的控制器的优先级。控制器ID字段3020包括控制器组2中控制器的控制器ID(即控制器B的ID和控制器N的ID)。
图31是根据本发明的实施例的控制器TLV 3100的示例。控制器TLV 3100示出了具有两个以上控制器(例如,主控制器、辅控制器……第n控制器,如图4中所示)的控制器集群的控制器TLV 900的示例。具体地,控制器TLV 3100示出了在控制器集群410由于一个或多个网络故障而划分之后,组2中的控制器B 404(图4中的控制器B 404和控制器N 408)的控制器信息。在所示出的实施例中,控制器B 404被选择为组2的意图主控制器,并且组2被选择为主组。控制器B 404通过其IGP代理发起包括控制器TLV 3100的LSP(例如,图11中的LSP1100),以通告关于控制器B 404和控制器组2的信息,以使分离的控制器组能够获得控制器B 404和控制器组2的控制器信息。
控制器TLV 3100包括类型字段3102、长度字段3104、标志字段3106、C位字段3108、位置字段3110、NoControllers字段3112、OldPosition字段3114、优先级字段3116、保留字段3118和控制器ID字段3120。类型字段3102指定类型值(TBD),该类型值指示数据格式是控制器TLV。长度字段3104是14,以指示控制器TLV 3100的值部分的长度,以八位字节为单位。标志字段3106可用于指示一个或多个标志。C位字段3108被设置为1,以指示通告控制器(组2中的控制器B 404)的位置是当前活动主控制器的位置,因为组2被选择为主组。位置字段3110被设置为1,以指示通告控制器当前处于控制器组2中的第一位置。NoControllers字段3112被设置为2,以指示连接到通告控制器的控制器有2个(包括其本身)(即,组2中总共有2个控制器)。OldPosition字段3114被设置为2,以指示在控制器集群被划分之前控制器在控制器集群中的旧位置。优先级字段3116指示要选择为主控制器的控制器的优先级。保留字段3118设置为零进行传输,接收时忽略。控制器ID字段3120包括控制器组2中控制器的控制器ID(即控制器B的ID和控制器N的ID)。
图32是根据本发明的一个实施例的网元3200的示意图。网元3200可以是任何网络节点,例如但不限于任何由世界各地的服务提供商使用的路由器、交换机和控制器。在一个实施例中,图3和图4中的控制器中的一个或多个可以使用网元3200实现。
网元3200包括接收器单元(RX)3220或用于通过入端口3210接收数据的接收部件。网元3200还包括发送器单元(TX)3240或用于通过数据出端口3250进行发送的发送部件。
网元3200包括用于存储指令和各种数据的存储器3260或数据存储部件。存储器3260可以是能够存储数据和/或指令的任何类型存储器组件或存储器组件的组合。例如,存储器3260可以包括易失性和/或非易失性存储器,例如只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternarycontent-addressable memory,TCAM)和/或静态随机存取存储器(static random-accessmemory,SRAM)。存储器3260还可以包括一个或多个磁盘、磁带驱动器和固态硬盘。在一些实施例中,存储器3260可以用作溢出数据存储设备,以在选择程序用于执行时存储这些程序,以及存储程序执行期间读取的指令和数据。
网元3200具有一个或多个处理器3230或其它处理部件(例如,中央处理单元(central processing unit,CPU))来处理指令。处理器3230可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application specific integrated circuit,ASIC)和数字信号处理器(digital signal processor,DSP)。处理器3230通过系统总线与入端口3210、RX 3220、TX3240、出端口3250和存储器3260通信耦合。处理器3230可以用于执行存储在存储器3260中的指令。因此,处理器3230提供了一种部件,用于在处理器执行适当指令时执行与权利要求相对应的任何计算、比较、确定、启动、配置或任何其它动作。在一些实施例中,存储器3260可以是与处理器3230集成的存储器。
在一个实施例中,存储器3260存储网络控制器集群IGP模块3270。网络控制器集群IGP模块3270包括用于实现所公开的实施例的数据和可执行指令。例如,网络控制器集群IGP模块3270可以包括用于实现图12和图19中所描述的方法的指令。网络控制器集群IGP模块3270的包括通过确保不超过一个控制器同时向网络发出指令,在实质上改进了网元3200的功能,从而提高了网络可靠性。
虽然本发明提供了若干个实施例,但应当理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以通过其它多种具体形式体现。当前的这些示例被认为是说明性的而非限制性的,并且意图不限于本文给出的细节。例如,各种元件或组件可以组合或集成在另一个系统中,或者可以省略或不实现一些特征。
另外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法组合或集成。展示或论述为彼此耦合或直接耦合或通信的其它项也可以使用电方式、机械方式或其它方式通过某一接口、设备或中间组件间接地耦合或通信。变化、替换、变更的其它示例可由本领域技术人员确定,并可以在不脱离本文中公开的精神和范围的情况下举例。

Claims (24)

1.一种由控制器集群中的用于控制网络的主网络控制器实现的方法,其特征在于,所述控制器集群还包括辅网络控制器,所述方法包括:
使用内部网关协议(interior gateway protocol,IGP)代理,所述IGP代理用于使用IGP将关于所述主网络控制器的控制器信息发送到所述网络中的一个或多个网元;
在所述主网络控制器的所述IGP代理与所述网络中的所述一个或多个网元之间建立IGP邻接关系;
向所述一个或多个网元通告关于所述主网络控制器的控制器信息;
检测与所述控制器集群中的所述辅网络控制器的通信故障;
向所述一个或多个网元通告关于所述主网络控制器的更新控制器信息,所述更新控制器信息反映了由所述通信故障引起的所述控制器信息的改变;
确定保持所述主网络控制器作为用于控制所述网络的所述主网络控制器的位置。
2.一种由控制器集群中的辅网络控制器实现的方法,其特征在于,所述控制器集群包括主网络控制器和所述辅网络控制器,所述主网络控制器用于控制网络,所述方法包括:
使用内部网关协议(interior gateway protocol,IGP)代理,所述IGP代理用于使用IGP将关于所述辅网络控制器的控制器信息发送到所述网络中的一个或多个网元;
在所述辅网络控制器的所述IGP代理与所述网络中的所述一个或多个网元之间建立IGP邻接关系;
向所述一个或多个网元通告关于所述辅网络控制器的控制器信息;
检测与所述主网络控制器的通信故障;
向所述一个或多个网元通告关于所述辅网络控制器的更新控制器信息,所述更新控制器信息反映了由所述通信故障引起的所述控制器信息的改变;
确定所述主网络控制器是否发生故障;
当所述主网络控制器发生故障时,向所述一个或多个网元通告关于所述辅网络控制器的第二更新控制器信息,所述第二更新控制器信息将所述辅网络控制器升级为所述控制器集群中的所述主网络控制器;
当所述主网络控制器未发生故障时,确定保持所述辅网络控制器作为所述控制器集群中的所述辅网络控制器的位置。
3.一种由控制器集群中的用于控制网络的网络控制器执行的方法,其特征在于,所述控制器集群包括多个网络控制器,所述方法包括:
使用内部网关协议(interior gateway protocol,IGP)代理,所述IGP代理用于使用IGP将关于所述网络控制器的控制器信息发送到所述网络中的一个或多个网元;
在所述网络控制器的所述IGP代理与所述网络中的所述一个或多个网元之间建立IGP邻接关系;
向所述一个或多个网元通告关于所述网络控制器的控制器信息;
检测所述控制器集群内的通信故障,所述通信故障将所述控制器集群划分成多个控制器组;
向所述一个或多个网元通告关于所述网络控制器的更新控制器信息,所述更新控制器信息反映了由所述通信故障引起的所述控制器信息的改变;
确定所述网络控制器是所述多个控制器组中的选定主组的一部分;
当所述网络控制器是所述选定主组中的意图主控制器时,向所述一个或多个网元通告关于所述网络控制器的第二更新控制器信息,所述第二更新控制器信息指示所述网络控制器是所述网络的当前活动主网络控制器。
4.根据权利要求2所述的方法,其特征在于,确定所述主网络控制器是否发生故障包括:使用所述IGP代理中的链路状态数据库(link state database,LSDB)来确定所述主控制器的所述IGP代理是否正在向所述网络中的所述一个或多个网元通告所述控制器信息。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述IGP代理与所述网络中的所述一个或多个网元之间的所述IGP邻接关系通过控制信道建立。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述控制器信息包括在控制器类型/长度/值(type/length/value,TLV)中。
7.根据权利要求6所述的方法,其特征在于,所述控制器TLV包括在开放式最短路径优先版本2(open shortest path first version 2,OSPFv2)路由器信息(routerinformational,RI)不透明链路状态通告(link-state advertisement,LSA)、OSPFv3 RI不透明LSA或中间系统到中间系统(intermediate system to intermediate system,IS-IS)链路状态协议数据单元(link state protocol data unit,LSP)中的一个中。
8.根据权利要求6或7所述的方法,其特征在于,所述控制器TLV包括位字段和位置字段,所述位字段在被设置时指示所述位置字段中指示的位置是当前活动主控制器的位置。
9.根据权利要求6至8中任一项所述的方法,其特征在于,所述控制器TLV包括控制器数量字段,所述控制器数量字段指示连接到通告所述控制器TLV的所述网络控制器的控制器的数量。
10.根据权利要求6至9中任一项所述的方法,其特征在于,所述控制器TLV包括旧位置字段,所述旧位置字段指示在所述控制器集群被划分之前所述网络控制器在所述控制器集群中的位置。
11.根据权利要求6至10中任一项所述的方法,其特征在于,所述控制器TLV包括优先级字段,所述优先级字段指示所述网络控制器被选择为主网络控制器的优先级。
12.根据权利要求6至11中任一项所述的方法,其特征在于,所述控制器TLV包括控制器标识符(identifier,ID)字段,所述控制器ID字段包括所述控制器集群中所有控制器的控制器ID。
13.一种网络控制器,其特征在于,包括:
存储指令的存储器;
与所述存储器通信的处理器,所述处理器用于执行所述指令以使所述网络控制器:
将所述网络控制器配置为控制器集群中的主网络控制器;
在所述网络控制器的IGP代理与所述网络中的一个或多个网元之间建立内部网关协议(interior gateway protocol,IGP)邻接关系,所述IGP代理用于使用IGP发送关于所述网络控制器的控制器信息;
向所述一个或多个网元通告关于所述网络控制器的控制器信息;
检测与所述控制器集群中的辅控制器的通信故障;
向所述一个或多个网元通告关于所述网络控制器的更新控制器信息,所述更新控制器信息反映了由所述通信故障引起的所述控制器信息的改变;
确定保持所述网络控制器作为所述控制器集群中用于控制所述网络的所述主网络控制器。
14.一种网络控制器,其特征在于,包括:
存储指令的存储器;
与所述存储器通信的处理器,所述处理器用于执行所述指令以使非主网络控制器:
将所述网络控制器配置为控制器集群中的辅网络控制器;
在所述网络控制器的IGP代理与所述网络中的一个或多个网元之间建立内部网关协议(interior gateway protocol,IGP)邻接关系;
向所述一个或多个网元通告关于所述网络控制器的控制器信息;
检测与所述控制器集群中的主网络控制器的通信故障;
向所述一个或多个网元通告关于所述网络控制器的更新控制器信息,所述更新控制器信息反映了由所述通信故障引起的所述控制器信息的改变;
确定所述主网络控制器发生故障;
当所述主网络控制器发生故障时,向所述一个或多个网元通告关于所述网络控制器的第二更新控制器信息,所述第二更新控制器信息将所述网络控制器从所述辅网络控制器升级为所述控制器集群中的所述主网络控制器。
15.一种控制器集群的网络控制器,其特征在于,所述控制器集群包括多个网络控制器,所述网络控制器包括:
存储指令的存储器;
与所述存储器通信的处理器,所述处理器用于执行所述指令以使所述网络控制器:
使用内部网关协议(interior gateway protocol,IGP)代理,所述IGP代理用于使用IGP发送关于所述网络控制器的控制器信息;
在所述网络控制器的所述IGP代理与所述网络中的一个或多个网元之间建立IGP邻接关系;
向所述一个或多个网元通告关于所述网络控制器的控制器信息;
检测所述控制器集群内的通信故障,所述通信故障将所述控制器集群划分成多个控制器组;
向所述一个或多个网元通告关于所述网络控制器的更新控制器信息,所述更新控制器信息反映了由所述通信故障引起的所述控制器信息的改变;
确定所述网络控制器是所述多个控制器组中的选定主组的一部分;
当所述网络控制器是所述选定主组中的意图主控制器时,向所述一个或多个网元通告关于所述网络控制器的第二更新控制器信息,所述第二更新控制器信息指示所述网络控制器是所述网络的当前活动主网络控制器。
16.根据权利要求14所述的网络控制器,其特征在于,确定所述主网络控制器是否发生故障包括:使用所述IGP代理中的链路状态数据库(link state database,LSDB)来确定所述主控制器的所述IGP代理是否正在向所述网络中的所述一个或多个网元通告所述控制器信息。
17.根据权利要求12至15中任一项所述的网络控制器,其特征在于,所述网络控制器的所述IGP代理与所述网络中的所述一个或多个网元之间的所述IGP邻接关系通过控制信道建立。
18.根据权利要求13至17中任一项所述的网络控制器,其特征在于,所述控制器信息包括在控制器类型/长度/值(type/length/value,TLV)中。
19.根据权利要求18所述的网络控制器,其特征在于,所述控制器TLV包括在开放式最短路径优先版本2(open shortest path first version 2,OSPFv2)路由器信息(routerinformational,RI)不透明链路状态通告(link-state advertisement,LSA)、OSPFv3 RI不透明LSA或中间系统到中间系统(intermediate system to intermediate system,IS-IS)链路状态协议数据单元(link state protocol data unit,LSP)中的一个中。
20.根据权利要求18或19所述的网络控制器,其特征在于,所述控制器TLV包括位字段和位置字段,所述位字段在被设置时指示所述位置字段中指示的位置是当前活动主控制器的位置。
21.根据权利要求18至20中任一项所述的网络控制器,其特征在于,所述控制器TLV包括控制器数量字段,所述控制器数量字段指示连接到通告所述控制器TLV的所述网络控制器的控制器的数量。
22.根据权利要求18至21中任一项所述的网络控制器,其特征在于,所述控制器TLV包括旧位置字段,所述旧位置字段指示在所述控制器集群被划分之前所述网络控制器在所述控制器集群中的位置。
23.根据权利要求18至22中任一项所述的网络控制器,其特征在于,所述控制器TLV包括优先级字段,所述优先级字段指示所述网络控制器被选择为主网络控制器的优先级。
24.根据权利要求18至23中任一项所述的网络控制器,其特征在于,所述控制器TLV包括控制器标识符(identifier,ID)字段,所述控制器ID字段包括所述控制器集群中所有控制器的控制器ID。
CN202180013677.7A 2020-02-11 2021-02-10 用于网络可靠性的系统和方法 Pending CN115066871A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062973000P 2020-02-11 2020-02-11
US62/973,000 2020-02-11
PCT/US2021/017426 WO2021163169A1 (en) 2020-02-11 2021-02-10 System and method for network reliability

Publications (1)

Publication Number Publication Date
CN115066871A true CN115066871A (zh) 2022-09-16

Family

ID=74858800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180013677.7A Pending CN115066871A (zh) 2020-02-11 2021-02-10 用于网络可靠性的系统和方法

Country Status (4)

Country Link
US (1) US11888596B2 (zh)
EP (1) EP4101128A1 (zh)
CN (1) CN115066871A (zh)
WO (1) WO2021163169A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090182894A1 (en) * 2008-01-11 2009-07-16 Jean-Philippe Vasseur Dynamic path computation element load balancing with backup path computation elements
US20150023205A1 (en) * 2013-07-20 2015-01-22 Cisco Technology, Inc. Path computation element proxying for deterministic wireless networks
US20160366051A1 (en) * 2015-06-11 2016-12-15 Futurewei Technologies, Inc. Zone Routing System
US20170237605A1 (en) * 2013-07-08 2017-08-17 Nicira, Inc. Storing network state at a network controller
CN107409093A (zh) * 2015-02-20 2017-11-28 思科技术公司 网络环境中针对路由反射器客户端的自动最优路由反射器根地址分配和快速故障转移
US20180034730A1 (en) * 2013-10-11 2018-02-01 Futurewei Technologies, Inc. Using PCE as SDN controller
WO2019239189A1 (en) * 2018-06-13 2019-12-19 Telefonaktiebolaget Lm Ericsson (Publ) Robust node failure detection mechanism for sdn controller cluster

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101573997B (zh) * 2006-12-29 2013-05-29 艾利森电话股份有限公司 用于库配置的服务器和网关信息的自动分发
WO2021046565A2 (en) * 2020-02-27 2021-03-11 Futurewei Technologies, Inc. Pce controlled network reliability

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090182894A1 (en) * 2008-01-11 2009-07-16 Jean-Philippe Vasseur Dynamic path computation element load balancing with backup path computation elements
US20170237605A1 (en) * 2013-07-08 2017-08-17 Nicira, Inc. Storing network state at a network controller
US20150023205A1 (en) * 2013-07-20 2015-01-22 Cisco Technology, Inc. Path computation element proxying for deterministic wireless networks
US20180034730A1 (en) * 2013-10-11 2018-02-01 Futurewei Technologies, Inc. Using PCE as SDN controller
CN107409093A (zh) * 2015-02-20 2017-11-28 思科技术公司 网络环境中针对路由反射器客户端的自动最优路由反射器根地址分配和快速故障转移
US20160366051A1 (en) * 2015-06-11 2016-12-15 Futurewei Technologies, Inc. Zone Routing System
WO2019239189A1 (en) * 2018-06-13 2019-12-19 Telefonaktiebolaget Lm Ericsson (Publ) Robust node failure detection mechanism for sdn controller cluster

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZAHRAA N. ABDULLAH等: "gment Routing in Software Defined Networks: A Survey", 《IEEE COMMUNICATIONS SURVEYS & TUTORIALS》, vol. 21, no. 1, pages 464 - 486 *

Also Published As

Publication number Publication date
US20220385530A1 (en) 2022-12-01
US11888596B2 (en) 2024-01-30
WO2021163169A1 (en) 2021-08-19
EP4101128A1 (en) 2022-12-14

Similar Documents

Publication Publication Date Title
US11671364B2 (en) Method, apparatus, and system for forwarding packet in service function chaining SFC
US10581733B2 (en) Methods and devices for constructing label and forwarding label packet
US20200396162A1 (en) Service function chain sfc-based communication method, and apparatus
US9444721B2 (en) Two-part metric for link state routing protocols
US9680751B2 (en) Methods and devices for providing service insertion in a TRILL network
JP5728595B2 (ja) Ldpパケットの迅速な再ルーティングのための方法および装置
CN114615198A (zh) 内部网关协议洪泛最小化
KR20220065893A (ko) 네트워크에서의 패킷을 송신하기 위한 방법 및 노드
WO2013052893A1 (en) Simple topology transparent zoning in network communications
EP1997017A2 (en) Technique for preventing routing loops by disseminating bgp attribute information in an ospf-configured network
KR101457317B1 (ko) 라우팅 정보 업데이트의 우선 순위 지정
CN112995030A (zh) 一种业务处理方法、装置、存储介质及电子装置
US8923162B2 (en) Management of private virtual networks
EP3648419A1 (en) A method and an apparatus for routing data packets in a network topology
CN112491706A (zh) 数据报文的处理方法及装置、存储介质、电子装置
US11888727B2 (en) Extending BGP protection for SR path ingress protection
CN115066871A (zh) 用于网络可靠性的系统和方法
CN113366804A (zh) 防止网络拓扑改变期间的微环路的方法和系统
CN109672617B (zh) 一种mpls层次化保护倒换的方法、装置及存储介质
US20220393936A1 (en) System and Method for Border Gateway Protocol (BGP) Controlled Network Reliability
EP2175593B1 (en) Method for routing data packets in a LAN
WO2020243465A1 (en) Open shortest path first (ospf) service group dedicated databases
CN114041279A (zh) 用于对igp分区进行抽象化的系统和方法
WO2023230383A2 (en) Bgp for distributing binding for protection
WO2020231740A1 (en) Open shortest path first (ospf) service grouping capability, membership, and flooding

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