CN115208748A - 用于网络设备配置会话管理的网络控制器水平缩放 - Google Patents

用于网络设备配置会话管理的网络控制器水平缩放 Download PDF

Info

Publication number
CN115208748A
CN115208748A CN202210382663.9A CN202210382663A CN115208748A CN 115208748 A CN115208748 A CN 115208748A CN 202210382663 A CN202210382663 A CN 202210382663A CN 115208748 A CN115208748 A CN 115208748A
Authority
CN
China
Prior art keywords
network configuration
controllers
controller
configuration controllers
network
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
CN202210382663.9A
Other languages
English (en)
Inventor
M·M·纳加普拉卡什
P·吉科
S·加利
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.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
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
Priority claimed from US17/305,110 external-priority patent/US11575572B2/en
Application filed by Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN115208748A publication Critical patent/CN115208748A/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/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • 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/0876Aspects of the degree of configuration automation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • 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/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • 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/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding

Abstract

控制器的第一多个网络配置控制器可以使用一致哈希算法在多个网络配置控制器之间分发与多个网络设备的多个连接会话。控制器可以监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目。控制器可以基于监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目,将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器。第二多个网络配置控制器可以响应于将附加的网络配置控制器添加到第一多个网络配置控制器,使用一致哈希算法在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话。

Description

用于网络设备配置会话管理的网络控制器水平缩放
本申请要求2021年6月30日提交的美国申请17/305,110的权益,该美国申请要求2021年4月13日提交的印度临时专利申请号202141017207的权益,其全部内容通过引用并入本文。
技术领域
本发明涉及计算机网络,更具体地,涉及网络配置控制器的自动水平缩放。
背景技术
计算机网络是交换数据和共享资源的互连计算设备的集合。在诸如互联网的基于分组的网络中,计算设备通过将数据分成被称为分组的小块来传递数据,这些分组在网络上从源设备单独路由到目的地设备。目的地设备从分组中提取数据,并将数据组装成其原始形式。
网络中的某些设备(诸如,路由器)使用路由协议来交换和积累描述通过网络的可用路由的拓扑信息。这允许路由器构建自己的网络路由拓扑图。一经接收到传入数据分组,路由器就检查分组内的信息,并根据累积的拓扑信息转发分组。
许多路由协议属于被称为内部网关协议(IGP)的协议类别,在该协议类别中,使用基于洪水的分发机制来向网络内的路由器通告拓扑信息。这些路由协议通常依赖于要求每个路由器具有给定域(称为IGP区域或域)的同步路由拓扑信息的路由算法。根据链路状态路由协议维护的链路状态数据库(LSDB)或业务工程数据库(TED)的内容具有IGP域的范围。IGP路由协议通常要求IGP路由域中的所有路由器在内部LSDB或TED内存储已根据IGP协议分发的所有路由信息。在操作中,每个路由器通常维护内部链路状态数据库,并以定义的间隔扫描整个数据库,以生成并输出链路状态消息,从而将该数据库同步到路由域内的相邻路由器。通过这种方式,链路状态将在整个路由域中传播,并在域中的每个路由器上完整存储。
基于分组的网络将标签交换协议用于业务工程和其他目的。多协议标签交换(MPLS)是一种用于根据网络中的路由器维护的路由信息来设计互联网协议(IP)网络内的业务模式的机制。通过利用诸如标签分发协议(LDP)、具有业务工程扩展的资源预留协议(RSVP)(RSVP-TE)或分段路由(SR)扩展的MPLS协议,标签交换路由器可以使用预先添加到业务的标签,沿着通过网络的特定路径将业务转发到目的地设备,即标签交换路径(LSP)。LSP定义了一条通过网络的不同路径,以将MPLS分组从源设备传输到目的地设备。使用MPLS协议,沿着LSP的每个路由器分派与目的地相关联的标签,并沿着路径将该标签传播到最近的上游路由器。沿路径的路由器添加(推送)、移除(弹出)或交换标签,并执行其他MPLS操作以沿着所建立的路径转发MPLS分组。在一些示例中,网络配置协议(NETCONF)是网络管理协议,网络管理协议可以被用以维护与计算机网络中的计算设备的活动且持久的NETCONF会话,以供应和管理诸如LSP的路由路径。
发明内容
一般而言,描述了用于诸如NETCONF控制器的网络配置控制器的自动水平缩放的技术,以便网络配置控制器能够无缝地保持与诸如第五代(5G)宽带移动网络的网络中的大量网络设备(例如,超过20万个设备)的活动且持久的连接。
例如,控制器可以供应网络配置控制器的多个实例,每个实例可以被分配给网络中的网络设备的非重叠部分。该控制器可以使用一致哈希技术将每个网络设备分配给网络配置控制器。该控制器还可以通过确定由每个网络配置控制器维护的连接的数目并将每个网络配置控制器维护的连接数目与每个网络配置控制器能够维护的连接的最大数目进行比较,确定是否执行网络配置控制器的水平缩放以将网络配置控制器添加到多个网络配置控制器。该控制器可以响应于将网络配置控制器添加到多个网络配置控制器,使用一致哈希技术来将由网络配置控制器维护的连接重新分发给网络设备。
在一个方面中,一种方法,包括:由控制器的第一多个网络配置控制器并且使用一致哈希算法,在第一多个网络配置控制器之间分发与多个网络设备的多个连接会话;由控制器监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目;由控制器并且基于监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目,将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器;以及响应于将附加的网络配置控制器添加到第一多个网络配置控制器,由第二多个网络配置控制器并且使用一致哈希算法,在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话。
在另一方面中,一种计算设备,包括:存储器;以及与存储器通信的处理电路,处理电路和存储器被配置为:由第一多个网络配置控制器并且使用一致哈希算法,在第一多个网络配置控制器之间分发与多个网络设备的多个连接会话;监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目;基于监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目,将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器;以及响应于将附加的网络配置控制器添加到第一多个网络配置控制器,由第二多个网络配置控制器并且使用一致哈希算法,在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话。
在另一方面中,一种非瞬态计算机可读存储介质,非瞬态计算机可读存储介质编码有指令,指令在被执行时,使一个或多个可编程处理器:由第一多个网络配置控制器并且使用一致哈希算法,在第一多个网络配置控制器之间分发与多个网络设备的多个连接会话;监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目;基于监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目,将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器;以及响应于将附加的网络配置控制器添加到第一多个网络配置控制器,由第二多个网络配置控制器并且使用一致哈希算法,在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话。
在另一方面中,一种控制器,包括:存储器;以及与存储器通信的处理电路,处理电路和存储器被配置为:由控制器的第一多个网络配置控制器并且使用一致哈希算法,在第一多个网络配置控制器之间分发与多个网络设备的多个连接会话;由控制器监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目;由控制器并且基于监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目,将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器;以及响应于将附加的网络配置控制器添加到第一多个网络配置控制器,由第二多个网络配置控制器并且使用一致哈希算法,在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话。
在另一方面中,一种计算设备包括:用于使用一致哈希算法,在第一多个网络配置控制器之间分发与多个网络设备的多个连接会话的部件;用于监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目的部件;用于基于监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目,将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器的部件;以及用于响应于将附加的网络配置控制器添加到第一多个网络配置控制器,使用一致哈希算法,在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话的部件。
这些技术的细节在附图和下面的描述中阐述。从说明书和附图以及权利要求书中,这些技术的其他特征、目标和优点将变得明显。
附图说明
图1是示出了具有网络和控制器并且被配置为根据本公开中描述的技术操作的示例***的框图。
图2是示出了根据本公开的技术执行网络配置控制器的水平缩放的示例控制器的框图。
图3是示出了根据本公开的技术的示例控制器的框图。
图4是示出了根据本公开的技术的示例控制器的框图。
图5是示出了根据本公开的一个或多个技术的计算设备的示例操作的流程图。
具体实施方式
图1是示出了具有网络112和控制器108的示例***100的框图,网络112和控制器108被配置为根据本公开中描述的技术操作。网络112可以包括一个或多个计算机网络(例如,互连的L2/L3网络集合),并且在一些示例中,可以是广域网。网络112的示例可以包括一个或多个自治***、数据中心、分支机构、专用网络、公共网络、云网络或其他类型的网络。在一些示例中,网络112可以是宽带移动网络,诸如第五代(5G)蜂窝网络。网络112包括经由网络112彼此直接或间接通信的任意数目的设备19。设备19中的每个设备可以表示路由器、交换机或其他网络设备。设备19可以能够根据诸如标签交换路径(LSP)的技术沿着路由路径将分组流量分组从源转发到目的地。
控制器108可以包括表示WAN控制器的一个或多个计算设备,并且可以使用网络配置协议(NETCONF)、路径计算元件通信协议(PCEP)、BGP或其他协议来维护与设备19的活动且持久的会话,以在网络112中供应和管理LSP,诸如基于NETCONF的LSP。例如,控制器108包括用于配置设备19的网络配置控制器110A-110M的多个实例(以下称为“网络配置控制器110”),以使用例如NETCONF来供应和管理网络112中的LSP。每个网络配置控制器110可以负责维护与网络112中的设备19的非重叠部分的持久连接,从而可以在网络配置控制器110之间划分网络112中的设备19。
控制器108可以执行网络配置控制器110的负载平衡,以在网络配置控制器110之间分配到设备19的持久连接,并且随着设备被添加到网络112和从网络112移除设备,在网络配置控制器110之间重新分配到设备19的持久连接。例如,每个设备19与诸如设备标识符的唯一标识符相关联,并且控制器108可以使用哈希技术来执行对与每个设备19相关联的设备标识符的哈希,以基于对设备19的设备标识符的哈希在网络配置控制器110之间分配到设备19的持久连接,从而将设备19的非重叠部分分配给每个网络配置控制器110。
随着由网络配置控制器110管理的会话的数目改变,控制器108可以执行网络配置控制器110的水平缩放,以向网络配置控制器110添加附加的网络配置控制器和/或向网络配置控制器110移除网络配置控制器。例如,随着设备19中的设备的数目增加,控制器108可以通过将附加的网络配置控制器添加到网络配置控制器110来水平缩放网络配置控制器110,以维护与设备19的附加设备的持久连接。
控制器108可以至少部分地基于由每个网络配置控制器110管理的设备19的数目来确定是否向网络配置控制器110添加一个或多个附加的网络配置控制器。例如,控制器108可以周期性地(例如,每小时、每30分钟等)确定由每个网络配置控制器110管理的设备19的数目。控制器108还可以确定每个网络配置控制器110能够管理的设备19的最大数目。控制器108可以至少部分地基于将由网络配置控制器110中的至少一个管理的设备19的数目与每个网络配置控制器110能够管理的设备19的最大数目进行比较来确定是否向网络配置控制器110添加一个或多个附加的网络配置控制器。例如,如果控制器108确定由网络配置控制器110中的至少一个管理的设备19的数目大于每个网络配置控制器110能够管理的设备19的最大数目,则控制器110可以自动地水平缩放以向网络配置控制器108添加附加的网络配置控制器。
当附加的网络配置控制器被添加到网络配置控制器110时,控制器108可以以减少并且可以最小化被重新分配给网络配置控制器110的不同网络配置控制器的设备19的数目的方式在网络配置控制器110中重新分配设备19。为此,控制器108可以使用一致哈希来在网络配置控制器110之间分配设备19。一致哈希是一种哈希技术,其中当调整哈希表的大小时,平均可以只需要重新映射n/m个键,其中n是键的数目,m是槽的数目。相反,在其他哈希技术中,哈希表中的槽的数目的改变可以导致几乎所有键被重新映射。
控制器108可以使用一致哈希技术来执行对与每个设备19相关联的设备标识符的哈希,以基于对设备19的设备标识符的哈希在网络配置控制器110之间分配到设备19的持久连接。例如,控制器108可以执行与每个设备19相关联的设备标识符的一致哈希以生成与每个设备19相关联的结果哈希值,并且可以基于所得到的设备的哈希值将每个设备19映射到网络配置控制器110的网络配置控制器。
具体地,每个网络配置控制器110可以分别执行与每个设备19相关联的设备标识符的一致哈希,以由每个网络配置控制器确定网络配置控制器要建立到的设备19的子集。例如,每个网络配置控制器110可以分别执行与每个设备19相关联的设备标识符的一致哈希,以由每个网络配置控制器确定在设备被添加到设备19、设备被从设备19移除等之后网络配置控制器要建立持久连接的设备19的子集。
当附加的网络配置控制器被添加到网络配置控制器110时,或者当从网络配置控制器110移除网络配置控制器时,控制器108可以基于与一个或多个设备19相关联的哈希值将设备19中的一个或多个重新分配给网络配置控制器110的不同网络配置控制器。给定m个网络配置控制器110要连接到n个设备19,网络控制器108可以使用一致哈希来通过网络配置控制器110将持久连接重新分发到设备19,当附加的网络配置控制器被添加到网络配置控制器110时,可能只需要将设备19中的n/m个设备重新分发到网络配置控制器110的另一网络配置控制器。具体地,每个网络配置控制器110可以单独执行与每个设备19相关联的设备标识符的一致哈希,以将持久连接重新分发给计算设备19。
图2是示出了根据本公开的技术执行网络配置控制器的水平缩放的示例控制器的框图。图2的示例控制器208可以表示图1的控制器108的示例实现。在一些示例中,控制器208可以是或可以实现WAN控制器、软件定义联网(SDN)控制器等。
如图2所示,示例***200可以包括网络212和控制器208。网络212可以类似于图1的网络112,并且可以包括类似于图1的设备19的设备219。控制器208可以与网络212中的设备219建立持久通信会话。
控制器208可以包括设备服务262、设备数据库260、设备简档适配器262、拓扑服务266和网络配置服务250。网络配置服务250可以是由控制器208执行以与网络212中的设备219建立持久通信会话并管理与设备219的通信会话的软件。网络配置服务250包括网络配置控制器210A-210N(以下称为“网络配置控制器210”)、服务252和自动缩放服务254。
每个网络配置控制器210可以与一个或多个设备219维护持久通信会话,并且每个网络配置控制器210可以被分配给设备219的非重叠部分。网络配置控制器210中的每个网络配置控制器都能够通过诸如调用一个或多个远程过程调用,将配置下载到分配给网络配置控制器的一个或多个设备中的每个设备,并从每个设备取回设备信息。
网络配置服务250可以使用一致哈希技术将设备219分配给网络配置控制器210。网络配置服务250可以执行与每个设备219相关联的设备标识符的哈希以生成每个设备219的哈希值,并且可以至少部分地基于与设备219中的设备相关联的哈希值来确定网络配置控制器210中分配给该设备的网络配置控制器。在一些示例中,网络配置服务250可以使用诸如一致哈希环280的一致哈希环来执行一致哈希技术。
在一些示例中,网络配置控制器210中的每个网络配置控制器可以基于一致哈希技术,诸如通过使用一致哈希环280来确定其被分配到的设备219的一个或多个设备。例如,控制器208的设备数据库260可以存储由网络配置服务250确定的每个设备219的设备标识符。每个网络配置控制器210可以检索每个设备219的设备标识符,并且可以执行一致哈希技术以确定其被分配给设备219中的一个或多个设备。
在图2的示例中,每个网络配置控制器210可以使用一致哈希环280来执行一致哈希技术,以针对每个网络配置控制器210确定其被分配到的设备219中的一个或多个设备。例如,网络配置控制器210的每个网络配置控制器可以基于与网络配置控制器相关联的唯一标识符来确定网络配置控制器在一致哈希环280上的位置。一致哈希环280示出了包括四个网络配置控制器210A-210D的网络配置控制器210的示例,其中网络配置控制器210A-210D中的每个网络配置控制器位于彼此等距离的一致哈希环280中。
网络配置控制器210可以基于对每个设备219的设备标识符执行一致化哈希,针对设备219中的每个设备确定设备219中的每个设备在一致哈希环280上的位置。因此,网络配置控制器210可以基于设备219中的每个设备在一致哈希环280上的位置来确定设备被分配到的网络配置控制器210A-210D中的网络配置控制器210。
在一些示例中,网络配置控制器210可以将设备219分配给设备219左侧(即,逆时针方向)最近的网络配置控制器。因此,将位于网络配置控制器210A和210B之间的一致哈希环280中的设备219分配给网络配置控制器210A。在另一示例中,网络配置控制器210可以将设备219分配给设备219右侧(即,顺时针方向)最近的网络配置控制器。因此,位于网络配置控制器210A和210B之间的一致哈希环280中的设备219被分配给网络配置控制器210B。以此方式,网络配置控制器210可以基于一致化哈希技术来确定其被分配到的设备219中的一个或多个设备。
每个网络配置控制器210可以基于对每个设备219的设备标识符执行一致哈希来确定是添加与一个或多个设备219的一个或多个持久通信会话,还是移除与一个或多个设备219的一个或多个持久通信会话。具体地,网络配置控制器210中的网络配置控制器可以基于对每个设备219的设备标识符执行一致哈希来标识网络配置控制器要与其建立一个或多个持久通信会话的一个或多个设备219。如果网络配置控制器确定所标识的一个或多个设备219包括网络配置控制器尚未向其建立持久通信会话的一个或多个设备,则网络配置控制器210可以添加与所标识的一个或多个设备219的一个或多个持久通信会话。相反,如果网络配置控制器确定所标识的一个或多个设备219不包括网络配置控制器已经与其建立了持久通信会话的一个或多个设备,则网络配置控制器210可以移除与所标识的一个或多个设备219的一个或多个持久通信会话。
在一些示例中,响应于接收到提供与网络212中的设备的持久通信会话或移除与网络212中的设备的持久通信会话的请求,网络配置控制器210可以执行对设备219的设备标识符的哈希,以确定分配给每个网络配置控制器210的设备219。在一些示例中,响应于接收到与设备219重新映射一个或多个持久通信会话的请求,网络配置控制器210可以执行设备219的设备标识符哈希,以确定分配给每个网络配置控制器210的设备219。在一些示例中,网络配置控制器210可以响应于接收到已经将一个或多个设备添加到网络212中的设备219或者已经从网络212中的设备219移除的任何指示,执行对设备219的设备标识符组的哈希,以确定分配给每个网络配置控制器210的设备219。
如果网络配置控制器210中的网络配置控制器响应于执行一致哈希技术而确定移除与设备219的设备的持久通信会话,则网络配置控制器可以在确定移除持久通信会话后立即移除持久通信会话。相反,网络配置控制器可以等待,直到当前正在有效地使用持久通信会话的任务完成之后,并且可以在该任务已经完成之后移除持久通信会话。
例如,如果正在基于一致哈希将到设备219的设备的持久通信会话从网络配置控制器210A重新映射到网络配置控制器210B,则网络配置控制器210A可以确定任务当前是否正在有效地使用到设备的持久通信会话(例如,以执行设备的配置)。当该任务当前正在活动地使用到该设备的持久通信会话时,网络配置控制器210B可以建立到该设备的持久通信会话。当使用由配置控制器210A建立的持久通信会话的任务完成时,网络配置控制器210A然后可以移除到该设备的持久通信会话,从而使能在网络配置控制器210A和210B之间重新映射持久通信会话,而不中断使用要被重新映射的持久通信会话的活动任务。
配置服务252可以是或托管一个或多个服务,用于处理供应设备219的设备的请求和/或来自客户端的对关于设备219的状态或其他信息的请求。配置服务252可以响应于接收到对关于设备219的特定设备的信息的请求,确定被分配给并管理该特定设备的网络配置控制器210中的网络配置控制器,并且可以将对信息的请求路由到被分配给并管理该特定设备的网络配置控制器210的所确定的网络配置控制器。在一些示例中,配置服务252可以是或托管gRPC远程过程调用(gRPC)服务或高级消息收发排队协议(AMQP)服务。
自动缩放服务254可以执行网络配置控制器210的自动水平缩放。具体地,自动缩放服务254可以基于由每个网络配置控制器210管理的设备219的数目,向网络配置控制器210添加或实例化附加的网络控制器以管理设备219。自动缩放服务254可以周期性地确定由每个网络配置控制器210服务的设备的数目,并且可以至少部分地基于由每个网络配置控制器210服务的设备的数目来确定是否水平缩放网络配置控制器210,例如通过向网络配置控制器210添加附加的网络控制器来管理设备219。在一些示例中,自动缩放服务254可以是被设置为每小时、每30分钟等确定由每个网络配置控制器210服务的设备的数目的Kubernetes定时任务。
网络配置控制器210可以提供被曝露以提供由网络配置控制器210的每个网络配置控制器管理的设备的数目以及可以由网络配置控制器210中的每个网络配置控制器管理的最大设备数目的应用编程接口(API)。在一些示例中,网络配置控制器210中的每个网络配置控制器可以管理的最大设备数目可以是用户可配置的值。
自动缩放服务254可以使用由网络配置服务250提供的API来周期性地确定由每个网络配置控制器210服务的设备的数目,并且可以将所确定的由网络配置控制器210中的每个网络配置控制器服务的设备的数目与可以由网络配置控制器210中的每个网络配置控制器管理的最大设备数目进行比较,以确定是否向网络配置控制器210添加附加的网络控制器。在一些示例中,自动缩放服务254可以响应于确定由网络配置控制器210中的至少一个服务的设备的数目大于可以由网络配置控制器210中的每个网络配置控制器管理的最大设备数目,向网络配置控制器210添加附加的网络控制器以管理设备219,诸如通过实例化附加的网络配置控制器。
网络配置控制器210可以响应于将附加的网络控制器添加到网络配置控制器210和/或响应于控制器208接收到提供与设备219的附加持久通信会话的请求,重新映射一个或多个设备219。也就是说,网络配置控制器210的每个网络配置控制器可以重新确定其被分配以建立持久通信会话的设备219中的一个或多个设备。如上所述,网络配置控制器210在的每个网络配置控制器可以基于执行一致哈希技术来确定其被分配给其以建立持久通信会话的设备219的一个或多个设备。例如,控制器208的设备数据库260可以存储由网络配置服务250确定的设备129中的每个设备的设备标识符。每个网络配置控制器210可以检索设备129中的每个设备的设备标识符,并且可以执行一致哈希技术以确定其被分配给设备219的一个或多个设备。以此方式,网络配置服务250可以执行网络配置控制器210的自动水平缩放。
在一些示例中,当一个或多个网络配置控制器210停止工作时,本公开的技术还可以用于在网络配置控制器210中重新分配设备219。每个网络配置控制器210可以周期性地(例如,每隔几秒一次)向网络数据库260注册。如果网络配置服务250确定网络配置控制器210中的网络配置控制器向网络数据库260注册已经失败,则网络配置服务250可以确定网络配置控制器已经停止工作。
响应于确定网络配置控制器210的网络控制器已经停止工作,网络配置控制器210可以重新映射一个或多个设备219。也就是说,网络配置控制器210中的每个网络配置控制器可以重新确定其被分配到的设备219中的一个或多个设备。如上所述,网络配置控制器210中的每个网络配置控制器可以基于一致哈希华技术来确定其被分配到的设备19中的一个或多个设备。例如,控制器208的设备数据库260可以存储由网络配置服务250确定的设备19中的每个设备的设备标识符。网络配置控制器210中的每个网络配置控制器可以检索设备19中的每个设备的设备标识符,并且可以执行一致哈希技术以确定其被分配给设备19中的一个或多个设备。
在一些示例中,控制器208还可以包括网络数据库260、设备简档适配器264、拓扑服务266和设备服务262。网络数据库260可以存储与网络212中由网络配置控制器210管理的设备219中的每个设备相关联的信息。例如,网络数据库260可以存储与设备219中的每个设备相关联的设备标识符。在一些示例中,网络数据库260还可以存储与网络配置控制器210中的每个网络配置控制器相关联的唯一标识符。网络数据库260的示例可以包括远程词典服务器(REDIS)数据库。
拓扑服务266可以与网络212通信以确定关于网络212和设备219的信息。在一些示例中,拓扑服务266可以接收包含关于网络212和设备219的信息的边界网关协议链路状态(BGP-LS)数据。设备服务262可以提供API,诸如表述性状态传输(REST)API,用于配置控制器208并用于接收对关于控制器208的信息的请求,诸如关于网络配置控制器210的信息。设备简档适配器264可以与拓扑服务266和设备服务262通信,以使拓扑服务266和设备服务262能够与网络配置服务250交互。
例如,如果拓扑服务266接收到提供设备219的新设备和网络配置控制器212之间的连接的请求,则拓扑服务266可以将该请求转发到设备简档适配器264,并且设备简档适配器264可以与设备数据库260和/或网络配置服务250通信以提供设备219的新设备和网络配置控制器212之间的连接。类似地,如果设备服务262接收到对关于网络配置控制器210的信息的请求,则设备服务262可以将该请求转发到设备简档适配器264,并且设备简档适配器264可以与设备数据库260和/或网络配置服务250通信以服务于对信息的请求。
图3是示出了根据本公开的技术的示例控制器的框图。控制器512可以表示图1的控制器108和图2的控制器208的示例实现。例如,控制器512可以是或实现WAN控制器、软件定义的联网(SDN)控制器和/或路径计算元件。
通常,控制器512的路径计算模块514和路径供应模块518可以使用协议来实例化网络中的路径计算客户端(例如,路由器)之间的路径。南向API 532允许控制器512使用例如ISIS、OSPFv2、BGP-LS和PCEP协议与使能SR的和其他网络节点通信,例如图1的设备19、图2的设备219和/或网络的路由器和交换机。通过提供网络中的全局网络状态和带宽需求的视图,控制器512能够计算最优路径,并使用SR范例中的SID列表来提供用于转发的网络。
在一些示例中,应用服务向控制器512发出路径请求以请求由控制器512控制的路径计算域中的路径。例如,路径请求包括所需的带宽或其他约束以及表示在由控制器512管理的路径计算域上通信的访问节点和边缘节点的两个端点。路径请求还可以指定路径必须运行的时间/日期和服务类别(CoS)参数(例如,针对某些路径的每个类别所需的带宽)。
控制器512接受来自应用服务的路径请求,以在路径计算域上的端点之间建立路径。可以针对不同的时间和日期请求路径,并且具有不同的带宽要求。控制器512协调来自应用服务的路径请求以基于所请求的路径参数和预期的网络资源可用性将所请求的路径多路复用到路径计算域上。
为了智能地计算和建立通过路径计算域的路径,控制器512包括拓扑模块516,以维护描述路径计算域的可用资源的拓扑信息(例如,业务工程数据库),包括访问、聚合和边缘节点、其接口以及互连通信链路。在一些示例中,拓扑模块516是图2的控制器208的拓扑服务266的示例。
控制器512的路径计算模块514计算通过路径计算域的所请求路径。通常,路径是单向的。在计算路径后,路径计算模块514调度路径以用于由路径供应模块518供应。计算的路径包括路径供应模块518可用于在网络中建立路径的路径信息。在提交路径以提供分组传输之前,供应路径可以需要路径验证。
分布式WAN控制器的更多示例细节可以在标题为“Software Defined NetworkController”(软件定义网络控制器)的美国专利9,450,817中找到,其全部内容通过引用并入本文。这仅是一个示例,并且控制器512可以以其他方式计算和供应路径。
在该示例中,控制器512包括北向应用编程接口(API)530和南向API(532)形式的北向和南向接口。北向API 530包括方法和/或可访问的数据结构,如上所述,应用服务可以通过这些方法和/或可访问数据结构来配置和请求路径计算并查询路径计算域内已建立的路径。南向API 532包括方法和/或可访问数据结构,控制器512通过这些方法和/或可访问数据结构接收路径计算域的拓扑信息,并通过访问和编程路径计算域内的聚合节点和/或访问节点的数据面来建立路径。
路径计算模块514包括存储用于计算和建立所请求路径的路径信息的数据结构。这些数据结构包括约束534、路径要求536、操作配置538和路径导出540。应用服务可以调用北向API 530来安装/查询来自这些数据结构的数据。约束534表示描述对路径计算的外部约束的数据结构。约束534允许应用服务例如在路径计算模块514计算路径结合之前修改诸如度量的链路属性。
应用服务可以修改链路的属性以实现所得到的业务工程计算。在这种情况下,链路属性可以覆盖从拓扑指示模块550接收的属性,并且在拓扑中的节点/附属端口的持续时间内保持有效。例如,到约束534的链路编辑消息可以包括指定节点标识符和端口索引的链路描述符,以及指定带宽、预期传输时间、共享链路组和命运共享组的链路属性。链接编辑消息可以由控制器512发送。
操作配置538表示向控制器512提供配置信息以配置关于例如服务类别(CoS)描述符和绕行行为的路径计算算法的数据结构。操作配置538可以根据CCP接收操作配置信息。例如,操作配置消息指定CoS值、队列深度、队列深度优先级、调度规则、过度供应因素、绕行类型、路径故障模式和绕行路径故障模式。单个CoS简档可以用于整个路径计算域。在2013年3月15日提交的标题为“Aggregation Network with Centralized Control”(具有集中式控制的聚合网络)的美国申请13/842,453中描述了示例CoS值,其全部内容通过引用并入本文。作为路径计算域的属性,分配给服务类别的服务类可以独立于节点。
路径导出540表示存储路径计算域中当前提交或建立的所有路径的路径描述符的接口。响应于经由北向API 530接收的查询,路径导出540返回一个或多个路径描述符。接收到的查询可以请求端接(多个)路径的任何两个边缘和访问节点之间的路径。在一些示例中,路径描述符可以由应用服务用来在边缘和端接(多个)路径的访问节点处设置转发配置。路径描述符可以包括显式路由对象(ERO)。响应于来自感兴趣的一方的查询,可以发送路径描述符或“路径信息”。路径导出消息提供路径信息,包括路径类型(主路径或绕行路径)、每个CoS值的带宽。响应于接收到路径描述符,接收设备可以使用RSVP-TE来用信号通知从路径的入口到出口的MPLS LSP。
路径要求536表示接收对要由路径计算模块536计算的路径的路径请求并将这些路径请求(包括路径要求)提供给路径引擎544以供计算的接口。路径要求536可以由控制器接收,或者可以由控制器处理。在这种情况下,路径要求消息可以包括路径描述符,该路径描述符具有用于端接指定路径的节点的入口节点标识符和出口节点标识符,以及包括CoS值和带宽的请求参数。路径要求消息可以对指定路径的现有路径要求进行添加或删除。
拓扑模块516包括拓扑指示模块550,以处置拓扑发现,并且在需要时维护控制器512和路径计算域的节点之间的控制信道。拓扑指示模块550可以包括向路径计算模块514描述接收到的拓扑的接口。
拓扑指示模块550可以使用拓扑发现协议来向路径计算模块514描述路径计算域拓扑。在一个示例中,使用用于拓扑发现的云控制协议机制,拓扑指示模块550可以接收节点邻居列表,每个邻居包括节点标识符、本地端口索引和远程端口索引,以及链路属性列表,每个属性都指定端口索引、带宽、预期传输时间、共享链路组和命运共享组。
拓扑指示模块550可以与诸如路由协议路由反射器的拓扑服务器通信,以接收网络的网络层的拓扑信息。拓扑指示模块550可以包括执行路由协议以接收诸如开放最短路径优先(OSPF)或中间***到中间***(IS-IS)链路状态通告(LSA)或边界网关协议(BGP)更新消息的路由协议通告的路由协议进程。在一些情况下,拓扑指示模块550可以是既不转发也不发起路由协议通告的被动***。在一些情况下,拓扑指示模块550备选地或附加地执行诸如用于应用层业务优化(ALTO)服务的接口的拓扑发现机制。因此,拓扑指示模块550可以接收由拓扑服务器(例如,ALTO服务器)收集的拓扑信息摘要,而不是执行路由协议以直接接收路由协议通告。
在一些示例中,拓扑指示模块550接收包括业务工程(TE)信息的拓扑信息。例如,拓扑指示模块550可以执行具有TE扩展的中间***到中间***(IS-IS-TE)或具有TE扩展的开放最短路径优先(OSPF-TE),以接收通告链路的TE信息。这样的TE信息包括链路状态、管理属性和诸如可在连接路径计算域的路由器的链路的各种LSP优先级上使用的带宽的度量中的一项或多项。在一些情况下,指示模块550执行BGP-TE以接收针对自治***间和其他网络外链路的通告TE信息。
业务工程数据库(TED)542将由拓扑指示模块550接收的构成控制器512的路径计算域的网络的拓扑信息存储到计算机可读存储介质(未示出)。TED 542可以包括一个或多个链路状态数据库(LSDB),其中在路由协议通告中接收链路和节点数据,从拓扑服务器接收链路和节点数据,和/或由诸如覆盖控制器的链路层实体发现链路和节点数据,然后将其提供给拓扑指示模块550。在一些情况下,运营商可以经由客户端接口在MT TED 542内配置业务工程或其他拓扑信息。
路径引擎544接受TED 542形式的路径计算域的当前拓扑快照,并使用TED 542计算节点之间的CoS感知业务工程路径,如所配置的节点特定策略(约束534)所指示的和/或通过经由API与外部模块的动态联网来计算。路径引擎544还可以根据配置的故障转移和容量要求(如分别在操作配置538和路径要求536中指定的)在每个CoS的基础上针对所有主路径计算绕行路径。
通常,为了计算所请求的路径,路径引擎544基于TED 542和所有指定的约束来确定在所请求的时间的持续时间内,层中是否存在满足所请求路径的TE规范的路径。路径引擎544可以使用Dijkstra约束SPF(CSPF)546路径计算算法来标识通过路径计算域的满意路径。如果不存在TE约束,则路径引擎544可以恢复到SPF。如果所请求的路径存在令人满意的计算出的路径,则路径引擎544向路径管理器548提供计算出的路径的路径描述符,以使用路径供应模块518建立路径。由路径引擎544计算的路径可以被称为“计算的”的路径,直到诸如路径供应518将调度的路径编程到网络中为止,于是调度的路径变为“活动的”或“提交的”路径。调度的或活动的路径是在调度的时间内临时专用的带宽信道,在该时间内该路径对于传输流量是可操作的或将变为可操作的。
路径管理器548使用路径供应模块518来建立计算出的调度路径,在这种情况下,该路径供应模块518包括转发信息库(FIB)配置模块552(图示为“FIB CONFIG.552”),策略器配置模块554(图示为“POLICER CONFIG.554”),以及CoS调度器配置模块556(图示为“COSSCHEDULER CONFIG.556”)。
FIB配置模块552对将信息转发到路径计算域的聚合节点或访问节点的数据平面进行编程。聚合节点或访问节点的FIB包括MPLS交换表、针对每个主LSP的绕行路径、每个接口的CoS调度器和LSP入口处的策略器。FIB配置模块552可以实现诸如软件定义的联网(SDN)协议,例如OpenFlow协议或I2RS协议,以提供并指导节点将转发信息安装到它们各自的数据面。因此,“FIB”可以指例如一个或多个OpenFlow流量表形式的转发表,每个OpenFlow流量表包括指定对匹配分组的处理的一个或多个流表条目。FIB配置模块552可以附加地或备选地实现其他接口类型,例如简单网络管理协议(SNMP)接口、路径计算元件协议(PCEP)接口、设备管理接口(DMI)、CLI、到路由***的接口(I2RS)或任何其他节点配置接口。FIB配置模块接口62与聚合节点或访问节点建立通信会话以安装转发信息以接收路径设置事件信息,例如确认已成功安装接收到的转发信息或不能安装接收到的转发信息(指示FIB配置失败)。
FIB配置模块552可以根据从路径计算模块514接收的信息来添加、改变(即,隐式添加)或删除转发表条目。从路径计算模块514到FIB配置模块552的FIB配置消息可以指定事件类型(添加或删除);节点标识符;路径标识符;一个或多个转发表条目,每个条目包括入口端口索引、入口标签、出口端口索引和出口标签;以及指定路径标识符和CoS模式的绕行路径。
策略器配置模块554可以由路径计算模块514调用,以请求将策略器安装在用于特定LSP入口的特定聚合节点或访问节点上。如上所述,聚合节点或访问节点的FIB包括LSP入口处的策略器。策略器配置模块554可以接收策略器配置请求。策略器配置请求消息可以指定事件类型(添加、改变或删除);节点标识符;LSP标识符;以及对于每个服务类别,包括CoS值、最大带宽、突发和丢弃/重新标记的策略器信息列表。FIB配置模块552根据策略器配置请求来配置策略器。
CoS调度器配置模块556可以由路径计算模块514调用以请求在聚合节点或访问节点上配置CoS调度器。CoS调度器配置模块556可以接收CoS调度器配置信息。例如,调度配置请求消息可以指定事件类型(改变)、节点标识符、端口标识值(端口索引)、以及指定带宽、队列深度和调度规则的配置信息。
路径引擎544可以计算满足分段路由(SR)策略的多路径解决方案中的每条路径的分段标识符(SID)的列表。路径供应模块518可以将SID的列表输出到使能SR的网络节点,以供应网络以沿着多路径转发业务。
控制器512包括硬件环境,该硬件环境包括用于执行机器可读软件指令的处理电路551,该机器可读软件指令用于实现关于控制器512所示和描述的模块、接口、管理器和其他组件。这些组件可以单独在软件或硬件中实现,或者可以作为软件、硬件或固件的组合来实现。例如,控制器512可以包括一个或多个处理器,该处理器包括执行软件指令形式的程序代码的处理电路551。在这种情况下,各种软件组件/模块可以包括存储在诸如计算机存储器或硬盘(未示出)的计算机可读存储介质上的可执行指令。
网络配置控制器570A-570P(“网络配置控制器570”)是图1的网络配置控制器110和图2的网络配置控制器210的示例,并且可以是在处理电路551处执行以通过维护与网络中的网络设备的会话来供应和配置LSP的软件实例。例如,网络配置控制器570可以是被配置为维护和管理与网络设备的活动且持久的NETCONF会话以便供应基于NETCONF的LSP的NETCONF配置控制器。
网络配置控制器570中的每个网络配置控制器可以维护到网络设备集合的诸如NETCONF连接的持久连接池,并且网络配置控制器570可以使用一致哈希算法向每个网络配置控制器570分配到网络设备的连接。网络配置控制器570可以调用所连接的网络设备上的远程过程调用(RPC)来下载配置、取回设备信息等。
网络配置控制器570可以使用一致哈希来分配和重新分配到网络设备的连接,方法是通过哈希网络设备的唯一标识符来针对到网络设备的每个连接生成哈希值,诸如通过哈希网络设备的设备标识符来产生哈希值。因此,网络配置控制器570可以至少部分地基于连接的哈希值将到网络设备的每个连接分配给网络配置控制器570中的一个网络配置控制器。在一些示例中,网络配置控制器570可以使用一致哈希环来使用一致哈希将到网络设备的每个连接分配给网络配置控制器570中的一个网络配置控制器。例如,网络配置控制器570可以至少部分地基于与网络配置控制器570相关联的唯一标识符将其自身映射到一致哈希环中的位置。网络配置控制器570还可以基于与网络设备相关联的哈希值将到网络设备的每个连接映射到哈希环上,并且可以基于到网络设备的连接在哈希环上的位置,针对到网络设备的每个连接确定分配给网络配置控制器570中的连接的网络配置控制器。
当由网络配置控制器570管理的连接的数目改变时,例如当新的网络设备向控制器512注册时,或者当网络设备退出网络时,网络配置控制器570可以使用一致哈希算法重新分配由网络配置控制器570管理的连接。如上所述,一致哈希是一种哈希技术,其中当调整哈希表的大小时,平均可能仅需要重新映射n/m个键,其中n是键的数目,m是槽的数目。相反,在其他哈希技术中,哈希表中的槽的数目的改变可以导致几乎所有键被重新映射。因此,当网络配置控制器570在m个网络配置控制器570之间重新分配n个连接时,平均而言,可能只有n/m个连接必须被重新映射到网络配置控制器570之外的不同网络配置控制器。
配置服务562可以是图2的配置服务252的示例。配置服务562可以是或托管用于处置供应设备的请求和/或关于连接到网络配置控制器570的设备的状态或其他信息的请求的一个或多个服务。配置服务562可以响应于接收到对关于连接到网络配置控制器570的特定设备的信息的请求,确定被分配给并管理该特定设备的网络配置控制器570中的网络配置控制器,并且可以将对信息的请求路由到被分配给并管理该特定设备的所确定的网络配置控制器570中的网络配置控制器。在一些示例中,配置服务562可以是或托管gRPC服务或AMPQ服务。
网络配置控制器570可以周期性地向配置服务562注册其自身,诸如每隔几秒(例如,每3秒、每5秒等)。如果网络配置服务562确定网络配置控制器570中的网络配置控制器向网络配置服务562注册已经失败,则网络配置控制器570可以确定向网络配置服务562注册失败的网络配置控制器已经停机(即,停止工作或以其他方式出现故障)。网络配置控制器570可以响应于确定网络配置控制器已经停机,使得网络配置控制器570使用一致哈希来在仍在运行的网络配置控制器570之间重新分配到网络设备的连接。
路径供应模块518可以展示定制API,该定制API提供与由网络配置控制器570中的每个网络配置控制器管理的网络设备的连接数目以及到可以由网络配置控制器570中的每个网络配置控制器管理的网络设备的连接的最大数目。配置服务562可以在处理电路551处执行,以提供诸如由控制器512的管理员定制的到可以由网络配置控制器570中的每个网络配置控制器管理的设备的连接的最大数目的能力。
自动缩放服务564可以是图2的自动缩放服务254的示例。自动缩放服务564可以在处理电路551处执行以使用所展示的API来周期性地确定由网络配置控制器570中的每个网络配置控制器维护的到网络设备的连接的数目,并且可以将由网络配置控制器570中的每个网络配置控制器维护的所确定的连接数目与可以由网络配置控制器210中的每个网络配置控制器管理的最大会话数目进行比较,以确定是否向网络配置控制器570添加附加的网络控制器。
例如,自动缩放服务564可以是具有诸如一个小时的可配置时间窗口的定时Kubernetes任务,该时间窗口每小时一次调用所暴露的API以周期性地确定由网络配置控制器570中的每个网络配置控制器维护的到网络设备的连接的数目以及由网络配置控制器570中的每个网络配置控制器维护的到网络设备的连接的数目与可以由网络配置控制器210中的每个网络配置控制器管理的最大会话数目进行比较,以确定是否向网络配置控制器570添加附加的网络控制器。在一些示例中,自动缩放服务564可以响应于确定到由网络配置控制器570中的至少一个网络配置控制器服务的设备的连接的数目大于到可以由网络配置控制器中的每个网络配置控制器570管理的设备的连接的最大数目,向网络配置控制器570添加附加的网络控制器以管理到设备的连接,诸如通过实例化附加的网络配置控制器。
图4是示出了根据本公开的技术的示例控制器的框图。控制器600可以表示图1的控制器108、图2的控制器208和图3的控制器512的示例实现,其使用NETCONF维护与网络设备的活动且持久的会话。控制器600可以是或实现WAN控制器、软件定义的联网(SDN)控制器和/或路径计算元件,例如北极星控制器。
如图4所示,控制器600可以包括健康模块602,健康模块602被配置为监测诸如图1的网络112或图2的网络212的网络的健康。具体地,健康模块602可以诊断网络问题并找出网络问题的根源,检测网络异常,预测潜在的网络问题,并为出现的任何问题创建实时补救。健康模块602包括执行这种网络健康监测的代理604A-604N(“代理604”)。代理604可以诸如以gRPC调用的形式将收集的网络健康状况信息发送到NETCONF服务606的NETCONF服务实例607A-607N(“NETCONF服务实例607”)。
控制器600还可以包括NETCONF服务606,其被配置为托管基于gRPC/AMQP消息的服务,用于处理来自客户端的供应请求和/或状态信息请求,以及用于配置NETCONF连接服务620。具体地,NETCONF服务606可以将这样的请求路由到NETCONF连接服务620的相应NETCONF连接服务实例。
NETCONF服务606包括NETCONF服务实例607。NETCONF服务实例607是图2的自动缩放服务254和配置服务252的示例。每个NETCONF服务实例607可以向NETCONF连接服务620的对应NETCONF连接实例提供各种NETFONF服务。例如,NETCONF服务实例607可以包括NETCONF代理608A-608N(“NETCONF代理608”)、NETCONF守护进程610A-610N(“NETCONF守护进程610”)和NETCONF连接处理程序612A-612N(“NETCONF连接处理程序612”)。
NETCONF服务实例607可以与AMQP服务614和REDIS数据库616通信。NETCONF服务实例607可以在REDIS数据库616中存储与网络中由控制器600管理的每个设备相关联的信息。AMQP服务646可以支持各种消息收发应用和通信模式,并提供具有消息递送保证的流量控制的、面向消息的通信。控制器600的其他模块,诸如北极星模块618A-618N,也可以使用REDIS数据库616和AMQP服务614。
NETCONF连接服务620被配置为维护和管理到设备630的持久NETCONF连接池。NETCONF连接服务620包括作为图1的网络配置控制器110和图2的网络配置控制器210的示例的NETCONF连接服务实例622A-622N(“NETCONF连接服务实例622”)。NETCONF连接服务实例622可以维护与设备630的持久NETCONF连接会话。NETCONF连接服务实例622可以维护设备池626A-626N(“设备池626”),设备池626A-626N针对每个NETCONF连接服务实例622管理与设备630的这种持久NETCONF连接会话池。使用一致哈希算法将持久NETCONF连接分配给NETCONF连接服务实例622。
NETCONF连接服务实例622还可以包括NETCONF连接控制器624A-624N(“NETCONF连接控制器624”),用于例如响应于从NETCONF服务实例607接收供应请求并且使用一致哈希算法来确定是否重新映射和/或重新分配当设备630的设备从网络移除或当设备630被添加到设备630时是否重新映射和/或重新分配NETCONF连接服务实例622建立NETCONF连接会话的设备630。
图5是示出根据本公开的一个或多个技术的计算设备的示例操作的流程图。计算设备可以是控制器108、控制器208、控制器512或本文描述的其他控制器的计算设备,或者可以表示网络节点,诸如用于SR策略的头端或入口路由器。然而,该流程图是相对于控制器208描述的。
如图4的示例中所见,控制器208的第一多个网络配置控制器210可以使用一致哈希算法,在第一多个网络配置控制器之间分配与多个网络设备219的多个连接会话(702)。控制器208可以监测由第一多个网络配置控制器210中的每个网络配置控制器维护的连接会话的数目(704)。控制器208可以基于监测由第一多个网络配置控制器210中的每个网络配置控制器维护的连接会话的数目,向第一多个网络配置控制器210添加附加的网络配置控制器,以形成第二多个网络配置控制器210(706)。第二多个网络配置控制器210可以响应于将附加的网络配置控制器添加到第一多个网络配置控制器210,使用一致哈希算法在第二多个网络配置控制器210之间重新分配多个连接会话中的一个或多个连接会话(708)。
本公开包括以下示例。
示例1:一种方法,包括:由控制器的第一多个网络配置控制器并且使用一致哈希算法,在第一多个网络配置控制器之间分发与多个网络设备的多个连接会话;由控制器监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目;由控制器并且基于监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目,将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器;以及响应于将附加的网络配置控制器添加到第一多个网络配置控制器,由第二多个网络配置控制器并且使用一致哈希算法,在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话。
示例2:根据示例1所述的方法,其中使用一致哈希算法在第一多个网络配置控制器之间分发与多个网络设备的多个连接会话还包括:由第一多个网络配置控制器中的每个网络配置控制器并且使用一致哈希算法,确定要维护的多个连接会话的相对应的非重叠部分。
示例3:根据示例1和2中任一项所述的方法,其中使用一致哈希算法在第一多个网络配置控制器之间分配与多个网络设备的多个连接会话还包括:由控制器的第一多个网络配置控制器并且使用一致哈希算法,对与多个网络设备相关联的多个设备标识符中的每个设备标识符进行哈希,以针对多个网络设备中的每个网络设备确定对相应的哈希值;以及由控制器的第一多个网络配置控制器,至少部分地基于多个网络设备中的每个网络设备的相对应的哈希值,在第一多个网络配置控制器之间分发与多个网络设备的多个连接会话。
示例4:根据示例1-3中任一项所述的方法,其中使用一致哈希算法在第一多个网络配置控制器之间分发与多个网络设备的多个连接会话还包括:由控制器的第一多个网络配置控制器使用一致哈希环,在第一多个网络配置控制器之间分配与多个网络设备的多个连接会话。
示例5:根据示例1-4中任一项所述的方法,其中监测由多个连接会话中的每个连接会话维护的连接会话的数目还包括:由控制器处的定时任务,周期性地确定由多个连接会话中的每个连接会话维护的连接会话的数目。
示例6:根据示例1-5中任一项所述的方法,其中基于监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目,将附加的网络配置控制器添加到第一多个网络配置控制器还包括:由控制器,至少部分地基于比较由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目大于由第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的最大数目,确定是否将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器。
示例7:根据示例1-6中任一项所述的方法,其中至少部分地基于比较由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目大于由第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的最大数目,确定是否将附加的网络配置控制器添加到第一多个网络配置控制器,还包括:由控制器,确定由第一多个网络配置控制器中的至少一个维护的连接会话的数目是否大于由第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的最大数目;以及响应于确定由第一多个网络配置控制器中的至少一个维护的连接会话的数目大于第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的最大数目,由控制器,将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器。
示例8:根据示例1-7中任一项所述的方法,其中使用一致哈希算法,在第二多个网络配置控制器之间重发分配多个连接会话中的一个或多个连接会话,还包括:由控制器处的第二多个网络配置控制器中的每个网络配置控制器使用一致哈希算法,确定要维护的多个连接会话的相应第二非重叠部分,以在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话。
示例9:根据示例1-8中任一项所述的方法,还包括:由控制器,确定第二多个网络配置控制器中的网络配置控制器已经停止工作;以及响应于确定第二多个网络配置控制器中的网络配置控制器已经停止工作,由第二多个网络配置控制器使用一致哈希算法,在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话。
示例10:根据示例9所述的方法,其中由控制器,确定第二多个网络配置控制器中的网络配置控制器已经停止工作,还包括:由第二多个网络配置控制器中的每个网络配置控制器周期性地向控制器注册;以及由控制器,确定网络配置控制器向控制器注册已经失败。
示例11:根据示例1-10中任一项所述的方法,其中:第一多个网络配置控制器和第二多个网络配置控制器包括多个网络配置协议(NETCONF)控制器;并且多个连接会话包括多个NETCONF会话。
示例12:一种计算设备,包括:存储器;以及与存储器通信的处理电路,处理电路被配置为:由第一多个网络配置控制器并且使用一致哈希算法,在第一多个网络配置控制器之间分发与多个网络设备的多个连接会话;监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目;基于监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目,将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器;以及响应于将附加的网络配置控制器添加到第一多个网络配置控制器,由第二多个网络配置控制器并且使用一致哈希算法,在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话。
示例13:根据示例12所述的计算设备,其中为了使用一致哈希算法,在第一多个网络配置控制器之间确定与多个网络设备的多个连接会话,处理电路还被配置为:由第一多个网络配置控制器中的每个网络配置控制器并且使用一致哈希算法,确定要维护的多个连接会话的相应非重叠部分。
示例14:根据示例12和13中任一项所述的计算设备,其中为了使用一致哈希算法,在第一多个网络配置控制器之间确定与多个网络设备的多个连接会话,处理电路还被配置为:由第一多个网络配置控制器并且使用一致哈希算法,对与多个网络设备相关联的多个设备标识符中的每个设备标识符进行哈希,以针对多个网络设备中的每个网络设备确定相应哈希值;以及由第一多个网络配置控制器,至少部分地基于多个网络设备中的每个网络设备的相对应的哈希值,在第一多个网络配置控制器之间分发与多个网络设备的多个连接会话。
示例15:根据示例12-14中任一项所述的计算设备,其中为了使用一致哈希算法,在第一多个网络配置控制器之间确定与多个网络设备的多个连接会话,处理电路还被配置为:由第一多个网络配置控制器使用一致哈希环,在第一多个网络配置控制器之间分发与多个网络设备的多个连接会话。
示例16:根据示例12-15中任一项所述的计算设备,其中为了监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目,处理电路还被配置为:由定时任务,周期性地确定由多个连接会话中的每个连接会话维护的连接会话的数目。
示例17:根据示例12-16中任一项所述的计算设备,其中为了基于监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目,将附加的网络配置控制器添加到第一多个网络配置控制器,处理电路还被配置为:至少部分地基于比较由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目大于由第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的最大数目,确定是否将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器。
示例18:根据示例17所述的计算设备,其中为了至少部分地基于比较由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目大于由第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的最大数目,确定是否将附加的网络配置控制器添加到第一多个网络配置控制器,处理电路还被配置为:确定由第一多个网络配置控制器中的至少一个维护的连接会话的数目是否大于由第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的最大数目;以及响应于确定由第一多个网络配置控制器中的至少一个维护的连接会话的数目大于第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的最大数目,将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器。
示例19:根据示例12-18中任一项所述的计算设备,其中为了使用一致哈希算法,在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话,处理电路还被配置为:由第二多个网络配置控制器中的每个网络配置控制器使用一致哈希算法,确定要维护的多个连接会话的相应第二非重叠部分,以在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话。
示例20:一种非瞬态计算机可读存储介质,其编码有指令,指令在被执行时,使一个或多个可编程处理器:由第一多个网络配置控制器并且使用一致哈希算法,在第一多个网络配置控制器之间分配与多个网络设备的多个连接会话;监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目;基于监测由第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目,将附加的网络配置控制器添加到第一多个网络配置控制器,以形成第二多个网络配置控制器;以及响应于将附加的网络配置控制器添加到第一多个网络配置控制器,由第二多个网络配置控制器并且使用一致哈希算法,在第二多个网络配置控制器之间重新分发多个连接会话中的一个或多个连接会话。
本文描述的技术可以以硬件、软件、固件或其任意组合来实现。被描述为模块、单元或组件的各种特征可以在集成逻辑设备中一起实现,或者单独实现为离散但可互操作的逻辑设备或其他硬件设备。在一些情况下,电子电路的各种特征可以被实现为一个或多个集成电路设备,诸如集成电路芯片或芯片组。
如果以硬件实现,则本公开可针对诸如处理器的装置或诸如集成电路芯片或芯片组的集成电路设备。备选地或附加地,如果以软件或固件实现,则这些技术可以至少部分地通过计算机可读数据存储介质来实现,计算机可读数据存储介质包括指令,指令在被执行时使处理器执行上述方法中的一个或多个。例如,计算机可读数据存储介质可以存储这样的指令以用于由处理器执行。
计算机可读介质或计算机可读存储设备可以形成计算机程序产品的一部分,该计算机程序产品可以包括包装材料。计算机可读介质可以包括计算机数据存储介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非瞬态介质。术语“非瞬态”可以表示存储介质没有包含在载波或传播的信号中。在某些示例中,非易失性存储介质可以存储可随时间改变的数据(例如,在RAM或高速缓存中)。
代码或指令可以是由包括一个或多个处理器的处理电路执行的软件和/或固件,一个或多个处理器诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FGA)或其他等同的集成电路或离散逻辑电路。因此,在此使用的术语“处理器”可以指任何前述结构或适合于实现在此描述的技术的任何其他结构。此外,在一些方面,本公开中描述的功能可以在软件模块或硬件模块内提供。

Claims (20)

1.一种用于网络配置的方法,包括:
由控制器的第一多个网络配置控制器并且使用一致哈希算法,在所述第一多个网络配置控制器之间分发与多个网络设备的多个连接会话;
由所述控制器监测由所述第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目;
由所述控制器并且基于监测由所述第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的所述数目,将附加的网络配置控制器添加到所述第一多个网络配置控制器,以形成第二多个网络配置控制器;以及
响应于将所述附加的网络配置控制器添加到所述第一多个网络配置控制器,由所述第二多个网络配置控制器并且使用所述一致哈希算法,在所述第二多个网络配置控制器之间重新分发所述多个连接会话中的一个或多个连接会话。
2.根据权利要求1所述的方法,其中使用所述一致哈希算法在所述第一多个网络配置控制器之间分发与多个网络设备的所述多个连接会话还包括:
由所述第一多个网络配置控制器中的每个网络配置控制器并且使用所述一致哈希算法,确定要维护的所述多个连接会话的相对应的非重叠部分。
3.根据权利要求1所述的方法,其中使用所述一致哈希算法在所述第一多个网络配置控制器之间分发与多个网络设备的所述多个连接会话还包括:
由所述控制器的所述第一多个网络配置控制器并且使用所述一致哈希算法,对与所述多个网络设备相关联的多个设备标识符中的每个设备标识符进行哈希,以针对所述多个网络设备中的每个网络设备确定相对应的哈希值;以及
由所述控制器的所述第一多个网络配置控制器,至少部分地基于所述多个网络设备中的每个网络设备的所述相对应的哈希值,在所述第一多个网络配置控制器之间分发与多个网络设备的所述多个连接会话。
4.根据权利要求1所述的方法,其中使用所述一致哈希算法,在所述第一多个网络配置控制器之间分发与多个网络设备的所述多个连接会话还包括:
由所述控制器的所述第一多个网络配置控制器使用一致哈希环,在所述第一多个网络配置控制器之间分发与多个网络设备的所述多个连接会话。
5.根据权利要求1所述的方法,其中监测由所述多个连接会话中的每个连接会话维护的连接会话的所述数目还包括:
由所述控制器处的定时任务,周期性地确定由所述多个连接会话中的每个连接会话维护的连接会话的所述数目。
6.根据权利要求1所述的方法,其中基于监测由所述第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的所述数目,将所述附加的网络配置控制器添加到所述第一多个网络配置控制器还包括:
由所述控制器,至少部分地基于比较由所述第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的所述数目大于由所述第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的最大数目,确定是否将所述附加的网络配置控制器添加到所述第一多个网络配置控制器,以形成所述第二多个网络配置控制器。
7.根据权利要求6所述的方法,其中至少部分地基于比较由所述第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的所述数目大于由所述第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的最大数目,确定是否将所述附加的网络配置控制器添加到所述第一多个网络配置控制器还包括:
由所述控制器,确定由所述第一多个网络配置控制器中的至少一个网络配置控制器维护的连接会话的所述数目是否大于由所述第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的所述最大数目;以及
响应于确定由所述第一多个网络配置控制器中的至少一个网络配置控制器维护的连接会话的所述数目大于由所述第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的所述最大数目,由所述控制器,将所述附加的网络配置控制器添加到所述第一多个网络配置控制器,以形成所述第二多个网络配置控制器。
8.根据权利要求1-7中任一项所述的方法,其中使用所述一致哈希算法,在所述第二多个网络配置控制器之间重新分发所述多个连接会话中的所述一个或多个连接会话还包括:
由所述控制器处的所述第二多个网络配置控制器中的每个网络配置控制器使用所述一致哈希算法,确定要维护的所述多个连接会话的相对应的第二非重叠部分,以在所述第二多个网络配置控制器之间重新分发所述多个连接会话中的所述一个或多个连接会话。
9.根据权利要求1-7中任一项所述的方法,还包括:
由所述控制器,确定所述第二多个网络配置控制器中的网络配置控制器已经停止工作;以及
响应于确定所述第二多个网络配置控制器中的所述网络配置控制器已经停止工作,由所述第二多个网络配置控制器使用所述一致哈希算法,在所述第二多个网络配置控制器之间重新分发所述多个连接会话中的所述一个或多个连接会话。
10.根据权利要求9所述的方法,其中由所述控制器,确定所述第二多个网络配置控制器中的所述网络配置控制器已经停止工作还包括:
由所述第二多个网络配置控制器中的每个网络配置控制器周期性地向所述控制器注册;以及
由所述控制器,确定所述网络配置控制器向所述控制器注册已经失败。
11.根据权利要求1-7中任一项所述的方法,其中:
所述第一多个网络配置控制器和所述第二多个网络配置控制器包括多个网络配置协议NETCONF控制器;并且
所述多个连接会话包括多个NETCONF会话。
12.一种计算设备,包括:
存储器;以及
与所述存储器通信的处理电路,所述处理电路被配置为:
由第一多个网络配置控制器并且使用一致哈希算法,在所述第一多个网络配置控制器之间分发与多个网络设备的多个连接会话;
监测由所述第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的数目;
基于监测由所述第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的所述数目,将附加的网络配置控制器添加到所述第一多个网络配置控制器,以形成第二多个网络配置控制器;以及
响应于将所述附加的网络配置控制器添加到所述第一多个网络配置控制器,由所述第二多个网络配置控制器并且使用所述一致哈希算法,在所述第二多个网络配置控制器之间重新分发所述多个连接会话中的一个或多个连接会话。
13.根据权利要求12所述的计算设备,其中为了使用所述一致哈希算法,在所述第一多个网络配置控制器之间确定与多个网络设备的所述多个连接会话,所述处理电路还被配置为:
由所述第一多个网络配置控制器中的每个网络配置控制器并且使用所述一致哈希算法,确定要维护的所述多个连接会话的相对应的非重叠部分。
14.根据权利要求12所述的计算设备,其中为了使用所述一致哈希算法,在所述第一多个网络配置控制器之间确定与多个网络设备的所述多个连接会话,所述处理电路还被配置为:
由所述第一多个网络配置控制器并且使用所述一致哈希算法,对与所述多个网络设备相关联的多个设备标识符中的每个设备标识符进行哈希,以针对所述多个网络设备中的每个网络设备确定相对应的哈希值;以及
由所述第一多个网络配置控制器,至少部分地基于所述多个网络设备中的每个网络设备的所述相对应的哈希值,在所述第一多个网络配置控制器之间分发与多个网络设备的所述多个连接会话。
15.根据权利要求12所述的计算设备,其中为了使用所述一致哈希算法,在所述第一多个网络配置控制器之间确定与多个网络设备的所述多个连接会话,所述处理电路还被配置为:
由所述第一多个网络配置控制器使用一致哈希环,在所述第一多个网络配置控制器之间分发与多个网络设备的所述多个连接会话。
16.根据权利要求12所述的计算设备,其中为了监测由所述多个连接会话中的每个连接会话维护的连接会话的所述数目,所述处理电路还被配置为:
由定时任务,周期性地确定由所述多个连接会话中的每个连接会话维护的连接会话的所述数目。
17.根据权利要求12所述的计算设备,其中为了基于监测由所述第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的所述数目,将所述附加的网络配置控制器添加到所述第一多个网络配置控制器,所述处理电路还被配置为:
至少部分地基于比较由所述第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的所述数目大于由所述第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的最大数目,确定是否将所述附加的网络配置控制器添加到所述第一多个网络配置控制器,以形成所述第二多个网络配置控制器。
18.根据权利要求17所述的计算设备,其中为了至少部分地基于比较由所述第一多个网络配置控制器中的每个网络配置控制器维护的连接会话的所述数目大于由所述第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的最大数目,确定是否将所述附加的网络配置控制器添加到所述第一多个网络配置控制器,所述处理电路还被配置为:
确定由所述第一多个网络配置控制器中的至少一个网络配置控制器维护的连接会话的所述数目是否大于由所述第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的所述最大数目;以及
响应于确定由所述第一多个网络配置控制器中的至少一个网络配置控制器维护的连接会话的所述数目大于由所述第一多个网络配置控制器中的每个网络配置控制器能够维护的连接的所述最大数目,将所述附加的网络配置控制器添加到所述第一多个网络配置控制器,以形成所述第二多个网络配置控制器。
19.根据权利要求12-18中任一项所述的计算设备,其中为了使用所述一致哈希算法,在所述第二多个网络配置控制器之间重新分发所述多个连接会话中的所述一个或多个连接会话,所述处理电路还被配置为:
由所述第二多个网络配置控制器中的每个网络配置控制器使用所述一致哈希算法,确定要维护的所述多个连接会话的相对应的第二非重叠部分,以在所述第二多个网络配置控制器之间重新分发所述多个连接会话中的所述一个或多个连接会话。
20.一种计算机可读存储介质,所述计算机可读存储介质编码有用于使一个或多个可编程处理器执行根据权利要求1-11中任一项所述的方法的指令。
CN202210382663.9A 2021-04-13 2022-04-12 用于网络设备配置会话管理的网络控制器水平缩放 Pending CN115208748A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN202141017207 2021-04-13
IN202141017207 2021-04-13
US17/305,110 US11575572B2 (en) 2021-04-13 2021-06-30 Network controller horizontal scaling for network device configuration sessions management
US17/305,110 2021-06-30

Publications (1)

Publication Number Publication Date
CN115208748A true CN115208748A (zh) 2022-10-18

Family

ID=81307320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210382663.9A Pending CN115208748A (zh) 2021-04-13 2022-04-12 用于网络设备配置会话管理的网络控制器水平缩放

Country Status (2)

Country Link
EP (1) EP4075751A1 (zh)
CN (1) CN115208748A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150327024A1 (en) * 2014-05-09 2015-11-12 Aruba Networks, Inc. Multicast Transmissions in a Network Environment With User Anchor Controllers
US9450817B1 (en) * 2013-03-15 2016-09-20 Juniper Networks, Inc. Software defined network controller
US20180006935A1 (en) * 2016-06-30 2018-01-04 Juniper Networks, Inc. Auto discovery and auto scaling of services in software-defined network environment
US10083026B1 (en) * 2016-03-31 2018-09-25 Juniper Networks, Inc. In-service software upgrade of software-defined networking controller
CN109716729A (zh) * 2016-06-14 2019-05-03 希尔戴克斯网络股份有限公司 动态的基于负载的自动缩放网络安全微服务架构
CN110167052A (zh) * 2019-04-04 2019-08-23 南京邮电大学 一种基于池技术的amf网元部署***及运行方法
CN111614760A (zh) * 2020-05-20 2020-09-01 浩云科技股份有限公司 一种将物联网设备均衡分配接入的方法及装置
US20200295998A1 (en) * 2017-10-27 2020-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Methods, controller manager and controller agent for enabling a connection between a switch of a communication network and a switch controller

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9596126B2 (en) * 2013-10-10 2017-03-14 Nicira, Inc. Controller side method of generating and updating a controller assignment list

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9450817B1 (en) * 2013-03-15 2016-09-20 Juniper Networks, Inc. Software defined network controller
US20150327024A1 (en) * 2014-05-09 2015-11-12 Aruba Networks, Inc. Multicast Transmissions in a Network Environment With User Anchor Controllers
US10083026B1 (en) * 2016-03-31 2018-09-25 Juniper Networks, Inc. In-service software upgrade of software-defined networking controller
CN109716729A (zh) * 2016-06-14 2019-05-03 希尔戴克斯网络股份有限公司 动态的基于负载的自动缩放网络安全微服务架构
US20180006935A1 (en) * 2016-06-30 2018-01-04 Juniper Networks, Inc. Auto discovery and auto scaling of services in software-defined network environment
US20200295998A1 (en) * 2017-10-27 2020-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Methods, controller manager and controller agent for enabling a connection between a switch of a communication network and a switch controller
CN110167052A (zh) * 2019-04-04 2019-08-23 南京邮电大学 一种基于池技术的amf网元部署***及运行方法
CN111614760A (zh) * 2020-05-20 2020-09-01 浩云科技股份有限公司 一种将物联网设备均衡分配接入的方法及装置

Also Published As

Publication number Publication date
EP4075751A1 (en) 2022-10-19

Similar Documents

Publication Publication Date Title
CN109257278B (zh) 用于非分段路由启用的路由器的分段路由标签交换路径方法
US10547537B1 (en) Batched path computation in resource-constrained networks
EP3570506B1 (en) Dynamic end-to-end network path setup across multiple network layers with network service chaining
US9712447B2 (en) Point-to-multipoint path computation for wide area network optimization
US9450817B1 (en) Software defined network controller
RU2645296C2 (ru) Маршрутизация услуг "точка - много точек" в многодоменной сети
US11418428B2 (en) Recomputation of multipaths in a segment routing-enabled network
US11695688B2 (en) Computing segment identifier lists for multipaths in a segment routing-enabled network
US11516114B2 (en) Bandwidth constraint for multipath segment routing
US11575572B2 (en) Network controller horizontal scaling for network device configuration sessions management
US11677659B2 (en) Optimization of segment routing-enabled multipath network
EP4158844A1 (en) Tenant-driven dynamic resource allocation for virtual network functions
US10554543B1 (en) Migrating data traffic between label switched paths (LSPs) based on per-LSP protocol priority value
US20150071119A1 (en) Technique for Explicit Path Control
US20230110199A1 (en) Auto-grouping and routing platform
US20220321604A1 (en) Intent-based enterprise security using dynamic learning of network segment prefixes
EP4075751A1 (en) Network controller horizontal scaling for network device configuration sessions management
US20230412488A1 (en) Link behavior prediction for use in path selection
Zhang et al. Distributed service orchestration: Interweaving switch and service functions across domains

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