CN111034122B - 分析网络节点内存利用率的系统、方法和计算机可读介质 - Google Patents

分析网络节点内存利用率的系统、方法和计算机可读介质 Download PDF

Info

Publication number
CN111034122B
CN111034122B CN201880040380.8A CN201880040380A CN111034122B CN 111034122 B CN111034122 B CN 111034122B CN 201880040380 A CN201880040380 A CN 201880040380A CN 111034122 B CN111034122 B CN 111034122B
Authority
CN
China
Prior art keywords
network
node
rule
level
model
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.)
Active
Application number
CN201880040380.8A
Other languages
English (en)
Other versions
CN111034122A (zh
Inventor
拉马纳·拉奥·孔佩拉
约翰·托马斯·蒙克
普尔纳·马尼·古玛·甘塔萨拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology 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
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN111034122A publication Critical patent/CN111034122A/zh
Application granted granted Critical
Publication of CN111034122B publication Critical patent/CN111034122B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • 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/0866Checking the configuration
    • H04L41/0873Checking configuration conflicts between network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty 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/06Management of faults, events, alarms or notifications
    • H04L41/0686Additional information in the notification, e.g. enhancement of specific meta-data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • 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/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0859Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
    • 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/0894Policy-based network configuration management
    • 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/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • 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
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • 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/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

分析网络节点中的存储器使用的系统、方法和计算机可读介质。网络保证设备可以被配置为:获得网络中的节点的参考具体级规则,从网络中的节点获得节点的实现的具体级规则,将参考具体级规则与实现的具体级规则进行比较,以及基于比较确定实现的具体级规则没有被适当地配置。

Description

分析网络节点内存利用率的系统、方法和计算机可读介质
相关申请的交叉引用
本申请要求于2017年06月19日提交的题为“IDENTIFYING MISMATCHES BETWEEN ALOGICAL MODEL AND NODE IMPLEMENTATION(识别逻辑模型与节点实现方式之间的不匹配”的美国临时专利申请第62/521,633号;以及于2017年07月27日提交的题为“IDENTIFYINGMISMATCHES BETWEEN A LOGICAL MODEL AND NODE IMPLEMENTATION(识别逻辑模型与节点实现方式之间的不匹配)”的美国非临时专利申请第15/661,899号的优先权。通过引用将所述申请的全部内容合并于此。
技术领域
本技术涉及网络配置和故障排除,更具体地,涉及分析网络节点存储器利用率。
背景技术
大型数据中心网络的网络配置通常在中央控制器处指定。控制器可以根据指定的网络配置对网络中的交换机、路由器、服务器和元件进行编程。网络配置本身非常复杂,涉及到网络的若干层的低级别和高级别配置,例如访问策略、转发策略、路由策略、安全策略、QoS策略等。鉴于这样的复杂性,网络配置过程容易出错。配置是在控制器上定义的,并且可以反映网络的意图规范。在许多情况下,配置可能包含错误和不一致,这些错误和不一致通常很难识别,并可能在网络中造成严重问题。此外,由于各种原因,在控制器上定义的配置可能与在网络节点上的意图规范的实现方式不一致或变得与其不一致。
附图说明
为了描述可以获得本公开的上述和其他优点和特征的方式,将通过参考在附图中示出的上面简要描述的原理的特定实施例来呈现对这些原理的更具体的描述。应理解,这些附图仅描绘了本公开的示例性实施例,因此不应认为是对其范围的限制,通过使用附图,利用附加特征和细节描述和解释了本文的原理,在附图中:
图1A和1B示出了根据主题技术的各个方面的示例网络环境;
图2A示出了根据主题技术的各个方面的网络的示例对象模型;
图2B示出了根据主题技术的各个方面的图2A的示例对象模型中的租户对象(tenant object)的示例对象模型;
图2C示出了根据主题技术的各个方面的图2A的示例对象模型中的各对象的示例关联;
图2D示出了根据主题技术的各个方面的用于实现图2A的示例对象模型的示例模型的示意图;
图3A示出了根据主题技术的各个方面的示例网络保证设备(network assuranceappliance);
图3B示出了根据主题技术的各个方面的用于网络保证的示例系统;
图3C示出了根据主题技术的各个方面的用于网络中的静态策略分析的示例系统的示意图;
图4A示出了根据主题技术的各个方面的用于网络保证的示例方法;
图4B示出了根据主题技术的各个方面的用于生成特定于设备的逻辑模型的示例方法;
图5A示出了根据主题技术的各个方面的用于确定逻辑级组件的硬件级条目的数量的示例方法实施例;
图5B示出了根据主题技术的各个方面的用于存储硬件级条目的数量与逻辑级组件的关联的示例数据结构;
图6A-6E示出了根据主题技术的各个方面的示例用户界面;
图7示出了根据主题技术的各个方面的用于确定在节点上实现的具体级规则是否被适当配置的示例方法实施例;
图8示出了根据主题技术的各个方面的用于确定在节点上实现的硬件级条目是否被适当配置的示例方法实施例;
图9示出了根据主题技术的各个方面的用于生成关于各种逻辑级组件的命中计数的报告的示例方法实施例;
图10示出了根据各种实施例的示例网络设备;以及
图11示出了根据各种实施例的示例计算设备。
具体实施方式
下面详细讨论本公开的各种实施例。虽然讨论了具体实现方式,但应该理解,仅是出于说明目的而这样做的。相关领域的技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以使用其他组件和配置。因此,以下描述和附图是说明性的而不应被解释为限制性的。描述了许多具体细节以提供对本公开的透彻理解。然而,在某些情形下,没有描述众所周知的或传统的细节以避免模糊本描述。在本公开中参考一个实施例或参考实施例可以是参考相同的实施例或任意实施例;并且,这样的参考指的是实施例中的至少一个。
对“一个实施例”或“实施例”的参考意味着结合该实施例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。在说明书中各处出现的短语“在一个实施例中”不一定都指代相同的实施例,也不是与其他实施例互斥的单独或替代的实施例。此外,描述了可以由一些实施例而不由其他实施例展示的各种特征。
本说明书中使用的术语在本公开的上下文中以及在其中每个术语被使用的特定上下文中通常具有其在本领域中的普通含义。替代语言和同义词可以用于本文所讨论的任何一个或多个术语,并且本文是否详述或论述某一术语不应被看作具有特殊意义。在一些情况下,提供了某些术语的同义词。对一个或多个同义词的记载不排除对其他同义词的使用。本说明书中任何地方的对示例(包括本文所讨论的任何术语的示例)的使用仅是说明性的,并且不旨在进一步限制本公开或任何示例术语的范围和含义。同样地,本公开不限于本说明书中给出的各种实施例。
不意图限制本公开的范围,下面给出根据本公开的实施例的工具、装置、方法、及其相关结果的示例。注意,为了方便读者,可能在示例中使用标题或副标题,这绝不应限制本公开的范围。除非另有定义,否则本文使用的技术和科学术语具有本公开所属领域的普通技术人员通常理解的含义。在发生冲突的情况下,以包括定义的本文档为准。
将在下面的描述中阐述本公开的其他特征和优点,并且其部分将从描述中变得清晰可见,或者可以通过实践本文公开的原理来进行学习。借助于所附权利要求中具体指出的工具和组合,可以实现和获得本公开的特征和优点。根据以下描述和所附权利要求,本公开的这些和其他特征将变得更加完全地显现出来,或者可以通过实践本文阐述的原理来进行学习。
概述
在独立权利要求中陈述了本发明的方面,并且在从属权利要求中陈述了优选的特征。一个方面的特征可单独地应用于每个方面或者与其他方面结合来应用。
本文公开了用于分析网络节点中的存储器使用的系统、方法和计算机可读介质。根据主题技术的一些方面,网络保证设备可被配置为:获得网络中的节点的参考具体级规则,从网络中的节点获得所述节点的实现的具体级规则,将参考具体级规则与所述实现的具体级规则进行比较,并且基于比较确定实现的具体级规则没有被适当地配置。
根据主题技术的一些方面,网络保证设备可被配置为:从控制器获得与网络中的节点相关联的具体级规则的参考规则标识符,并且从节点获得与存储在节点上的硬件级条目相关联的实现的规则标识符。网络保证设备可以将参考规则标识符与实现的规则标识符进行比较,并且基于比较确定存储在节点上的硬件级条目没有被适当地配置。
示例实施例
所公开的技术解决了本领域对分析网络节点中的存储器使用的需要。本技术将在以下公开中描述如下。本讨论开始于对网络保证的介绍性讨论和对示例计算环境的描述,如图1A和图1B中所示。接着是对用于网络保证的网络建模的讨论,如图2A-2D所示,然后是对网络保证系统和方法的讨论。本讨论以对示例网络设备(如图10中所示)和示例计算设备(如图11中所示)的描述结束,包括适合于容宿软件应用和执行计算操作的示例硬件组件。本公开现在转向对网络保证的介绍性讨论。
网络保证是确保或确定网络按照网络运营商的意图行事并且已经被恰当配置(例如,网络正在做预期它要做的事情)。意图可以包含各种网络操作,例如,桥接、路由、安全性、服务链化(service chaining)、端点、合规性、QoS(服务质量)、审计等。意图可以体现在为网络和各个网络元件(例如,交换机、路由器、应用、资源等)定义的一个或多个策略、设置、配置等中。然而,经常地,网络运营商所定义的配置、策略等是不正确的或者未能准确地反映在网络的实际行为中。例如,网络运营商为一种或多种类型的流量指定配置A,但后来发现网络实际上正在将配置B应用于该流量或以与配置A不一致的方式处理该流量。这可能是许多不同原因导致的结果,例如硬件错误、软件缺陷、变化的优先级、配置冲突、一个或多个设置的误配置、设备不适当的规则呈现、意外错误或事件、软件升级、配置更改、失败等。作为另一示例,网络运营商实现配置C,但一个或多个其他配置导致网络以与配置C的实现方式所反映的意图不一致的方式行动。例如,当配置C与网络中的其他配置冲突时会导致这样的情形。
本文中的方法可以通过对网络的各个方面建模和/或执行一致性检查以及其他网络保证检查来提供网络保证。可以在各种类型的网络中实现本文的网络保证方法,所述各种类型的网络包括私有网络,例如局域网(LAN);企业网络;独立的或传统的网络,例如数据中心网络;包括物理或底层以及逻辑或覆盖层的网络,例如虚拟可扩展LAN(VXLAN)或软件定义的网络(SDN)(例如,以应用为中心的基础设施(ACI)或VMware NSX网络);等等。
可以为网络构建网络模型,并实现网络保证。网络模型可以提供网络的一个或多个方面的表示,包括但不限于网络的策略、配置、要求、安全性、路由、拓扑、应用、硬件、过滤器、契约、访问控制列表、基础设施等。如下所述,可以为网络生成不同类型的模型。
可以实现这样的模型,来确保网络的行为将与通过由网络运营商实现的具体配置(例如,策略、设置、定义等)所反映的预期行为一致(或保持一致)。与涉及发送和分析数据分组并观察网络行为的传统网络监测不同,可以通过建模执行网络保证,而不必摄取分组数据或监测流量或网络行为。这可产生先见之明、洞悉、和后见之明:可以在问题发生之前加以预防,在发生问题时识别问题,并在问题发生后立即修复问题。
因此,网络保证可以涉及对网络的属性进行建模,以确定地预测网络的行为。如果(一个或多个)模型指示适当的行为(例如,没有不一致、冲突、错误等),则可以确定网络是健康的。如果建模指示适当的行为但有点不一致,则可以确定网络是可实现功能的,但不是完全健康的。如果建模指示不适当的行为和错误,则可以确定网络是不能实现功能的并且不健康。如果通过建模检测到不一致或错误,则对相应的(一个或多个)模型的详细分析可以允许非常准确地识别出一个或多个基础或根本问题。
建模可能消耗多种类型的智能事件,其对网络的大量行为方面进行建模。智能事件可能影响网络的各个方面,例如底层服务、覆盖服务、租户连通性、租户安全性、租户端点(EP)移动性、租户策略、租户路由、资源等。
已经描述了网络保证的各个方面,本公开现在转到对用于网络保证的示例网络环境的讨论。
图1A示出了根据主题技术的各个方面的示例网络环境。具体而言,图1A示出了示例网络环境100(例如,数据中心)的图示。网络环境100可以包括可以表示网络环境100的物理层或基础设施(例如,底层)的结构120。结构120可以包括脊节点(spine)102(例如,脊路由器或交换机)和叶节点(leaf)104(例如,叶路由器或交换机),它们可以互连以在结构120中路由或交换流量。脊节点102可以互连结构120中的叶节点104,并且叶节点104可以将结构120连接到网络环境100的覆盖或逻辑部分,其可以包括应用服务、服务器、虚拟机、容器、端点等。因此,结构120中的网络连通性可以从脊节点102流向叶节点104,反之亦然。叶节点104和脊节点102之间的互连可以是冗余的(例如,多个互连)以避免路由失败。在一些实施例中,叶节点104和脊节点102可以完全连接,使得任何给定的叶节点都连接到每个脊节点102,并且任何给定的脊节点都连接到每个叶节点104。叶节点104可以是例如架顶式(top-of-rack,“ToR”)交换机、聚合交换机、网关、入口和/或出口交换机、提供者边缘设备、和/或任何其他类型的路由或交换设备。
叶节点104可以负责路由和/或桥接租户或客户分组以及应用网络策略或规则。网络策略和规则可以由一个或多个控制器116驱动,和/或由诸如叶节点104之类的一个或多个设备实现或实施。叶节点104可以将其他元件连接到结构120。例如,叶节点104可以将服务器106、管理程序108、虚拟机(VM)110、应用112、网络设备114等与结构120连接。这些元件可以驻留在一个或多个逻辑或虚拟层或网络中,例如覆盖网络。在一些情况下,叶节点104可以对去往和来自这种元件(例如,服务器106)的分组进行封装和解封装,以便使得能够进行整个网络环境100和结构120内的通信。叶节点104还可以向任何其他设备、服务、租户、或工作负载提供对结构120的接入。在一些情况下,连接到叶节点104的服务器106可以类似地对去往和来自叶节点104的分组进行封装和解封装。例如,服务器106可以包括一个或多个虚拟交换机或路由器或隧道端点,用于在由服务器106容宿或连接到服务器106的覆盖层或逻辑层与由结构120表示并通过叶节点104访问的底层之间用隧道传输分组。
应用112可以包括软件应用、服务、容器、设备、功能、服务链等。例如,应用112可以包括防火墙、数据库、内容分发网络(CDN)服务器、入侵防御系统(IDS)或入侵防护系统(IPS)、深度分组检查服务、消息路由器、虚拟变换机等。来自应用112的应用可以由多个端点(例如,服务器106、VM 110等)分发、链接或容宿,或者可以完全从单个端点运行或执行。
VM 110可以是由管理程序108容宿的虚拟机或在服务器106上运行的虚拟机管理器。VM 110可以包括在相应服务器上的访客操作系统上运行的工作负载。管理程序108可以提供创建、管理和/或运行VM 110的软件、固件和/或硬件层。管理程序108可以允许VM 110共享服务器106上的硬件资源,并且允许服务器106上的硬件资源显示为多个单独的硬件平台。此外,服务器106上的管理程序108可以容宿一个或多个VM 110。
在一些情况下,VM 110和/或管理程序108可以迁移到其他服务器106。服务器106可以类似地迁移到网络环境100中的其他位置。例如,连接到特定叶节点的服务器可以改变为连接到不同的或额外的叶节点。此类配置或部署更改可涉及对应用于正在迁移的资源以及其他网络组件的设置、配置和策略的修改。
在一些情况下,一个或多个服务器106、管理程序108和/或VM 110可以表示或驻留在租户或客户空间中。租户空间可以包括与一个或多个客户端或订户相关联的工作负载、服务、应用、设备、网络和/或资源。因此,可以基于特定租户策略、空间、协议、配置等来路由网络环境100中的流量。此外,寻址可以在一个或多个租户之间变化。在一些配置中,租户空间可以被划分为逻辑段和/或网络,并且与跟其他租户相关联的逻辑段和/或网络分开。租户之间的寻址、策略、安全性和配置信息可以由控制器116、服务器106、叶节点104等管理。
可以在逻辑级、硬件级(例如,物理级)和/或两者处实现网络环境100中的配置。例如,可以通过软件定义的网络(SDN)框架(例如,以应用为中心的基础设施(ACI)或VMWARENSX),基于端点或资源属性(例如,端点类型和/或应用组或简档)来在逻辑和/或硬件级实现配置。为了说明,一个或多个管理员可以通过控制器116在逻辑级(例如,应用或软件级)定义配置,控制器116可以通过网络环境100实现或传播这样的配置。在一些示例中,控制器116可以是ACI框架中的应用策略基础设施控制器(APIC)。在其他示例中,控制器116可以是与其他SDN解决方案相关联的一个或多个管理组件,例如,NSX管理器。
这样的配置可以定义用于在网络环境100中路由和/或分类流量的规则、策略、优先级、协议、属性、对象等。例如,这样的配置可以定义用于基于端点组(EPG)、安全组(SG)、VM类型、桥接域(BD)、虚拟路由和转发实例(VRF)、租户、优先级、防火墙规则等来分类和处理流量的属性和对象。下面进一步描述其他示例网络对象和配置。可以基于流量的标签、属性或其他特性来实施流量策略和规则,诸如与流量相关联的协议、与流量相关联的EPG、与流量相关联的SG、与流量相关联的网络地址信息等。这样的策略和规则可以由网络环境100中的一个或多个元件(例如,叶节点104、服务器106、管理程序108、控制器116等)实施。如前所述,可以根据一个或多个特定软件定义的网络(SDN)解决方案(例如,CISCO ACI或VMWARENSX)来配置网络环境100。下面简要描述这些示例SDN解决方案。
ACI可以通过可缩放的分布式实施来提供以应用为中心或基于策略的解决方案。ACI支持在针对网络、服务器、服务、安全性、要求等的声明性配置模型下集成物理和虚拟环境。例如,ACI框架实现EPG,EPG可以包括共享通用配置要求(例如,安全性、QoS、服务等)的端点或应用的集合。端点可以是虚拟/逻辑或物理设备,例如,连接到网络环境100的VM、容器、主机或物理服务器。端点可以具有一个或多个属性,例如,VM名称、访客OS名称、安全标签、应用简档等。应用配置可以以契约的形式在EPG之间应用,而不是直接应用于端点之间。叶节点104可以将传入的流量分类为不同的EPG。分类可以基于例如网络段识别符,例如,VLAN ID、VXLAN网络识别符(VNID)、使用通用路由封装的网络虚拟化(NVGRE)虚拟子网识别符(VSID)、MAC地址、IP地址等。
在一些情况下,ACI基础设施中的分类可以由应用虚拟交换机(AVS)实现,其可以在诸如服务器或交换机之类的主机上运行。例如,AVS可以基于指定的属性对流量进行分类,并且对具有不同识别符(例如,网络段识别符(例如,VLAN ID))的不同属性EPG的分组进行标记。最后,叶节点104可以基于其识别符和实施策略来将分组与其属性EPG捆绑,这可以由一个或多个控制器116实现和/或管理。叶节点104可以对来自主机的流量属于哪个EPG进行分类并且相应地实施策略。
另一示例SDN解决方案基于VMWARE NSX。使用VMWARE NSX,主机可以运行分布式防火墙(DFW),其可以对流量进行分类和处理。考虑将三种类型的VM(即,应用、数据库和webVM)放入单个第2层网络段的情况。可以基于VM类型在网络段内提供流量保护。例如,可以在web VM之间允许HTTP流量,并且在web VM与应用或数据库VM之间不允许HTTP流量。为了对流量进行分类并实现策略,VMWARE NSX可以实现安全组,该安全组可用于对特定VM(例如,web VM、应用VM、以及数据库VM)进行分组。可以配置DFW规则以实现针对特定安全组的策略。为了说明,在先前的示例的情境中,DFW规则可以被配置为阻止web、应用和数据库安全组之间的HTTP流量。
现在回到图1A,网络环境100可以通过叶节点104、服务器106、管理程序108、VM110、应用112和控制器116来部署不同的主机,例如VMWARE ESXi主机、WINDOWS HYPER-V主机、裸金属物理主机等。网络环境100可以与各种管理程序108、服务器106(例如,物理和/或虚拟服务器)、SDN编排平台等进行互操作。网络环境100可以实现声明性模型以允许其与应用设计和整体网络策略的集成。
控制器116可以提供对软件定义的网络(SDN)基础设施的结构信息、应用配置、资源配置、应用级配置建模的集中访问,与管理系统或服务器的集成等。控制器116可以形成通过上行(northbound)API与应用平面进行接口,并且通过下行(southbound)API与数据平面进行接口的控制平面。
如前所述,控制器116可以定义和管理网络环境100中的针对配置的(一个或多个)应用级模型。在一些情况下,还可以由网络中的其他组件管理和/或定义应用或设备配置。例如,管理程序或虚拟设备(例如,VM或容器)可以运行服务器或管理工具来管理网络环境100中的软件和服务,包括虚拟设备的配置和设置。
如上所示,网络环境100可以包括一个或多个不同类型的SDN解决方案、主机等。为了清楚和解释的目的,将参考ACI框架描述本公开中的各种示例,并且控制器116可以可互换地被称为控制器、APIC或APIC控制器。然而,应该注意,本文的技术和概念不限于ACI解决方案,并且可以在其他架构和场景中实现,包括其他SDN解决方案以及可以不部署SDN解决方案的其他类型的网络。
此外,如本文所引用的,术语“主机”可以指代服务器106(例如,物理的或逻辑的)、管理程序108、VM 110、容器(例如,应用112)等,并且可以运行或包括任何类型的服务器或应用解决方案。“主机”的非限制性示例可以包括虚拟交换机或路由器,例如分布式虚拟交换机(DVS)、应用虚拟交换机(AVS)、矢量分组处理(VPP)交换机;VCENTER和NSX管理器;裸金属物理主机;HYPER-V主机;VM;DOCKER容器;等等。
图1B示出了根据主题技术的各个方面的示例网络环境。具体而言,图1B示出了网络环境100的另一示例。在该示例中,网络环境100包括连接到结构120中的叶节点104的端点122。端点122可以是物理和/或逻辑或虚拟实体,诸如服务器、客户端、VM、管理程序、软件容器、应用、资源、网络设备、工作负载等。例如,端点122可以是表示下列项的对象:物理设备(例如,服务器、客户端、交换机等)、应用(例如,web应用、数据库应用等)、逻辑或虚拟资源(例如,虚拟交换机、虚拟服务设备、虚拟化网络功能(VNF)、VM、服务链等)、运行软件资源的容器(例如,应用、设备、VNF、服务链等)、存储设备、工作负载或工作负载引擎等。端点122可以具有地址(例如,身份)、位置(例如,主机、网络段、虚拟路由和转发(VRF)实例、域等)、一个或多个属性(例如,名称、类型、版本、补丁级别、OS名称、OS类型等)、标签(例如,安全性标签)、简档等。
端点122可以与相应的逻辑组118相关联。逻辑组118可以是包含根据以下各项分组在一起的端点(物理和/或逻辑或虚拟)的逻辑实体:一个或多个属性(例如,端点类型(例如,VM类型、工作负载类型、应用类型等)),一个或多个要求(例如,策略要求、安全性要求、QoS要求、客户要求、资源要求等),资源名称(例如,VM名称、应用名称等),简档,平台或操作系统(OS)特性(例如,包括访客和/或主机OS的OS类型或名称等),关联的网络或租户,一个或多个策略,标签等。例如,逻辑组可以是表示分组在一起的端点集合的对象。为了说明,逻辑组1可以包含客户端端点,逻辑组2可以包含web服务器端点,逻辑组3可以包含应用服务器端点,逻辑组N可以包含数据库服务器端点等。在一些示例中,逻辑组118是ACI环境中的EPG和/或另一SDN环境中的其他逻辑组(例如,SG)。
可以基于逻辑组118对去往端点122和/或来自端点122的流量进行分类、处理、管理等。例如,逻辑组118可以用于对去往端点122或者来自端点122的流量进行分类,将策略应用于去往端点122或者来自端点122的流量,定义端点122之间的关系,定义端点122的角色(例如,端点是消费还是提供服务等),将规则应用于去往端点122或来自端点122的流量,对去往端点122或来自端点122的流量应用过滤器或访问控制列表(ACL),为去往端点122或来自端点122的流量定义通信路径,实施与端点122相关联的要求,实现与端点122相关联的安全性以及其他配置等。
在ACI环境中,逻辑组118可以是用于在ACI中定义契约的EPG。契约可以包括指定EPG之间发生什么通信和如何发生通信的规则。例如,契约可以定义提供服务的是什么,消费服务的是什么以及什么策略对象与该消费关系相关。契约可以包括定义如下内容的策略:通信路径以及端点或EPG之间的通信或关系的所有相关元素。例如,Web EPG可以提供客户端EPG所消费的服务,并且该消费可以受制于过滤器(ACL)和包括一个或多个服务(例如,防火墙检验服务和服务器负载平衡)的服务图。
图2A示出了根据主题技术的各个方面的网络的示例对象模型。具体而言,图2A示出了诸如网络环境100之类的SDN网络的示例管理信息模型200的图示。以下对管理信息模型200的讨论提及了各种术语,在整个公开中也将使用这些术语。因此,为清楚起见,本公开首先将在下面提供术语列表,随后将对管理信息模型200进行更详细的讨论。
如本文所使用的,“别名(Alias)”可以指代给定对象的可更改名称。因此,即使对象的名称一旦创建就不能更改,别名也可以是可以更改的字段。
如本文所使用的,术语“别名(aliasing)”可以指代与一个或多个其他规则重叠的规则(例如,契约、策略、配置等)。例如,如果在网络的逻辑模型中定义的契约1与在网络的逻辑模型中定义的契约2重叠,则可以说契约1是契约2的别名。在此示例中,通过使契约2成为别名,契约1可使得契约2冗余或不可操作。例如,如果契约1具有比契约2更高的优先级,则这种别名化可基于契约1的重叠和更高优先级特性而致使契约2冗余。
如本文所使用的,术语“APIC”可以指代ACI框架中的一个或多个控制器(例如,控制器116)。APIC可以为ACI多租户结构提供统一的自动化和管理点、策略编程、应用部署、健康监测。APIC可以实现为单个控制器,分布式控制器,或复制的、同步的和/或集群的控制器。
如本文所使用的,术语“BDD”可以指代二元决策树。二元决策树可以是表示函数(例如,布尔函数)的数据结构。
如本文所使用的,术语“BD”可以指代桥接域。桥接域可以是一组共享相同洪泛或广播特性的逻辑端口。与虚拟LAN(VLAN)一样,桥接域可以跨越多个设备。桥接域可以是L2(第2层)构造。
如本文所使用的,“消费者”可以指代消费服务的端点、资源和/或EPG。
如本文所使用的,“情境(context)”可以指代L3(第3层)地址域,其允许路由表的多个实例存在并同时工作。这通过允许在不使用多个设备的情况下对网络路径进行分段来提高功能性。情境或L3地址域的非限制性示例可以包括虚拟路由和转发(VRF)实例、私有网络等。
如本文所使用的,术语“契约”可以指代指定在网络中进行什么通信以及如何进行通信(例如,允许、拒绝、过滤、处理通信等)的规则或配置。在ACI网络中,契约可以指定端点和/或EPG之间的通信如何发生。在一些示例中,契约可以提供类似于访问控制列表(ACL)的规则和配置。
如本文所使用的,术语“可辨别名称”(DN)可以指代描述诸如MO之类的对象并且定位其在管理信息模型200中的位置的唯一名称。在一些情况下,DN可以是(或等同于)全限定域名(FQDN)。
如本文所使用的,术语“端点组”(EPG)可以指代与端点的集合或组相关联的逻辑实体或对象,如先前参考图1B所描述的。
如本文所使用的,术语“过滤器”可以指代用于允许通信的参数或配置。例如,在其中默认情况下所有通信都被阻止的白名单模型中,必须给予通信明确的许可,以防止此类通信被阻止。过滤器可以定义针对一个或多个通信或分组的(一个或多个)许可。因此,过滤器的功能可以类似于ACL或防火墙规则。在一些示例中,过滤器可以在分组(例如,TCP/IP)头部字段中实现,例如,L3协议类型、L4(第4层)端口等,其例如用于允许端点或EPG之间的入站或出站通信。
如本文所使用的,术语“L2输出”可以指代桥接连接。桥接连接可以连接同一网络的两个或更多个段,使得它们可以通信。在ACI框架中,L2输出可以是ACI结构(例如,结构120)和外部第2层网络(例如,交换机)之间的桥接(第2层)连接。
如本文所使用的,术语“L3输出”可以指代路由连接。路由第3层连接使用一组协议,该组协议确定数据所遵循的路径以便跨网络地从其源行进到其目的地。路由连接可以根据所选择的协议(例如,BGP(边界网关协议)、OSPF(开放式最短路径优先)、EIGRP(增强型内部网关路由协议)等)来执行转发(例如,IP转发)。
如本文所使用的,术语“管理对象”(MO)可以指代在网络(例如,网络环境100)中管理的对象的抽象表示。对象可以是具体对象(例如,交换机、服务器、适配器等)或逻辑对象(例如,应用简档、EPG、故障等)。MO可以是在网络中管理的网络资源或元素。例如,在ACI环境中,MO可以包括ACI结构(例如,结构120)资源的抽象。
如本文所使用的,术语“管理信息树”(MIT)可以指代包含系统的MO的分层管理信息树。例如,在ACI中,MIT包含ACI结构(例如,结构120)的MO。MIT也可以被称为管理信息模型(MIM),例如管理信息模型200。
如本文所使用的,术语“策略”可以指代用于控制系统或网络行为的某些方面的一个或多个规范。例如,策略可以包括命名实体,该命名实体包含用于控制系统行为的一些方面的规范。为了说明,第3层外部网络策略可以包含BGP协议,以在将结构120连接到外部第3层网络时使能BGP路由功能。
如本文所使用的,术语“简档”可以指代与策略相关联的配置细节。例如,简档可以包括命名实体,该实体包含用于实现策略的一个或多个实例的配置细节。为了说明,针对路由策略的交换机节点简档可以包含特定于交换机的配置细节以实现BGP路由协议。
如本文所使用的,术语“提供者”指代提供服务的对象或实体。例如,提供者可以是提供服务的EPG。
如本文所使用的,术语“主体”指代用于定义通信的契约中的一个或多个参数。例如,在ACI中,契约中的主体可以指定什么信息可以被传送以及如何被传送。主体的功能类似于ACL。
如本文所使用的,术语“租户”指代网络中的隔离单元。例如,租户可以是安全且排他的虚拟计算环境。在ACI中,租户可以是从策略角度看的隔离单元,但不一定代表私有网络。实际上,ACI租户可以包含多个私有网络(例如,VRF)。租户可以代表服务提供者设置中的消费者、企业设置中的组织或领域、或仅代表策略组。
如本文所使用的,术语“VRF”指代虚拟路由和转发实例。VRF可以定义第3层地址域,其允许路由表的多个实例存在并同时工作。这通过允许在不使用多个设备的情况下对网络路径进行分段来提高功能性。其也被称为情境或私有网络。
已经描述了本文使用的各种术语,本公开现在返回到对图2A中的管理信息模型(MIM)200的讨论。如前所述,MIM 200可以是分层管理信息树或MIT。此外,MIM 200可以由控制器116(例如,ACI中的APIC)管理和处理。控制器116可以通过将其可管理特性呈现为可以根据对象在模型的分层结构内的位置而继承的对象属性来实现对被管理资源的控制。
MIM 200的分层结构从位于顶部(根)的策略全集202开始并且包含双亲(parent)节点和子节点116、204、206、208、210、212。树中的节点116、202、204、206、208、210、212表示管理对象(MO)或对象组。结构(例如,结构120)中的每个对象具有唯一的可辨别名称(DN),其描述对象并定位其在树中的位置。节点116、202、204、206、208、210、212可以包括如下所述的各种MO,其包含统管系统的操作的策略。
控制器116
控制器116(例如,APIC控制器)可以为结构120提供管理、策略编程、应用部署和健康监测。
节点204
节点204包括用于使管理员能够执行基于域的访问控制的策略的租户容器。租户的非限制性示例可以包括:
管理员根据用户的需求定义的用户租户。它们包含统管资源(例如,应用、数据库、web服务器、网络附接存储、虚拟机等)的操作的策略。
共同租户由系统提供,但是可以由管理员配置。它包含统管所有租户可访问资源(例如,防火墙、负载平衡器、第4层到第7层服务、入侵检测设备等)的操作的策略。
基础设施租户由系统提供,但是可以由管理员配置。它包含统管基础设施资源(例如,结构覆盖(例如,VXLAN))的操作的策略。它还使得结构提供者能够选择性地将资源部署到一个或多个用户租户。基础设施租户策略可由管理员进行配置。
管理租户由系统提供,但是可以由管理员配置。它包含统管结构管理功能的操作的策略,这些功能用于对结构节点的带内和带外配置。管理租户包含用于控制器/结构内部通信的私有界外(out-of-bound)地址空间,该地址空间位于通过交换机的管理端口提供访问的结构数据路径之外。管理租户使能与虚拟机控制器的通信的发现和自动化。
节点206
节点206可以包含统管交换机访问端口的操作的访问策略,交换机访问端口提供到诸如存储、计算、第2层和第3层(桥接和路由)连通性、虚拟机管理程序、第4层到第7层设备等之类的资源的连接。如果租户需要除默认链路、思科发现协议(Cisco DiscoveryProtocol,CDP)、链路层发现协议(LLDP)、链路聚合控制协议(LACP)或生成树协议(STP)中提供的接口配置以外的接口配置,则管理员可以配置访问策略以在叶节点104的访问端口上使能此类配置。
节点206可以包含统管交换机结构端口的操作的结构策略,包括诸如网络时间协议(NTP)服务器同步、中间系统到中间系统协议(IS-IS)、边界网关协议(BGP)路由反射器、域名系统(DNS)等之类的功能。结构MO包含诸如电源、风扇、底座等之类的对象。
节点208
节点208可以包含VM域,其将具有类似的联网策略要求的VM控制器聚集起来。VM控制器可以共享虚拟空间(例如,VLAN或VXLAN空间)和应用EPG。控制器116与VM控制器通信以发布网络配置,例如随后应用于虚拟工作负载的端口组。
节点210
节点210可以包含第4层到第7层服务集成生命周期自动化框架,其使得系统能够在服务在线或离线时动态地做出响应。策略可以提供服务设备包和库存管理功能。
节点212
节点212可以包含统管结构120的用户权限、角色和安全域的访问、认证和计费(AAA)策略。
分层策略模型可以很好地适合API,例如REST API接口。调用时,API可以读取或写入MIT中的对象。URL可以直接映射到识别MIT中的对象的可辨别名称。例如,MIT中的数据可以被描述为以XML或JSON编码的自包含结构化树文本文档。
图2B示出了根据主题技术的各个方面的租户对象的示例对象模型。图2B包括用于MIM 200的租户部分的示例对象模型220。如前所述,租户是用于使管理员能够执行基于域的访问控制的应用策略的逻辑容器。因此,租户代表了从策略角度看的隔离单元,但它不一定代表私有网络。租户可以代表服务提供者设置中的客户、企业设置中的组织或域、或者仅代表方便的策略分组。此外,租户可以彼此隔离或可以共享资源。
MIM 200的租户部分204A可以包括各种实体,并且租户部分204A中的实体可以从双亲实体继承策略。租户部分204A中的实体的非限制性示例可以包括过滤器240、契约236、外部网络222、桥接域230、VRF实例234、和应用简档224。
桥接域230可以包括子网232。契约236可以包括主体238。应用简档224可以包含一个或多个EPG 226。一些应用可以包含多个组件。例如,电子商务应用可能需要web服务器、数据库服务器、位于存储区域网络中的数据、以及对允许实现金融交易的外部资源的访问。应用简档224包含与提供应用的能力在逻辑上相关的尽可能多(或少)的EPG。
EPG 226可以以各种方式来组织,例如基于它们提供的应用、它们提供的功能(例如基础设施)、它们在数据中心(例如DMZ)的结构中的位置、或者结构或租户管理员选择使用的任何组织原则。
结构中的EPG可以包含各种类型的EPG,例如,应用EPG、第2层外部网络外实例EPG、第3层外部网络外实例EPG、用于带外或带内访问的管理EPG等。EPG 226还可以包含属性228,例如基于封装的EPG、基于IP的EPG、或基于MAC的EPG。
如前所述,EPG可以包含具有共同特性或属性(例如,共同策略要求(例如,安全性、虚拟机移动性(VMM)、QoS、或第4层到第7层服务)的端点(例如,EP 122)。不是单独配置和管理端点,而是可以将它们放在EPG中并作为群组进行管理。
策略应用于EPG,包括它们所包含的端点。EPG可以由管理员在控制器116中静态配置,或者由诸如VCENTER或OPENSTACK之类的自动系统动态地配置。
为在租户部分204A中激活租户策略,应配置结构访问策略并将其与租户策略相关联。访问策略使管理员能够配置其他网络配置,例如,端口信道和虚拟端口信道,诸如LLDP、CDP或LACP之类的协议,以及诸如监测或诊断之类的特征。
图2C示出了根据主题技术的各个方面的各种对象的示例关联。具体而言,图2C包括MIM 200中的租户实体和访问实体的示例关联260。策略全集202包含租户部分204A和访问部分206A。因此,租户部分204A和访问部分206A通过策略全集202相关联。
访问部分206A可以包含结构和基础设施访问策略。通常,在策略模型中,EPG与VLAN耦合。例如,为使流量流过,EPG被部署在具有在物理、VMM、L2输出、L3输出或光纤信道域中的VLAN的叶端口上。
因此,访问部分206A包含域简档236,其可以定义例如要与EPG相关联的物理、VMM、L2输出、L3输出或光纤信道域。域简档236包含VLAN实例简档238(例如,VLAN池)和可附接访问实体简档(AEP)240,它们直接与应用EPG相关联。AEP 240将关联的应用EPG部署到它所附接的端口,并自动执行分配VLAN的任务。虽然大型数据中心可以在数百个VLAN上配有数千个活动的VM,但结构120可以自动从VLAN池分配VLAN ID。与在传统数据中心处中继(trunkdown)VLAN相比,这节省了时间。
图2D示出了用于实现MIM 200的示例模型的示意图。网络保证模型可以包括L_模型270A(逻辑模型)、LR_模型270B(逻辑呈现模型或逻辑运行时模型)、Li_模型272(针对i的逻辑模型)、Ci_模型274(针对i的具体模型)和Hi_模型276(针对i的硬件模型或TCAM模型)。
L_模型270A是MIM 200中的对象及其关系的逻辑表示。控制器116可以基于针对网络而输入在控制器116中的配置来生成L_模型270A,并且因此L_模型270A表示控制器116处的网络的配置。这是对在网络实体(例如,应用)的元素被连接并且结构120被控制器116配设时所期望的“结束状态”表述的声明。换言之,因为L_模型270A表示输入在控制器116中的配置(包括MIM 200中的对象和关系),它还可以反映管理员的“意图”:管理员希望网络和网络元件如何运作。
LR_模型270B是控制器116(例如,ACI中的APIC)从L_模型270A中解析的抽象模型表述。LR_模型270B从而可以提供将被递送到物理基础设施(例如,结构120)以执行一个或多个策略的基本配置组件。例如,LR_模型270B可以被递送到结构120中的叶节点104,以将叶节点104配置用于与附接的端点122通信。
Li_模型272是从L_模型270A和/或LR_模型270B获得的交换机级或特定于交换机的模型。例如,Li_模型272可以表示与特定交换机或路由器i有关的L_模型270A和/或LR_模型270B的部分。为了说明,Li_模型272L1可以表示与叶节点1(104)有关的L_模型270A和/或LR_模型270B的部分。因此,对于结构120上的一个或多个交换机或路由器(例如,叶节点104和/或脊节点102等),可以从L_模型270A和/或LR_模型270B生成Li_模型272。
Ci_模型274是在单独的结构成员i(例如,交换机i)处的实际状态内(in-state)配置。换句话说,Ci_模型274是基于Li_模型272的交换机级或特定于交换机的模型。例如,控制器116可以将Li_模型272递送到叶节点1(104)。叶节点1(104)可以采用Li_模型272(其可以特定于叶节点1(104)),并且叶节点1(104)可以将Li_模型272中的策略呈现为在叶节点1(104)上运行的具体模型Ci_模型274。例如,叶节点1(104)可以通过叶节点1(104)上的OS来呈现Li_模型272。因此,Ci_模型274可以类似于经编译的软件,因为它采用叶节点1(104)处的交换机OS可以执行的Li_模型272的形式。
Hi_模型276也是针对交换机i的交换机级或特定于交换机的模型,但是基于针对交换机i的Ci_模型274。Hi_模型276是在单独的结构成员i(例如,交换机i)处的硬件或存储器(例如,TCAM存储器)上存储或呈现的实际配置(例如,规则)。例如,Hi_模型276可以表示叶节点1(104)基于叶节点1(104)处的Ci_模型274在叶节点1(104)的硬件(例如,TCAM存储器)上存储或呈现的配置(例如,规则)。叶节点1(104)处的交换机OS可以呈现或执行Ci_模型274,并且叶节点1(104)可以存储或呈现来自存储设备(例如,叶节点1(104)处的存储器或TCAM)中的Ci_模型的配置。来自由叶节点1(104)存储或呈现的Hi_模型276的配置表示在处理流量时将由叶节点1(104)实现的配置。
虽然模型272、274、276被示出为特定于设备的模型,但是类似的模型可以针对结构120中的结构成员(例如,叶节点104和/或脊节点102)的集合而生成或聚合。当被组合时,特定于设备的模型(例如模型272、模型274和/或模型276)可以提供超出特定设备的结构120的表示。例如,在一些情况下,可以组合或聚合与一些或所有各个结构成员(例如,叶节点104和脊节点102)相关联的Li_模型272、Ci_模型274和/或Hi_模型276,以基于各个结构成员生成一个或多个聚合模型。
如本文所提及的,术语H模型、T模型和TCAM模型可以互换使用以指代硬件模型,例如Hi_模型276。例如,Ti模型、Hi模型和TCAMi模型可以互换使用,以指代Hi_模型276。
模型270A、270B、272、274、276可以提供网络的各个方面或MIM200的各个配置阶段的表示。例如,模型270A、270B、272、274、276中的一个或多个可以用于生成表示结构120的一个或多个方面(例如,底层拓扑、路由等)的底层模型278,表示网络环境100的覆盖或(一个或多个)逻辑段的一个或多个方面(例如,COOP、MPBGP、租户、VRF、VLAN、VXLAN、虚拟应用、VM、管理程序、虚拟交换等)的覆盖模型280,表示MIM 200中的租户部分204A的一个或多个方面(例如,安全性、转发、服务链、QoS、VRF、BD、契约、过滤器、EPG、子网等)的租户模型282,表示网络环境100中的一个或多个资源(例如,存储、计算、VM、端口信道、物理元件等)的资源模型284,等等。
通常,L_模型270A可以是存在于LR_模型270B中的内容的高级表述,其应当在具体设备上被呈现为Ci_模型274和Hi_模型276表述。如果模型之间存在任何间隙,则可能存在不一致的配置或问题。
图3A示出了用于网络保证的示例保证设备300的图。在该示例中,保证设备300可以包括以集群模式操作的k个VM 110。在此示例中为了解释的目的而使用VM。然而,应该理解,本文还设想了其他配置,例如,使用容器、裸金属设备、端点122、或任何其他物理或逻辑系统。此外,例如,虽然图3A示出了集群模式配置,但是本文还设想了其他配置,例如单模式配置(例如,单个VM、容器或服务器)或服务链。
保证设备300可以在一个或多个服务器106、VM 110、管理程序108、EP 122、叶节点104、控制器116或任何其他系统或资源上运行。例如,保证设备300可以是在网络环境100中的一个或多个VM 110上运行的逻辑服务或应用。
保证设备300可以包括数据框架308,其可以基于例如APACHE APEX和HADOOP。在一些情况下,保证检查可以被编写为驻留在数据框架308中的个体运算符(operator)。这允许实现本地水平扩展架构,其能够扩展到结构120(例如,ACI结构)中的任意数量的交换机。
保证设备300可以以可配置的周期(例如,时段)轮询结构120。分析工作流可以被设置为操作器310的DAG(有向无环图),其中数据从一个操作器流向另一操作器,并且最终生成结果并且针对每个间隔(例如,每个时段)将结果永久保存到数据库302。
上层(north-tier)实现API服务器(例如,APACHE Tomcat、Spring框架)304和Web服务器306。图形用户界面(GUI)经由暴露给客户的API进行交互。客户还可以使用这些API来从保证设备300收集数据,以进一步集成到其他工具中。
数据框架308(例如,APEX/Hadoop)中的操作器310可以一起支持保证操作。以下是保证设备300可以通过操作器310执行的保证操作的非限制性示例。
安全性策略遵守
保证设备300可以检查以确保来自可以反映用户对网络的意图的L_模型270A的配置或规范(包括例如安全性策略和客户配置的契约)被正确地实现和/或呈现在Li_模型272、Ci_模型274和Hi_模型276中并且因此由结构成员(例如,叶节点104)适当地实现和呈现,并且报告任何发现的错误、契约违反或不规则。
静态策略分析
保证设备300可以检查用户的一个或多个意图的规范中的问题(例如,识别L_模型270A中的矛盾或冲突的策略)。
TCAM利用率
TCAM是结构(例如,结构120)中的稀缺资源。然而,保证设备300可以通过网络数据(例如,最长前缀匹配(LPM)表、路由表、VLAN表、BGP更新等)、契约、逻辑组118(例如,EPG)、租户、脊节点102、叶节点104、和网络环境100中的其他维度和/或MIM 200中的对象来分析TCAM利用率,以向网络运营商或用户提供对该稀缺资源的利用率的可见性。这对规划和其他优化目的有很大帮助。
端点检查
保证设备300可以验证结构(例如,结构120)在所注册的端点信息中没有不一致(例如,两个叶节点宣告相同的端点、重复的子网等),以及其他这样的检查。
租户路由检查
保证设备300可以验证BD、VRF、子网(内部和外部两者)、VLAN、契约、过滤器、应用、EPG等被正确地编程。
基础设施路由
保证设备300可以验证基础设施路由(例如,IS-IS协议)没有导致黑洞、环路、振荡(flap)的收敛问题和其他问题。
MP-BGP路由反射检查
网络结构(例如,结构120)可以与其他外部网络接口连接,并通过一个或多个协议(例如,边界网关协议(BGP)、开放式最短路径优先(OSPF)等)提供到它们的连接。通过例如MP-BGP在网络结构内通告已获知的路由。这些检查可以保证通过例如MP-BGP(例如,来自边界叶节点)的路由反射服务不具有健康问题。
逻辑线头(Lint)和实时变化分析
保证设备300可以验证网络的规范(例如,L_模型270A)中的规则是完整的并且没有不一致或其他问题。可以由保证设备300通过在L_模型270A和/或MIM 200中的MO的相关联的配置上执行的语法和语义检查来检查MIM 200中的MO。保证设备300还可以验证不必要的、过时的、未使用的或冗余的配置(例如契约)被移除。
图3B示出了用于网络保证的示例系统350的架构图。在一些情况下,系统350可以对应于先前关于图3A所讨论的操作器310的DAG。
在该示例中,拓扑探测器312与控制器116(例如,APIC控制器)通信,以便发现或以其他方式构建结构120的综合拓扑视图(例如,脊节点102、叶节点104、控制器116、端点122、和任何其他组件及其互连)。虽然各种架构组件以单个盒装方式来表示,但是应理解,给定的架构组件(例如,拓扑探测器312)可对应于一个或多个个体操作器310,并且可以包括一个或多个节点或端点,例如一个或多个服务器、VM、容器、应用、服务功能(例如,服务链中的功能或虚拟化网络功能)等。
拓扑探测器312被配置为发现结构120中的节点,例如,控制器116、叶节点104、脊节点102等。拓扑探测器312还可以检测在控制器116之间执行的多数选举,并确定控制器116之间是否存在规定数量(quorum)。如果不存在规定数量或多数,则拓扑探测器312可以触发事件并警告用户控制器116之间存在配置或其他错误,其阻止达到规定数量或多数。拓扑探测器312可以检测作为结构120的一部分的叶节点104和脊节点102,并将其相应的带外管理网络地址(例如,IP地址)发布到下游服务。这可以是在拓扑探测器312发现时段(例如,5分钟或某个其他指定间隔)结束时发布到下游服务的拓扑视图的一部分。
统一收集器314可以从拓扑探测器312接收拓扑视图,并使用拓扑信息以从结构120收集用于网络保证的信息。这样的信息可以包括来自控制器116的L_模型270A和/或LR_模型270B、来自叶节点104和/或脊节点102的交换机软件配置(例如,Ci_模型274)、来自叶节点104和/或脊节点102的硬件配置(例如,Hi_模型276)等。统一收集器314可以收集来自各个结构成员(例如,叶节点104和脊节点102)的Ci_模型274和Hi_模型276。
统一收集器314可以轮询拓扑探测器312发现的设备,以便从结构120(例如,从结构的组成成员)收集数据。统一收集器314可以使用由控制器116和/或交换机软件(例如,交换机OS)暴露的接口(包括例如表示状态转移(REST)接口和安全外壳(SSH)接口)来收集数据。
在一些情况下,统一收集器314经由REST API收集L_模型270A、LR_模型270B和/或Ci_模型274,并且经由SSH、使用交换机软件所提供的实用程序(例如,用于访问交换机命令行接口(CLI)的虚拟壳(VSH或VSHELL)或用于访问线卡的运行时状态的VSH_LC壳)收集硬件信息(例如,配置、表、结构卡信息、规则、路由等)。
统一收集器314可以轮询来自控制器116的其他信息,包括但不限于:拓扑信息、租户转发/路由信息、租户安全性策略、契约、接口策略、物理域或VMM域信息、结构中的节点的OOB(带外)管理IP等。
统一收集器314还可以轮询来自叶节点104和脊节点102的其他信息,例如:用于VLAN、BD和安全性策略的Ci模型274;叶节点104和/或脊节点102的链路层发现协议(LLDP)连通性信息;来自EPM/COOP的端点信息;来自脊节点102的结构卡信息;路由信息库(RIB)表;来自叶节点104和/或脊节点102的转发信息库(FIB)表;来自交换机的安全组硬件表(例如,TCAM表);等等。
保证设备300可以运行统一收集器314的一个或多个实例。例如,保证设备300可以运行统一收集器314的一个、两个、三个或更多个实例。针对拓扑(例如,包括脊节点102、叶节点104、控制器116等的结构120)中每个节点的数据收集任务可以被分片或负载平衡成统一收集器314的唯一实例。因此,可以由统一收集器314的一个或多个实例并行地执行跨节点的数据收集。在给定的节点中,命令和数据收集可以串行执行。保证设备300可以控制由统一收集器314的每个实例用于从结构120轮询数据的线程数量。
统一收集器314所收集的数据可以被压缩并发送到下游服务。在一些示例中,统一收集器314可以以在线方式或实时方式收集数据,并在收集数据时向下游发送数据以供进一步分析。在一些示例中,统一收集器314可以以离线方式收集数据,并且编译数据以供稍后分析或传输。
保证设备300可以联系控制器116、脊节点102、叶节点104和其他节点以收集各种类型的数据。在一些场景中,保证设备300可能经历失败(例如,连通性问题、硬件或软件错误等),这使其在一段时间内无法收集数据。保证设备300可以无缝地处理这种失败,并基于这样的失败生成事件。
交换机逻辑策略生成器316可以从统一收集器314接收L_模型270A和/或LR_模型270B,并且为结构120中的每个网络设备i(例如,交换机i)计算Li_模型272。例如,交换机逻辑策略生成器316可以接收L_模型270A和/或LR_模型270B并通过为结构120中的每个单独节点i(例如,脊节点102和/或叶节点104)投射逻辑模型来生成Li_模型272。交换机逻辑策略生成器316可以为结构120中的每个交换机生成Li_模型272,从而为每个交换机创建基于L_模型270A的交换机逻辑模型。
交换机逻辑配置生成器316还可以执行变化分析并生成针对在L_模型270A和/或LR_模型270B中发现的问题的线头事件(lint event)或记录。线头事件或记录可用于来为用户或网络运营商生成警报。
策略操作器318可以针对每个交换机从统一收集器314接收Ci_模型274和Hi_模型276,并且针对每个交换机从交换机逻辑策略生成器316接收Li_模型272,并且基于Ci_模型274、Hi_模型276和Li_模型272执行保证检查和分析(例如,安全性遵守检查、TCAM利用率分析等)。策略操作器318可以通过比较模型中的一个或多个来逐个交换机地执行保证检查。
返回到统一收集器314,统一收集器314还可以将L_模型270A和/或LR_模型270B发送到路由策略解析器320,并且将Ci_模型274和Hi_模型276发送到路由解析器326。
路由策略解析器320可以接收L_模型270A和/或LR_模型270B,并解析(一个或多个)模型以获得与下游操作器(例如端点检查器322和租户路由检查器324)相关的信息。类似地,路由解析器326可以接收Ci_模型274和Hi_模型276,并解析每个模型以获得针对下游操作器(端点检查器322和租户路由检查器324)的信息。
在解析Ci_模型274、Hi_模型276、L_模型270A和/或LR_模型270B之后,路由策略解析器320和/或路由解析器326可以将清理的协议缓冲区(Proto Buff)发送到下游操作器(端点检查器322和租户路由检查器324)。然后,端点检查器322可以生成与端点违规相关的信息,例如重复的IP、APIPA等,并且租户路由检查器324可以生成与BD、VRF、子网、路由表前缀等的部署相关的事件。
图3C示出了用于网络(例如,网络环境100)中的静态策略分析的示例系统的示意图。静态策略分析器360可以执行保证检查,以检测配置违规、逻辑线头事件、矛盾或冲突的策略、未使用的契约、不完整的配置等。静态策略分析器360可以检查L_模型270A中用户的一个或多个意图的规范,以确定控制器116中是否有任何配置与用户的一个或多个意图的规范不一致。
静态策略分析器360可以包括在保证设备300中执行或容宿的操作器310中的一个或多个。然而,在其他配置中,静态策略分析器360可运行与操作器310和/或保证设备300分离的一个或多个操作器或引擎。例如,静态策略分析器360可以是VM、VM集群、或服务功能链中的端点的集合。
静态策略分析器360可以从逻辑模型收集过程366接收L_模型270A并且接收为L_模型270A中的每个特征(例如,对象)定义的规则368作为输入。规则368可以基于MIM 200中的对象、关系、定义、配置、以及任何其他特征。规则368可以指定条件、关系、参数、和/或用于识别配置违规或问题的任何其他信息。
此外,规则368可以包括用于识别语法违规或问题的信息。例如,规则368可包括用于执行语法检查的一个或多个规则。语法检查可以验证L_模型270A的配置是否完整,并且可以帮助识别未使用的配置或规则。语法检查还可验证分层MIM 200中的配置是否完整(已定义),并识别已定义但未使用的任何配置。为进行说明,规则368可以指定L_模型270A中的每个租户都应被配置一个情境;L_模型270A中的每个契约都应指定提供者EPG和消费者EPG;L_模型270A中的每个契约都应指定主体、过滤器和/或端口;等等。
规则368还可以包括用于执行语义检查和识别语义违规或问题的规则。语义检查可以检查冲突的规则或配置。例如,规则1和规则2可能有别名问题,规则1可能比规则2更具体,从而产生冲突/问题,等等。规则368可以定义可能导致别名规则、冲突规则等的条件。为进行说明,规则368可以指定如果针对两个对象之间的特定通信的允许策略的优先级高于针对两个对象之间的同一通信的拒绝策略,则该允许策略可能与该拒绝策略相冲突,或者针对对象的一种规则使得另一规则显得不必要。
静态策略分析器360可以将规则368应用于L_模型270A,以检查L_模型270A中的配置,并基于检测到的任何问题而输出配置违规事件370(例如,警报、日志、通知等)。配置违规事件370可以包括语义或语义问题,例如,不完整的配置、冲突的配置、别名规则、未使用的配置、错误、策略违反、配置错误的对象、不完整的配置、不正确的契约范围、不正确的对象关系等。
在一些情况下,静态策略分析器360可以迭代遍历基于L_模型270A和/或MIM 200生成的树中的每个节点,并在树中的每个节点上应用规则368以确定是否有任何节点发生违规(例如,不完整的配置、不恰当的配置、未使用的配置等)。当静态策略分析器360检测到任何违规时,它可以输出配置违规事件370。
本公开现在转向图4A和图4B,其示出了示例方法。图4A示出了用于网络保证的示例方法,图4B示出了用于生成逻辑模型的示例方法。这些方法是通过示例提供的,因为可以有多种方式来执行这些方法。另外,虽然示例方法以特定的块或步骤的顺序示出,但是本领域的普通技术人员将理解该图4A和图4B以及其中所示的块可以按任何顺序执行,并且可以包括比图示更少或更多的块。
图4A和图4B中所示的每个块表示方法中的一个或多个步骤、过程、方法或例程。为了清楚和解释的目的,图4A和4B中的块参考如图1A-B、2D和3A中所示的保证设备300、模型270A-B、272、274、276和网络环境100来描述。
图4A示出了示例网络保证方法的流程图。在步骤400,保证设备300可以收集数据并获得与网络环境100相关联的模型。所述模型可以包括模型270A-B、272、274、276。数据可以包括:结构数据(例如,拓扑、交换机、接口策略、应用策略、EPG等)、网络配置(例如BD、VRF、L2Out、L3 Out、协议配置等)、安全配置(例如契约、过滤器等)、服务链配置、路由配置等。所收集或获得的其他信息可以包括,例如:网络数据(例如,RIB/FIB、VLAN、MAC、ISIS、DB、BGP、OSPF、ARP、VPC、LLDP、MTU、QoS等)、规则和表(例如,TCAM规则、ECMP表等)、端点动态(例如,EPM、COOP EP DB等)、统计(例如,TCAM规则命中、接口计数、带宽等)。
在步骤402,保证设备300可以对所接收的数据和模型进行分析和建模。例如,保证设备300可以执行形式建模和分析,这可能涉及确定模型之间的等效性,包括配置、策略等。
在步骤404,保证设备300可以生成一个或多个智能事件。保证设备300可以使用用于详细分析的深层对象分层结构来生成智能事件,例如租户、交换机、VRF、规则、过滤器、路由、前缀、端口、契约、主题等。
在步骤406,保证设备300可以可视化智能事件、分析和/或模型。保证设备300可以在用户友好的GUI中显示用于分析和调试的问题和警报。
图4B示出了根据本技术的各个方面的用于生成特定于设备的逻辑模型的示例方法。在步骤420,保证设备300可以从控制器116获得与网络环境100相关联的逻辑级配置数据。逻辑级配置数据可以包括存储在网络环境100的控制器116处的配置或其他模型。逻辑级配置数据可以至少部分地基于网络管理员提供的配置信息。基于逻辑级配置数据,在步骤422,保证设备300可以生成网络环境100的网络范围的逻辑模型(例如,L_模型270A)。网络范围的逻辑模型可以表示与网络相关联的分层管理信息树(例如,MIM 200)中的对象的配置。
在步骤424,保证设备300可以基于网络范围的逻辑模型生成网络的呈现的逻辑模型(例如,LR_模型270B)。呈现的逻辑模型可以包括网络的运行时状态。呈现的逻辑模型可以以可由结构120中的网络设备(例如叶节点104和脊节点102)读取、执行、呈现和/或解释的方式被格式化。在某些情况下,呈现的逻辑模型可以是网络范围的逻辑模型的平坦模型,其中包含结构120中的网络设备理解的对象或标识符,例如JSON对象、硬件平面标识符、策略组标记等。
在步骤426,基于呈现的逻辑模型,保证设备可以为网络环境100中的一个或多个网络设备(例如,结构120中的叶节点104)生成网络范围的逻辑模型(例如,Li_模型272)的相应特定于设备的表示。相应特定于设备的表示可以将网络范围的逻辑模型投影到相应网络设备上。换言之,相应特定于设备的表示可以传达网络范围的逻辑模型应该如何看待或应用于相应网络设备。例如,相应特定于设备的表示可以是特定于交换机的逻辑模型,该逻辑模型表示如对于特定交换机感知、投影、可适用等的网络范围的逻辑模型
网络节点存储器利用率分析
根据主题技术的各个方面,一个或多个网络管理员可以在网络结构的一个或多个网络控制器(例如,APIC控制器)或一个或多个网络保证设备处定义配置或意图集合。网络控制器可以将意图集合转换成机器可读的形式,并在网络结构(例如,在脊节点、叶节点或其他网络节点上)上实现它。
例如,配置或意图集合最初可以是自然语言格式或遵循人类可读的语义,其可以被翻译成一个或多个网络控制器支持的逻辑模型格式。在其它实现方式中,意图集合或配置可以以逻辑模型格式输入。一个或多个网络控制器可以将逻辑模型级意图呈现为每个网络节点的具体级,使得结构中的一个或多个节点(例如,叶节点和/或脊节点)可以读取逻辑级意图的具体级呈现,以定义端点、端点组、应用、服务等的配置和其他设置。具体级意图可以呈现为硬件级意图,与节点的操作和结构中每个节点使用的物理存储器或存储装置兼容。然而,网络节点的存储器有限。
例如,一些网络节点可以利用三值内容寻址存储器(TCAM)将意图的硬件级呈现存储为一系列TCAM条目。然而,每个节点可能具有有限数量的TCAM存储器和/或只能存储有限数量的TCAM条目。此外,由于TCAM条目是机器可读格式的,所以网络管理员更难理解TCAM级发生的具体情况。
例如,网络管理员很难理解特定TCAM条目的功能和/或目的。此外,一旦意图作为TCAM条目呈现为硬件级,网络管理员就很难确定TCAM条目所关联的是哪些逻辑级意图、契约、端点组或其他逻辑级组件。了解与TCAM条目相关联的逻辑级组件可能有助于网络管理员确定哪些组件(例如契约、租户、策略等)使用最多的TCAM条目或存储器。TCAM条目与逻辑级组件的关联也可能有助于网络管理员配置或重新配置网络。例如,由于各种原因,TCAM条目可能过时,或者在网络节点(例如,叶节点)的TCAM条目中实现网络意图可能有错误。由于网络管理员难以读取或理解TCAM条目以及每个TCAM条目与哪些逻辑级组件关联,因此很难检测和移除过时、丢失的TCAM条目和/或错误实现的TCAM条目。
根据主题技术的各个方面,网络保证设备可被配置为用逻辑级框架来丰富TCAM条目,并将TCAM条目与各种逻辑级组件、概念、尺寸和/或人可读注释相关联。与TCAM条目相比,这些逻辑级方面对网络管理员来说更具人可读性和可理解性。例如,网络保证设备可以将TCAM条目与逻辑级模型的特定源或目标租户、契约、端点组或其他组件或尺寸相关联。该信息在调试网络问题、监测网络使用、契约管理、租户管理、确定有多少TCAM条目与各种逻辑级组件或其他与网络相关的活动相关联时可能非常有用。
通常,逻辑模型格式中包含的信息可以包括网络配置的高级表达和/或网络对象及其关系的逻辑表示。逻辑模型可以表示所需网络意图的“结束状态”表达(例如,管理员希望网络和网络元素如何行为),当逻辑模型正确地呈现为具体级和硬件级并在适当的网络节点上实现时,应实现该表达。
具体级的信息(例如,存储在具体模型中的信息)可以从逻辑级信息中导出,并且表示结构中特定节点(例如,叶节点、脊节点或其他交换机设备)的实际状态配置。节点的具体模型包含基于逻辑模型的特定于节点的信息。例如,网络控制器可以将逻辑模型(例如,L模型)或节点的逻辑模型(例如,Li模型)提供给适当的节点(例如,对应于i的节点)。节点可以将逻辑模型呈现为在节点上运行的具体模型。在其他变型中,网络控制器可以将逻辑模型呈现为具体模型,并将具体模型提供给节点。
根据一些实现方式,具体级信息可以是访问控制(actrl)规则的形式。访问控制规则为节点提供了处理网络流量的粒度化方法。在一些方面中,每个规则可以包括各种过滤器或条件,这些过滤器或条件可以指定网络流的类型或类别,以及节点将对与这些过滤器和条件匹配的数据分组执行的动作。这些动作可以包括例如监测、检查、信任、重定向、日志记录、阻挡、允许或可应用于匹配流量的其他动作。
节点的硬件级信息(例如,存储在硬件模型中的信息)是基于该节点的具体级信息(例如,节点的具体模型)呈现的特定于节点的信息。硬件级信息可以表示存储或呈现在各个节点处的硬件或存储器(例如TCAM存储器)上的实际配置(例如,条目)。根据一些实现方式,硬件级信息可以是存储在节点的TCAM存储器中的TCAM条目的形式。节点可以存储各种硬件级条目,使用这些条目来管理网络流量流,并且提供应用程序接口(例如API),其允许网络控制器或网络保证设备检索关于存储在节点上的硬件级条目的各种数据。例如,使用API,网络保证设备可以向节点查询与特定具体级网络规则相关联的硬件级条目的数量。
图5A示出了根据主题技术的各个方面的用于确定逻辑级组件的硬件级条目的数量的示例方法实施例。尽管本文所描述的方法和过程可以用特定顺序以某些步骤和操作来示出,但除非另有说明,否则以类似或替代顺序或并行地执行的额外、更少或替代的步骤和操作在各种实施例的范围内。方法500可以由网络保证设备实现。然而,在其他变型中,方法500可由网络控制器、另一系统或系统的组合来执行。
在操作502,网络保证设备可以查询网络结构中的叶节点,以获得与在叶节点上实现的每个具体级网络规则相关联的硬件级条目的数量。具体级网络规则可以在叶节点上实现,以表示为叶节点呈现的具体级意图,并且是多个具体级网络规则之一。硬件级条目可以是存储在叶节点的TCAM存储器中的TCAM条目,并且表示叶节点的意图的硬件级呈现。
根据主题技术的一些方面,网络保证设备可以通过查询叶节点提供的接口来确定在叶节点上实现的具体级网络规则,以获得该信息(作为具体级网络规则的列表或作为节点的具体模型的全部或部分)。在一些方面中,在叶节点上实现的具体级网络规则可以通过查询网络控制器以获得该信息或通过从一个或多个逻辑模型生成该信息来获得。对于叶节点上的每个具体级网络规则,网络保证设备可以向叶节点发送查询,例如操作502中的查询。在其它方面中,在叶节点上实现的具体级网络规则可以作为在操作502中对叶节点的查询的结果而获得,其中叶节点通过提供在叶节点上实现的一个或多个具体级规则以及与一个或多个具体级规则中的每一个相关联的硬件级条目的数量来对查询作出响应。
根据一些方面,具体级网络规则可以是ACI实现的网络结构中的访问控制(actrl)规则的形式。每个访问控制规则可以与规则ID相关联,并且网络保证设备可以查询叶节点以识别在叶节点上实现的访问控制规则的规则ID。对于在叶节点上实现的每个访问控制规则(例如,对于每个规则ID),网络保证设备可以查询叶节点以确定与该访问控制规则或规则ID相关联的TCAM条目的数量。访问控制规则ID到TCAM条目的映射可以在叶节点存储的分区规则映射中找到。网络保证设备可以从叶节点检索分区规则映射。
在操作504,对于每个具体级网络规则,网络保证设备可以在操作506处识别与具体级网络规则相关联的逻辑级网络意图。可以基于包含逻辑模型中逻辑级网络意图的关系信息的节点的逻辑模型和基于对应的逻辑级网络意图呈现的具体级网络规则来识别逻辑级网络意图。
逻辑级网络意图可以体现在一个或多个高级策略、设置、配置等中。逻辑级网络意图可以包括更高级的概念,并且比具体级规则或硬件级条目具有更高的人可读格式。逻辑级网络意图(而不是结构范围的逻辑意图)可以专门绑定到叶节点,并为叶节点指定逻辑意图。例如,叶节点的逻辑级网络意图可以基于使用结构范围的逻辑模型生成的叶节点的逻辑模型。叶节点的逻辑级网络意图可以与具体级网络规则相关联,并且包括指定该叶节点的逻辑意图的多个组件。
例如,逻辑级网络意图的组件可以包括租户、端点组、端点、桥接域、契约、主题、过滤器、端口或端口范围、协议或与网络管理相关联的任何其他注释、动作、描述符或度量。这些组件还可以被特征化为源或目标(例如,源租户、源端点组、目标租户、目标端点组、供应者端点组、消费者端点组等)。组件还可以包括可以注释上述任何组件或逻辑级意图本身的标记或标签。这些标记或标签可以有各种用途,并用于选择意图或组件的集合或子集。
根据本主题技术的一些方面,除了具有反映从源实体到目标实体的数据分组或数据流的源与目标关系的实体(例如,端点、端点组等)之外,实体可以附加地(或替代地)具有供应者和消费者关系。供应者/消费者标签反映了策略契约的供应者和策略契约的消费者之间的关系,其中数据流的方向不太重要。例如,供应者实体显露了潜在消费者实体遵守的契约。当实体供应策略或契约时,与该实体的通信根据所提供的策略或契约进行。当实体消费策略或契约时,消费者实体与供应者实体的通信根据所提供的策略或契约。
在操作508,网络保证设备可以识别逻辑级网络意图的逻辑级组件的集合,并且在操作510处将硬件级条目的数量归属于每个逻辑级组件。作为说明性示例,响应于操作502中的查询,网络保证设备确定TCAM条目的数量N与特定具体级网络规则相关联,并且响应于操作508,网络保证设备确定该具体级网络规则与组件源EPG A、目标EPG B、契约C和协议TCP相关联。在操作510,网络保证设备可将N个TCAM条目归属于组件源EPG A、目标EPG B、契约C和协议TCP中的每一个。如果有额外的具体级网络规则要处理,则该方法可以返回操作504来处理下一具体级网络规则。
与每个组件相关联的TCAM条目的数量可以在具体级网络规则上聚合,并由网络保证设备以任何存储器格式存储在数据库、表或任何其他数据结构中。图5B示出了根据主题技术的各个方面的用于存储硬件级条目的数量与逻辑级组件的关联的示例数据结构。随着在图5A中处理具体级网络规则,网络保证设备可以将相关联的硬件级条目(例如TCAM条目)的数量添加到适当的逻辑级组件。根据一些方面,网络保证设备还可以存储特定TCAM条目(例如,基于TCAM条目标识符)到逻辑级组件的映射,以便可以查询或以其他方式识别与特定逻辑级组件相关联的特定TCAM条目。
作为这些步骤的结果,网络保证设备为叶节点实现的意图生成与每个逻辑级组件相关联的硬件级条目总数的映射。此信息可由网络管理员、应用或服务用于各种用途。例如,信息可用于识别使用最多硬件级条目或叶节点存储器的逻辑级组件,以向网络结构租户提供用于信息使用、计费等的各种度量,以识别行为不正常的特定逻辑级组件(例如,使用异常数量的硬件级条目),或随时间监测叶节点存储器,这可能有助于调试网络结构(例如,识别硬件级上行为不正常的规则)或异常检测。
根据主题技术的一些方面,网络保证设备对网络结构中的所有或附加节点(例如,叶节点)执行类似的操作。例如,网络保证设备可以生成与在节点上实现的各种逻辑级组件相关联的每个节点中的硬件级条目的总数量的映射。可以基于每个节点、基于每个网络结构或组合向网络管理员提供此信息。
网络保证设备可以允许以各种形式(例如,数据透视表(pivot table)、电子表格(spreadsheet)等)检索或查询数据和呈现数据。网络管理员、应用、服务或网络保证设备本身可以通过一个或多个接口检索此信息。例如,返回图5A,在操作512,网络保证设备可以通过接口(例如API)接收与节点的一个或多个(或全部)逻辑级组件相关联的硬件级条目的数量的请求。在操作514,网络保证设备可以检索并提供与(一个或多个)所选逻辑级组件相关联的硬件级条目的数量。
此外,网络保证设备可以通过各种接口提供叶节点存储器利用率度量的详细分解。网络保证设备可以被配置为提供例如每个叶节点的总TCAM利用率的度量;每个契约在整个结构上的TCAM利用率;附接特定过滤器的所有契约的TCAM利用率;在整个结构上针对给定EPG的TCAM利用率;在整个结构上与给定BD相关联的所有EPG的TCAM利用率;在整个结构上与给定VRF中的所有BD相关联的所有EPG的TCAM利用率;或在整个结构上与给定租户相关联的所有VRF的TCAM利用率。为了获得整个结构上或结构中的其他节点的信息,网络保证设备可以是图5A的方法或在网络结构中的附加节点上的类似方法。
根据主题技术的各个方面,网络保证设备可以基于硬件级条目用于节点、多个所选择的节点上、或网络结构上的数量对逻辑级组件进行排序。排序可以是针对一类逻辑级组件(例如,基于与每个相关联的逻辑级组件的数量对租户、EPG、契约进行排序)或多类逻辑级组件。网络保证设备还可以或者替代地识别在节点、多个所选择的节点上或网络结构上使用最多的硬件级条目的一个或多个逻辑级组件。
网络保证设备可以周期性地(例如,每5分钟)执行方法500的操作,以确定该时间段内各种逻辑级组件的TCAM条目的数量。此信息可以随着时间被记录和监测,以便识别和报告异常、错误配置、问题、问题的根本原因或其他问题。
例如,随着时间的推移,特定逻辑级组件的TCAM条目可以是稳定的,或者以可预测的方式或者在一范围内波动。网络保证设备可以检测或使网络管理员能够检测特定逻辑级组件的TCAM条目的数量是否偏离期望值或范围。此偏差可能表示网络问题。在另一示例中,与其他逻辑级组件的TCAM条目的数量相比,特定逻辑级组件的TCAM条目的数量可能异常高。此偏差也可能表示网络问题。
图6A-6E示出了根据主题技术的各个方面的示例用户界面。网络保证设备可以为网络管理员提供各种用户界面或启用各种用户界面。例如,对于每个叶节点,网络保证设备可以确定正在使用的TCAM存储器的百分比,并将该信息提供给网络管理员。该信息还可以在网络结构中的多个叶节点上聚合并提供给用户。
例如,图6A示出了示例界面,其中网络管理员可以使用界面元素602选择用于观看的网络结构以及使用界面元素604时的特定时间段。作为对选择的响应,网络保证设备可以在特定时间段提供与所选择的网络结构中的多个叶节点上的TCAM利用率有关的信息。如606所示,此信息可被分类为例如利用率百分比。
图6B示出了提供逻辑组件、TCAM条目和命中计数之间的关系的可视化的示例界面。如下面将进一步详细讨论的,网络保证设备可以识别与逻辑级组件相关联的TCAM条目,跟踪命中计数以获得TCAM条目的使用或“命中”的频率,并将信息提供给网络管理员。尽管可以以各种方式对信息进行排序、组织和呈现,但是图6B示出了由契约逻辑级组件组织的命中计数的最少使用的TCAM条目。
例如,如契约栏608所示,每一行可用于特定契约,并在栏610的各种时间段(例如,在过去的一个月、一周、一天、一小时或累计)中指示与契约相关联的一个或多个TCAM条目被命中的次数。在栏612,界面显示有多少TCAM条目与该行的契约相关联。此信息可以呈现给网络管理员以便他们可以采取所通知的动作、提供给网络服务或由网络保证设备执行动作。例如,基于此信息,网络保证设备可以建议(或管理员可以确定)要移除的契约(例如,其关联的TCAM条目从未被命中并占用TCAM中的大部分空间的契约)。
图6C示出了提供叶节点相对于其对应容量的TCAM利用率的可视化的示例界面。叶节点可以基于利用率的级别来排序或组织。在图6C中,叶节点基于利用率的最高百分比进行排序。尽管图6C所示的叶节点都具有相同的容量(例如,每个节点可以存储61000个TCAM条目),但是在其他实现方式中,叶节点可以具有不同的容量。
图6D示出了在网络结构中的叶节点上提供TCAM状态的各种通知的示例界面。该界面为网络保证设备提供了向网络管理员提供关于一个或多个叶节点上的TCAM状态的信息的方式。然而,在其它方面,信息可以以其它方式提供,包括移动应用通知、电子邮件、文本消息等。各种信息和/或通知可以在图6D所示的界面中呈现,包括特定叶节点具有过时条目614或叶节点处于特定级别的TCAM利用率616。
图6E示出了使用户能够选择要查看的特定TCAM利用率信息、查询网络保证系统以获得所选择的TCAM利用率信息和各种TCAM利用率信息的示例界面。例如,图6E中的界面包含使网络管理员能够基于叶节点名称620、供应者租户名称622、供应者EPG名称624、契约名称626、规则内容628、过滤器名称630或未示出的其他信息来选择TCAM利用率的界面元素。可以基于所选择的选项向网络保证设备发送查询,并且网络保证设备可以提供包括与所选择的选项相关联的硬件级条目(例如TCAM条目)的数量的响应。此信息可在栏632中的界面中提供。
识别逻辑模型和节点实现方式之间的不匹配
如上所述,网络管理员很难理解硬件级节点的当前配置,因为硬件级条目通常以机器可读格式实现,这种机器可读格式与逻辑组件关联的分离程度高于逻辑级。由于各种原因,这些硬件级条目可能随着时间而过时、配置错误或与逻辑模型级意图不同步。例如,随着时间的推移,可能会添加新的逻辑级策略,可能会移除某些逻辑级策略,某些逻辑级过滤器可能会重叠,网络管理员可能会尝试配置各个节点,不同的网络管理员可能会更改其他网络管理员未知的结构配置,等等。这可能导致存储在网络节点存储器中的硬件级条目(例如TCAM条目)过时,并且与活动逻辑级意图无关,从而不必要地占用网络节点中的有价值的存储器空间。网络管理员或网络控制器可能很难检测到这些错误。
根据主题技术的各个方面,网络保证设备可以被配置为确定网络结构中的节点(例如,叶节点)是否基于逻辑级模型正确地配置了具体级或硬件级。网络保证设备可以识别网络结构中的特定错误配置的节点,并将该错误配置的节点报告给网络管理员以采取动作。
例如,响应于网络结构中的一个或多个节点配置错误的通知,网络管理员可以决定重新开始或重新启动节点、擦除节点存储器、重新编译节点上的硬件级条目,和/或基于经验证的逻辑或具体模型重新配置节点。在一些方面,网络保证设备可以识别过时或无效的特定硬件级条目或具体规则,并且网络管理员可以从节点中移除这些条目或规则。这些动作可以由网络管理员通过与网络保证设备或网络控制器的接口来执行。此外,在某些情况下,网络保证设备可以自动执行这些任务。
节点中逻辑级意图的过时或错误配置表示的两个示例类别包括:硬件级条目(例如TCAM条目)不能准确表示该节点的逻辑或具体级意图的时候,或者具体级规则(例如访问控制规则)不能准确表示该节点的逻辑级意图的时候。例如,如果具体级规则到逻辑级意图的一个或多个映射失败,则网络保证设备可能会确定具体级规则未被适当地配置。例如,如果硬件级条目到具体级规则的一个或多个映射失败,则网络保证设备可以确定硬件级条目未被适当地配置。网络保证设备可以并行地、按顺序地或以任何其他顺序组合检查这两类错误配置。
图7示出了根据主题技术的各个方面的用于确定在节点上实现的具体级规则是否被适当配置的示例方法实施例。通过将在节点上实现的具体级规则与该节点的参考具体级规则的集合(这可以被认为是事实的来源或可以表示特定节点的正确配置)进行比较,网络保证设备可以确定具体级规则在节点(例如叶节点)上未被适当地配置。
在操作702,网络保证设备可以获得网络中节点的一个或多个参考具体级规则。具体级规则可以是例如ACI或类似网络的访问控制(actrl)规则的形式。在某些情况下,参考具体级规则可以从一个或多个逻辑模型导出。
例如,网络保证设备可以获得节点的逻辑模型(例如Li模型)。在某些情况下,网络保证设备可能需要基于网络结构的逻辑模型(例如,L模型)为节点生成逻辑模型。网络结构的逻辑模型可以提供给网络保证设备,或者通过查询网络控制器来获得。使用Li模型,网络保证设备可以生成具体模型(例如,Ci模型),该模型包括应在叶节点上实现的具体级规则。从逻辑模型生成的这些具体级规则可以是访问控制(actrl)规则的形式,并且可以被称为参考具体级规则。
在操作704,网络保证设备从网络中的节点获得所实现的具体级规则。例如,网络中的每个节点可以存储具体模型,该模型包括在该节点上实现的具体级规则。网络保证设备可以针对其具体模型轮询网络中的一个或多个节点,以获得针对网络中的一个或多个节点实现的具体级规则。然而,在其他变型中,网络保证设备可以从其他源获得所实现的具体级规则。
网络保证设备可以在操作706将参考具体级规则与实现的具体级规则进行比较,并在操作708基于比较来确定实现的具体级规则是否被适当地配置。例如,网络保证设备可以将从节点的逻辑模型导出的参考具体级规则的数量与实现的具体级规则的数量进行比较。如果数量不相同或不匹配,则很可能是节点上实现的具体级规则配置错误。
如果检测到配置错误,则网络保证设备可以将配置错误通知给网络管理员,记录配置错误并将配置错误的发生与检测到配置错误的时间相关联,和/或尝试重新配置节点。例如,网络保证设备可以向节点或网络控制器发送指令,以重新开始或重新启动节点、擦除节点存储器、重新编译节点上的硬件级条目和/或基于经验证的逻辑或具体模型重新配置节点。
如果数量相同,则更有可能适当地配置了具体级规则,并且网络保证设备可能不会采取附加动作。然而,在一些方面中,网络保证设备随后可以执行附加检查,以确定硬件级条目是否被适当地配置。
根据一些方面,替代地或者另外地,将从节点的逻辑模型导出的参考具体级规则的数量与实现的具体级规则的数量进行比较,网络保证设备可以将从节点的逻辑模型导出的实际参考具体级规则与实现的具体级规则进行比较,以确保这两组规则匹配。换言之,网络保证设备检查每个参考具体级规则是否在实现的具体级规则的集合中,以及每个实现的具体级规则是否在参考具体级规则的集合中。例如,网络保证设备可以将参考具体级规则的规则ID与实现的具体级规则的规则ID进行比较。如果所有的规则ID匹配,则具体级规则可能在节点上被适当地配置。
如果规则ID不匹配,则具体级规则可能未被适当地配置。因此,网络保证设备可以采取以上识别的任一动作,移除在参考具体级规则中未找到的实现的具体级规则,和/或从先前未实现的参考具体级规则中添加实现的具体级规则。在某些情况下,网络保证设备还可以根据需要重新配置对应的硬件级条目。
根据一些方面,如果在节点上实现的具体级规则被确定为未被适当地配置,则网络保证设备可以重新配置该节点,其还重新配置该节点上的硬件级条目(例如TCAM条目)。因此,在一些实现方式中,网络保证设备可能不检查节点上硬件级条目的配置。然而,如果在节点上实现的具体级规则被正确配置,或者在可能并行执行检查的其他实现方式中,网络保证设备还可以确定在节点上实现的硬件级条目是否被正确配置。
图8示出了根据主题技术的各个方面的用于确定在节点上实现的硬件级条目是否被适当地配置的示例方法实施例。通过将在节点上实现的硬件级条目与参考硬件级条目的集合(这可以被认为是事实的来源或可以表示特定节点的正确配置)进行比较,网络保证设备可以确定硬件级条目是否在诸如叶节点之类的节点上被适当地配置。
在操作802,网络保证设备可以获得用于节点的具体级规则的参考规则标识符的集合。根据一些实施例,可由网络控制器将逻辑模型呈现为具体模型和/或硬件模型来生成参考规则标识符。在一些实施例中,网络控制器还可以提供API接口,该API接口使网络保证设备能够向网络控制器查询节点的具体级规则及其关联的规则标识符。网络控制器可以响应于查询向网络保证设备提供节点的具体级规则及其关联的规则标识符。然而,在其它实现方式中,网络保证设备可通过从网络控制器获得逻辑模型、将逻辑模型呈现为具体和/或硬件模型、以及从呈现的模型中提取信息来获得节点的具体级规则的参考规则标识符的集合。规则标识符的集合与反映基于逻辑模型的节点的正确配置的具体级规则相关联。因此,规则标识符的集合可以被视为参考规则标识符。
在操作804,可以获得与存储在节点上的硬件级条目相关联的实现的规则标识符。节点可以将硬件级条目(例如,TCAM条目)存储在存储器中,其中每个条目可以针对条目所基于的具体级规则参考规则标识符。换言之,当具体级规则被呈现为一个或多个硬件级条目时,每个硬件级条目将包括该具体级规则的规则标识符。因此,网络保证设备可以查询节点以获得与硬件级条目相关联的规则标识符。
在操作806,可以将参考规则标识符和实现的规则标识符进行比较,并且在操作808网络保证设备可以基于比较来确定在节点上实现的硬件级条目是否被适当地配置。如果参考规则标识符和实现的规则标识符不同,则存在不匹配,并且在节点上实现的硬件级条目未被正确配置。根据一些方面,网络保证设备可以确定参考规则标识符的数量和实现的规则标识符的数量,并将这两个数量进行比较。如果实现的规则标识符的数量与参考规则标识符的数量不同,则存在不匹配,并且在节点上实现的硬件级条目未被正确配置。
如果硬件级条目配置未被正确配置,则网络保证设备可以通知网络管理员或服务,记录错误配置的记录,和/或尝试通过执行以下操作中的一种或多种来解决错误配置:重新开始或重新启动节点、擦除节点存储器、重新编译节点上的硬件级条目、和/或基于经验证的逻辑或具体模型重新配置节点。
根据主题技术的一些方面,网络保证设备还可以识别不在参考规则标识符的集合中的实现的规则标识符。这些可能是与不再存在的具体级规则的规则标识符相关联的过时硬件级条目的结果。这些过时硬件级条目可被报告给网络管理员,或者网络保证设备可尝试移除这些过时硬件级条目。
另外,通过查询节点以获得与(在参考规则标识符的集合中找不到的)每个实现的规则标识符相关联的多个硬件级条目的数量并且将(一个或多个)响应中提供的数量汇总,网络保证设备可以尝试计算与过时规则标识符相关联的过时硬件级条目(例如,TCAM条目)的数量。替代地,网络保证设备可以获得实现的硬件级条目的数量和参考硬件级条目的数量,取这两个数量之间的差,并将该差用作过时硬件级条目的数量。过时硬件级条目的数量也可以报告给网络管理员,或者网络保证设备可以尝试移除过时硬件级条目。
图6D示出了可用于通知网络管理员特定节点具有过时TCAM条目的界面。例如,该界面包括节点具有过时TCAM条目的通知614。如果网络管理员选择通知614,则可以提供附加信息,其包括例如过时TCAM条目的数量、过时具体级规则的数量和/或规则ID、或其他相关信息。
根据一些方面,尽管本文描述的各种过程涉及在一个节点上操作的网络保证设备,但是可以理解的是,网络保证设备可以在网络中的所有节点或节点的集合上操作,以获得网络的当前状态的更全面的图像。
识别节点中用于移除的候选规则
如上所述,用于存储硬件级条目的节点上的存储器是有限且昂贵的资源。即使在没有过时条目的情况下正确配置了硬件级条目,实现逻辑意图和逻辑意图中表示的所有契约所需的硬件级条目(例如TCAM条目)可能会超过某些节点的存储器空间。此外,网络管理员有一种趋势:随着时间的推移,持续添加越来越多的契约,而不移除现有契约,并且这些契约需要节点上的越来越多的硬件级条目。
然而,在典型的操作过程中,这些契约和/或硬件级条目中的一些永远不会被“命中”。换言之,契约和/或硬件级条目所应用的条件永远不会得到满足,使得契约或硬件级条目规定了通过网络的数据流。这不仅意味着存在存储在节点存储器中的在典型的操作过程中不被使用的硬件级条目,而且意味着通过允许由于合法原因不正常流动的一些流量而在网络中可能存在安全漏洞(通过永远不会被命中的硬件级条目)。这些漏洞可能允许恶意参与者对网络造成危害。
主题技术的各个方面确定具体级规则和/或硬件级条目是否被命中,并将这些硬件级条目与各种逻辑级组件相关联。此信息可以呈现给网络管理员以便他们可以采取所通知的动作、提供给网络服务或由网络保证设备执行动作。例如,基于此信息,网络保证设备可以建议(或管理员可以确定)可以移除哪些具体级规则(例如,不会被命中并占用TCAM中大部分空间的具体级规则)。例如,可以向网络管理员提供界面,该界面允许网络管理员快速确定哪个未使用的具体级规则占用了节点(例如叶节点)的TCAM存储器中的最大空间。
网络保证设备可以将具体级规则的命中计数与逻辑级组件(例如契约、源或目标端点、源或目标EPG等)相关联。网络保证设备还可以确定与逻辑级组件相关联的硬件级条目的数量,并在报告中向网络管理员提供信息。网络管理员可以使用关于组件已接收到的命中次数以及与该组件相关联的硬件级条目的数量的信息来对网络进行更改。
例如,网络管理员可以移除一个或多个契约,这些契约是它们没有接收到命中但有许多相关联的硬件级条目的逻辑级组件。移除可能会增加节点上的可用存储器空间。在某些情况下,网络管理员可以查看没有命中的契约的数量以及与每个契约相关联的硬件条目的数量,以作出更知情的决定。例如,为了清除节点上的最大存储器空间,网络保证设备可以推荐或网络管理员可以选择具有与之关联的最多硬件级条目的没有命中的契约。
例如,图6B示出了提供逻辑级组件、TCAM条目和命中计数之间关系的可视化的示例界面。该界面可以使网络管理员能够查看某些逻辑级组件的命中计数以及与逻辑级组件相关联的TCAM条目的数量。尽管可以以各种方式对信息进行排序、组织和呈现,但是图6B显示由契约逻辑级组件组织的命中计数的最少使用的TCAM条目。换言之,该界面显示具有最多TCAM条目和最低命中计数的逻辑级组件。这样的信息可能对网络管理员有帮助,因为网络管理员可能不希望移除所使用的逻辑级组件(例如,契约)。此外,如果网络管理员要移除逻辑级组件(例如,契约),则他们可能希望移除与最多TCAM条目相关联的未使用的逻辑级组件,以便释放更多空间。
例如,如契约栏608所示,每一行可用于特定契约,并在栏610的各种时间段(例如,在过去的一个月、一周、一天、一小时或累计)中指示与契约相关联的一个或多个TCAM条目被命中的次数。在栏612,界面显示有多少TCAM条目与该行的契约相关联。此信息可以呈现给网络管理员以便他们可以采取所通知的动作、提供给网络服务或由网络保证设备执行动作。例如,基于此信息,网络保证设备可以建议(或管理员可以确定)要移除的契约(例如,其关联的TCAM条目从未被命中并占用TCAM中的大部分空间的契约)。根据一些方面,网络管理员还可以使用该界面来选择诸如契约之类的某些逻辑级组件并将它们从网络配置中移除。
图9示出了根据主题技术的各个方面的用于生成关于各种逻辑级组件的命中计数的报告的示例方法实施例。在操作902,网络保证设备可以确定节点中每个具体级规则(例如,访问控制规则)的命中计数。网络结构可以被配置为跟踪各种具体级规则的命中。网络保证设备可以通过查询节点或网络控制器来获得特定具体级规则的命中计数。查询可以针对特定参考的具体级规则,或可以针对节点上实现的所有具体级规则。在一个实现方式中,网络保证设备可以查询节点以识别在该节点上实现的具体级规则(例如actrl规则)的规则ID,并使用规则ID在一个或多个查询中请求这些具体级规则的命中计数。
命中计数可以在一段时间内确定(例如,一周、一月或其他时间长度)。具体级规则通常是在某些条件下允许数据流的允许规则或在某些条件下拒绝数据流的拒绝规则。当满足规则条件的数据分组针对允许规则被允许或针对拒绝规则被拒绝时,可能会出现对规则的命中。
转到操作904,对于节点上的每个具体级规则,网络保证设备可以在操作906识别与具体级规则相关联的逻辑模型的一个或多个组件。例如,如上所述,网络保证设备可以识别与具体级网络规则相关联的逻辑级网络意图。节点的逻辑级网络意图可以包括指定该节点的逻辑意图的多个组件。这些组件可以包括租户、端点组、端点、桥接域、契约、主题或与网络管理相关联的其他注释、描述符或度量。
在操作908,网络保证设备可以将具体级规则的命中计数归属于逻辑模型的一个或多个组件中的每一个。可以为节点上的每个具体级规则重复此过程,以便为逻辑模式的组件构建命中计数存储库。此信息可以由网络保证设备存储。
在操作910,网络保证设备可以确定与逻辑模型的一个或多个组件中的每一个相关联的硬件级条目的数量。例如,网络保证设备可以查询网络结构中的节点,以获得与每个具体级规则相关联的硬件级条目的数量。
在操作912,网络保证设备可以生成报告,该报告示出逻辑模型的组件、命中计数和硬件级条目之间的关系。例如,该报告可以包括具有最低命中计数的一个或多个组件,以及与具有最低命中计数的组件相关联的硬件级条目的数量。在许多情况下,对于未接收到任何命中的组件,最低命中计数将为0。网络管理员可以使用此信息来调试网络、重新配置网络或请求由网络租户进行更改。例如,如果特定的契约没有收到命中,则网络管理员可以移除该契约或请求对该契约负责的网络租户来移除它。根据一些方面,可以在诸如图6B所示的界面之类的界面中提供报告,该界面提供逻辑级组件、TCAM条目和命中计数之间关系的可视化。
该报告可以基于组件在节点存储器中负责的硬件级条目的数量对组件(例如契约)进行排序。因此,网络管理员可以识别具有最多硬件级条目的契约或其他组件,并首先移除这些契约。根据主题技术的其他方面,报告还可以包括随时间变化的命中计数趋势。这可能有助于网络管理员调试网络、攻击检测、异常检测和/或资源配置。
本公开现在转到图10和图11,其示出了示例网络设备和计算设备,例如,交换机、路由器、负载平衡器、客户端设备等。
图10示出了适用于执行交换、路由、负载平衡、和其他联网操作的示例网络设备1000。网络设备1000包括中央处理单元(CPU)1004、接口1002和总线1010(例如,PCI总线)。当在适当的软件或固件的控制下动作时,CPU 1004负责执行分组管理、错误检测和/或路由功能。CPU1004优选地在包括操作系统和任何适当的应用软件的软件的控制下完成所有这些功能。CPU 1004可以包括一个或多个处理器1008,例如来自INTEL x86系列微处理器的处理器。在一些情况下,处理器1008可以是用于控制网络设备1000的操作的专门设计的硬件。在一些情况下,存储器1006(例如,非易失性RAM、ROM等)也形成CPU 1004的一部分。然而,有许多不同的方式可以将存储器耦合到系统。
接口1002通常作为模块化接口卡(有时被称为“线卡”)提供。通常,它们控制通过网络发送和接收数据分组,并且有时支持与网络设备1000一起使用的其他外围设备。可以提供的接口包括以太网接口、帧中继接口、线缆接口、DSL接口、令牌环接口等等。此外,可提供各种非常高速的接口,例如,快速令牌环接口、无线接口、以太网接口、千兆以太网接口、ATM接口、HSSI接口、POS接口、FDDI接口、WiFi接口、3G/4G/5G蜂窝接口、CAN总线、LoRA等。一般而言,这些接口可以包括适合于与适当介质通信的端口。在一些情况下,它们还可以包括独立处理器,并且在一些情况下,还包括易失性RAM。独立处理器可以控制诸如分组交换、介质控制、信号处理、加密处理、和管理之类的通信密集型任务。通过为通信密集型任务提供分离的处理器,这些接口允许主微处理器1004高效地执行路由计算、网络诊断、安全性功能等。
尽管图10中所示的系统是本发明的一个特定网络设备,但它决不是可以在其上实现本公开的概念的唯一网络设备架构。例如,经常使用具有处理通信以及路由计算等的单个处理器的架构。此外,其他类型的接口和介质也可以与网络设备1000一起使用。
无论网络设备的配置如何,它都可以采用一个或多个存储器或存储器模块(包括存储器1006),其被配置为存储用于本文所描述的漫游、路由优化和路由功能的通用网络操作和机制的程序指令。例如,程序指令可以控制操作系统和/或一个或多个应用的操作。一个或多个存储器还可以被配置为存储诸如移动性绑定、注册和关联表之类的表。存储器1006还可以保存各种软件容器和虚拟化的执行环境和数据。
网络设备1000还可以包括专用集成电路(ASIC),其可以被配置为执行路由和/或交换操作。例如,ASIC可以经由总线1010与网络设备1000中的其他组件通信,以交换数据和信号并协调网络设备1000的各种类型的操作,例如路由、交换、和/或数据存储操作。
图11示出了计算系统架构1100,其中该系统的组件使用诸如总线之类的连接1105彼此电通信。系统1100包括处理单元(CPU或处理器)1110和系统连接1105,系统连接1105将包括系统存储器1115在内的各种系统组件(例如,只读存储器(ROM)1120和随机存取存储器(RAM)1125)耦合到处理器1110。系统1100可以包括高速存储器的缓存,其与处理器1110直接连接、靠近处理器1110、或者集成作为处理器1110的一部分。系统1100可以将数据从存储器1115和/或存储装置1130复制到缓存1112以供处理器1110快速访问。以这种方式,缓存可以提供性能提升,避免处理器1110在等待数据时的延迟。这些和其他模块可以控制或被配置为控制处理器1110以执行各种动作。也可以使用其他系统存储器1115。存储器1115可以包括具有不同性能特性的多个不同类型的存储器。处理器1110可以包括任何通用处理器和被配置为控制处理器1110的硬件或软件服务(例如,存储在存储装置1130中的服务1 1132、服务21134和服务3 1136)以及其中将软件指令包含在实际的处理器设计中的专用处理器。处理器1110可以是完全自包含的计算系统,包含多个核或处理器、总线、存储器控制器、缓存等。多核处理器可以是对称的或非对称的。
为了实现与计算设备1100的用户交互,输入设备1145可以表示任何数量的输入机制,诸如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等等。输出设备1135也可以是本领域技术人员已知的多种输出机构中的一种或多种。在一些情况下,多模式系统可以使用户能够提供多种类型的输入以与计算设备1100通信。通信接口1140通常可以控制和管理用户输入和系统输出。对任何特定硬件布置进行的操作没有限制,因此这里的基本特征可以很容易地随着改进的硬件或固件布置被开发而被替换为这些改进的硬件或固件布置。
存储装置1130是非易失性存储器,并且可以是硬盘或其他类型的计算机可读介质,其可以存储可由计算机访问的数据,例如磁带盒、闪存卡、固态存储器设备、数字通用盘、盒式磁带、随机存取存储器(RAM)1125、只读存储器(ROM)1120及其混合。
存储装置1130可以包括用于控制处理器1110的服务1132、1134、1136。可以预期其他硬件或软件模块。存储装置1130可以连接到系统连接1105。在一个方面,执行特定功能的硬件模块可以包括存储在与必要的硬件组件(例如,处理器1110、连接1105、输出设备1135等)相连的计算机可读介质中的软件组件以执行功能。
为了解释的清楚,在一些实例中,主题技术可以被呈现为包括个体的功能块,其包括包含以下项的功能块:设备、设备组件、在软件中体现的方法中的步骤或例程、或者硬件和软件的组合。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的有线或无线信号。然而,当提及时,非暂态计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身之类的介质。
可以使用存储在计算机可读介质中或以其他方式可从计算机可读介质获得的计算机可执行指令来实现根据上述示例的方法。这样的指令可以包括例如使得或以其他方式配置通用计算机、专用计算机或专用处理设备以执行特定功能或功能组的指令和数据。可以通过网络访问所使用的计算机资源的部分。计算机可执行指令可以是例如二进制指令、诸如汇编语言之类的中间格式指令、固件、或源代码。可用于存储指令、所使用的信息和/或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、具有非易失性存储器的USB设备、联网的存储设备等等。
实现根据这些公开内容的方法的设备可以包括硬件、固件和/或软件,并且可以采用各种形式因子中的任何形式因子。这种形式因子的典型示例包括膝上型计算机、智能电话、小型个人计算机、个人数字助理、机架设备、独立设备等。本文描述的功能也可以实现在外围设备或附加卡中。作为进一步的示例,这样的功能还可以在不同芯片之间的电路板上实现,或者在单个设备中执行的不同处理过程中实现。
指令、用于传达这些指令的介质、用于执行它们的计算资源以及用于支持这种计算资源的其他结构是用于提供这些公开内容中所描述的功能的手段。
尽管使用各种示例和其他信息来解释所附权利要求范围内的各个方面,但是不应基于这些示例中的特定特征或布置来暗示对权利要求的限制,因为普通技术人员将能够使用这些示例来导出各种各样的实现方式。此外,尽管可能已经用特定于结构特征和/或方法步骤的示例的语言描述了一些主题,但是应该理解,所附权利要求中定义的主题不必限于这些描述的特征或动作。例如,这种功能可以在本文识别的那些组件之外的组件中以不同的方式分布或者在本文识别的那些组件之外的组件中执行。相反,所描述的特征和步骤被公开为所附权利要求范围内的系统和方法的组分的示例。
记载“……中的至少一个”的权利要求语言指的是集合中的至少一个,并且指示该集合中的一个成员或该集合中的多个成员满足该权利要求。例如,记载“A和B中的至少一个”的权利要求语言意思是A、B或A和B。

Claims (21)

1.一种用于网络配置的计算机实现的方法,包括:
获得网络中的节点的参考具体级规则,其中所述获得包括:
从所述网络的控制器获得所述网络的逻辑模型,所述网络的逻辑模型限定网络对象及其关系的逻辑表示;
基于所述网络的所述逻辑模型生成所述节点的逻辑模型,所述节点的逻辑模型表示属于所述节点的所述逻辑模型的一部分;以及
基于所述节点的所述逻辑模型生成所述节点的所述参考具体级规则;
从所述网络中的所述节点获得所述节点的实现的具体级规则;
将所述参考具体级规则与所述实现的具体级规则进行比较;以及
基于所述比较确定所述实现的具体级规则没有被适当地配置,所述确定包括识别所述参考具体级规则与所述实现的具体级规则之间的不匹配。
2.根据权利要求1所述的计算机实现的方法,还包括查询所述网络中的所述节点以获得所述节点的所述实现的具体级规则。
3.根据权利要求1或2所述的计算机实现的方法,还包括将参考具体级规则的数量与实现的具体级规则的数量进行比较。
4.根据权利要求1或2所述的计算机实现的方法,其中,所述节点是叶节点。
5.根据权利要求1或2所述的计算机实现的方法,其中,所述参考具体级规则是访问控制规则。
6.根据权利要求1或2所述的计算机实现的方法,还包括:通知网络管理员所述实现的具体级规则没有被适当地配置。
7.根据权利要求1或2所述的计算机实现的方法,还包括:记录所述实现的具体级规则的错误配置的发生以及时间戳。
8.根据权利要求1或2所述的计算机实现的方法,还包括:重新启动所述节点。
9.根据权利要求1或2所述的计算机实现的方法,还包括:
从控制器获得所述网络中的所述节点的所述参考具体级规则的参考规则标识符;
从所述节点获得与存储在所述节点上的硬件级条目相关联的实现的规则标识符;以及
基于所述参考规则标识符和所述实现的规则标识符确定存储在所述节点上的硬件级条目没有被适当配置。
10.一种用于网络配置的系统,包括:
一个或多个处理器;以及
至少一个计算机可读存储介质,其中存储有指令,所述指令在由所述一个或多个处理器执行时使所述系统执行以下操作:获得网络中的节点的参考具体级规则,其中所述获得包括:
从所述网络的控制器获得所述网络的逻辑模型,所述网络的逻辑模型限定网络对象及其关系的逻辑表示;
基于所述网络的所述逻辑模型生成所述节点的逻辑模型,所述节点的逻辑模型表示属于所述节点的所述逻辑模型的一部分;以及
基于所述节点的所述逻辑模型生成所述节点的所述参考具体级规则;
从所述网络中的所述节点获得所述节点的实现的具体级规则;
将所述参考具体级规则与所述实现的具体级规则进行比较;以及
基于所述比较确定所述实现的具体级规则没有被适当地配置,所述确定包括识别所述参考具体级规则与所述实现的具体级规则之间的不匹配。
11.根据权利要求10所述的系统,其中,所述指令进一步使所述系统将参考规则标识符的数量与所述实现的规则标识符的数量进行比较。
12.根据权利要求10或11所述的系统,其中,所述指令进一步使所述系统执行以下操作:
通知网络管理员硬件级条目没有被适当地配置,
记录所述硬件级条目的配置错误的记录,或者
重新启动所述节点。
13.根据权利要求10或11所述的系统,其中,所述指令进一步使所述系统执行以下操作:
计算存储在所述节点上的没有被适当地配置的硬件级条目的数量;以及
向网络管理员提供所述数量。
14.根据权利要求13所述的系统,其中,所述指令进一步使所述系统执行以下操作:
识别所述实现的规则标识符中在参考规则标识符中不具有匹配的过时规则标识符;以及
查询所述节点以获得所述硬件级条目的数量,其中,所述硬件级条目的数量与所述过时规则标识符相关联。
15.一种非暂态计算机可读存储介质,存储有指令,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器执行以下操作:
获得网络中的节点的参考具体级规则,其中所述获得包括:
从所述网络的控制器获得所述网络的逻辑模型,所述网络的逻辑模型限定网络对象及其关系的逻辑表示;
基于所述网络的所述逻辑模型生成所述节点的逻辑模型,所述节点的逻辑模型表示属于所述节点的所述逻辑模型的一部分;以及
基于所述节点的所述逻辑模型生成所述节点的所述参考具体级规则;
从所述网络中的所述节点获得所述节点的实现的具体级规则;
将所述参考具体级规则与所述实现的具体级规则进行比较;以及
基于所述比较确定所述实现的具体级规则没有被适当地配置,所述确定包括识别所述参考具体级规则与所述实现的具体级规则之间的不匹配。
16.根据权利要求15所述的非暂态计算机可读存储介质,其中,所述指令进一步使所述一个或多个处理器执行以下操作:
计算存储在所述节点上的没有被适当地配置的硬件级条目的数量;以及
向网络管理员提供所述数量。
17.根据权利要求16所述的非暂态计算机可读存储介质,其中,所述指令进一步使所述一个或多个处理器执行以下操作:
识别所述实现的规则标识符中在参考规则标识符中不具有匹配的过时规则标识符;以及
查询所述节点以获得所述硬件级条目的数量,其中,所述硬件级条目的数量与所述过时规则标识符相关联。
18.根据权利要求16或17所述的非暂态计算机可读存储介质,其中,所述指令进一步使所述一个或多个处理器执行以下操作:
获得存储在所述节点上的所述硬件级条目的数量;
获得参考硬件级条目的数量;
计算存储在所述节点上的所述硬件级条目的数量与所述参考硬件级条目的数量之间的差值;并且
其中,存储在所述节点上的没有被适当地配置的所述硬件级条目的数量为所述差值。
19.一种用于网络配置的设备,包括:
用于获得网络中的节点的参考具体级规则的装置,其中所述获得包括:
从所述网络的控制器获得所述网络的逻辑模型,所述网络的逻辑模型限定网络对象及其关系的逻辑表示;
基于所述网络的所述逻辑模型生成所述节点的逻辑模型,所述节点的逻辑模型表示属于所述节点的所述逻辑模型的一部分;以及
基于所述节点的所述逻辑模型生成所述节点的所述参考具体级规则;
用于从所述网络中的所述节点获得所述节点的实现的具体级规则的装置;
用于将所述参考具体级规则与所述实现的具体级规则进行比较的装置;以及
用于基于所述比较确定所述实现的具体级规则没有被适当地配置的装置,所述确定包括识别所述参考具体级规则与所述实现的具体级规则之间的不匹配。
20.根据权利要求19所述的设备,还包括用于实现根据权利要求2至9中任一项所述的方法的装置。
21.一种计算机可读介质,存储有指令,所述指令在由计算机执行时使所述计算机执行根据权利要求1至9中任一项所述的方法的步骤。
CN201880040380.8A 2017-06-19 2018-06-19 分析网络节点内存利用率的系统、方法和计算机可读介质 Active CN111034122B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762521633P 2017-06-19 2017-06-19
US62/521,633 2017-06-19
US15/661,899 US10554493B2 (en) 2017-06-19 2017-07-27 Identifying mismatches between a logical model and node implementation
US15/661,899 2017-07-27
PCT/US2018/038144 WO2018236775A1 (en) 2017-06-19 2018-06-19 IDENTIFICATION OF DISCREPANCIES BETWEEN A LOGIC MODEL AND A NODE IMPLEMENTATION

Publications (2)

Publication Number Publication Date
CN111034122A CN111034122A (zh) 2020-04-17
CN111034122B true CN111034122B (zh) 2023-06-20

Family

ID=64657765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880040380.8A Active CN111034122B (zh) 2017-06-19 2018-06-19 分析网络节点内存利用率的系统、方法和计算机可读介质

Country Status (4)

Country Link
US (2) US10554493B2 (zh)
EP (1) EP3643014A1 (zh)
CN (1) CN111034122B (zh)
WO (1) WO2018236775A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11503035B2 (en) * 2017-04-10 2022-11-15 The University Of Memphis Research Foundation Multi-user permission strategy to access sensitive information
US10581694B2 (en) * 2017-05-31 2020-03-03 Cisco Technology, Inc. Generation of counter examples for network intent formal equivalence failures
US10848462B2 (en) * 2018-03-28 2020-11-24 Wipro Limited Method and system for managing policies in a network security system
US10785108B1 (en) * 2018-06-21 2020-09-22 Wells Fargo Bank, N.A. Intelligent learning and management of a networked architecture
US11483313B2 (en) * 2018-06-28 2022-10-25 Intel Corporation Technologies for updating an access control list table without causing disruption
US11122071B2 (en) 2018-06-29 2021-09-14 Forescout Technologies, Inc. Visibility and scanning of a variety of entities
CN113542128B (zh) * 2018-10-12 2023-03-31 华为技术有限公司 一种发送路由信息的方法和装置
US10797987B1 (en) * 2018-12-10 2020-10-06 C/Hca, Inc. Systems and methods for switch stack emulation, monitoring, and control
US11240204B2 (en) * 2019-01-23 2022-02-01 Vmware, Inc. Score-based dynamic firewall rule enforcement
CN112751814B (zh) * 2019-10-31 2022-04-12 华为技术有限公司 一种信息上报方法、数据处理方法及装置
US11689467B2 (en) * 2020-08-07 2023-06-27 Cisco Technology, Inc. QOS policy provisioning on resource constrained network devices
CN113259171B (zh) * 2021-06-02 2021-10-01 新华三技术有限公司 一种业务部署方法及装置
CN113472782B (zh) * 2021-06-30 2022-12-20 中国工商银行股份有限公司 自动变更访问控制配置方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1864390A (zh) * 2003-10-29 2006-11-15 思科技术公司 用于利用安全性标记提供网络安全性的方法和装置

Family Cites Families (190)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204829A (en) 1992-07-10 1993-04-20 Lsi Logic Corporation Interleaving operations in a floating-point numeric processor
US6763380B1 (en) 2000-01-07 2004-07-13 Netiq Corporation Methods, systems and computer program products for tracking network device performance
WO2002046928A1 (en) 2000-12-04 2002-06-13 Rensselaer Polytechnic Institute Fault detection and prediction for management of computer networks
AU2002234258A1 (en) 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
ITTO20010180A1 (it) 2001-03-01 2002-09-01 Cselt Centro Studi Lab Telecom Procedimento e sistema per il controllo della configurazione dei nodidi una rete per telecomunicazione.
US7003562B2 (en) 2001-03-27 2006-02-21 Redseal Systems, Inc. Method and apparatus for network wide policy-based analysis of configurations of devices
DE10143101A1 (de) 2001-09-03 2003-04-03 Infineon Technologies Ag Verfahren zur Validierung von Simulationsergebnissen eines Systems sowie darauf aufbauender Äquivalenzvergleich digitaler Schaltungen
US20030229693A1 (en) 2002-06-06 2003-12-11 International Business Machines Corporation Self-correcting monitor
US8073935B2 (en) 2002-07-25 2011-12-06 Oracle America, Inc. Pluggable semantic verification and validation of configuration data
ITTO20020742A1 (it) 2002-08-23 2004-02-24 Telecom Italia Lab Spa Procedimento e sistema per il controllo della
GB0224187D0 (en) 2002-10-17 2002-11-27 Mitel Knowledge Corp Interactive conflict resolution for personalised policy-based services
US7453886B1 (en) 2003-03-11 2008-11-18 Nortel Networks Limited Verification of communications paths between devices
US7089369B2 (en) 2003-03-31 2006-08-08 Sun Microsystems, Inc. Method for optimizing utilization of a double-data-rate-SDRAM memory system
CA2528428C (en) 2003-06-05 2013-01-22 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
US9264922B2 (en) 2003-08-05 2016-02-16 Mobileum Inc. Method and system for ensuring service continuity in case of a proxy profile gateway failure or interruption
US20050108389A1 (en) 2003-11-13 2005-05-19 International Business Machines Corporation Network endpoint health check
US7360064B1 (en) 2003-12-10 2008-04-15 Cisco Technology, Inc. Thread interleaving in a multithreaded embedded processor
US7609647B2 (en) 2004-05-12 2009-10-27 Bce Inc. Method and apparatus for network configuration validation
US8010952B2 (en) 2004-06-08 2011-08-30 Cisco Technology, Inc. Method and apparatus for configuration syntax and semantic validation
US7505463B2 (en) 2004-06-15 2009-03-17 Sun Microsystems, Inc. Rule set conflict resolution
US7698561B2 (en) 2004-08-12 2010-04-13 Cisco Technology, Inc. Method and system for detection of aliases in a network
US20060041936A1 (en) * 2004-08-19 2006-02-23 International Business Machines Corporation Method and apparatus for graphical presentation of firewall security policy
JP4192877B2 (ja) 2004-09-29 2008-12-10 ブラザー工業株式会社 設定データ伝送プログラム、設定データ伝送装置、および設定データ伝送システム
US8024568B2 (en) 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US7401305B2 (en) 2005-07-11 2008-07-15 International Business Machines Corporation Adaptive application of SAT solving techniques
US7619989B2 (en) 2005-08-26 2009-11-17 Alcatel Lucent Routing configuration validation apparatus and methods
US7765093B2 (en) 2005-09-19 2010-07-27 Itt Manufacturing Enterprises, Inc. Network modeling system and method of simulating network operation with configurable node models
US20070124437A1 (en) 2005-11-30 2007-05-31 Cisco Technology, Inc. Method and system for real-time collection of log data from distributed network components
JP2007241533A (ja) 2006-03-07 2007-09-20 Oki Electric Ind Co Ltd システム構成情報比較装置およびコンピュータプログラム
US8040895B2 (en) 2006-03-22 2011-10-18 Cisco Technology, Inc. Method and system for removing dead access control entries (ACEs)
US20080031147A1 (en) 2006-08-01 2008-02-07 Siemens Communications, Inc. Network status determination
CA2663299A1 (en) 2006-09-12 2008-09-04 Telcordia Technologies, Inc. Ip network vulnerability and policy compliance assessment by ip device analysis
US20080117827A1 (en) 2006-11-17 2008-05-22 Nec Corporation Method and system for verifying connectivity of logical link
US20080148382A1 (en) * 2006-12-15 2008-06-19 International Business Machines Corporation System, method and program for managing firewalls
US8719375B2 (en) 2007-03-22 2014-05-06 Microsoft Corporation Remote data access techniques for portable devices
US8484693B2 (en) 2007-04-27 2013-07-09 Gregory W. Cox Efficient policy conflict detection
US8782182B2 (en) 2007-05-24 2014-07-15 Foundry Networks, Llc Generating device-specific configurations
US8209738B2 (en) 2007-05-31 2012-06-26 The Board Of Trustees Of The University Of Illinois Analysis of distributed policy rule-sets for compliance with global policy
US8499331B1 (en) 2007-06-27 2013-07-30 Emc Corporation Policy based network compliance
US7992201B2 (en) 2007-07-26 2011-08-02 International Business Machines Corporation Dynamic network tunnel endpoint selection
US7937716B2 (en) * 2007-09-05 2011-05-03 International Business Machines Corporation Managing collections of appliances
US7743274B2 (en) 2007-09-12 2010-06-22 International Business Machines Corporation Administering correlated error logs in a computer system
US8494977B1 (en) 2007-09-28 2013-07-23 Emc Corporation IT policy violation views
JP4872945B2 (ja) 2008-02-25 2012-02-08 日本電気株式会社 運用管理装置、運用管理システム、情報処理方法、及び運用管理プログラム
US20090249284A1 (en) 2008-02-29 2009-10-01 Doyenz Incorporated Automation for virtualized it environments
US8082290B2 (en) 2008-03-19 2011-12-20 Verizon Patent And Licensing Inc. Intelligent establishment of peer-to-peer communication
US8630192B2 (en) 2009-01-28 2014-01-14 Headwater Partners I Llc Verifiable and accurate service usage monitoring for intermediate networking devices
US8554883B2 (en) 2008-08-06 2013-10-08 Cisco Technology, Inc. Apparatus and method for sharing a generic configuration across a group of network devices
US8441941B2 (en) 2008-10-06 2013-05-14 Cisco Technology, Inc. Automating identification and isolation of loop-free protocol network problems
US8103480B2 (en) 2008-10-31 2012-01-24 Hewlett-Packard Development Company, L.P. Evaluating service level agreement violations
US8627328B2 (en) 2008-11-14 2014-01-07 Oracle International Corporation Operation control for deploying and managing software service in a virtual environment
WO2010068698A2 (en) 2008-12-09 2010-06-17 Glue Networks, Inc. System and method for providing virtual private networks
US9413662B1 (en) * 2009-01-13 2016-08-09 Juniper Networks, Inc. Intra-term logical or operation in a network filter
US20100198909A1 (en) 2009-02-03 2010-08-05 Fluke Corporation Method and apparatus for the continuous collection and correlation of application transactions across all tiers of an n-tier application
US8479267B2 (en) 2009-06-30 2013-07-02 Sophos Limited System and method for identifying unauthorized endpoints
JP2011087302A (ja) 2009-10-19 2011-04-28 Ip Infusion Inc Bgp経路監視装置、bgp経路監視方法、およびプログラム
US8416696B2 (en) 2010-01-04 2013-04-09 Cisco Technology, Inc. CFM for conflicting MAC address notification
US8635319B1 (en) 2010-03-08 2014-01-21 Amazon Technologies, Inc. Operational status of network nodes
US8689307B2 (en) 2010-03-19 2014-04-01 Damaka, Inc. System and method for providing a virtual peer-to-peer environment
US8375117B2 (en) 2010-04-28 2013-02-12 Juniper Networks, Inc. Using endpoint host checking to classify unmanaged devices in a network and to improve network location awareness
US9154445B2 (en) * 2010-05-03 2015-10-06 Pluribus Networks Inc. Servers, switches, and systems with virtual interface to external network connecting hardware and integrated networking driver
US8959139B2 (en) 2010-05-28 2015-02-17 Juniper Networks, Inc. Application-layer traffic optimization service endpoint type attribute
US8817621B2 (en) 2010-07-06 2014-08-26 Nicira, Inc. Network virtualization apparatus
US20120054163A1 (en) 2010-08-27 2012-03-01 Motorola, Inc. Policy conflict classifier
US9389993B1 (en) 2010-09-03 2016-07-12 Cisco Technology, Inc. System and method for whitelist management
US8910143B2 (en) 2010-09-20 2014-12-09 General Electric Company Conversion system and method for use in upgrading a monitoring system
EP2437470A1 (en) 2010-09-30 2012-04-04 British Telecommunications Public Limited Company Network element and method for deriving quality of service data from a distributed hierarchical naming system
CN103733194A (zh) 2011-01-27 2014-04-16 康姆普特奈科斯特有限公司 动态组织云计算资源以便于发现
US8589934B2 (en) 2011-04-01 2013-11-19 Arm Limited Controlling priority levels of pending threads awaiting processing
US8935389B2 (en) 2011-05-17 2015-01-13 Guavus, Inc. Method and system for collecting and managing network data
US8693344B1 (en) 2011-09-27 2014-04-08 Big Switch Network, Inc. Systems and methods for generating packet forwarding rules based on network policy
US9043864B2 (en) 2011-09-30 2015-05-26 Oracle International Corporation Constraint definition for conditional policy attachments
US20130097660A1 (en) 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment
US8930756B2 (en) 2011-12-22 2015-01-06 International Business Machines Corporation Grouping related errors in a distributed computing environment
US20130191516A1 (en) 2012-01-19 2013-07-25 Sungard Availability Services Lp Automated configuration error detection and prevention
US9106555B2 (en) 2012-01-25 2015-08-11 Cisco Technology, Inc. Troubleshooting routing topology based on a reference topology
US9405553B2 (en) 2012-01-30 2016-08-02 International Business Machines Corporation Processing element management in a streaming data system
CN104106237B (zh) 2012-02-10 2017-08-11 日本电气株式会社 计算机系统和虚拟网络可视化方法
US9705918B2 (en) 2012-05-22 2017-07-11 Sri International Security mediation for dynamically programmable network
US9571523B2 (en) 2012-05-22 2017-02-14 Sri International Security actuator for a dynamically programmable computer network
US9898317B2 (en) 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US8874704B2 (en) 2012-07-11 2014-10-28 Bmc Software, Inc. Semi-automatic discovery and generation of useful service blueprints
US9131014B2 (en) 2012-08-20 2015-09-08 Cisco Technology, Inc. Hitless pruning protocol upgrade on single supervisor network devices
US9571502B2 (en) 2012-09-14 2017-02-14 International Business Machines Corporation Priority resolution for access control list policies in a networking device
US9276877B1 (en) 2012-09-20 2016-03-01 Wiretap Ventures, LLC Data model for software defined networks
US9055000B1 (en) 2012-12-17 2015-06-09 Juniper Networks, Inc. Distributed network subnet
US8711855B1 (en) 2012-12-18 2014-04-29 Juniper Networks, Inc. Topology discovery, control channel establishment, and datapath provisioning within an aggregation network with centralized control
US9094337B2 (en) 2012-12-21 2015-07-28 Cieno Corporation Source identification preservation in multiprotocol label switching networks
US9900221B2 (en) 2013-01-30 2018-02-20 Hewlett Packard Enterprise Development Lp Controlling a topology of a network
US9860140B2 (en) 2013-02-05 2018-01-02 Cisco Technology, Inc. Dynamically adjusting a set of monitored network properties using distributed learning machine feedback
US8966637B2 (en) 2013-02-08 2015-02-24 PhishMe, Inc. Performance benchmarking for simulated phishing attacks
US9509549B2 (en) * 2013-03-15 2016-11-29 Cisco Technology, Inc. Extending routing rules from external services
US9596141B2 (en) 2013-03-15 2017-03-14 Cisco Technology, Inc. Representing software defined networks using a programmable graph model
US10291515B2 (en) 2013-04-10 2019-05-14 Huawei Technologies Co., Ltd. System and method for a control plane reference model framework
US10021027B2 (en) 2013-04-30 2018-07-10 Comcast Cable Communications, Llc Network validation with dynamic tunneling
US9225601B2 (en) 2013-06-17 2015-12-29 The Board Of Trustees Of The University Of Illinois Network-wide verification of invariants
US20140379915A1 (en) 2013-06-19 2014-12-25 Cisco Technology, Inc. Cloud based dynamic access control list management architecture
US9246818B2 (en) 2013-06-24 2016-01-26 Cisco Technology, Inc. Congestion notification in leaf and spine networks
CN104348757B (zh) 2013-07-31 2018-03-16 华为技术有限公司 一种流表交互方法、交换机及系统
US9531676B2 (en) 2013-08-26 2016-12-27 Nicira, Inc. Proxy methods for suppressing broadcast traffic in a network
KR101455167B1 (ko) 2013-09-03 2014-10-27 한국전자통신연구원 화이트리스트 기반의 네트워크 스위치
US9553845B1 (en) 2013-09-30 2017-01-24 F5 Networks, Inc. Methods for validating and testing firewalls and devices thereof
US10693727B2 (en) 2013-10-13 2020-06-23 ZPE Systems, Inc. Non-intrusive device discovery and configuration cloning
US20150113143A1 (en) 2013-10-18 2015-04-23 Hewlett-Packard Development Company, L.P Network resource automation management
US9876711B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Source address translation in overlay networks
US9876715B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Network fabric overlay
US9374294B1 (en) 2013-11-05 2016-06-21 Cisco Technology, Inc. On-demand learning in overlay networks
US9502111B2 (en) * 2013-11-05 2016-11-22 Cisco Technology, Inc. Weighted equal cost multipath routing
US9590914B2 (en) 2013-11-05 2017-03-07 Cisco Technology, Inc. Randomized per-packet port channel load balancing
US9660897B1 (en) 2013-12-04 2017-05-23 Juniper Networks, Inc. BGP link-state extensions for segment routing
CN103701926B (zh) 2013-12-31 2017-06-16 小米科技有限责任公司 一种获取故障原因信息的方法、装置和系统
US9747183B2 (en) 2013-12-31 2017-08-29 Ciena Corporation Method and system for intelligent distributed health monitoring in switching system equipment
US9350608B2 (en) 2014-01-10 2016-05-24 Arista Networks, Inc. Method and system for using virtual tunnel end-point registration and virtual network identifiers to manage virtual extensible local area network access
US9660886B1 (en) 2014-03-07 2017-05-23 Google Inc. Scalable network route analysis
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US9787559B1 (en) 2014-03-28 2017-10-10 Juniper Networks, Inc. End-to-end monitoring of overlay networks providing virtualized network services
US10020994B2 (en) 2014-04-15 2018-07-10 Virtual Instruments Corporation Automatically determining locations of network monitors in a communication network
US9654361B2 (en) 2014-05-13 2017-05-16 Cisco Technology, Inc. Dynamic collection of network metrics for predictive analytics
US9935831B1 (en) 2014-06-03 2018-04-03 Big Switch Networks, Inc. Systems and methods for controlling network switches using a switch modeling interface at a controller
US10102105B2 (en) 2014-06-24 2018-10-16 Entit Software Llc Determining code complexity scores
WO2016000362A1 (zh) 2014-06-30 2016-01-07 华为技术有限公司 一种配置流表项的方法、装置和系统
US9577927B2 (en) 2014-06-30 2017-02-21 Nicira, Inc. Encoding control plane information in transport protocol source port field and applications thereof in network virtualization
US10084795B2 (en) 2014-07-14 2018-09-25 Cisco Technology, Inc. Network-based real-time distributed data compliance broker
US10038703B2 (en) 2014-07-18 2018-07-31 The Regents Of The University Of Michigan Rating network security posture and comparing network maliciousness
US9813312B2 (en) 2014-07-21 2017-11-07 Big Switch Networks, Inc. Systems and methods for performing debugging operations on networks using a controller
CN104104615B (zh) 2014-07-21 2017-07-07 华为技术有限公司 策略冲突解决方法以及装置
US9497215B2 (en) 2014-07-23 2016-11-15 Cisco Technology, Inc. Stealth mitigation for simulating the success of an attack
US10050842B2 (en) 2014-07-23 2018-08-14 Cisco Technology, Inc. Network control and management using semantic reasoners in a network environment
WO2016019172A1 (en) 2014-07-30 2016-02-04 Forward Networks, Inc. Systems and methods for network management
US20160164748A1 (en) 2014-12-04 2016-06-09 Belkin International, Inc. Identifying and resolving network device rule conflicts and recursive operations at a network device
US10484256B2 (en) 2014-08-12 2019-11-19 Arista Networks, Inc. Method and system for monitoring and correcting defects of a network device
US9497207B2 (en) 2014-08-15 2016-11-15 International Business Machines Corporation Securing of software defined network controllers
US20170214719A1 (en) 2014-09-09 2017-07-27 Hewlett Packard Enterprise Development Lp Auto-configuration and management of storage resources
CN105471830A (zh) 2014-09-10 2016-04-06 中国电信股份有限公司 用于消解安全策略冲突的方法、装置和系统
US9507932B2 (en) 2014-09-12 2016-11-29 Alcatel Lucent Policy enforcement in a topology abstraction system
US9641249B2 (en) 2014-09-18 2017-05-02 Lenovo Enterprise Solutions (Singapore) Pte, Ltd. Support for converged fiber channel over ethernet (FCoE) traffic on software defined networks (SDNs)
US9548872B2 (en) * 2014-09-26 2017-01-17 Dell Products, Lp Reducing internal fabric congestion in leaf-spine switch fabric
US9787572B2 (en) 2014-10-07 2017-10-10 Cisco Technology, Inc. Conflict avoidant traffic routing in a network environment
US9781004B2 (en) 2014-10-16 2017-10-03 Cisco Technology, Inc. Discovering and grouping application endpoints in a network environment
US9686162B2 (en) 2014-10-17 2017-06-20 International Business Machines Corporation Identifying configuration inconsistency in edge-based software defined networks (SDN)
EP3216177B1 (en) 2014-11-06 2021-04-14 Hewlett Packard Enterprise Development LP Network policy graphs
US9690644B2 (en) 2014-11-06 2017-06-27 International Business Machines Corporation Cognitive analysis for healing an IT system
US10116493B2 (en) 2014-11-21 2018-10-30 Cisco Technology, Inc. Recovering from virtual port channel peer failure
US9594640B1 (en) 2014-11-25 2017-03-14 VCE IP Holding Company LLC Backup/recovery system and method for a computing environment
WO2016085516A1 (en) 2014-11-28 2016-06-02 Hewlett Packard Enterprise Development Lp Verifying a network configuration
CN105721193B (zh) 2014-12-05 2020-04-28 方正国际软件(北京)有限公司 一种系统信息监控的方法和设备
WO2016093861A1 (en) 2014-12-12 2016-06-16 Nokia Solutions And Networks Oy Alarm correlation in network function virtualization environment
US9998247B1 (en) 2014-12-30 2018-06-12 Juniper Networks, Inc. Controller-based network device timing synchronization
US9686296B1 (en) 2015-01-06 2017-06-20 Blackpoint Holdings, Llc Systems and methods for providing network security monitoring
US9680875B2 (en) 2015-01-20 2017-06-13 Cisco Technology, Inc. Security policy unification across different security products
US10341188B2 (en) 2015-01-27 2019-07-02 Huawei Technologies Co., Ltd. Network virtualization for network infrastructure
CN105991332A (zh) 2015-01-27 2016-10-05 中兴通讯股份有限公司 告警处理方法及装置
US10437510B2 (en) 2015-02-03 2019-10-08 Netapp Inc. Monitoring storage cluster elements
US10411951B2 (en) 2015-02-10 2019-09-10 Hewlett Packard Enterprise Development Lp Network policy conflict detection and resolution
US10530697B2 (en) 2015-02-17 2020-01-07 Futurewei Technologies, Inc. Intent based network configuration
US10411966B2 (en) 2015-02-26 2019-09-10 Red Hat, Inc. Host network analyzer
US10504025B2 (en) 2015-03-13 2019-12-10 Cisco Technology, Inc. Parallel processing of data by multiple semantic reasoning engines
WO2016161127A1 (en) 2015-04-01 2016-10-06 Neutrona Networks International Llc Network management system with traffic engineering for a software defined network
US10044676B2 (en) * 2015-04-03 2018-08-07 Nicira, Inc. Using headerspace analysis to identify unneeded distributed firewall rules
US10148496B2 (en) 2015-05-05 2018-12-04 Citrix Systems, Inc. Systems and methods for configuring a device via a software-defined networking controller
US10601642B2 (en) 2015-05-28 2020-03-24 Cisco Technology, Inc. Virtual network health checker
US9929949B2 (en) 2015-06-29 2018-03-27 Google Llc Systems and methods for inferring network topology and path metrics in wide area networks
US20170026292A1 (en) 2015-07-20 2017-01-26 Schweitzer Engineering Laboratories, Inc. Communication link failure detection in a software defined network
US10116510B2 (en) 2015-07-31 2018-10-30 Vmware, Inc. Resource categorization for policy framework
US10511485B2 (en) 2015-08-11 2019-12-17 At&T Intellectual Property I, L.P. Dynamic virtual network topology discovery engine
US10243778B2 (en) 2015-08-11 2019-03-26 Telefonaktiebolaget L M Ericsson (Publ) Method and system for debugging in a software-defined networking (SDN) system
US10187321B2 (en) 2015-08-19 2019-01-22 Cisco Technology, Inc. Dynamic VPN policy model with encryption and traffic engineering resolution
CN106488487A (zh) 2015-08-27 2017-03-08 中兴通讯股份有限公司 故障检测方法及装置
US20180331965A1 (en) 2015-08-31 2018-11-15 Hewlett Packard Enterprise Development Lp Control channel usage monitoring in a software-defined network
US10148489B2 (en) 2015-09-01 2018-12-04 At&T Intellectual Property I, L.P. Service impact event analyzer for cloud SDN service assurance
US9929924B2 (en) 2015-09-25 2018-03-27 Telefonaktiebolaget Lm Ericsson (Publ) SDN controller logic-inference network troubleshooter (SDN-LINT) tool
US11303513B2 (en) 2015-09-28 2022-04-12 Evenroute, Llc Automatic QoS optimization in network equipment
US9882833B2 (en) 2015-09-28 2018-01-30 Centurylink Intellectual Property Llc Intent-based services orchestration
US10291654B2 (en) 2015-09-30 2019-05-14 Symantec Corporation Automated construction of network whitelists using host-based security controls
CN106603264A (zh) 2015-10-20 2017-04-26 阿里巴巴集团控股有限公司 一种定位故障根源的方法和设备
US10193706B2 (en) 2015-10-21 2019-01-29 Arris Enterprises Llc Distributed rule provisioning in an extended bridge
US10643149B2 (en) 2015-10-22 2020-05-05 Oracle International Corporation Whitelist construction
US10419530B2 (en) 2015-11-02 2019-09-17 Telefonaktiebolaget Lm Ericsson (Publ) System and methods for intelligent service function placement and autoscale based on machine learning
US20170126727A1 (en) 2015-11-03 2017-05-04 Juniper Networks, Inc. Integrated security system having threat visualization
US10084833B2 (en) 2015-11-09 2018-09-25 Cisco Technology, Inc. Initiating a collaboration session between devices using an audible message
US10069646B2 (en) 2015-12-02 2018-09-04 Nicira, Inc. Distribution of tunnel endpoint mapping information
CN108476179A (zh) 2015-12-17 2018-08-31 慧与发展有限责任合伙企业 简化的正交网络策略集选择
US10979311B2 (en) 2016-01-05 2021-04-13 Schneider Electric USA, Inc. System and method for validating network configuration changes in a client environment
US10261858B2 (en) 2016-01-20 2019-04-16 Intel Corporation TCAM soft-error detection method and apparatus
CN105721297B (zh) 2016-01-28 2019-04-09 北京国电通网络技术有限公司 基于sdn网络中路由环路的检测方法及系统
US10348685B2 (en) * 2016-04-29 2019-07-09 Nicira, Inc. Priority allocation for distributed service rules
US10193750B2 (en) 2016-09-07 2019-01-29 Cisco Technology, Inc. Managing virtual port channel switch peers from software-defined network controller
CN106130766B (zh) 2016-09-23 2020-04-07 深圳灵动智网科技有限公司 一种基于sdn技术实现自动化网络故障分析的系统和方法
US10218590B2 (en) 2016-12-12 2019-02-26 Juniper Networks, Inc. Subscriber-aware TWAMP data monitoring in computer networks
US20170187577A1 (en) 2017-03-14 2017-06-29 Nuviso Networks Inc System for configuring network devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1864390A (zh) * 2003-10-29 2006-11-15 思科技术公司 用于利用安全性标记提供网络安全性的方法和装置

Also Published As

Publication number Publication date
US20200177456A1 (en) 2020-06-04
CN111034122A (zh) 2020-04-17
EP3643014A1 (en) 2020-04-29
US11469952B2 (en) 2022-10-11
US20180367396A1 (en) 2018-12-20
WO2018236775A1 (en) 2018-12-27
US10554493B2 (en) 2020-02-04

Similar Documents

Publication Publication Date Title
CN111034122B (zh) 分析网络节点内存利用率的系统、方法和计算机可读介质
CN110754064B (zh) 网络结构中的路由信息的验证
CN110754062B (zh) 网络节点存储器利用率分析
CN110612702B (zh) 针对不一致的意图规范检查
CN112470431B (zh) 使用自动布尔学习的网络的模型的合成
US11736351B2 (en) Identifying components for removal in a network configuration
CN110785963B (zh) 从网络收集网络模型和节点信息
CN111684439B (zh) 网络保证数据库版本兼容性
US11405278B2 (en) Validating tunnel endpoint addresses in a network fabric
CN110754063B (zh) 验证节点之间的端点配置
US20200177483A1 (en) Static endpoint validation
US10805160B2 (en) Endpoint bridge domain subnet validation

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