CN110784333A - 跨网络服务的有关网络配置协议装置的并发事务 - Google Patents
跨网络服务的有关网络配置协议装置的并发事务 Download PDFInfo
- Publication number
- CN110784333A CN110784333A CN201910579499.9A CN201910579499A CN110784333A CN 110784333 A CN110784333 A CN 110784333A CN 201910579499 A CN201910579499 A CN 201910579499A CN 110784333 A CN110784333 A CN 110784333A
- Authority
- CN
- China
- Prior art keywords
- configuration
- network
- transaction
- sub
- configuration change
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及跨网络服务的有关网络配置协议装置的并发事务。公开了用于管理网络的技术。在一个示例中,装置配置管理器被配置为根据装置管理协议生成配置变更请求,该配置变更请求表示具有指定了用于网络的网络装置的第一配置变更的第一子事务以及指定了用于相同网络装置的第二配置变更的第二子事务的事务。装置配置管理器进一步被配置为将配置变更请求输出到网络装置并且从网络装置接收应答消息。该应答消息包括:指定第一配置变更是否在网络装置处成功提交的第一响应元件以及指定第二配置变更是否在网络装置处成功提交的第二响应元件。
Description
本申请要求于2018年8月29日提交的由A等人提出的题为“CONCURRENTTRANSACTIONS ON NETCONF ACROSS NETWORK SERVICES”的美国申请No.16/116725和于2018年7月27日提交的由A等人提出的题为“CONCURRENT TRANSACTIONS ON NETCONFACROSS NETWORK SERVICES”的临时申请No.62/711081的权益,其中的每一个的全部内容通过引用结合于本文中。
技术领域
本公开涉及计算机网络,更具体地,涉及用于配置和管理网络装置的技术。
背景技术
计算机网络是可以交换数据和共享资源的互连计算装置的集合。在诸如以太网的基于分组的网络中,计算装置通过将数据分成称为分组的小块来传送数据,这些小块通过网络从源装置分别路由到目的装置。各种中间装置操作以在计算装置之间路由分组。例如,计算机网络可以包括路由器、交换机、网关、防火墙以及各种其他装置,以提供和促进网络通信。
这些网络装置通常包括用于本地或远程配置装置的机制,例如管理接口。通过与管理接口交互,诸如人类用户、自动化脚本或网络管理系统的各种客户端(client,客户),可以执行配置任务以及收集和查看受管理装置的操作数据。例如,客户端可以配置装置的接口卡,调整所支持的网络协议的参数,指定装置内的物理组件,修改由路由器维护的路由信息,访问驻留在装置上的软件模块和其他资源,以及执行其他配置任务。
网络配置协议(NETCONF)是由互联网工程任务组(IETF)定义的标准,它规定了安装、操作和删除网络装置的配置的机制。通过与管理接口交互,客户端可以使用NETCONF在网络上的网络装置上应用配置变更。
发明内容
通常,本公开描述了用于在单个配置变更请求中使用多个配置事务同时更新网络装置的技术,其中每个事务可以分别提交到数据库,并且如果需要可以回滚。例如,本文描述的技术可以允许网络管理系统生成并输出包括多个子事务的配置变更请求,每个子事务指定要推送到网络装置的一个或多个配置变更。网络装置可以同时提交由多个子事务指定的配置变更,并且生成单个应答消息,其中应答消息包括用于每个请求的子事务的相应响应元件,并且其指示由每个相应的子事务指定的配置变更是否在网络装置处成功提交。在一些示例中,用于同时更新网络装置的技术可以包括对不支持子事务标识符的网络装置,分割一批配置变更请求。
例如,本公开描述了一种新形式的网络配置协议(NETCONF)配置事务请求,其允许在单个NETCONF消息中指定配置变更的多个子事务。此外,本公开描述了一种新形式的NETCONF配置应答消息,通过该消息,受管理装置能够指示每个配置子事务是否成功地提交到受管理装置。
此外,本公开还描述了对由网络管理系统使用的更高级服务模型的扩展。如上所述,该扩展允许服务模型控制网络配置变更请求的使用和格式,以便在配置受管理装置时(例如在受管理装置上配置网络服务时)指定并发配置子事务。
这些技术可以提供某些技术优势,例如潜在地减少所使用的网络资源的量和/或配置网络装置所需的时间。作为一个示例,这些技术可以是特别有利的,例如,在其中提供集线器分支型虚拟专用网络(VPN)的网络系统中,尤其是在其中提供多个客户VPN站点的大型网络环境中。例如,这些技术可以通过发出包括多个子事务的单个NETCONF配置变更消息来允许在集线器路由器上提供多个客户站点,每个子事务指定要在集线器路由器上为正在联机的相应客户站点提供的配置数据。如所描述的,这些技术允许同时提交子事务,并且对于受管理网络路由器发出单个应答消息,该应答消息指示子事务中的哪一个子事务成功,以及哪一个子事务失败(如果有的话)。
在一个示例中,本公开描述了由管理网络的网络管理系统(NMS)装置执行的方法,该方法包括:通过NMS装置的处理电路,根据装置管理协议,生成表示事务的配置变更请求,该事务具有指定网络的网络装置的第一配置变更的第一子事务以及指定相同网络装置的第二配置变更的第二子事务;通过处理电路将配置变更请求输出到网络装置;以及通过处理电路从网络装置接收应答消息,该应答消息包括指定第一配置变更是否在网络装置处成功提交的第一响应元件以及指定第二配置变更是否在网络装置处成功提交的第二响应元件。
在另一示例中,本公开描述了一种联网装置,包括:控制单元;配置数据存储器,被配置为存储配置数据;装置配置管理器,该装置配置管理器在网络装置的控制单元上执行以配置为:根据装置管理协议,生成表示事务的配置变更请求,该事务具有指定网络装置的第一配置变更的第一子事务以及指定相同网络装置的第二配置变更的第二子事务;将配置变更请求输出到网络装置;以及从网络装置接收应答消息,该应答消息包括指定第一配置变更是否在网络装置处成功提交的第一响应元件以及指定所述第二配置变更是否在网络装置处成功提交第二响应元件。
在另一示例中,本公开描述了一种包括指令的非暂时性计算机可读介质,该指令在被执行时使得网络装置的处理电路配置为:根据装置管理协议,生成表示事务的配置变更请求,该事务具有指定网络的网络装置的第一配置变更的第一子事务以及指定相同网络装置的第二配置变更的第二子事务;将配置变更请求输出到网络装置;以及从网络装置接收应答消息,该应答消息包括指定第一配置变更是否在网络装置处成功提交的第一响应元件以及指定第二配置变更是否在网络装置处成功提交的第二响应元件。
在另一示例中,本公开描述了一种联网装置,包括:用于根据装置管理协议,生成表示事务的配置变更请求的装置(means),该事务具有指定用于网络的网络装置的第一配置变更的第一子事务以及指定用于相同网络装置的第二配置变更的第二子事务;用于将配置变更请求输出到网络装置的装置;以及用于从网络装置接收应答消息的装置,该应答消息包括指定第一配置变更是否在网络装置处成功提交的第一响应元件以及指定第二配置变更是否在网络装置处成功提交的第二响应元件。
在一个示例中,本公开描述了一种由网络的受管理装置执行的方法,该方法包括:通过受管理装置的处理电路从网络管理系统接收表示具有多个子事务的事务的配置变更请求,其中,多个子事务中的每个子事务指定用于受管理装置的一个或多个相应配置变更;通过处理电路,对于多个子事务中的每个子事务,在受管理装置处选择性地安装一个或多个相应配置变更;通过处理电路基于选择性地安装来构造应答消息,其中,该应答消息包括针对多个子事务中的每个子事务的相应响应元件,该响应元件指示受管理装置在受管理装置的运行配置中是否提交了一个或多个相应配置变更;以及通过处理电路将应答消息输出到网络管理系统。
在另一示例中,本公开描述了一种联网装置,包括:控制单元;配置数据存储器,被配置为存储配置数据;装置配置管理器,其在网络装置的控制单元上执行,以配置为:从网络管理系统接收表示具有多个子事务的事务的配置变更请求,其中,多个子事务中的每个子事务指定用于受管理装置的一个或多个相应配置变更;对于多个子事务中的每个子事务,在受管理装置处选择性地安装一个或多个相应配置变更;基于选择性地安装构造应答消息,其中,该应答消息包括针对多个子事务中的每个子事务的相应的响应元件,该响应元件指示受管理装置在受管理装置的运行配置中是否提交了一个或多个相应的配置变更;以及将应答消息输出到网络管理系统。
在另一示例中,本公开描述了一种包括指令的非暂时性计算机可读介质,该指令在被执行时使得联网装置的处理电路配置为:从网络管理系统接收表示具有多个子事务的事务的配置变更请求,其中,多个子事务中的每个子事务指定用于受管理装置的一个或多个相应配置变更;对于多个子事务中的每个子事务,在受管理装置处选择性地安装一个或多个相应的配置变更;基于选择性地安装构造应答消息,其中,该应答消息包括针对多个子事务中的每个子事务的相应的响应元件,该响应元件指示受管理装置在受管理装置的运行配置中是否提交了一个或多个相应配置变更;以及将应答消息输出到网络管理系统。
在另一示例中,本公开描述了一种联网装置,包括:用于从网络管理系统接收表示具有多个子事务的事务的配置改变请求的装置,其中,多个子事务中的每个子事务指定用于受管理装置的一个或多个相应配置变更;用于为多个子事务中的每个子事务在受管理装置处选择性地安装一个或多个相应配置变更的装置;用于基于选择性地安装来构造应答消息的装置,其中,该应答消息包括针对多个子事务中的每个子事务的相应的响应元件,该响应元件指示受管理装置在受管理装置的运行配置中是否提交了一个或多个相应的配置变更;以及用于将应答消息输出到网络管理系统的装置。
本公开的技术的一个或多个示例的细节在附图和以下的描述中阐述。根据说明书和附图以及权利要求,其他特征、目的和优点将是显而易见的。
附图说明
图1是示出根据本公开的一个或多个方面的使用网络管理系统管理的企业网络的元件的框图。
图2A是示出根据本公开一个或多个方面的同时提交多个子事务的网络元件和示例性受管理装置的示例性集线器分支型(hub and spoke,轴辐式)配置的框图。
图2B是示出根据本公开一个或多个方面的同时提交多个子事务的示例性网络管理装置和示例性受管理装置的框图。
图3是示出根据本公开的技术的划分配置变更请求的子事务的网络管理系统的示例性操作的流程图。
图4是示出根据本公开的技术的网络管理系统的示例性操作的流程图。
图5是示出根据本公开的技术的划分配置变更请求的子事务的网络管理系统的示例性操作的流程图。
图6是示出根据本公开的技术的受管理网络装置的示例性操作的流程图。
图7是示出根据本公开的技术的选择性地安装子事务的受管理网络装置的示例性操作的流程图。
具体实施方式
图1是示出使用网络管理系统10管理的企业网络2的元件的框图。企业网络2的受管理元件5A至5G(统称为元件5)是经由通信链路互连以形成通信拓扑以交换资源和信息的现有网络装置。元件5可以包括例如路由器、交换机、网关、网桥、集线器、服务器、防火墙或其他入侵检测系统(IDS)或入侵预防系统(IDP)、计算装置、计算终端、打印机、其他网络装置或这些装置的组合。虽然在本公开中描述为发送、传送或以其他方式支持分组,但是企业网络2可以根据由任何其他协议定义的任何其他离散数据单元来发送数据,例如由异步传输模式(ATM)协议定义的信元,或由用户数据报协议(UDP)定义的数据报。通信链路互连元件5可以是物理链路(例如,光、铜等)或无线链路。
企业网络2被示出为经由通信链路7耦接到公共网络4(例如,因特网)。公共网络4可以包括例如一个或多个客户端计算装置。公共网络4可以提供对web服务器、应用服务器、公共数据库、媒体服务器、终端用户装置以及其他类型的网络资源装置和内容的访问。公共网络4中的网络装置可能给企业网络2带来许多安全威胁。例如,公共网络4中的装置可能试图将蠕虫、特洛伊木马和/或病毒传输到一个或多个元件5。作为另一示例,使用公共网络4中的装置的黑客可能试图潜入企业网络2以窥探、损坏、破坏或窃取由一个或多个元件5存储的信息。
网络管理系统10经由企业网络2通信地耦接到元件5。网络管理系统10可以直接或间接地耦接到各个元件5。一旦元件5被部署和激活,管理员12可以使用网络管理系统10来使用被设计成用于管理元件5内的配置数据以执行配置的管理协议来管理元件5,该管理协议例如简单网络管理协议(SNMP)或网络配置(NETCONF)协议,或其派生协议例如Juniper装置管理接口。NETCONF协议的详细信息可以参见RFC 6241:“NETCONF ConfigurationProtocol,”Network Working Group,the Internet Engineering Task Force draft,June 2011,可以在http://tools.ietf.org/html/rfc6241处获得,其全部内容通过引用结合于此。
在通常的实践中,网络管理系统10和由网络管理系统10管理的元件5由企业的IT组集中维护,并且统称为元件管理系统(EMS)或网络管理系统(NMS)。管理员12与网络管理系统10交互以远程监视和配置元件5。例如,管理员12可以从网络管理系统10接收关于任何元件5的警报,查看元件5的配置数据,修改元件5的配置数据,向企业网络2添加新的网络装置,从企业网络2移除现有的网络装置,或以其他方式操纵企业网络2和其中的网络装置。虽然关于企业网络进行了描述,但是本发明的技术可应用于包括LAN、VLAN、VPN等的其他公共和私有网络类型。
管理员12使用网络管理系统10来配置元件5以指定促进管理员12的目标的某些操作特性。例如,管理员12可以为元件5指定关于安全性、装置可访问性、流量工程、服务质量(QoS)、网络地址转换(NAT)、分组过滤、分组转发、速率限制或其他策略的特定操作策略。网络管理系统10使用被设计成用于管理受管理网络元件5内的配置数据的网络管理协议,例如SNMP协议或NETCONF协议或其派生协议,例如Juniper装置管理接口,以执行配置。
通常,NETCONF规定了用于配置网络装置的机制,并且使用基于可扩展标记语言(XML)的数据编码来配置数据,该数据可以包括策略数据。NETCONF在R.Enns等人,RFC4741:“NETCONF Configuration Protocol,”Network Working Group,the InternetEngineering Task Force draft,December 2006中描述,可以在http://tools.ietf.org/html/rfc4741处获得,其全部内容通过引用结合于此。网络管理系统10可以与一个或多个元件5建立NETCONF会话。在图1的示例中,网络管理系统10分别与元件5A至5C一起参与NETCONF会话9A至9C。
网络管理系统10可以将配置变更“依次推送”到元件5中的每一个。例如,网络管理系统10可以发送用于第一组配置变更的第一配置变更请求,并且在接收到指示是否提交第一组配置变更的应答消息时,发送用于第二组配置变更的第二配置变更请求。然而,依次推送配置变更可能减慢元件5的激活,特别是在多个元件5同时激活(例如,软件驱动广域网)的应用中,使得单个元件(例如,集线器装置)具有多组配置变更要应用。
在图1的示例中,根据本公开中描述的技术的各个方面,网络管理系统10将NETCONF扩展为“同时推送”一个或多个网络元件5的配置变更。例如,网络管理系统10使用装置管理协议(例如,NETCONF)来远程配置元件5,并且如本文所述,使用扩展装置管理协议使得网络管理系统10能够在单个配置变更请求中指定多个子事务,其中,每个子事务包括一个或多个要在接收请求的受管理网络元件5上分别提交的配置变更。例如,网络管理系统10可以将单个配置变更请求发送到元件5C,该单个配置变更请求指定用于第一组配置变更的第一子事务以及用于第二组配置变更的第二子事务。在这种情况下,当在元件5C处安装第一组配置变更时,元件5C独立地安装第二组配置变更,而不必与网络管理系统10进一步交互。此外,元件5C可以将第一组和第二组配置变更中的每一个安装为独立地“提交”到底层配置数据库,使得如果需要,第一组和第二组配置变更中的每一个可以分别回滚。根据本文描述的技术,元件5C生成指示是否提交第一组配置变更和第二组配置变更的单个应答消息。
在一些示例中,网络管理系统10可以根据一个或多个高级服务模型来操作,该高级服务模型规定了网络服务的定义,诸如要跨网络2内的受管理元件5部署的虚拟专用网络等。此外,网络管理系统10可以根据一个或多个低级装置模型来操作,该低级装置模型指定用于配置每个受管理网络元件5的机制,该受管理网络元件5可以构成来自不同制造商的不同类型的网络装置(例如,防火墙、路由器、交换机、网关等),从而具有不同的接口和配置要求。如本文所述,在一些示例中,一个或多个高级服务模型如本文所述地被扩展以定义附加模型对象(例如,多路复用器对象),该附加模型对象用于在与一个或多个受管理元件5交互以在单个配置变更请求中安装多个子事务时,控制由低级装置模型控制的网络管理系统10所使用的扩展配置变更请求的属性和格式。以这种方式,这些技术提供了某些技术优势,其中对装置管理协议(例如,NETCONF)的低级扩展的支持和使用可以容易地由高级网络服务来控制并且能够用于高级网络服务。
图2A是示出本文所描述的技术的一个示例用例的框图。具体地,图2A示出了网络元件5(在该示例中示出为服务于相应客户端站点51B至51G的集线器(hub,中心)路由器5A和分支(spoke,辐条)路由器5B至5E)的集线器分支型虚拟专用网络(VPN)配置的示例。在诸如图1所示的示例的网络中,网络管理系统10通过在集线器路由器5A和分支路由器5B至5G内安装相应的配置数据来提供跨网络的端到端VPN网络服务。通常,网络管理系统利用作为VPN服务内的分支而操作所必需的相应配置数据来配置每个分支路由器5B至5G,并且在集线器路由器5A上为每个客户端站点51分别配置和验证配置数据。换句话说,通常,当客户站点在VPN服务中联机时,网络管理系统10通常指示集线器路由器5A为每个客户站点51安装和验证不同的配置数据。在没有本文描述的技术的技术优势的情况下,在提供网络服务时,在此上下文中的集线器路由器的配置可以容易地成为瓶颈,尤其是大规模服务提供商网络。如本文所示,这些技术使得网络管理系统10能够在单个配置变更请求50A中指定多个子事务52B至52G,其中,每个子事务包括要在集线器路由器5A上分别提交的一个或多个配置变更。集线器路由器5A在不与网络管理系统10进一步交互的情况下,将每个子事务的配置变更安装为独立“提交”到底层配置数据库,使得如果需要,任何子事务的配置变更可以分别验证和回滚。根据本文所述的技术,集线器路由器5A生成单个应答消息53来指示对于每个子事务52B至52G的配置变更是否已经成功地提交和验证。在该示例中,网络管理系统10还可以将配置变更请求50B至50G发送到形成示例性集线器分支型配置的各分支的相应分支路由器5B至5G。分支路由器5B至5G中的每一个操作以提交在变更请求50B至50G中指定的配置数据,并且输出指示配置数据是否已成功提交的应答(未示出)。在这种情况下,通过网络管理系统10向分支路由器5B至5G发出的配置变更请求50B至50G可以是传统变更请求,或可以是如本文所述的指定多个并发子事务的扩展变更请求。
如本文所述,网络管理系统10可以根据一个或多个高级服务模型55来操作,每个高级服务模型55均规定了网络服务的定义,例如要在路由器5上部署的集线器分支型虚拟专用网络。此外,网络管理系统10可以根据一个或多个低级装置模型57来操作,该低级装置模型57指定用于配置每个路由器5的机制。作为一个示例,网络管理系统10可以被配置为根据符合YANG模型的服务模型55来操作,该YANG模型在Bjorklund,“YANG-A Data ModelingLanguage for the Network Configuration Protocol(NETCONF),”InternetEngineering Task Force,RFC 6020,Oct.2010中描述,可以在tools.ietf.org/html/rfc6020处获得,通过引证并入本文。在图2A的集线器分支型示例中,服务模型55可以例如符合YANG数据建模语言,并且规定要部署的网络服务(包括VPN服务)的高级定义。响应于来自管理员12的输入,网络管理系统根据服务模型55和装置模型57操作,以在集线器路由器5A和分支路由器5B至5G处安装必要的配置数据,以提供网络服务并且使每个客户端站点51的VPN服务联机。换句话说,例如,将加入VPN服务的分支路由器5B至5G被配置有相应的配置数据,以便通过集线器路由器5A通信,并且集线器路由器5A被配置为支持每个客户端站点51,从而形成集线器分支型VPN服务。虽然所有这些配置变更都可以在应用级(例如,YANG模型)具有相应的需求,但是在一些系统中,根据装置模型57,应用级需求被转换成在集线器(例如,元件5A)处的配置变更的相应事务。这样,为了适应集线器分支型配置,网络管理系统10可以推送单独的配置变更请求,以适应(accommodate)在形成示例性集线器分支型配置的分支的元件5B至5G处的配置变更。例如,网络管理系统10可以发送第一配置变更请求以适应元件5B处的配置变更,输出第二配置变更请求到元件5A以适应元件5C处的配置变更,等等。此外,当客户端站点联机时,每个分支路由器5B和相应的客户端站点51B-51G通常需要在集线器路由器5A上分别提供和验证配置数据。如上所述,按照传统协议和技术的要求,将配置变更依次推送到集线器路由器5A以进行分别的提交和验证,会减慢分支路由器5B至5G的激活和整个网络服务的部署。
在图2A的示例中,根据本公开中描述的技术的各个方面,网络管理系统10扩展服务模型55中的一个或多个,以将应用级服务需求转换成集线器路由器5A处的配置变更的相应子事务。以这种方式,这些技术提供了某些技术优势,其中对装置管理协议(例如,NETCONF)的低级扩展的支持和使用可以容易地由高级网络服务来控制并且能够用于高级网络服务。作为一个示例,YANG模型可以包括定义多路复用器“ext:multiplexer”的扩展,其示例如下。
多路复用器:生成多路复用器的扩展
id:包含服务模型中用于生成多路复用器id的路径。
在一些示例中,网络管理系统10可以将多路复用器标识符(“id”)设置为包括集线器名称和标识符值。例如,当分支路由器5B至5G仅用于公共租户时,网络管理系统10可以将多路复用器标识符(“id”)设置为包括用于集线器路由器5A的集线器名称。在示例中,在集线器路由器5A和分支路由器5B至5G被配置用于多租户配置(例如,Multi-TenantSD-WAN)以便为不同客户服务多个不同VPN的情况下,元件5A可以设置多路复用器标识符(“id”)包括集线器名称、租户标识符(“Tenant-id”)和标识符值,其示例如下。
ext:multiplexer{
ext:id{
ext:path:[“/sdwan/tenant-id”,“/sdwan/hub”]
在图2A的示例中,作为一个示例,根据本公开中描述的技术的各个方面,网络管理系统10将NETCONF扩展到“同时推送”配置变更到集线器路由器5A。例如,网络管理系统10可以向集线器路由器5A发送单个配置变更请求50A,其指定用于支持分支路由器5B所需的配置变更的子事务52B、用于支持分支路由器5C所需的配置变更的子事务52C、用于支持分支路由器5D所需的配置变更的子事务52D、用于支持分支路由器5E所需的配置变更的子事务52E等。在这种情况下,在集线器路由器5A处安装子事务5B的配置变更时,集线器路由器5A在不与网络管理系统10进一步交互的情况下安装子事务5C的配置变更等,直到子事务5B至5G的配置变更在元件5A处安装(提交和验证)为止,并且生成指示子事务52B至52G的哪些子事务被成功提交以及哪些子事务(如果有的话)失败并且应该回滚的单个应答消息。
图2B是更一般地示出根据本公开的一个或多个方面的同时提交多个子事务的示例性网络管理系统22和示例性受管理装置24的框图。网络管理系统22使用例如NETCONF等用于通过通信链路交换管理协议消息的管理协议来管理受管理装置24。在本公开中,网络管理系统22也可以被称为网络管理装置。虽然关于用于管理网络装置的一个特定协议(例如,NETCONF)进行了描述,但是本公开的技术可以应用于规定了用于安装、操纵和删除网络装置的配置的机制的任何网络管理协议。
网络管理系统22可以是图1的网络管理系统10的示例,并且受管理装置24可以是图1的元件5A的示例。在图2B所示的示例中,网络管理系统22包括控制单元26,并且受管理装置24包括网络接口44以及控制单元38。
控制单元26和控制单元38中的每一个可以包括一个或多个处理器,该一个或多个处理器执行被存储到计算机可读存储介质的软件指令,例如用于定义软件或计算机程序的那些软件指令,计算机可读存储介质存储指令以使可编程处理器执行本文所述的技术,例如有存储装置(例如,磁盘驱动器或光学驱动器),或存储器(例如,闪存、随机存取存储器或RAM)或任何其他类型的易失性或非易失性存储器等。可替代地,控制单元38可以包括专用硬件,例如一个或多个集成电路、一个或多个专用集成电路(ASIC)、一个或多个专用特殊处理器(ASSP)、一个或多个现场可编程门阵列(FPGA)、或用于执行本文所述技术的前述专用硬件的示例中的一个或多个的任意组合。
控制单元26提供用于管理接口(ADMIN INTERFACE)30、服务层29和装置管理层31的操作环境。通常,服务层29可以负责根据服务模型55生成请求,并且将请求传递到装置管理层31内的管理模块28。此外,装置管理层31可以负责根据装置模型57构造配置变更请求。如图所示,服务层29包括服务模型55。装置管理层31包括管理模块28和配置数据(CONFIGDATA)32。
服务模型55可以包括应用级模型(例如,又一下一代模型或单纯的“YANG模型”),其可以用于对由NETCONF、NETCONF远程过程调用和NETCONF通知操纵的配置和状态数据进行建模。YANG描述在M.Bjorklund,Ed,RFC 6020:“YANG-A Data Modeling Language forthe Network Configuration Protocol(NETCONF),”Network Working Group,theInternet Engineering Task Force draft,October 2010中,可以在http://tools.ietf.org/html/rfc6020处获得,其全部内容通过引用结合于此。例如,服务模型55可以经由管理接口30接收用于受管理装置24的应用级配置。在该示例中,应用级配置可以依据YANG模型。服务模型55可以将应用级配置从YANG模型转换为装置模型57的配置变更。
管理模块28表示管理应用(例如,NETCONF)或更一般地,网络管理应用的示例性实例。管理模块28是网络管理模块的一个示例。在一个示例中,管理模块28提供用于安装、操纵和删除图1的元件5和/或受管理装置24的网络装置的配置的机制。装置模型57可以包括可用于对配置变更请求建模的低级或装置级模块(例如,NETCONF”)。并发配置模块(CONCURRENT CONFIG ENGINE)34可以被配置为实现本文描述的用于同时提交多个子事务的一种或多种技术。
受管理装置24可以是具有一个或多个处理器和存储器的任何装置,并且能够执行根据例如NETCONF的网络管理协议来操作的一个或多个软件进程,包括并发配置引擎40。受管理装置24将用于转发网络分组的运行配置存储在配置数据(CONFIG DATA)42中。装置24的控制单元38为并发配置引擎40和配置数据42提供操作环境。配置数据42可以存储在数据存储库中,并且每个配置数据可以以一个或多个表、数据库、链表、基数树或其他合适的数据结构的形式存储数据。
网络运营商或其他管理员与管理接口30交互,以指示管理模块28以指定的方式管理装置24,例如,以修改装置24的配置。例如,管理员可以输入命令来修改配置数据32,并最终将配置数据部署到配置数据42,作为受管理装置24的运行配置。
根据本文描述的一种或多种技术,网络管理系统22根据本公开中描述的技术的各个方面,扩展服务模型55中的一个或多个,以将应用级服务需求转换成受管理装置24处的配置变更的相应子事务。以这种方式,这些技术提供了某些技术优势,其中,对装置管理协议(例如,NETCONF)的低级扩展的支持和使用可以容易地由高级网络服务来控制并且能够用于高级网络服务。
此外,根据本文所述的一种或多种技术,并发配置模块34可以以单个消息的形式生成表示包括子事务52A至52N(统称为子事务52)的整体事务50的配置变更请求,其中,每个子事务指定对应的一组配置变更,例如插入、删除和/或修改,并且其中,即使包含在相同的请求中,每组配置变更也可以由受管理装置24分别提交和验证到装置的底层配置数据42。在一些示例中,并发配置模块34根据装置模型57(例如,NETCONF)生成事务50。在该示例中,子事务52中的每个子事务为受管理装置24指定多个相应配置变更,而在一些示例中,子事务52中的一个或多个子事务可以为受管理装置24指定单个相应配置变更。如图所示,并发配置模块34将请求输出到受管理装置24。
网络接口44接收指示包括子事务52的事务50的请求。对于子事务52中的每个子事务,并发配置引擎40选择性地在受管理装置24的配置数据42处安装相应的配置变更。例如,并发配置引擎40应用子事务52A的配置变更,并且确定子事务52A的配置变更是否在存储在配置数据42中的运行配置中提交。在该示例中,当配置变更不是每个都在运行配置中都提交时(例如,受管理装置24不支持特定的配置变更),并发配置引擎40可以“回滚”配置变更。以这种方式,并发配置引擎40可以帮助确保在运行配置处提交子事务中的每个配置变更,或在运行配置处没有提交子事务的配置变更。
并发配置引擎40基于选择性地安装来构造应答消息54。在该示例中,对于子事务52中的每个子事务,应答消息54包括响应元件56A至56N(统称为响应元件56)中指示受管理装置24是否在受管理装置24的运行配置中提交了相应的配置变更的对应响应元件。例如,并发配置引擎40响应于确定受管理装置24未提交子事务52A的配置变更而生成响应元件56A作为否定响应。在一些示例中,并发配置引擎40响应于确定受管理装置24提交子事务52N的配置变更而生成响应元件56N作为肯定响应。如图所示,网络接口44将应答输出到网络管理系统22。
并发配置模块34基于应答消息54更新配置数据32。例如,响应于接收到包括指定子事务52A的配置变更未在受管理装置24处成功提交的响应元件56A的应答消息54,并发配置模块34抑制更新配置数据32以包括子事务52A的配置变更。响应于接收包括指定子事务52N的配置变更在受管理装置24处成功提交的响应元件56N的应答消息54,并发配置模块34更新配置数据32以包括子事务52N的配置变更。
图3是示出根据本公开的技术的划分配置变更请求的子事务的网络管理系统的示例性操作的流程图。仅用于示例性目的,图3是关于图2B的网络管理系统22描述的。在图3的示例中,当网络装置不支持子事务标识符时,网络管理系统分割一批配置变更请求。
最初,管理接口30接收应用级配置变更和一个或多个多路复用器标识符(100)。例如,管理接口30从管理员12接收应用级配置变更和多路复用器标识符。服务层29将应用级配置变更转换为低级配置变更(101)。例如,服务层29使用服务模型55的YANG模型将对应于多路复用器标识符(例如,集线器名称、集线器名称和租户标识符等)的应用级配置的应用级配置变更转换为装置模型57(例如,NETCONF)的低级配置的配置变更。然而,在图3的示例中,网络装置不支持子事务标识符。这样,图3的示例中的装置模型57的低级配置的配置变更不包括子事务标识符。
装置管理层31从服务层29接收提交请求,其中,服务层29已经根据服务模型55(例如,根据YANG模型的多路复用器扩展)生成提交请求,并且已经将提交请求下推到装置管理层31(提交请求)(102)。并发配置模块34在内部批处理来自服务层的配置变更(104)。
并发配置模块34可以被配置为根据装置模型57(例如,NETCONF)生成装置级配置变更请求。例如,并发配置模块34可以在不使用子事务标识符的情况下,同时发送“多个子事务”作为事务(例如,编辑配置)的一部分。并发配置模块34使用配置路径令牌填充配置更改请求(106)。例如,在一个示例中,并发配置模块34包括作为配置的一部分的配置路径中的3个令牌。并发配置模块34生成配置变更请求(编辑配置和提交配置)(108)。例如,并发配置模块34根据装置管理协议(例如,NETCONF)生成表示指定网络装置的一批配置变更的事务的配置变更请求。在该示例中,并发配置模块34可以输出配置变更请求并且接收应答消息。
并发配置模块34确定提交是否成功(110)。如果应答消息的所有响应元件都是肯定的(110的“是”),则并发配置模块34准备并返回响应(114)。例如,并发配置模块34将返回成功输出到调用方(例如,管理员12)。
同样,在一些示例中,并非所有网络装置都支持子事务标识符。在那些情况下,网络管理系统22中的“装置管理”层可以处理并发事务。例如,并发配置模块34可以批处理配置变更,并且一起提交批处理的配置变更。因此,响应于接收到否定响应元件(110的“否”),并发配置模块34可以基于错误消息划分出该批子事务(112),并且转到步骤104。例如,响应于接收到指定该批配置变更未在网络装置处成功提交的应答消息,并发配置模块34可以基于应答消息中指示的错误消息,将该批配置变更划分为第一子组的一个或多个配置变更以及第二子组的一个或多个配置变更。
在划分批处理时,并发配置模块34可以使用提交-请求中存在的“配置-路径令牌”。“配置-路径令牌”可以是作为配置的一部分的配置路径中的前3个令牌。并发配置模块34可以检查“错误路径配置”并在划分提交请求时使用配置-路径令牌。配置令牌与错误响应路径匹配的所有配置可以是第一组的一部分,并且所有其他配置可以是一个或多个其他组(例如,第二组)的一部分。当对配置进行分组时,并发配置模块34还可以考虑被引用叶(leaf-referred)的属性(也简称为“leafrefs”)。
示出用于实现上述功能的示例算法的示例伪代码如下:
函数部署(提交-请求(commit-requests))
对于每个提交-请求
解析配置-变更中的前几个令牌(配置-路径)和更新提交-请求调用批-提交(提交-请求)
函数批-提交(提交-请求)
创建具有所有变更的编辑-配置
提交编辑-配置(edit-config)
如果提交成功
将成功返回给调用方
如果提交不成功
如果提交-请求的大小为1
将失败返回调用方
否则
提交-请求-组=分割-批处理(提交-请求,错误消息)
对于提交-请求-组中的每个组
调用批-提交(提交-请求-组)
函数分割-批处理(提交-请求,错误消息)
获取错误消息中的配置路径
获取具有配置-路径的提交请求//此步骤将基于提交-请求中的令牌基于配置-路径将提交-请求分割
返回提交-请求组
图4是示出根据本公开的技术的网络管理系统的示例性操作的流程图。仅用于示例性目的,图4是关于图2B的网络管理系统22描述的。在图4的示例中,网络装置支持子事务标识符。
最初,管理接口30接收应用级配置变更和一个或多个多路复用器标识符(202)。例如,管理接口30从管理员12接收应用级配置变更和多路复用器标识符。
服务层29将应用级配置变更转换为低级配置变更(204)。例如,服务层29使用服务模型55的YANG模型将应用级配置的对应于第一多路复用器标识符(例如,集线器名称、集线器名称和租户标识符等)的第一应用级配置变更转换为装置模型57(例如,NETCONF)的低级配置的对应于第一子事务标识符的第一配置变更。在该示例中,服务层29可以使用服务模型55的YANG模型将应用级配置的对应于第二多路复用器标识符(例如,集线器名称、集线器名称和租户标识符等)的第二应用级配置变更转换为装置模型57(例如,NETCONF)的低级配置的对应于第二子事务标识符的第二配置变更。
并发配置模块34生成表示具有用于配置变更的子事务的事务的配置变更请求(206)。例如,并发配置模块34生成表示事务50的配置变更请求,事务50具有指示第一子事务标识符的第一子事务52A和指示第二子事务标识符的第二子事务52B。
在一些示例中,网络装置可以(作为发现的一部分)通过以下字符串urn:ietf:params:NETCONF:capability:concurrent-transactions:1.0发布(例如,到并发配置模块34)对包括多个子事务的事务的支持。在该示例中,并发配置模块34可以响应于从网络装置接收字符串urn:ietf:params:NETCONF:capability:concurrent-transactions:1.0,为网络装置生成表示事务50的配置变更请求,事务50具有指示第一子事务标识符的第一子事务52A和指示第二子事务标识符的第二子事务52B。
在一些示例中,并发-事务能力修改<编辑-配置(edit-config)>操作,以接受在定义更改的事务范围的配置节点之中的子事务标识符。在一些示例中,可以有一个或多个配置节点来定义由装置数据模型定义的配置的层次结构。
一个示例配置变更请求如下所示。
并发配置模块34将配置变更请求输出到网络装置(208)。例如,并发配置模块34将表示事务50的配置变更请求输出到受管理装置24。
并发配置模块34从网络装置接收应答消息,该应答消息包括指定是否成功提交在相应子事务中指定的配置变更的一个或多个响应元件(210)。例如,并发配置模块34从受管理装置24接收包括响应元件56的应答消息54。例如,当网络装置能够满足相应子事务的配置变更时,并发配置模块34接收包括相应肯定响应元件的应答消息,该肯定响应元件包含<ok>元件以及相应的子事务id。类似地,当网络装置不能满足相应子事务的配置变更时,并发配置模块34接收包括相应否定响应元件的应答消息,该否定响应元件包含<rpc-error>元件以及相应的子事务id。示例应答消息如下。
并发配置模块34更新配置数据和配置变更的装置(212)。例如,并发配置模块34可以更新配置数据32以包括对应于应答消息的一个或多个肯定响应元件的一个或多个配置变更。并发配置模块34准备并返回响应(214)。例如,并发配置模块34将返回成功输出到调用方(例如,管理员12)。
图5是示出根据本公开的技术划分配置变更请求的子事务的网络管理系统的示例性操作的流程图。仅用于示例性目的,图5是关于图2B的网络管理系统22描述的。在图5的示例中,当网络装置不支持子事务标识符时,网络管理系统划分一批配置变更请求。
最初,并发配置模块34可以接收应答消息,该应答消息包括指定配置更改未在网络装置上成功提交的响应元件(230)。并发配置模块34将配置变更分成与错误响应路径对应的第一子组的配置变更以及与错误响应路径不对应的第二子组的配置变更(232)。
响应于确定第一子组仅包括单个配置变更(234的“是”),并发配置模块34生成一配置变更请求,该配置变更请求包括指定第二子组的配置变更的子事务(240)。并发配置模块34从网络装置接收应答消息,该应答消息包括指定第二子组的配置变更是否成功提交的响应元件(242)。
然而,响应于确定第一子组不仅仅包括1个配置变更(234的“否”),并发配置模块34生成配置变更请求,该配置变更请求包括指定第一子组的配置变更的第一子事务以及指定第二子组的配置变更的第二子事务(236)。并发配置模块34从网络装置接收应答消息,该应答消息包括指定第一子组的配置变更是否成功提交的第一响应元件以及指定第二子组的配置变更是否成功提交的第二响应元件(238)。
图6是示出根据本公开的技术的受管理网络装置的示例性操作的流程图。仅用于示例性目的,图6是关于图2B的受管理装置24描述的。最初,并发配置引擎40接收表示具有多个子事务的事务的配置变更请求,每个子事务指定一个或多个配置变更(302)。
并发配置引擎40基于一个或多个相应的配置变更,对于多个子事务中的每个子事务,选择性地安装一个相应组的一个或多个配置变更(304)。例如,并发配置引擎40尝试为多个子事务中的每个子事务向存储在配置数据42处的运行配置提交一个相应组的一个或多个配置变更。
并发配置引擎40基于选择性安装构造应答消息(306)。例如,并发配置引擎40生成应答消息,以对具有至少一个未成功提交的配置变更的每个子事务包括否定响应元件,并且对不具有未成功提交的配置变更的每个子事务包括肯定响应元件。在一些示例中,并发配置引擎40生成应答消息,以包括针对具有至少一个未成功提交的配置变更的每个子事务的否定响应元件和相应的子事务标识符,以及包括针对不具有未成功提交的配置变更的每个子事务的肯定响应元件和相应的子事务标识符。
并发配置引擎40输出指示响应元件的应答消息(308)。例如,并发配置引擎40将指示响应元件的应答消息输出到网络管理系统22。并发配置引擎40根据运行配置转发网络分组(310)。例如,并发配置引擎40根据存储在配置数据42处的运行配置转发网络分组。
图7是示出根据本公开的技术选择性地安装子事务的受管理网络装置的示例性操作的流程图。仅用于示例性目的,图7是关于图2B的受管理装置24描述的。最初,并发配置引擎40对于配置变更请求中包括的多个子事务中的每个子事务,将运行配置存储为回滚配置(330)。例如,并发配置引擎40存储在配置数据42处存储的运行配置的“快照”。
并发配置引擎40对于多个子事务中的每个子事务,将一个或多个配置变更应用于运行配置(332)。例如,并发配置引擎40对于多个子事务中的每个子事务,将一个或多个配置变更应用于配置数据42处的运行配置。并发配置引擎40确定是否已提交每个子事务(334)。例如,并发配置引擎40验证在配置数据42处是否成功提交了子事务的一组配置变更。
响应于确定未提交一个或多个配置变更(步骤334的“否”),并发配置引擎40将回滚配置设置为运行配置(336)。例如,并发配置引擎40将存储在配置数据42处的回滚配置设置为运行配置,并生成否定响应元件(338)。然而,响应于确定提交了一个或多个配置变更(步骤334的“是”),并发配置引擎40生成肯定响应元件(340)。
本文描述的技术可以以硬件、软件、固件或其任何组合来实现。描述为模块、单元或组件的各种特征可以在集成逻辑装置中一起实现,或分别作为分立但可互操作的逻辑装置或其他硬件装置。在一些情况下,电子电路的各种特征可以实现为一个或多个集成电路装置,例如集成电路芯片或芯片组。
如果以硬件实现,则本公开可涉及诸如处理器的装置或诸如集成电路芯片或芯片组的集成电路装置。可选地或附加地,如果以软件或固件实现,则该技术可以至少部分地由包括指令的计算机可读数据存储介质来实现,该指令在执行时使处理器执行上述方法中的一个或多个。例如,计算机可读数据存储介质可以存储这样的指令以供处理器执行。
计算机可读介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括包装材料。计算机可读介质可以包括计算机数据存储介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非瞬时性介质。术语“非瞬时性”可以指示存储介质未体现在载波或传播信号中。在某些示例中,非瞬时性存储介质可以存储可以随时间变化的数据(例如,在RAM或高速缓存中)。
代码或指令可以是由处理电路执行的软件和/或固件,该处理电路包括一个或多个处理器,例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效的集成或离散逻辑电路。因此,本文使用的术语“处理器”可以指任何前述结构或适于实现本文所述的技术的任何其他结构。此外,在一些方面,本公开中描述的功能可以在软件模块或硬件模块内提供。
除了上述之外或作为上述之外的替代方案,描述了以下示例。以下任何示例中描述的特征可以与本文所述的任何其他示例一起使用。
示例1.一种由管理网络的网络管理系统(NMS)装置执行的方法,所述方法包括:根据装置管理协议,由所述NMS装置的处理电路生成表示事务的配置变更请求,所述事务具有指定用于所述网络的网络装置的第一配置变更的第一子事务以及指定用于相同所述网络装置的第二配置变更的第二子事务;由所述处理电路将所述配置变更请求输出到所述网络装置;以及由所述处理电路从所述网络装置接收应答消息,所述应答消息包括指定所述第一配置变更是否在所述网络装置处成功提交的第一响应元件以及指定所述第二配置变更是否在所述网络装置处成功提交的第二响应元件。
示例2.根据示例1所述的方法,其中,所述装置管理协议是第一装置管理协议,所述方法包括:由所述处理电路经由管理接口接收根据第二装置管理协议的用于所述网络的应用级配置;以及根据第二装置管理协议,由所述处理电路将所述应用级配置转换为所述第一配置变更以及所述第二配置变更。
示例3.根据示例2所述的方法,其中,所述第一装置管理协议包括网络配置(NETCONF)协议,其中,所述第一子事务指示第一子事务标识符,并且所述第一响应元件指示所述第一子事务标识符,其中,所述第二子事务指示第二子事务标识符,并且所述第二响应元件指示所述第二子事务标识符,并且其中,所述网络装置通过发布urn:ietf:params:NETCONF:capability(能力):concurrent-transactions(并发事务):1.0来指示对具有所述第一子事务和所述第二子事务的支持;以及其中,所述第二装置管理协议包括YANG模型,并且其中,转换所述应用级配置包括使用YANG模型将所述应用级配置的对应于第一多路复用器标识符的第一应用级配置变更转换为所述第一配置变更,并且使用YANG模型将所述应用级配置的对应于第二多路复用器标识符的第二应用级配置变更转换为所述第二配置变更。
示例4.根据示例3所述的方法,其中,所述网络装置是连接到所述网络的多个网络装置的集线器网络装置;其中,所述第一多路复用器标识符包括用于所述集线器网络装置的集线器名称和第一标识符值;以及其中,所述第二多路复用器标识符包括所述集线器名称和第二标识符值。
示例5.根据示例3所述的方法,其中所述网络装置是与用于第一租户的一个或多个网络装置以及用于第二租户的一个或多个网络装置连接的集线器网络装置;其中,所述第一多路复用器标识符包括用于所述集线器网络装置的集线器名称以及用于所述第一租户的第一租户标识符;以及其中,所述第二多路复用器标识符包括所述集线器名称以及用于所述第二租户的第二租户标识符。
示例6.根据示例1至5中任一组合所述的方法,响应于接收到包括指定所述第一配置变更在所述网络装置处成功提交的所述第一响应元件的所述应答消息,由所述处理电路更新用于所述网络的配置数据以包括所述第一配置变更;以及响应于接收到包括指定所述第二配置变更未在所述网络装置处成功提交的所述第二响应元件的所述应答消息,由所述处理电路制止更新用于所述网络的配置数据以包括所述第二配置变更。
示例7.根据示例1至6中任一组合所述的方法,其中,所述配置变更请求是第一配置变更请求,其中,所述事务是第一事务,其中,所述应答消息是第一应答消息,其中,所述网络装置是第一网络装置,所述方法包括:根据所述装置管理协议,由所述处理电路生成表示第二事务的第二配置变更请求,所述第二事务指定用于所述网络的第二网络装置的一批配置变更;由所述处理电路将所述第二配置变更请求输出到所述第二网络装置;以及响应于接收到指定所述一批配置变更未在所述网络装置处成功提交的第二应答消息,由所述处理电路将所述一批配置变更划分成第一子组的一个或多个配置变更以及第二子组的一个或多个配置变更。
示例8.根据示例7所述的方法,其中,基于所述第二应答消息中指示的错误消息来划分所述一批配置变更。
示例9.根据示例7至8中任一组合所述的方法,包括:根据所述装置管理协议,由处理电路生成第三配置变更请求,所述第三配置变更请求指示指定用于第二网络装置的第一子组的一个或多个配置变更的第三事务;以及由所述处理电路将所述第三配置变更请求输出到所述第二网络装置。
示例10.一种网络管理系统(NMS)装置,包括:控制单元;配置数据存储器,被配置为存储配置数据;以及装置配置管理器,其在所述NMS装置的所述控制单元上执行以配置为:根据装置管理协议,生成表示事务的配置改变请求,所述事务具有指定用于所述网络的网络装置的第一配置变更的第一子事务以及指定用于相同网络装置的第二配置变更的第二子事务;将所述配置变更请求输出到所述网络装置;以及从所述网络装置接收应答消息,所述应答消息包括指定所述第一配置变更是否在所述网络装置处成功提交的第一响应元件以及指定所述第二配置变更是否在所述网络装置处成功提交的第二响应元件。
示例11.根据示例10所述的NMS装置,其中,所述装置管理协议是第一装置管理协议,并且其中,所述装置配置管理器进一步被配置为:经由管理接口接收用于根据第二装置管理协议的所述网络的应用级配置;以及根据第二装置管理协议,将所述应用级配置转换为所述第一配置变更和第二配置变更。
示例12.根据示例11所述的NMS装置,其中,所述第一装置管理协议包括网络配置(NETCONF)协议,其中,所述第一子事务指示第一子事务标识符,并且所述第一响应元件指示所述第一子事务标识符,其中,所述第二子事务指示第二子事务标识符,并且所述第二响应元件指示所述第二子事务标识符,并且其中,所述网络装置通过发布urn:ietf:params:NETCONF:能力:并发事务:1.0来指示对具有所述第一子事务和所述第二子事务的事务的支持;以及其中,所述第二装置管理协议包括YANG模型,并且其中,为了转换所述应用级配置,所述装置配置管理器被配置为使用所述YANG模型将所述应用级配置的对应于第一多路复用器标识符的第一应用级配置变更转换为所述第一配置变更,并且使用所述YANG模型将所述应用级配置的对应于第二多路复用器标识符的第二应用级配置变更转换为所述第二配置变更。
示例13.根据示例12所述的NMS装置,其中,所述网络装置是连接到所述网络的多个网络装置的集线器网络装置;其中,所述第一多路复用器标识符包括用于所述集线器网络装置的集线器名称和第一标识符值;以及其中,所述第二多路复用器标识符包括所述集线器名称和第二标识符值。
示例14.根据示例12所述的NMS装置,其中,所述网络装置是连接到用于第一租户的一个或多个网络装置以及用于第二租户的一个或多个网络装置的集线器网络装置;其中,所述第一多路复用器标识符包括用于所述集线器网络装置的集线器名称以及用于所述第一租户的第一租户标识符;以及其中,所述第二多路复用器标识符包括所述集线器名称以及用于所述第二租户的第二租户标识符。
示例15.根据示例10至14中任一组合所述的NMS装置,其中,所述装置配置管理器进一步被配置为:响应于接收到包括指定所述第一配置变更在所述网络装置处成功提交的所述第一响应元件的所述应答消息,更新用于所述网络的配置数据以包括所述第一配置变更;以及响应于接收到包括指定所述第二配置变更未在所述网络装置处成功提交的所述第二响应元件的所述应答消息,制止更新用于所述网络的配置数据以包括所述第二配置变更。
示例16.根据示例10至15中任一组合所述的NMS装置,其中,所述配置变更请求是第一配置变更请求,其中,所述事务是第一事务,其中,所述应答消息是第一应答消息,其中,所述网络装置是第一网络装置,其中,所述装置配置管理器进一步被配置为:根据所述装置管理协议,生成表示第二事务的第二配置变更请求,所述第二事务指定用于所述网络的第二网络装置的一批配置变更;将所述第二配置变更请求输出到所述第二网络装置;以及响应于接收到所述一批配置变更未在所述网络装置处成功提交的第二应答消息,将所述一批配置变更划分为第一子组的一个或多个配置变更以及第二子组的一个或多个配置变更。
示例17.根据示例16所述的NMS装置,其中,基于所述第二应答消息中指示的错误消息来划分所述一批配置变更。
示例18.根据示例16至17中任一组合所述的NMS装置,其中,所述装置配置管理器进一步被配置为:根据所述装置管理协议,生成第三配置变更请求,所述第三配置变更请求指示指定用于所述第二网络装置的所述第一子组的一个或多个配置变更的第三事务;以及将所述第三配置变更请求输出到所述第二网络装置。
示例19.一种由网络的受管理装置执行的方法,所述方法包括:由所述受管理装置的处理电路从网络管理系统接收表示具有多个子事务的事务的配置变更请求,其中,所述多个子事务中的每个子事务指定用于所述受管理装置的一个或多个相应配置变更;由所述处理电路针对所述多个子事务中的每个子事务而选择性地在所述受管理装置处安装所述一个或多个相应的配置变更;由所述处理电路基于所述选择性地安装来构造应答消息,其中,所述应答消息包括针对所述多个子事务中的每个子事务的相应的响应元件,所述响应元件指示所述受管理装置在所述受管理装置的运行配置中是否提交了所述一个或多个相应的配置变更;以及由所述处理电路将所述应答消息输出到所述网络管理系统。
示例20.根据示例19所述的方法,其中,选择性地安装包括将由所述多个子事务中的特定子事务指定的一个或多个配置变更应用于所述运行配置;以及其中,构造所述应答消息包括响应于确定所述受管理装置在所述运行配置中提交了所述一个或多个配置变更,生成用于所述特定子事务的肯定响应元件。
此外,可以将上述任何示例中阐述的任何特定特征组合到所述技术的有益示例中。也就是说,任何特定特征通常适用于本发明的所有示例。已经描述了各种实施例。这些和其他实施例在以下权利要求的范围内。
Claims (20)
1.一种由管理网络的网络管理系统(NMS)装置执行的方法,所述方法包括:
由所述网络管理系统装置的处理电路根据装置管理协议来生成表示具有第一子事务和第二子事务的事务的配置变更请求,所述第一子事务指定用于所述网络的网络装置的第一配置变更,所述第二子事务指定用于同一网络装置的第二配置变更;
由所述处理电路将所述配置变更请求输出到所述网络装置;以及
由所述处理电路从所述网络装置接收应答消息,所述应答消息包括第一响应元件以及第二响应元件,所述第一响应元件指定所述第一配置变更在所述网络装置处是否成功提交,所述第二响应元件指定所述第二配置变更在所述网络装置处是否成功提交。
2.根据权利要求1所述的方法,其中,所述装置管理协议是第一装置管理协议,所述方法包括:
由所述处理电路经由管理接口接收依据第二装置管理协议的用于所述网络的应用级配置;以及
由所述处理电路根据第二装置管理协议将所述应用级配置转换为所述第一配置变更以及所述第二配置变更。
3.根据权利要求2所述的方法,
其中,所述第一装置管理协议包括网络配置(NETCONF)协议,其中,所述第一子事务指示第一子事务标识符并且所述第一响应元件指示所述第一子事务标识符,其中,所述第二子事务指示第二子事务标识符并且所述第二响应元件指示所述第二子事务标识符,并且其中,所述网络装置通过发布urn:ietf:params:网络配置:能力:并发事务:1.0来指示对具有所述第一子事务以及所述第二子事务的所述事务的支持;以及
其中,所述第二装置管理协议包括YANG模型,并且其中,转换所述应用级配置包括:使用所述YANG模型将所述应用级配置的与第一多路复用器标识符对应的第一应用级配置变更转换为所述第一配置变更,并且使用所述YANG模型将所述应用级配置的与第二多路复用器标识符对应的第二应用级配置变更转换为所述第二配置变更。
4.根据权利要求3所述的方法,
其中,所述网络装置是与所述网络的多个网络装置连接的集线器网络装置;
其中,所述第一多路复用器标识符包括用于所述集线器网络装置的集线器名称和第一标识符值;以及
其中,所述第二多路复用器标识符包括所述集线器名称和第二标识符值。
5.根据权利要求3所述的方法,
其中,所述网络装置是与用于第一租户的一个或多个网络装置以及用于第二租户的一个或多个网络装置连接的集线器网络装置;
其中,所述第一多路复用器标识符包括用于所述集线器网络装置的集线器名称以及用于所述第一租户的第一租户标识符;以及
其中,所述第二多路复用器标识符包括所述集线器名称以及用于所述第二租户的第二租户标识符。
6.根据权利要求1所述的方法,包括:
响应于接收包括指定所述第一配置变更在所述网络装置处成功提交的所述第一响应元件的所述应答消息,由所述处理电路更新用于所述网络的配置数据以包括所述第一配置变更;以及
响应于接收包括指定所述第二配置变更在所述网络装置处未成功提交的所述第二响应元件的所述应答消息,由所述处理电路对更新用于所述网络的所述配置数据以包括所述第二配置变更进行制止。
7.根据权利要求1至6中任一项所述的方法,其中,所述配置变更请求是第一配置变更请求,其中,所述事务是第一事务,其中,所述应答消息是第一应答消息,其中,所述网络装置是第一网络装置,所述方法包括:
由所述处理电路根据所述装置管理协议来生成表示第二事务的第二配置变更请求,所述第二事务指定用于所述网络的第二网络装置的一批配置变更;
由所述处理电路将所述第二配置变更请求输出到所述第二网络装置;以及
响应于接收指定所述一批配置变更在所述网络装置处未成功提交的第二应答消息,由所述处理电路将所述一批配置变更划分成第一子组的一个或多个配置变更以及第二子组的一个或多个配置变更。
8.根据权利要求7所述的方法,其中,基于所述第二应答消息中指示的错误消息来划分所述一批配置变更。
9.根据权利要求7所述的方法,包括:
由所述处理电路根据所述装置管理协议来生成表示第三事务的第三配置变更请求,所述第三事务指定用于所述第二网络装置的所述第一子组的一个或多个配置变更;以及
由所述处理电路将所述第三配置变更请求输出到所述第二网络装置。
10.一种网络管理系统(NMS)装置,包括:
控制单元;
配置数据存储器,被配置为存储配置数据;以及
装置配置管理器,在所述网络管理系统装置的所述控制单元上执行以配置为:
根据装置管理协议来生成表示具有第一子事务和第二子事务的事务的配置变更请求,所述第一子事务指定用于网络的网络装置的第一配置变更,所述第二子事务指定用于同一网络装置的第二配置变更;
将所述配置变更请求输出到所述网络装置;以及
从所述网络装置接收应答消息,所述应答消息包括第一响应元件以及第二响应元件,所述第一响应元件指定所述第一配置变更在所述网络装置处是否成功提交,所述第二响应元件指定所述第二配置变更在所述网络装置处是否成功提交。
11.根据权利要求10所述的网络管理系统装置,其中,所述装置管理协议是第一装置管理协议,并且其中,所述装置配置管理器进一步被配置为:
经由管理接口接收依据第二装置管理协议的用于所述网络的应用级配置;以及
根据第二装置管理协议将所述应用级配置转换为所述第一配置变更以及所述第二配置变更。
12.根据权利要求11所述的网络管理系统装置,其中,所述第一装置管理协议包括网络配置(NETCONF)协议,其中,所述第一子事务指示第一子事务标识符并且所述第一响应元件指示所述第一子事务标识符,其中,所述第二子事务指示第二子事务标识符并且所述第二响应元件指示所述第二子事务标识符,并且其中,所述网络装置通过发布urn:ietf:params:网络配置:能力:并发事务:1.0来指示对具有所述第一子事务以及所述第二子事务的所述事务的支持;以及
其中,所述第二装置管理协议包括YANG模型,并且其中,为了转换所述应用级配置,所述装置配置管理器被配置为:使用所述YANG模型将所述应用级配置的与第一多路复用器标识符对应的第一应用级配置变更转换为所述第一配置变更,并且使用所述YANG模型将所述应用级配置的与第二多路复用器标识符对应的第二应用级配置变更转换为所述第二配置变更。
13.根据权利要求12所述的网络管理系统装置,
其中,所述网络装置是与所述网络的多个网络装置连接的集线器网络装置;
其中,所述第一多路复用器标识符包括用于所述集线器网络装置的集线器名称和第一标识符值;以及
其中,所述第二多路复用器标识符包括所述集线器名称和第二标识符值。
14.根据权利要求12所述的网络管理系统装置,
其中,所述网络装置是与用于第一租户的一个或多个网络装置以及用于第二租户的一个或多个网络装置连接的集线器网络装置;
其中,所述第一多路复用器标识符包括用于所述集线器网络装置的集线器名称以及用于所述第一租户的第一租户标识符;以及
其中,所述第二多路复用器标识符包括所述集线器名称以及用于所述第二租户的第二租户标识符。
15.根据权利要求10所述的网络管理系统装置,其中,所述装置配置管理器进一步被配置为:
响应于接收包括指定所述第一配置变更在所述网络装置处成功提交的所述第一响应元件的所述应答消息,更新用于所述网络的配置数据以包括所述第一配置变更;以及
响应于接收包括指定所述第二配置变更在所述网络装置处未成功提交的所述第二响应元件的所述应答消息,对更新用于所述网络的所述配置数据以包括所述第二配置变更进行制止。
16.根据权利要求10至15中任一项所述的网络管理系统装置,其中,所述配置变更请求是第一配置变更请求,其中,所述事务是第一事务,其中,所述应答消息是第一应答消息,其中,所述网络装置是第一网络装置,其中,所述装置配置管理器进一步被配置为:
根据所述装置管理协议来生成表示第二事务的第二配置变更请求,所述第二事务指定用于所述网络的第二网络装置的一批配置变更;
将所述第二配置变更请求输出到所述第二网络装置;以及
响应于接收指定所述一批配置变更在所述网络装置处未成功提交的第二应答消息,将所述一批配置变更划分成第一子组的一个或多个配置变更以及第二子组的一个或多个配置变更。
17.根据权利要求16所述的网络管理系统装置,其中,基于所述第二应答消息中指示的错误消息来划分所述一批配置变更。
18.根据权利要求16所述的网络管理系统装置,其中,所述装置配置管理器进一步被配置为:
根据所述装置管理协议来生成表示第三事务的第三配置变更请求,所述第三事务指定用于所述第二网络装置的所述第一子组的一个或多个配置变更;以及
将所述第三配置变更请求输出到所述第二网络装置。
19.一种由网络的受管理装置执行的方法,所述方法包括:
由所述受管理装置的处理电路从网络管理系统接收表示具有多个子事务的事务的配置变更请求,其中,所述多个子事务中的每个子事务指定用于所述受管理装置的一个或多个相应配置变更;
针对所述多个子事务中的每个子事务,由所述处理电路在所述受管理装置处选择性地安装所述一个或多个相应配置变更;
由所述处理电路基于所述选择性地安装来构造应答消息,其中,所述应答消息包括针对所述多个子事务中的每个子事务的相应响应元件,所述相应响应元件指示所述受管理装置在所述受管理装置的运行配置中是否提交了所述一个或多个相应配置变更;以及
由所述处理电路将所述应答消息输出到所述网络管理系统。
20.根据权利要求19所述的方法,
其中,选择性地安装包括:将由所述多个子事务中的特定子事务指定的一个或多个配置变更应用于所述运行配置;以及
其中,构造所述应答消息包括:响应于确定所述受管理装置在所述运行配置中提交了所述一个或多个相应配置变更,生成针对所述特定子事务的肯定响应元件。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862711081P | 2018-07-27 | 2018-07-27 | |
US62/711,081 | 2018-07-27 | ||
US16/116,725 | 2018-08-29 | ||
US16/116,725 US11323320B2 (en) | 2018-07-27 | 2018-08-29 | Concurrent transactions on NETCONF devices across network services |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110784333A true CN110784333A (zh) | 2020-02-11 |
CN110784333B CN110784333B (zh) | 2022-08-19 |
Family
ID=66826830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910579499.9A Active CN110784333B (zh) | 2018-07-27 | 2019-06-28 | 跨网络服务的有关网络配置协议装置的并发事务 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11323320B2 (zh) |
EP (2) | EP4221123A1 (zh) |
CN (1) | CN110784333B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11323320B2 (en) | 2018-07-27 | 2022-05-03 | Juniper Networks, Inc. | Concurrent transactions on NETCONF devices across network services |
US10862758B2 (en) * | 2019-01-02 | 2020-12-08 | Hewlett Packard Enterprise Development Lp | Generation of network configuration and configuration commands for impacted nodes of a software defined wide area network |
US20220294692A1 (en) * | 2021-03-09 | 2022-09-15 | Ciena Corporation | Limiting the scope of a declarative configuration editing operation |
US11909574B2 (en) * | 2021-06-01 | 2024-02-20 | Ciena Corporation | Grouping configuration-modifying transactions from collaborating agents |
CN116661784B (zh) * | 2023-06-01 | 2024-05-07 | 北京首都在线科技股份有限公司 | 页面配置方法和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8248958B1 (en) * | 2009-12-09 | 2012-08-21 | Juniper Networks, Inc. | Remote validation of network device configuration using a device management protocol for remote packet injection |
US20130346574A1 (en) * | 2012-06-26 | 2013-12-26 | Juniper Networks, Inc. | Filtering within device management protocol queries |
US9094299B1 (en) * | 2013-01-08 | 2015-07-28 | Juniper Networks, Inc. | Auto-generation of platform-independent interface and operational scripts for configuring network devices |
CN105262698A (zh) * | 2015-10-28 | 2016-01-20 | 华为技术有限公司 | 一种负载分担的方法、装置和系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020116485A1 (en) * | 2001-02-21 | 2002-08-22 | Equipe Communications Corporation | Out-of-band network management channels |
US6633835B1 (en) * | 2002-01-10 | 2003-10-14 | Networks Associates Technology, Inc. | Prioritized data capture, classification and filtering in a network monitoring environment |
US7702739B1 (en) * | 2002-10-01 | 2010-04-20 | Bao Tran | Efficient transactional messaging between loosely coupled client and server over multiple intermittent networks with policy based routing |
US20060123103A1 (en) | 2004-12-08 | 2006-06-08 | Cisco Technology, Inc. | Communicating network management information using session initiation protocol architecture |
US8335171B1 (en) * | 2009-09-29 | 2012-12-18 | Juniper Networks, Inc. | NETCONF-enabled provisioning in rollback agnostic environment |
EP2690828B1 (en) * | 2011-03-23 | 2017-08-30 | Panasonic Corporation | Station, target apparatus, initiator apparatus, communication system, and communication method |
US10756945B2 (en) * | 2016-05-11 | 2020-08-25 | Cisco Technology, Inc. | Virtualized network management protocols |
US11323320B2 (en) | 2018-07-27 | 2022-05-03 | Juniper Networks, Inc. | Concurrent transactions on NETCONF devices across network services |
-
2018
- 2018-08-29 US US16/116,725 patent/US11323320B2/en active Active
-
2019
- 2019-06-07 EP EP23171072.4A patent/EP4221123A1/en active Pending
- 2019-06-07 EP EP19178993.2A patent/EP3599741B1/en active Active
- 2019-06-28 CN CN201910579499.9A patent/CN110784333B/zh active Active
-
2022
- 2022-03-29 US US17/657,126 patent/US11979281B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8248958B1 (en) * | 2009-12-09 | 2012-08-21 | Juniper Networks, Inc. | Remote validation of network device configuration using a device management protocol for remote packet injection |
US20130346574A1 (en) * | 2012-06-26 | 2013-12-26 | Juniper Networks, Inc. | Filtering within device management protocol queries |
US9094299B1 (en) * | 2013-01-08 | 2015-07-28 | Juniper Networks, Inc. | Auto-generation of platform-independent interface and operational scripts for configuring network devices |
CN105262698A (zh) * | 2015-10-28 | 2016-01-20 | 华为技术有限公司 | 一种负载分担的方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110784333B (zh) | 2022-08-19 |
US11979281B2 (en) | 2024-05-07 |
EP3599741A1 (en) | 2020-01-29 |
US20220263714A1 (en) | 2022-08-18 |
EP4221123A1 (en) | 2023-08-02 |
US20200036589A1 (en) | 2020-01-30 |
EP3599741B1 (en) | 2023-05-03 |
US11323320B2 (en) | 2022-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110784333B (zh) | 跨网络服务的有关网络配置协议装置的并发事务 | |
EP3700132B1 (en) | Supporting compilation and extensibility on unified graph-based intent models | |
US11922162B2 (en) | Intent-based, network-aware network device software-upgrade scheduling | |
EP3716534B1 (en) | Supporting near real time service level agreements | |
EP3716532B1 (en) | Supporting concurrency for graph-based high level configuration models | |
EP3620920B1 (en) | Dynamic intent assurance and programmability in computer networks | |
US10200248B1 (en) | Translating high-level configuration instructions to low-level device configuration | |
US11736410B1 (en) | Synchronizing device resources for element management systems | |
EP3754905B1 (en) | Programmable configlets through opaque intents in graph based intent controllers | |
US11489724B1 (en) | Processing instructions to configure a network device | |
EP3952212B1 (en) | Using a programmable resource dependency mathematical model to perform root cause analysis | |
US11792069B2 (en) | Processing instructions to configure a network device | |
US10380184B1 (en) | Efficiently generating configuration operations for network devices | |
US11700181B2 (en) | Topology compiler for network management system | |
EP4160394A1 (en) | Decentralized software upgrade image distribution for network device upgrades |
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 | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Juniper Networks, Inc. Address before: California, USA Applicant before: Jungle network |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |