CN113475040A - 通过从棕地部署进行推断来获知 - Google Patents
通过从棕地部署进行推断来获知 Download PDFInfo
- Publication number
- CN113475040A CN113475040A CN202080016293.6A CN202080016293A CN113475040A CN 113475040 A CN113475040 A CN 113475040A CN 202080016293 A CN202080016293 A CN 202080016293A CN 113475040 A CN113475040 A CN 113475040A
- Authority
- CN
- China
- Prior art keywords
- configuration
- templates
- template
- matching
- brown
- 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
- 238000000034 method Methods 0.000 claims abstract description 40
- 239000004744 fabric Substances 0.000 claims description 28
- 238000003339 best practice Methods 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 abstract description 28
- 230000008569 process Effects 0.000 abstract description 13
- 238000003909 pattern recognition Methods 0.000 abstract description 7
- 238000007726 management method Methods 0.000 description 32
- 230000015654 memory Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
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
-
- 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/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
- H04L41/0661—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
-
- 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/0866—Checking the configuration
- H04L41/0873—Checking configuration conflicts between network elements
-
- 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/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- 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/0893—Assignment of logical groups to network elements
-
- 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/0894—Policy-based network configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本技术提供了一种系统、方法和计算机可读介质,用于通过可扩展策略框架进行针对具有现有配置的设备的配置模式识别和推断。该策略框架使用Python模板逻辑和CLI微模板的混合作为掩膜,以在自下而上的获知推断过程中推断现有设备配置背后的意图。针对设备/网络标识符和地址以及其他资源的唯一值被提取并解释。基于可扩展框架定义中内置的特定策略来检查结构内的设备的一致性。发现的任何不一致都会被标记以用于用户更正或由网络控制器进行自动修复。这种动态配置模式识别能力允许结构在不被破坏和重新创建的情况下增长,因此具有现有配置的新设备可以被添加并被自动配置以增长棕地结构。
Description
相关申请的交叉引用
本申请要求于2019年2月25日提交的、题为“LEARNING BY INFERENCE FROMBROWNFIELD DEPLOYMENTS”(通过从棕地部署进行推断来获知)的美国非临时专利申请No.16/283,958的权益和优先权,该专利申请的内容通过引用以其整体明确地并入本文。
技术领域
本技术涉及用于将网络设备迁移到新的管理平台上的系统和方法。更具体地,它涉及将自动化结构管理平台扩展到棕地(Brownfield)(先前部署的)设备。
背景技术
在联网时,绿地部署(greenfield deployment)可以指,在之前没有网络存在于例如新办公室中的情况下对网络的安装和配置。相比之下,棕地部署(brown deployment)可以是指对现有网络的升级或添加,并且可以使用一些遗留组件。因此,网络行业中的棕地(结构)部署可以是指在存在现有(遗留)的配置和/或软件应用/系统的情况下,需要开发和部署新的配置和/或软件系统的问题空间。通常,网络结构的特征在于一组经一致配置的单独网络设备,使得它们的集体操作/行为类似于单个逻辑系统的操作/行为。例如,可以通过使用命令行界面(CLI)、脚本和/或应用程序界面(API)来完成构建结构所需的设备配置。从历史上看,与计算系统交互的最常见方法是命令行界面(CLI)。然而,由于CLI与网络相关,所以它一直是传统网络管理的一种非常手动的方法,该方法涉及逐行部署和管理设备配置。然而,这种方法可能不足以支持现代网络的大规模部署和管理要求。
附图说明
为了描述可以获得本公开的上述和其他优点和特征的方式,将通过参考附图中示出的其具体实施例来对上面简要描述的原理进行更具体的描述。应理解,这些附图仅描绘了本公开的示例性实施例,并且因此不被认为是对其范围的限制,本文的原理通过使用附图以额外的特性和细节来被描述和解释,其中:
图1示出了根据本技术的一些实施例的示例微模板。
图2示出了根据本技术的一些实施例的以依赖关系为特征的微模板的示例。
图3示出了根据本技术的一些实施例的在对(从设备运行配置确定的)设备配置背后的意图进行自动推断/获知中所涉及的操作步骤的示例流程图。
图4示出了根据本技术的一些实施例的示例网络设备。
图5示出了根据本技术的一些实施例的计算设备的示例架构。
具体实施方式
下面详细讨论本公开的各种示例实施例。尽管讨论了特定实现方式,但是,应当理解,仅出于示例性目的而这样做。相关领域的技术人员将认识到,在不脱离本公开的精神和范围的情况下可以使用其他组件和配置。因此,以下描述和附图是说明性的并且不应被解释为限制性的。描述了许多具体细节以提供对本公开的透彻理解。然而,在某些情况下,为了避免混淆描述,没有描述众所周知的或传统的细节。本公开中对一个实施例或一实施例的引用可以指代同一实施例或任一实施例;并且,这样的引用意味着至少一个实施例。
对“一个实施例”或“一实施例”的引用是指结合该实施例描述的特定特征、结构或特性包括在本公开的至少一个实施例中。说明书中各处出现的短语“在一个实施例中”不一定都是指同一实施例,也不是与其他实施例相互排斥的单独或替代实施例。此外,描述了可以由一些实施例而不是由其他实施例展示的各种特征。
在本说明书中使用的术语在本公开的上下文中以及在使用每个术语的特定上下文中通常具有它们在本领域的普通含义。替代语言和同义词可用于本文中讨论的任何一个或多个术语,并且不应特别重视是否在本文中阐述或讨论了一个术语。在某些情况下,提供了某些术语的同义词。对一个或多个同义词的记载不排除使用其他同义词。本说明书中任何地方对示例(包括本文讨论的任何术语的示例)的使用,仅是说明性的,并不旨在进一步限制本公开或任何示例术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。
在不意图限制本公开的范围的情况下,下面给出了根据本公开的实施例的仪器、装置、方法及其相关结果的示例。需要注意的是,为了方便读者,在示例中可以使用标题或副标题,这绝不应该限制本公开的范围。除非另有定义,否则本文使用的技术和科学术语具有本公开内容所属领域的普通技术人员通常理解的含义。在发生冲突的情况下,以本文件(包括定义)为准。
本公开的附加特征和优点将在随后的描述中阐述,并且部分地从描述中将是显而易见的,或者可以通过实践本文公开的原理而获知。本公开的特征和优点可以通过所附权利要求中特别指出的仪器和组合来实现和获得。本公开的这些和其他特征将从以下的描述和所附权利要求中变得更加显而易见,或者可以通过实践本文阐述的原理而获知。
概述
公开了系统、方法和非暂态计算机可读存储介质,用于通过如下操作来自动获知/推断设备配置意图:使用一系列系统定义的配置模板以匹配设备运行配置的相应部分,并从中提取相关资源名称和值。所公开的技术的各方面还涉及使用基于高级编程语言的模板来推断与设备运行配置的各种配置组件相关联的更高阶关系。
根据本技术的一方面,一种方法包括:提供多个配置模板,用于基于与多个配置模板中的每一个相关联的一个或多个匹配判据来匹配棕地设备现有配置的一个或多个方面;该方法还包括:使用从棕地设备现有配置的匹配部分中检索到的相应参数值来实例化与多个配置模板中的每一个相关联的一个或多个变量,从而创建一个到多个模板实例;对照已知结构策略来验证一个或多个模板实例中的每一个以生成一个或多个策略模板实例,以及存储与设备现有配置相关联的一个或多个策略模板实例,作为设备预计配置的表现形式。
在本技术的一些实施例中,用于匹配棕地设备的现有配置的一个或多个方面的多个配置模板可以由网络管理服务来生成。网络管理服务可以被实现为数据中心网络管理器的一部分。此外,多个配置模板可以包括一个或多个命令行界面(CLI)配置模板。多个配置模板还可以包括一个或多个Python模板,用于推断棕地设备的预期操作的更高阶方面。
在本技术的一些实施例中,可以在一个或多个配置模板实例与已知结构策略和/或最佳实践之间发生冲突的情况下生成警报。根据本技术的一些实施例,可以将一个或多个配置语句添加到预计设备配置,以便使该预计设备配置符合一个或多个结构最佳实践策略和完整性要求。更新并确认设备预计配置的表现形式可以是响应于一个或多个用户输入而进行的。
根据本技术的一个方面,一种系统,包括:一个或多个处理器和至少一个具有所存储的指令的计算机可读存储介质,这些指令在由一个或多个处理器执行时,使得一个或多个处理器执行以下操作:检索针对一个或多个棕地设备的运行配置,该一个或多个棕地设备被指定用于部署到结构上;基于与多个模板中的每一个相关联的一个或多个匹配判据来匹配运行配置的一个或多个方面;使用从棕地设备配置的匹配部分中检索到的一个或多个相应参数值来实例化用于多个模板中的每一个的一个或多个模板变量,从而创建一个到多个模板实例;对照已知结构策略来验证一个或多个模板实例中的每一个;以及存储与设备配置相关联的一个或多个经验证的模板实例,作为与设备配置相关联的意图的表现形式。
根据本技术的一个方面,至少一种非暂态计算机可读存储介质包括所存储的指令,这些指令在由一个或多个处理器执行时,使一个或多个处理器执行以下操作:检索针对一个或多个棕地设备的运行配置,该一个或多个棕地设备被指定用于部署到结构上;基于与多个模板中的每一个相关联的一个或多个匹配判据来匹配运行配置的一个或多个方面;使用从棕地设备配置的匹配部分中检索到的一个或多个相应参数值来实例化用于多个模板中的每一个的一个或多个模板变量,从而创建一个到多个模板实例;对照已知结构策略来验证一个或多个模板实例中的每一个;以及存储与设备配置相关联的一个或多个经验证的模板实例,作为与设备配置相关联的意图的表现形式。
当今,当在构建网络时,起点通常是向网络添加控制器,并且然后围绕该控制器构建网络,从而使得控制器能够随着网络逐设备、逐策略地被构建而获知网络架构以及每个网络组件的预期目的和功能,并能够以一种使得控制器能够以自动化方式来管理网络的方式对知识进行集成。将控制器添加到手动构建的网络将需要从头开始重新构建网络,这不是一种理想的方法。本公开描述了一种基于如下机制来将现有(先前配置的)设备装载到受管理/受控平台上的替代方法:该机制用于推断和同化(assimilate)与现有网络配置相关联的意图(即,通过使用模式识别以及其他相关推断技术)并对控制器系统中的推断行为进行建模。因此,本技术的一些实施例提供了一种改进的棕地结构部署,其中网络控制器或管理实体可以获知或推断现有网络的意图,使得它可以继续操作网络,就好像它是从头开始构建的一样。这种方法允许结构增长而无需使用控制器来拆开和重新创建网络,并允许新的绿地设备被轻松添加并被自动配置以增长棕地结构。可能需要获知设备配置背后的意图,以识别和纠正与(设备正在迁移到的)结构平台的规则和策略的任何潜在冲突。从而促进设备配置的最佳平台兼容版本的创建和部署。还可能需要结构相关资源和设备信息的经更新且准确的清单,以促进对结构的任何未来修改。
用于与受管理设备进行交互和实现机器到机器状态同步的一种通用机制是命令行界面(CLI)。CLI提供了一种简洁的格式,用于查看和更改设备配置。然而,这种方法不太适合允许用户跨一组单独的元件或整个网络来一致地部署配置。一种补救方法可能是使用CLI配置模板。模板的使用为用户以非常简洁的方式可重复地配置网络设备提供了一种可定制的方式。CLI模板是一组可重复使用的设备配置命令,其能够参数化配置的选择元素以及添加控制逻辑语句。例如,数据中心控制器可以使用这种(CLI)配置模板以通过以下操作来生成设备可部署配置:用实际值代替经参数化的元素(变量)并评估控制逻辑语句。这可能证明对绿地部署很有用,其中新的绿地设备(没有预先存在的操作配置)被集成到结构上。针对这种情况,可以使用例如一组配置模板来创建新的、适用结构的配置并将其部署到绿地设备上。这可以由网络控制器以编排的方式来执行,从而增加了可靠性并降低了运营费用。在存在棕地设备(具有预先存在的操作配置的、被重新部署到新的管理平台上的设备)的情况下,编排过程可能变得具有挑战性。棕地设备的编排所涉及的问题之一是识别和说明预先配置的资源(IP地址、ID等),以及验证可能存在的结构变体的配置一致性。一旦网络控制器获知包括相关资源值的现有设备配置,就可以自信地生成和部署新的适用结构的配置。使用配置模板实现这一目标的挑战在于,模板历来是一次性工具,支持单向信息流。这意味着尽管模板在从头开始构建配置或向设备提供新的配置信息时可能有用(并且在历史上曾被使用过),但它们传统的使用方法不允许通过模式识别和推断从现有设备配置中提取或收集信息。
结构的巨大可变性可能进一步加剧模式识别和推断的问题。通过本技术的涉及如下网络管理服务/系统的一些实施例来解决上述问题:该网络管理服务/系统能够通过可扩展的策略框架提供模式识别和推断功能。根据一些实施例的可扩展策略框架使用软件模板逻辑和CLI微模板的混合作为掩膜(mask)来推断先前部署的设备配置背后的意图(管理系统可以使用不同的掩膜来推断设备配置的不同方面背后的意图)。以这种方式,IP地址和其他资源的唯一值可以被提取和解释,同时可以基于内置在可扩展框架定义中的特定“策略”来检查结构内设备的一致性。一旦获知一致的结构,可以不需要或建议进一步更改,但如果发现不一致,则可以标记问题并建议补救。
这样,本技术的实施例提供了自动获知设备的网络相关配置背后的意图,并记录和跟踪新的网络资源名称、标识符、地址和其他相关参数和属性。
根据本技术的一些实施例,网络控制器通过以下方式来从现有设备配置中获知棕地设备的预期目的和功能:使用与结构策略框架相关联的配置(微)模板或者预计的配置来解析和分析设备配置。例如,可以通过以下方式来获知现有配置背后的用户意图:将设备运行配置的各个部分对照一个或多个控制器/管理员定义的配置模板进行匹配,直到配置意图被完全映射出并被获知为止。解析过程可以捕获以下两者:配置模板(其可以用于结构内的特定目的),以及任何相关联的用户指定的参数和值。设备意图对照结构意图被验证并且被存储为策略模板实例(PTI)。如果发现冲突,则可以生成错误。
(微)模板可以被视为可变配置块,其中的每一个与设备运行配置的一方面匹配。网络管理服务可以从配置模板生成通用配置语句,以便匹配设备的当前运行配置。模板生成的配置表达式然后可以用作掩膜,以识别设备运行配置中的匹配配置模式。当找到设备运行配置中与特定模板生成的配置表达式相匹配的部分时,网络管理服务可以从设备运行配置的相关部分中提取相关的网络相关参数值和其他关键信息。然后可以对照结构策略和操作标准来检查所提取的信息的一致性。这种动态模式识别能力允许获知和统计(例如)通过链路的IP地址、ID和子网。一旦获知了寻址信息,就可以在稍后创建的新的链路上执行子网的自动分配。
根据本技术的一些实施例,网络管理服务或控制器可以将经由诸如思科发现协议(Cisco Discovery Protocol,CDP)之类的网络发现机制而获知的物理拓扑信息与所提取的设备配置参数值进行组合,以推断促进编排所需的、针对设备的基线配置。一旦控制器获知了针对设备的基线配置,设备的结构部署和管理就可以以(与新设备部署的方式大致相同的)完全自动化的方式进行,其中所有网络相关信息都可以由网络控制器在设备中进行配设。
根据本技术的一些实施例,使具有预先存在的配置的设备符合结构的规则和策略所需的任何配置更改可以由网络管理实体(即,数据中心网络管理器(DCNM))识别并被自动生成和部署到设备上。
网络管理服务可以从模板生成一个或多个通用配置表达式并且随后遍历从棕地设备提取的配置文件,以便识别与模板生成的表达式的匹配。在发现匹配时,网络管理服务可以从设备运行配置的匹配部分中提取相关参数值,例如接口/主机名、IP地址和其他标识标签。网络管理服务然后可以将获知的配置块对照定义的结构规范和标准进行比较,例如,以确保分配的IP地址的唯一性以及在(模板中所指示的)获知的端口与物理/逻辑链路的另一侧上的端口的IP地址连接性方面的一致性。
图1示出了根据本技术的一些实施例的示例配置模板102。示例配置模板102由三个通用部分组成,即,模板属性部分104、模板变量(参数)部分106和模板内容部分108。模板属性部分提供基本模板信息或元数据,例如,描述性模板名称(即,port-channel_trunk_interface)、支持所提供的配置的平台列表(即,N9K)、模板类型(即,POLICY模板)和子类型(即,INTERFACE PORT CHANNEL)。示例配置模板102的模板属性部分104还包括具有假(“false”)值的“UserDefined”语句,该假值表明模板不是用户创建的。模板属性部分所提供的信息可以用作模板标签,来基于所分配的标签促进对模板进行的分组或缩小从模板清单中搜索期望的配置模板的范围。例如,模板属性部分104中的模板类型和子类型语句将模板与策略相关配置相关联,以用于将设备接口配置作为端口通道,该端口通道是通过聚合多个物理接口而创建的逻辑接口。
配置模板通常用作一种通过用实际值替换参数化元素(变量)并评估控制逻辑语句来生成和复制设备可部署配置的工具。因此,配置模板的关键组件可以是变量部分,该变量部分包含一个或多个声明的变量,以及相关联的数据类型、默认值以及针对被用在模板中的变量参数的一个或多个有效值条件。这些声明的变量可以在模板的执行期间用于模板内容部分中的值替换。例如,示例配置模板102的变量部分106提供单个变量参数INTF_NAME,以用数据类型接口的输入来实例化。为配置模板102的模板变量部分106指定的验证条件要求所提供的接口标识符值对应于这样的设备接口:针对该设备接口,“显示名称(DisplayName)”和“描述(Description)”验证属性分别被设置为“端口通道接口(PortChannel Interface)”和“端口通道中继接口(Port Channel Trunk Interface)”。
根据本技术的一些实施例,从设备上的运行配置中提取相关标识符和地址参数(从而促进推断现有设备配置背后的意图)可以通过将多个配置模板反向映射到设备运行配置来完成。例如,在模板102的变量部分106中,预定义的模板变量INTF_NAME被分配以从设备运行配置的与如下接口相关联的部分中提取的接口标识符值:该接口具有针对“显示名称”和“描述”属性的匹配值(即,显示名称值为“端口通道接口”并且描述值为“端口通道中继接口”)。参考图1的示例中的部分110,从运行配置的与针对模板102中指定的接口数据类型的“显示名称”和“描述”的验证条件相匹配的部分中提取与端口通道1(port-channel1)相对应的接口标识符值。
模板内容部分可以包括一个或多个配置命令以及要包括在模板中的任何参数。模板内容可以包括静态以及可变配置表达式。可变配置表达式可以包括模板变量部分中所声明的变量。在模板执行过程中,这些声明的变量可以用作模板的参数,以用于模板内容部分中的值替换。可以在模板内容中适当地替换变量值。这些参数值连同模板内容的静态部分构成模板实例,该模板实例是通过反向模板过程而获知的。与示例配置模板102相关联的模板实例112在图1中示出。
某些配置选项可以具有依赖关系,使得如果所有需要的选项没有都通过协议模块被使能,则操作将无法完成。可以在配置模板本身内明确指定此类依赖关系,从而指导编排行为。例如,模板内容部分可以指定需要存在额外的配置才能正常运行的配置块。一个简单的示例是需要功能使能的配置。一个稍微复杂的示例可能涉及需要其他配置的配置。图2中的模板202提供了这种情况的示例。
参考图2中的示例(配置)模板202,在属性部分204中提供的元数据将模板描述为用于以太网接口的策略类型模板,该以太网接口被实现为抽象接口。也被指定在属性部分204中的依赖关系字段指定了模板定义的配置为了能正确实施而依赖的特征的列表—例如,与模板202相关联的配置需要中间系统到中间系统(ISIS)路由和IP多播通信两者均被使能。还指定了对不同配置模板(即模板:vxlan-multicast)的附加依赖性。
在模板变量部分206中提供了一组与模板202一起使用的可变参数,以及用于每个变量的相关联的验证判据和数据类型。如模板变量部分206中所示,为配置模板202指定的可变参数包括:接口标识符参数(interface INTF_NAME)(作为直接关联且强制的参数而被验证)、接口IP地址和前缀参数(ipV4AddressWithSubnet IP)(作为显示名称值为“IPAddress/Prefix(IP地址/前缀)”的强制参数而被验证)、以及中间系统到中间系统(IS-IS)路由过程标签(字符串ISIS_TAG)(作为显示名称值为“ISIS Process Tag(ISIS过程标签)”的强制参数而被验证)。如上所述,可以从设备运行配置的与模板中声明的每个变量相关联的验证判据相匹配的相应部分中提取针对模板指定可变参数的设备特定值,以作为模板输入(207)。通过将模板202反向映射到设备运行配置上而提取的模板输入(207)对应于具有IP地址“192.168.1.1/26”和ISIS过程标签“174”的接口标识符“Ethernet 1/3”(以太网1/3)。这些参数值连同模板内容部分208中的配置语句构成模板实例212,该模板实例212是通过反向模板过程而获知的。
一种用于根据一个或多个策略模板实例来推断设备配置背后的意图的算法可以在诸如数据中心网络管理器(DCNM)之类的网络管理应用上运行。DCNM可以是位于网络旁边的独立的产品,具有到结构的管理网络(带内或带外)的IP连接性。DCNM可以在每个设备被带入结构时获取该设备的配置文件,并通过以下方式来获知设备配置背后的意图:以不同粒度通过多个匹配模板来过滤配置文件,直到完整的设备配置被获知为止。如果在所获知的设备配置中识别出与结构相关意图的任何配置错误或配置失配/冲突,DCNM就可以阻止设备进受控管理结构。一旦识别出的矛盾得到解决,设备就可以被允许加入受控管理结构。
DCNM从例如模板数据库检索单独的模板,并从运行设备配置的与每个所选模板相匹配的各方面提取相关联的参数值,从而生成一个或多个预计的配置行。对要应用于推断任务的模板的选择可以基于特定的结构定义和策略。DCNM然后可以交叉检查所生成的配置表达式,以确保配置与结构策略的一致性以及设备本身内部的一致性。如果DCNM发现与结构策略和标准没有冲突,则可以将所生成的配置存储作为策略模板实例(PTI),该所生成的配置包括补充有所提取参数值的模板内容。DCNM验证所推断的设备运行配置并确保预计(验证)的配置位于每个单独的设备上。此外,DCNM可以识别所推断/获知的设备配置中可能缺少的与结构最佳实践和完整性要求相关的配置语句(即,通过在现有配置和预计的配置之间执行差异操作)并将所需的配置语句部署到设备上,从而使设备完全符合结构最佳实践和完整性要求。
如所描述的,每个模板可以代表设备配置的不同方面。根据本技术的一些实施例,系统内可以存在两种类型的模板。命令行界面(CLI)模板,其用作提取针对设备配置的每个方面的相关参数值的掩膜/筛子;以及更高级别的模板(脚本化模板,例如,使用如Python之类的通用编程语言),其可以包含执行聚合和发现各种模板之间的相互关系所需的附加逻辑。例如,控制器可以将CLI微模板应用于棕地设备的现有配置以提取在棕地设备上配置的接口IP地址,并且然后将一个或多个Python模板(其可以包括额外的关联智能)应用到该棕地设备的现有配置,以确定与所提取的IP地址相关联的相互连接性简档。
如所描述的,除了用于推断设备配置的各个组件之间的更高阶关系的更高级别的模板(即,一个或多个Python脚本化模板)之外,本技术的一些实施例可以涉及用于提取诸如网络/设备地址、标识符和/或标签之类的信息的一个或多个CLI模板。在另一示例中,从设备配置的嵌套层次结构的角度来看,交换机上的端口通道的概念表示将若干物理端口一起逻辑捆绑到一个逻辑通道中。在这种情况下,除了与包含上述各个接口的逻辑接口束相关联的配置特征之外,还可以存在特定于各个接口的配置特征。作为提取层次结构的示例,单独的CLI(微)模板可以表示每个单独接口的设备配置的各方面,而父Python(parentPython)模板可以表示经捆绑逻辑接口(端口通道接口)上的微模板之间的相互关系。然后可以将相同的捆绑过程应用于聚合到虚拟端口通道中的多个端口通道。在那种情况下,为每个物理成员端口以及在包括端口通道的各个物理成员端口之间建立配置一致性。此外,还为每个端口通道以及在捆绑到虚拟端口通道中的各个端口通道之间建立了配置一致性。因此,DCNM可以执行层次结构反向映射,直到完整的配置块被提取和获知为止。
根据本技术的一些实施例,DCNM系统可以基于给定的结构定义来选择用于获知设备配置的模板。因此,表征结构的类型和行为的特定特征可以被用作确定选择哪组模板来获知棕地部署的设备配置的标准。例如,当将设备置于DCNM的管理之下时,用于匹配设备配置的特定模板可以取决于:结构接口编号方案是点对点还是未编号的IP,底层链路状态协议是OSPF还是ISIS,结构所使用的复制模式是多播还是入口等。用于给定类型结构的结构模板内的基本规则可以用于确定选择哪个模板列表作为掩膜以推断现有运行设备配置背后的意图。例如,对于以太网VPN虚拟可扩展LAN(EVPN VXLAN)结构,存在一些关键参数,例如,为了在结构内适当共享路由而在结构设备之间一致配置的特定自治系统编号(ASN)。此外,结构上的设备之间的相关链路具有点对点IP连接,并且底层路由共享机制可以被指定为开放最短路径优先(OSPF)或中间系统到中间系统(ISIS)。
根据本技术的一些实施例,例如在DCNM上运行的网络管理服务可以通过以下结构模板来实现结构配置:该结构模板可以结合旨在为一个或多个结构设定提供值的一个或多个用户输入。用户提供的结构设定可以包括例如边界网关协议自治系统编号,结构底层路由协议的规范,底层针对广播、未知单播和多播(Broadcast,Unknown unicast andMulticast,BUM)业务是使用多播还是入口复制,以及如底层IP地址池之类的资源。在一些实施例中,可以向结构模板的一个或多个字段提供默认值,这些默认值可以被一个或多个用户提供的值覆盖。结构设定反映了结构范围内的用户意图。
一旦结构定义就位,网络管理服务可以响应于一个或多个用户输入而启动将一个或多个棕地设备(叶和脊)导入到结构上。在棕地导入的情况下,如用户输入所表明的,网络管理服务尝试通过解析和分析设备运行(现有)配置来获知用户意图。那些作为棕地部署的一部分的设备可以置于“迁移模式”下,直到所有的意图被获知为止。可以响应于例如经由GUI动作按钮输入的用户输入而启动获知过程。此时,补充有网络管理服务的DCNM可以检索每个设备上的运行/现有配置。DCNM可以通过解析和分析设备现有配置来获知设备运行配置背后的意图,其中,根据一些实施例,对设备现有配置的解析和分析可以通过将设备运行配置对照多个配置模板进行匹配来实现。解析过程捕获匹配模板(其可以用于结构中的特定目的)以及变量参数值(称为意图)两者。DCNM然后可以对照结构意图来验证所推断的设备(配置)意图,并将经验证的设备意图(预计的配置)存储为一个或多个策略模板实例(PTI)。如果发现冲突,可以生成错误。
一旦现有配置被获知,DCNM可以通过向设备添加与结构最佳实践策略(最佳实践完整性)相关联的一个或多个配置语句来补充/完成设备预计配置。例如,运行网络管理服务的DCNM可以从交换机运行配置和结构拓扑中推断结构接口,该交换机运行配置和结构拓扑可以经由思科发现协议(Cisco Discovery Protocol,CDP)或链路层发现协议(LLDP)而获知。如果在结构设定/定义中指定了特定特征或功能,但在设备配置中缺少该特定特征或功能,则DCNM会将所需配置部署到(一个或多个)相关联的设备以实现结构意图。作为另一示例,如果用户在结构设定中已经指示了结构在结构接口上启用双向转发检测(BFD),则DCNM将通过向结构接口配置意图添加双向转发检测配置来完成结构接口配置意图。
DCNM可以定位资源信息,例如,用于结构接口、环回接口的IP地址,以及来自所获知的PTI的虚拟端口通道(VPC)、结构扩展器(FEX)和端口通道的标识符。这些资源可以被记录在DCNM资源管理器中以进行跟踪和管理,这些资源还与获知它们的PTI相关联。资源获知部分确保DCNM在未来的自动修改期间不会分配冲突的资源。此时,还可以检测到设备的任何现有错误配置(例如,重复的IP)。
从所获知的PTI,DCNM可以推断设备是否具有VPC对等设备,并会相应地针对拓扑显示来设置VPC配对。在另一示例中,DCNM可以从所获知的PTI推断不同的设备角色和功能(即,哪些设备用作BGP路由反射器(RR),以及哪些设备用作底层多播集合点(RP))。当未来的绿地设备被添加到同一结构时,该信息可以被存储并用于生成配置。
可以为结构中的每个设备生成表示配置意图的PTI,以作为获知设备现有配置和生成预计(适用结构)的设备配置的一部分。然后可以将设备移出“迁移模式”。如果需要额外的配置命令来实现结构最佳实践的完整性,则DCNM可以生成所需的配置并将其直接部署到设备上。
在本技术的一些实施例中,DCNM可以使一个或多个PTI对用户可见并且提供用户界面以实现用户驱动的策略编辑,其中用户可以改变配置参数值和/或添加或去除一些配置。
图3提供了用于图示根据本技术的一些实施例的与如下过程相关联的工作流的示例流程图300:获知/推断设备的现有配置,并从该现有配置生成预计(适用结构)的配置。返回参考流程图300,在步骤302,例如由DCNM来选择用于与设备配置的一个或多个方面进行匹配的一组配置模板。对配置模板的选择可以基于已知的结构定义和策略。在步骤304,将设备配置的内容解析成与一个或多个配置模板相匹配的单元。对与配置模板相匹配的配置块的识别可以基于模板元数据、变量验证条件或与配置模板相关联的其他识别信息。在步骤306,从设备配置的匹配配置部分(单元)中提取与(在匹配模板中定义的)一个或多个模板变量相关联的一个或多个参数值。操作然后可以移动到步骤308,在步骤308中,对照结构策略/要求来验证所提取的参数值和所推断的设备配置,并且将所提取的参数值和所推断的设备配置存储为策略模板实例(PTI)以表示设备预计的配置。此时,操作移动到步骤310,在步骤310中,如果在预计的设备配置中缺少与结构最佳实践策略和完整性要求相关联的配置语句,则直接将该配置语句部署到设备上。在本技术的一些实施例中,可以在设备运行配置的一个或多个所提取或推断的方面与已知结构策略之间发生冲突的情况下生成警报。
根据本技术的一些实施例,从运行配置的一个或多个匹配部分检索的所提取的参数值(即,该运行配置可以与指定用于部署到结构上的棕地设备相关联)可以包括一个或多个设备主机标识符、一个或多个接口标识符、一个或多个IP地址和/或一个或多个标签值。
根据本技术的一些实施例,用于匹配设备运行配置的一个或多个方面的多个配置模板可以包括:用于推断设备预期操作的更高阶方面的一个或多个Python模板。
本公开现在转向图4和图5,其示出了计算和网络设备的示例架构,例如客户端计算机、交换机、路由器、控制器、服务器等等。
图4示出了计算系统架构400,其包括使用连接405(例如,总线)彼此电通信的组件。系统400包括处理单元(CPU或处理器)410和系统连接405,该系统连接405将包括系统存储器415(例如,只读存储器(ROM)420和随机存取存储器(RAM)425)的各种系统组件耦合到处理器410。系统400可以包括与处理器410直接连接、紧密接近或集成为其一部分的高速存储器的缓存。系统400可以将数据从存储器415和/或存储设备433复制到缓存412,以供处理器410快速访问。以此方式,缓存可以提供避免处理器410在等待数据时延迟的性能提升。这些和其他模块可以控制或被配置为控制处理器410执行各种动作。其他系统存储器415也可供使用。存储器415可以包括具有不同性能特性的多种不同类型的存储器。处理器410可以包括任何通用处理器以及被配置为控制处理器410的硬件服务或软件服务(例如,存储在存储设备433中的服务1 432、服务2 434和服务3 436),并且处理器410可以包括其中软件指令被合并到实际的处理器设计中的专用处理器。处理器410可以是完全自包含的计算系统,其包含多个核心或处理器、总线、存储器控制器、缓存等。多核心处理器可以是对称的或非对称的。
为了使用户能够与计算系统400进行交互,输入设备445可以表示任何数量的输入机制,例如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等等。输出设备435也可以是本领域技术人员已知的许多输出机制中的一种或多种输出机制。在一些情况下,多模态系统可以使用户能够提供多种类型的输入以与计算系统400进行通信。通信接口440通常可以支配和管理用户输入和系统输出。对于在任何特定硬件布置上的操作没有限制,并且因此在开发了改进的硬件或固件布置时,本文的基本特征可以很容易地替换为改进的硬件或固件布置。
存储设备433是非易失性存储器并且可以是硬盘或其他类型的计算机可读介质,其可以存储可由计算机访问的数据,例如磁带、闪存卡、固态存储器设备、数字多功能盘、盒式磁带、随机存取存储器(RAM)425、只读存储器(ROM)420及其混合。
存储设备433可以包括用于控制处理器410的服务432、434、436。可以设想其他硬件或软件模块。存储设备430可以连接到系统连接405。一方面,执行特定功能的硬件模块可以包括存储在计算机可读介质中的软件组件,该软件组件与必要的硬件组件(例如,处理器410、连接405、输出设备435等)相关联以执行该功能。
图5示出了适合于执行交换、路由、保证和其他联网操作的示例网络设备500。网络设备500包括中央处理单元(CPU)504、接口502和连接510(例如,PCI总线)。当在适当软件或固件的控制下工作时,CPU 504负责执行分组管理、错误检测和/或路由功能。CPU 504优选地在包括操作系统和任何适当应用软件的软件的控制下完成所有这些功能。CPU 504可以包括一个或多个处理器508,例如来自INTEL X106系列微处理器的处理器。在某些情况下,处理器508可以是专门设计的硬件,用于控制网络设备500的操作。在一些情况下,存储器506(例如,非易失性RAM、ROM、TCAM等)也形成CPU 504的一部分。然而,存在许多不同的方式可以将存储器耦合到系统。在一些情况下,网络设备500可以包括与CPU 504分开的存储器和/或存储硬件,例如TCAM。这种存储器和/或存储硬件可以经由例如连接510与网络设备500及其组件耦合。
接口502通常被提供作为模块化接口卡(有时称为“线卡”)。通常,它们控制通过网络发送和接收数据分组,并且有时还支持与网络设备500一起使用的其他外围设备。可以提供的接口为以太网接口、帧中继接口、电缆接口、DSL接口、令牌环接口等。此外,还可以提供各种超高速接口,例如快速令牌环接口、无线接口、以太网接口、千兆以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口、WI-FI接口、3G/4G/5G蜂窝接口、CAN BUS、LoRA等。通常,这些接口可以包括适合与适当媒体进行通信的端口。在某些情况下,它们还可以包括独立的处理器,并且在某些情况下,还包括易失性RAM。独立处理器可以控制诸如分组交换、媒体控制、信号处理、密码处理和管理之类的通信密集型任务。通过为通信密集型任务提供单独的处理器,这些接口允许主微处理器504有效地执行路由计算、网络诊断、安全功能等。
虽然图5所示的系统是本公开的一种特定网络设备,但它绝不是可以在其上实现本文概念的唯一网络设备架构。例如,可以使用具有处理通信以及路由计算等的单个处理器的架构。此外,其他类型的接口和媒体也可以与网络设备500一起使用。
不管网络设备的配置如何,它都可以采用一个或多个存储器或存储器模块(包括存储器506),其被配置为存储用于通用网络操作的程序指令和用于本文所述的漫游、路由优化和路由功能的机制。例如,程序指令可以控制操作系统和/或一个或多个应用的操作。一个或多个存储器还可以被配置为存储诸如移动性绑定、注册和关联表等之类的表。存储器506还可以保存各种软件容器和虚拟化执行环境和数据。
网络设备500还可以包括专用集成电路(ASIC),其可以被配置为执行路由、交换和/或其他操作。例如,ASIC可以经由连接510与网络设备500中的其他组件进行通信,以交换数据和信号并协调网络设备500的各种类型的操作,例如路由、交换和/或数据存储操作。
在一些实施例中,计算机可读存储设备、介质、和存储器可以包括包含比特流等的电缆或无线信号。然而,当提及时,非暂态计算机可读存储介质明确地排除诸如能量、载波信号、电磁波、和信号本身之类的介质。
可以使用存储在计算机可读介质中或以其他方式可从计算机可读介质获得的计算机可执行指令来实现根据上述示例的方法。这样的指令可以包括例如引起或以其他方式配置通用计算机、专用计算机、或专用处理设备以执行特定功能或功能组的指令和数据。所使用的部分计算机资源可以通过网络访问。计算机可执行指令可以是例如二进制、诸如汇编语言之类的中间格式指令、固件、或源代码。可以用于存储指令、在根据所述示例的方法期间使用的信息和/或创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、配备有非易失性存储器的USB设备、网络存储设备,等等。
实现根据这些公开内容的方法的设备可以包括硬件、固件和/或软件,并且可以采用多种外形因素中的任何一种。此类外形因素的典型示例包括膝上型电脑、智能手机、小外形因素个人计算机、个人数字助理等。本文描述的功能性还可以体现在外围设备或附加卡中。通过进一步示例的方式,这样的功能性也可以实现在不同芯片之间的电路板或在单个设备中执行的不同进程之间。
指令、用于传达这样的指令的介质、用于执行这样的指令的计算资源、以及用于支持这样的计算资源的其他结构是用于提供这些公开内容中描述的功能的装置。
尽管使用各种示例和其他信息来解释所附权利要求的范围内的各个方面,但是不应当基于这样的示例中的特定特征或布置来暗示对权利要求的限制,因为本领域的普通技术人员将能够使用这些示例来导出各种各样的实现方式。此外,虽然可能已经用特定于结构特征和/或方法步骤的示例的语言描述了一些主题,但是应理解,所附权利要求中限定的主题不一定限于这些描述的特征或动作。例如,这样的功能性可以以不同的方式被分布或可以在除本文所标识的那些组件之外的组件中执行。而是,将描述的特征和步骤公开为在所附权利要求的范围内的系统的组件和方法的示例。
Claims (20)
1.一种方法,包括:
基于与多个配置模板中的每一个相关联的一个或多个匹配判据,将棕地设备的现有配置的一个或多个方面匹配到所述多个配置模板中的至少一个;
使用从所述棕地设备的现有配置的匹配部分检索到的相应参数值来实例化与所述多个配置模板中的每一个相关联的一个或多个变量,从而创建一个到多个模板实例;
对照已知的结构策略来验证所述一个或多个模板实例中的每一个,以生成一个或多个策略模板实例;以及
存储与设备现有配置相关联的所述一个或多个策略模板实例,以作为预计设备配置的表现形式。
2.根据权利要求1所述的方法,其中,用于匹配所述棕地设备的现有配置的一个或多个方面的所述多个配置模板是由网络管理服务来生成的。
3.根据权利要求2所述的方法,其中,所述网络管理服务被实现为数据中心网络管理器(DCNM)的一部分。
4.根据任一前述权利要求所述的方法,其中,所述多个配置模板包括一个或多个命令行界面(CLI)配置模板。
5.根据任一前述权利要求所述的方法,其中,所述多个配置模板包括一个或多个Python模板,用于推断所述棕地设备的预期操作的更高阶方面。
6.根据任一前述权利要求所述的方法,还包括:
在所述一个或多个模板实例与已知的结构策略之间发生冲突的情况下生成警报。
7.根据任一前述权利要求所述的方法,还包括:
根据一个或多个结构最佳实践策略和完整性要求,将一个或多个配置语句添加到所述预计设备配置中。
8.根据任一前述权利要求所述的方法,还包括:
接收一个或多个用户输入,以用于更新并确认所述设备预计配置的表现形式。
9.一种系统,包括:
一个或多个处理器;以及
至少一种计算机可读存储介质,具有存储在其中的指令,所述指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器执行以下操作:
检索针对一个或多个棕地设备的运行配置,该一个或多个棕地设备被指定用于部署到结构上;
基于与多个模板中的每一个相关联的一个或多个匹配判据,匹配所述运行配置的一个或多个方面;
使用从棕地设备配置的匹配部分检索到的一个或多个相应参数值来实例化用于所述多个模板中的每一个的一个或多个模板变量,从而创建一个到多个模板实例;
对照已知的结构策略来验证所述一个或多个模板实例中的每一个;以及
存储与设备配置相关联的一个或多个经验证的模板实例,以作为与所述设备配置相关联的意图的表现形式。
10.根据权利要求9所述的系统,其中,从棕地设备配置的匹配部分检索到的所述一个或多个相应参数值包括以下各项中的至少一项:设备主机标识符、接口标识符、IP地址、标签值。
11.根据权利要求9或10所述的系统,其中,用于匹配与一个或多个棕地设备相关联的所述运行配置的一个或多个方面的所述多个模板是由网络管理服务来生成的。
12.根据权利要求11所述的系统,其中,所述网络管理服务被实现为数据中心网络管理器的一部分。
13.根据权利要求9至12中任一项所述的系统,其中,用于匹配与一个或多个棕地设备相关联的所述运行配置的一个或多个方面的所述多个模板包括一个或多个命令行界面(CLI)微模板。
14.根据权利要求9至13中任一项所述的系统,其中,用于匹配与一个或多个棕地设备相关联的所述运行配置的一个或多个方面的所述多个模板包括一个或多个Python模板,用于推断设备的预期操作的更高阶方面。
15.根据权利要求9至14中任一项所述的系统,还包括指令,所述指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器执行以下操作:
在所述一个或多个模板实例与已知的结构策略之间发生冲突的情况下生成警报。
16.根据权利要求9至15中任一项所述的系统,还包括指令,所述指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器执行以下操作:
根据所述结构的一个或多个最佳实践策略和完整性要求,将一个或多个配置语句添加到设备配置中。
17.根据权利要求9至16中任一项所述的系统,还包括指令,所述指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器执行以下操作:
接收一个或多个用户输入,以用于验证与所述设备配置相关联的意图的表现形式。
18.至少一种非暂态计算机可读存储介质,具有存储在其中的指令,所述指令在由一个或多个处理器执行时,使得所述一个或多个处理器执行以下操作:
检索针对一个或多个棕地设备的配置,该一个或多个棕地设备被指定用于部署到结构上;
基于与多个模板中的每一个相关联的一个或多个匹配判据,匹配所述配置的一个或多个方面;
使用从棕地设备运行配置的匹配部分检索到的相应参数值来实例化用于所述多个模板中的每一个的一个或多个模板变量,从而创建一个到多个模板实例;
对照已知的结构策略来验证所述一个或多个模板实例中的每一个;以及
存储与设备运行配置相关联的一个或多个经验证的模板实例,以作为与所述设备运行配置相关联的意图的表现形式。
19.根据权利要求18所述的非暂态计算机可读存储介质,其中,用于匹配所述设备运行配置的一个或多个方面的所述多个模板包括:一个或多个命令行界面(CLI)微模板以及一个或多个Python模板,其中,该一个或多个CLI微模板用于从所述设备运行配置推断一个或多个资源值,该一个或多个Python模板用于推断设备的预期操作的更高阶方面。
20.根据权利要求18或19所述的非暂态计算机可读存储介质,还包括:根据所述结构的一个或多个最佳实践策略和完整性要求,向设备运行配置添加一个或多个配置语句。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/283,958 US11115278B2 (en) | 2019-02-25 | 2019-02-25 | Learning by inference from brownfield deployments |
US16/283,958 | 2019-02-25 | ||
PCT/US2020/019047 WO2020176330A1 (en) | 2019-02-25 | 2020-02-20 | Learning by inference from brownfield deployments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113475040A true CN113475040A (zh) | 2021-10-01 |
CN113475040B CN113475040B (zh) | 2024-05-17 |
Family
ID=69846573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080016293.6A Active CN113475040B (zh) | 2019-02-25 | 2020-02-20 | 通过从棕地部署进行推断来获知 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11115278B2 (zh) |
EP (1) | EP3932015B1 (zh) |
CN (1) | CN113475040B (zh) |
WO (1) | WO2020176330A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115272854A (zh) * | 2022-07-27 | 2022-11-01 | 清华大学 | 基于多源信息分析的棕地识别方法及产品 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11323330B1 (en) * | 2019-06-27 | 2022-05-03 | Juniper Networks, Inc. | Validating network topologies |
US11625728B2 (en) * | 2021-04-16 | 2023-04-11 | Somos, Inc. | Systems and methods for provisioning embedded internet of things universal IDS (IoT UIDs) in brownfield devices |
US11562140B2 (en) * | 2021-04-29 | 2023-01-24 | Hewlett Packard Enterprise Development Lp | Dynamically configurable templates to support versatile deployment of configurations at network devices |
US20240236205A1 (en) * | 2021-05-25 | 2024-07-11 | Friendlybuzz Company, Pbc | Method of matching analytics and communication establishment |
US11956123B1 (en) | 2021-09-29 | 2024-04-09 | Cisco Technology, Inc. | Monitoring interface configurations for network devices in fabrics |
US11985032B2 (en) * | 2022-08-31 | 2024-05-14 | 6Connect, Inc | Metadata-aware templating engine for assigning internet protocol address space in an organization |
US11784881B1 (en) * | 2022-09-28 | 2023-10-10 | At&T Intellectual Property I, L.P. | Vendor agnostic network device configuration audit platform |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060092861A1 (en) * | 2004-07-07 | 2006-05-04 | Christopher Corday | Self configuring network management system |
CN102547804A (zh) * | 2010-12-15 | 2012-07-04 | 上海贝尔股份有限公司 | 一种用于对无线接入网络进行网络管理的运行维护系统 |
CN104115463A (zh) * | 2011-11-07 | 2014-10-22 | 网络流逻辑公司 | 用于处理网络元数据的流式传输方法和系统 |
CN104272293A (zh) * | 2012-02-29 | 2015-01-07 | 谷歌公司 | 针对计算设备的远程企业策略/客户端配置安装 |
CN104639361A (zh) * | 2013-11-15 | 2015-05-20 | 中兴通讯股份有限公司 | 网络服务模板的管理方法和装置 |
CN104854561A (zh) * | 2012-10-16 | 2015-08-19 | 思杰系统有限公司 | 用于应用程序管理框架的应用程序封装 |
CN106576054A (zh) * | 2014-08-17 | 2017-04-19 | 微软技术许可有限责任公司 | 网络设备配置框架 |
CN107409062A (zh) * | 2015-02-18 | 2017-11-28 | 华为技术有限公司 | 移动网络功能的升级 |
CN107835982A (zh) * | 2015-05-04 | 2018-03-23 | 赛义德·卡姆兰·哈桑 | 用于在计算机网络中管理安全性的方法和设备 |
US20180205600A1 (en) * | 2017-01-19 | 2018-07-19 | International Business Machines Corporation | Closed-loop infrastructure orchestration templates |
US20180210927A1 (en) * | 2017-01-24 | 2018-07-26 | Apstra, Inc. | Configuration, telemetry, and analytics of a computer infrastructure using a graph model |
US20180351806A1 (en) * | 2017-05-31 | 2018-12-06 | Cisco Technology, Inc. | Intent specification checks for inconsistencies |
CN108964968A (zh) * | 2018-03-27 | 2018-12-07 | 深圳市康拓普信息技术有限公司 | 一种容器云环境下的服务接入管理方法和系统 |
CN109361690A (zh) * | 2018-11-19 | 2019-02-19 | 中国科学院信息工程研究所 | 一种网络中的威胁处置策略生成方法及系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7603445B1 (en) * | 2004-11-10 | 2009-10-13 | Juniper Networks, Inc. | Managing and changing device settings |
JP5273697B2 (ja) * | 2006-08-01 | 2013-08-28 | 東京エレクトロン株式会社 | サーバ装置およびプログラム |
US9704130B2 (en) | 2009-10-26 | 2017-07-11 | International Business Machines Corporation | Standard based mapping of industry vertical model to legacy environments |
GB201113886D0 (en) * | 2011-08-12 | 2011-09-28 | Aria Networks Ltd | Network capacity management system and method |
BR112016004183A8 (pt) | 2013-08-27 | 2020-02-11 | Huawei Tech Co Ltd | método para virtualização de função de rede móvel e computador |
US9459859B2 (en) * | 2014-01-31 | 2016-10-04 | Dell Products L.P. | Template derivation for configuration object management |
US9787572B2 (en) | 2014-10-07 | 2017-10-10 | Cisco Technology, Inc. | Conflict avoidant traffic routing in a network environment |
AU2016310529B2 (en) * | 2015-08-27 | 2020-12-17 | Johnson Controls Tyco IP Holdings LLP | Edge intelligence platform, and internet of things sensor streams system |
US10193753B1 (en) * | 2015-08-31 | 2019-01-29 | EMC IP Holding Company LLC | Automated configuration and deployment of internet of things platforms |
US10193961B2 (en) * | 2015-12-21 | 2019-01-29 | Amazon Technologies, Inc. | Building deployment pipelines for a production computing service using live pipeline templates |
US10298619B2 (en) | 2016-12-16 | 2019-05-21 | Nicira, Inc. | Application template generation and deep packet inspection approach for creation of micro-segmentation policy for network applications |
US11005722B2 (en) * | 2017-12-21 | 2021-05-11 | Verizon Patent And Licensing Inc. | End-to-end network service designer tool |
US10607484B2 (en) * | 2017-12-28 | 2020-03-31 | Intel Corporation | Privacy-preserving distributed visual data processing |
US10642603B2 (en) * | 2018-01-16 | 2020-05-05 | Nutanix, Inc. | Scheduling upgrades in distributed computing systems |
-
2019
- 2019-02-25 US US16/283,958 patent/US11115278B2/en active Active
-
2020
- 2020-02-20 EP EP20712752.3A patent/EP3932015B1/en active Active
- 2020-02-20 CN CN202080016293.6A patent/CN113475040B/zh active Active
- 2020-02-20 WO PCT/US2020/019047 patent/WO2020176330A1/en unknown
-
2021
- 2021-08-19 US US17/407,006 patent/US11558252B2/en active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060092861A1 (en) * | 2004-07-07 | 2006-05-04 | Christopher Corday | Self configuring network management system |
CN102547804A (zh) * | 2010-12-15 | 2012-07-04 | 上海贝尔股份有限公司 | 一种用于对无线接入网络进行网络管理的运行维护系统 |
CN104115463A (zh) * | 2011-11-07 | 2014-10-22 | 网络流逻辑公司 | 用于处理网络元数据的流式传输方法和系统 |
CN104272293A (zh) * | 2012-02-29 | 2015-01-07 | 谷歌公司 | 针对计算设备的远程企业策略/客户端配置安装 |
CN104854561A (zh) * | 2012-10-16 | 2015-08-19 | 思杰系统有限公司 | 用于应用程序管理框架的应用程序封装 |
CN104639361A (zh) * | 2013-11-15 | 2015-05-20 | 中兴通讯股份有限公司 | 网络服务模板的管理方法和装置 |
CN106576054A (zh) * | 2014-08-17 | 2017-04-19 | 微软技术许可有限责任公司 | 网络设备配置框架 |
CN107409062A (zh) * | 2015-02-18 | 2017-11-28 | 华为技术有限公司 | 移动网络功能的升级 |
CN107835982A (zh) * | 2015-05-04 | 2018-03-23 | 赛义德·卡姆兰·哈桑 | 用于在计算机网络中管理安全性的方法和设备 |
US20180205600A1 (en) * | 2017-01-19 | 2018-07-19 | International Business Machines Corporation | Closed-loop infrastructure orchestration templates |
US20180210927A1 (en) * | 2017-01-24 | 2018-07-26 | Apstra, Inc. | Configuration, telemetry, and analytics of a computer infrastructure using a graph model |
US20180351806A1 (en) * | 2017-05-31 | 2018-12-06 | Cisco Technology, Inc. | Intent specification checks for inconsistencies |
CN108964968A (zh) * | 2018-03-27 | 2018-12-07 | 深圳市康拓普信息技术有限公司 | 一种容器云环境下的服务接入管理方法和系统 |
CN109361690A (zh) * | 2018-11-19 | 2019-02-19 | 中国科学院信息工程研究所 | 一种网络中的威胁处置策略生成方法及系统 |
Non-Patent Citations (2)
Title |
---|
林树宽;李昇智;乔建忠;马海芳;: "LPCEP:基于HTF存储策略和实例映射表的长过程复杂事件处理模型", 小型微型计算机系统, no. 01, 15 January 2015 (2015-01-15) * |
范燕芳;谢永强;许波;: "网络准入控制中的策略自动部署系统设计", 计算机工程与设计, no. 09, 16 September 2012 (2012-09-16) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115272854A (zh) * | 2022-07-27 | 2022-11-01 | 清华大学 | 基于多源信息分析的棕地识别方法及产品 |
CN115272854B (zh) * | 2022-07-27 | 2023-08-15 | 清华大学 | 基于多源信息分析的棕地识别方法及产品 |
Also Published As
Publication number | Publication date |
---|---|
EP3932015B1 (en) | 2024-06-26 |
US11558252B2 (en) | 2023-01-17 |
US20200274766A1 (en) | 2020-08-27 |
US20210385133A1 (en) | 2021-12-09 |
EP3932015A1 (en) | 2022-01-05 |
WO2020176330A1 (en) | 2020-09-03 |
US11115278B2 (en) | 2021-09-07 |
CN113475040B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113475040B (zh) | 通过从棕地部署进行推断来获知 | |
US11153152B2 (en) | System and methods to validate issue detection and classification in a network assurance system | |
CN110612702B (zh) | 针对不一致的意图规范检查 | |
US11178009B2 (en) | Static network policy analysis for networks | |
CN110521169B (zh) | 用于服务链的策略保证 | |
US10554483B2 (en) | Network policy analysis for networks | |
US10873505B2 (en) | Validation of layer 2 interface and VLAN in a networked environment | |
US10904101B2 (en) | Shim layer for extracting and prioritizing underlying rules for modeling network intents | |
US10862752B2 (en) | Network validation between the logical level and the hardware level of a network | |
EP3643013B1 (en) | Validation of layer 3 bridge domain subnets in a network | |
US10462010B2 (en) | Detecting and managing recurring patterns in device and service configuration data | |
US11563833B2 (en) | Event generation in response to network intent formal equivalence failures | |
US20200186425A1 (en) | Validation of cross logical groups in a network | |
EP3643010B1 (en) | Validation of layer 1 interface in a network | |
US11283682B2 (en) | Validation of bridge domain-L3out association for communication outside a network | |
US20180367416A1 (en) | Collecting network models and node information from a network | |
US10623271B2 (en) | Intra-priority class ordering of rules corresponding to a model of network intents | |
US12040944B2 (en) | Multi-fabric deployment and management platform | |
US11956123B1 (en) | Monitoring interface configurations for network devices in fabrics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |