一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于计算机网络的方法和系统及存储介质与流程

2022-11-14 02:47:37 来源:中国专利 TAG:

用于计算机网络的方法和系统及存储介质
1.本技术是申请日为2020年09月21日、申请号为202010998048.1、发明名称为“用于计算机网络的方法和系统及存储介质”的分案申请,其全部内容结合于此作为参考。
技术领域
2.本公开涉及计算机网络的分析,包括通过网络分析数据所采取的路径。


背景技术:

3.虚拟化数据中心正在成为现代信息技术(it)基础设施的核心基础。具体而言,现代数据中心已广泛利用虚拟化环境,其中在物理计算装置的底层计算平台上部署和执行虚拟主机(诸如,虚拟机或容器)。
4.大规模数据中心内的虚拟化可提供多种优势,包含高效利用计算资源和简化网络配置。因此,除了虚拟化提供的效率和更高的投资回报(roi)之外,企业it人员通常优选数据中心中的虚拟化计算集群,因为它们具有管理优势。然而,具有虚拟化和非虚拟化装置两者的网络可对网络操作的分析、评估和/或故障检修带来挑战。


技术实现要素:

5.本公开描述了包括收集关于物理网络基础设施(例如,底层流数据)和网络虚拟化(例如,覆盖流数据)的信息,以及使数据相关以能够了解网络操作和性能的技术。在一些示例中,对从裸金属装置(例如,裸金属主机装置或服务器)收集的底层流数据的样本进行分析以确定这样的裸金属装置之间正通过其进行通信的一个或多个虚拟网络。在一些示例中,这样的分析可能涉及使用与虚拟网络相关联的配置信息来从底层流数据中确定与一个或多个裸金属服务器通过其进行或已进行通信的虚拟网络相关联的虚拟网络名称。
6.本文描述的技术可以提供一个或多个技术优势。例如,通过分析流数据,对于给定的数据流,可以确定该数据流属于多租户数据中心中的哪个租户。此外,对于这样的流,可以确定哪些网络装置(包括裸金属服务器)是源和/或目的地装置。如本文中所描述,根据本公开的一个或多个方面的技术使得能够识别裸金属装置(例如,主机装置或服务器)已通过其进行通信的虚拟网络。在一些示例中,可以在很少或几乎没有覆盖流数据的情况下确定这样的标识。更进一步,描述了利用关于覆盖数据或虚拟网络的信息来丰富底层流数据的技术,由此促进可能涉及包括在网络内的裸金属服务器的分析。通过提供关于底层网络基础设施如何与各种覆盖数据流相关的信息,可以创建用于探索和调查的有用工具。在一些示例中,这样的工具可以用于对网络进行有效且流线型的故障查找和分析。
7.在一些示例中,本公开描述了由根据本公开的一个或多个方面的网络分析系统或其他网络系统执行的操作。在一个特定的示例中,本公开描述了一种方法,该方法包括由在网络内操作的网络分析系统存储与网络内建立的第一虚拟网络和第二虚拟网络相关联的虚拟网络配置信息,其中虚拟网络配置信息包括与第一虚拟网络相关联的名称;由网络分析系统收集与第一服务器和第二服务器之间的通信相关联的底层流数据,其中,第一服务
器和第二服务器中的每一个被实施为裸金属服务器;由网络分析系统基于底层流数据和所存储的虚拟网络配置信息,确定第一服务器和第二服务器已通过第一虚拟网络通信;以及由网络分析系统生成包括指示第一服务器和第二服务器是第一虚拟网络的一部分的信息的用户接口,并且其中用户接口使用与第一虚拟网络相关联的名称来识别第一虚拟网络。
8.在另一示例中,本公开描述了一种系统,该系统包括被配置为执行本文中所描述的操作的处理电路。在另一示例中,本公开描述一种非暂时性计算机可读存储介质,包括指令,该指令在被执行时配置计算系统的处理电路以执行本文中所描述的操作。
附图说明
9.图1a是示出了根据本公开的一个或多个方面的包括用于分析网络上和/或数据中心内的业务流的系统的示例性网络的概念图。
10.图1b是示出了根据本公开的一个或多个方面的用于分析网络上和/或数据中心内的业务流的系统的示例性组件的概念图。
11.图2是示出了根据本公开的一个或多个方面的用于分析网络上和/或数据中心内的业务流的示例性网络的框图。
12.图3a是示出了根据本公开的一个或多个方面的与配置数据库维护的虚拟网络相关联的示例性虚拟网络数据结构的概念图。
13.图3b是示出了根据本公开的一个或多个方面的sflow数据的示例性实例的概念图。
14.图4是示出了根据本公开的一个或多个方面的由用户接口装置呈现的示例性用户界面的概念图。
15.图5是示出根据本公开的一个或多个方面的示例性网络分析系统所执行的操作的流程图。
具体实施方式
16.使用虚拟化环境的数据中心提供效率、成本和组织优势,在虚拟化环境中,在物理计算装置的底层计算平台上部署和运行虚拟主机,诸如这种虚拟机或容器。然而,获得对应用工作负载的有意义的了解在管理任何数据中心结构中仍然是至关重要的。从网络装置收集业务样本可帮助提供此类了解。在本文中描述的各种示例中,由分析算法收集并且然后处理业务样本,从而使得可以将覆盖业务的信息与底层基础设施相关联。在一些情况下,从网络装置中收集足够的数据可能是个挑战,尤其在这样的网络装置被实施为裸金属装置或裸金属计算节点或服务器时。本文中描述了在这样的情况下实现数据的充分收集的技术。此外,在一些示例中,可生成用户接口以实现所收集的数据的可视化以及底层基础设施如何与各种覆盖网络相关的可视化。在用户接口中呈现这样的数据可以提供对网络的了解,并且向用户、管理员和/或其他人员提供用于网络探索、调查和故障检修的工具。
17.图1a是示出了根据本公开的一个或多个方面的包括用于分析网络上和/或数据中心内的业务流的系统的示例性网络的概念图。图1a示出了网络系统100和数据中心101的一种示例实现方式,网络系统100和数据中心101托管一个或多个计算网络、计算域或项目和/或本文中一般称为云计算集群的基于云的计算网络。基于云的计算集群可同位于共同的整
体计算环境(诸如,单个数据中心)中,或者分布在各环境(诸如,不同的数据中心)中。基于云的计算集群可以例如是不同的云环境,诸如,openstack云环境、kubernetes云环境或其他计算集群、域、网络等的各种组合。网络系统100和数据中心101的其他实现方式在其他情况下可能是合适的。这样的实现方式可包括图1a的示例中所包括的组件的子集和/或可包括图1a的示例中未示出的附加组件。
18.在图1a的示例中,数据中心101通过服务提供商网络106为耦接到数据中心101的客户104提供用于应用程序和服务的操作环境。尽管结合图1a的网络系统100所描述的功能和操作可以被示出为分布在图1a中的多个装置上,但是在其他示例中,归属于图1a中的一个或多个装置的特征和技术可以由一个或多个这种装置的本地组件在内部执行。类似地,一个或多个这种装置可包含某些组件并且可执行各种技术,这些技术可在本文的描述中以其他方式归属于一个或多个其他装置。此外,可以结合图1a描述某些操作、技术、特征和/或功能,或以其他方式描述由特定组件、装置和/或模块执行的操作、技术、特征和/或功能。在其他示例中,这种操作、技术、特征和/或功能可由其他组件、装置或模块执行。因而,归属于一个或多个组件、装置或模块的一些操作、技术、特征和/或功能可以归属于其他组件、装置和/或模块,即使未在本文以这种方式具体描述。
19.数据中心101托管基础设施装置,诸如,联网和存储系统、冗余电源和环境控件。服务提供商网络106可以耦接到由其他提供商管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施(例如,互联网)的一部分。
20.在一些示例中,数据中心101可表示许多地理上分布的网络数据中心中的一个。如图1a的示例中所示,数据中心101是为客户104提供网络服务的设施。客户104可以是集体实体,诸如,企业和政府或个人。例如,网络数据中心可为多个企业和终端用户托管网络服务。其他示例性服务可包括数据存储、虚拟专用网络、流量工程、文件服务、数据挖掘、科学或超级计算等。在一些示例中,数据中心101是单独的网络服务器、网络对等体等。
21.在图1a的示例中,数据中心101包括一组存储系统、应用程序服务器、计算节点或其他装置,包括网络装置110a至网络装置110n(统称为“网络装置110”,表示任何数量的网络装置)。装置110可以经由由一层或多层物理网络交换机和路由器提供的高速交换结构121互连。在一些示例中,装置110可以包括在结构121中,但是为了便于说明而分开示出。
22.网络装置110可以是多种不同类型的网络装置(核心交换机、主干网络装置、叶网络装置、边缘网络装置或其他网络装置)中的任何一种,但是在一些示例中,一个或多个装置110可以用作数据中心的物理计算节点。例如,一个或多个装置110可以是提供用于执行一个或多个客户特定应用程序或服务的操作环境的裸金属服务器(即,非虚拟化服务器)。可替代地或此外,一个或多个装置110可以为一个或多个虚拟机或其他虚拟化实例(诸如,容器)提供操作环境。在一些示例中,一个或多个装置110还可替代地称为主机计算装置,或更简单地称为主机。因此网络装置110可执行一个或多个虚拟化实例,诸如,虚拟机、容器或用于运行一个或多个服务(诸如,虚拟化网络功能(vnf))的其他虚拟执行环境。
23.通常,每个网络装置110可以是可在网络上运行的任何类型的装置,并且可生成可通过遥测或其他方式访问的数据(例如,流数据或sflow数据),网络装置110可包括任何类型的计算装置、传感器、相机、节点、监视装置或其他装置。此外,网络装置110中的一些或全部可表示另一装置的组件,其中这种组件可生成可通过遥测或其他方式收集的数据。例如,
网络装置110中的一些或全部可表示物理或虚拟网络装置,诸如,交换机、路由器、集线器、网关、安全装置(诸如,防火墙、入侵检测和/或入侵预防装置)。
24.尽管未具体示出,但是交换结构121可以包括耦接到机箱交换机的分布层的架顶式(tor)交换机,并且数据中心101可以包括一个或多个非边缘交换机、路由器、集线器、网关、安全装置(诸如,防火墙、入侵检测和/或入侵防护装置)、服务器、计算机终端、膝上型计算机、打印机、数据库、无线移动装置(诸如蜂窝电话或个人数字助理)、无线接入点、网桥、电缆调制解调器、应用程序加速器或其它网络装置。交换结构121可执行第3层路由,以通过服务提供商网络106在数据中心101和客户104之间路由网络业务。网关108用于在交换结构121和服务提供商网络106之间转发和接收分组。
25.根据本公开的一个或多个示例,软件定义网络(“sdn”)控制器132提供逻辑上和在一些情况下物理上集中的控制器,用于促进数据中心101内的一个或多个虚拟网络的操作。在一些示例中,sdn控制器132响应于经由北向应用程序编程接口(api)131从编排引擎130接收的配置输入而操作,北向应用程序编程接口(api)131又可以响应于从与用户接口装置129交互和/或操作用户接口装置129的管理员128接收的配置输入而操作。
26.用户接口装置129可被实施为用于呈现输出和/或接受用户输入的任何合适的装置。例如,用户接口装置129可包括显示器。用户接口装置129可以是计算系统,诸如由用户和/或由管理员128操作的移动或非移动计算装置。根据本公开的一个或多个方面,用户接口装置129可例如表示工作站、膝上型计算机或笔记本计算机、台式计算机、平板计算机或可由用户操作和/或可呈现用户接口的任何其他计算装置。在一些示例中,用户接口装置129可以在物理上与控制器分离和/或在与控制器不同的位置处。在这样的示例中,用户接口装置129可以通过网络或其他通信装置与控制器通信。在其他示例中,用户接口装置129可以是控制器的本地外围装置,或者可以集成到控制器中。
27.在一些示例中,编排引擎130管理数据中心101的功能,诸如,计算、存储、联网和应用程序资源。例如,编排引擎130可以为数据中心101内或数据中心上的租户创建虚拟网络。编排引擎130可以将虚拟机(vm)连接到租户的虚拟网络。编排引擎130可以将租户的虚拟网络连接到外部网络,例如,互联网或vpn。编排引擎130可以在一组vm之间或向租户网络的边界实现安全策略。编排引擎130可以在租户的虚拟网络中部署网络服务(例如,负载均衡器)。
28.在一些示例中,sdn控制器132管理网络和联网服务(例如,负载均衡和安全性),并且可以通过南向api 133将资源从用作主机装置的装置110分配给各种应用程序。即,南向api 133表示一组通信协议,该通信协议由sdn控制器132使用以使网络的实际状态等于由编排引擎130指定的期望状态。例如,sdn控制器132可通过配置物理交换机(例如,tor交换机、机箱交换机和交换结构121);物理路由器;物理服务节点(诸如防火墙和负载均衡器);以及虚拟服务(诸如vm中的虚拟防火墙)来实现来自编排引擎130的高级请求。sdn控制器132在状态数据库内维护路由、联网和配置信息。
29.网络分析系统140与一个或多个装置110(和/或其他装置)交互或从一个或多个装置110(和/或其他装置)接收数据,以在数据中心101和/或网络系统100上收集流数据。这种流数据可以包括底层流数据和覆盖流数据。在一些示例中,底层流数据可以通过在osi模型的第2层收集的流数据样本来收集。覆盖流数据可以是从在网络系统100内建立的一个或多
个虚拟网络上的覆盖业务中导出的数据(例如,数据样本)。覆盖流数据可例如包括识别源虚拟网络和目的地虚拟网络的信息。
30.根据本公开的一个或多个方面,图1a的网络分析系统140可配置每个装置110以收集流数据。例如,在可参照图1a描述的示例中,网络分析系统140向每个装置110输出信号。每个装置110接收信号并将该信号解释为收集流数据(包括底层流数据和/或覆盖流数据)的命令。此后,当数据分组由每个装置110处理时,每个装置110向网络分析系统140传送底层流数据和/或覆盖流数据。网络分析系统140接收流数据,准备用于响应于分析查询,并且存储流数据。在图1a的示例中,包括交换结构121内的网络装置(未具体示出)的其他网络装置也可以被配置为收集底层流数据和/或覆盖流数据。
31.在一些示例中,一个或多个装置110可以是或可作为裸金属服务器(例如,非虚拟化主机计算节点)运行。在这种示例中,这种裸金属服务器装置110可收集底层流数据(例如,“sflow”数据),但是可能收集很少或几乎不收集覆盖流数据。在一些示例中,作为裸金属服务器的计算节点或主机可能不具有用于收集覆盖流数据所必需的一个或多个软件组件(例如,虚拟路由器)。在这样的示例中,裸金属服务器装置可收集底层流数据,但不收集覆盖流数据。
32.网络分析系统140可处理查询。例如,在所描述的示例中,用户接口装置129检测输入并且将关于输入的信息输出到网络分析系统140。网络分析系统140确定该信息对应于来自用户接口装置129的用户对关于网络系统100的信息的请求。网络分析系统140通过查询所存储的流数据来处理该请求。网络分析系统140基于所存储的流数据生成对查询的响应,并且向用户接口装置129输出关于响应的信息。
33.在一些示例中,从用户接口装置129接收的请求可包括源和/或目的地虚拟网络。在这样的示例中,网络分析系统140可以响应于这样的请求,来识别从源虚拟网络行进到目的地虚拟网络的分组可能已采用的底层网络装置上的一个或多个可能的数据路径。为了识别可能的数据路径,网络分析系统140可以将所收集的覆盖流数据与所收集的底层流数据相关,使得可以识别覆盖数据流所使用的底层网络装置。
34.图1b是示出了根据本公开的一个或多个方面的用于分析网络上和/或数据中心内的业务流的系统的示例性组件的概念图。图1b包括结合图1a描述的许多相同元件。图1b中所示的元件可以对应于图1a中所示的元件,这些元件由图1a中相同标号的参考标记标识。通常,这种相同编号元件以与结合图1a提供的相应元件的描述一致的方式来实施,但在一些示例中,这种元件可能涉及用更多、更少和/或不同能力和属性的替换实现。
35.然而,与图1a不同,图1b示出了网络分析系统140的组件。网络分析系统140被示出为包括负载均衡器141、流收集器142、队列和事件存储器143、拓扑和度量源144、数据存储器145和流api 146。通常,网络分析系统140和网络分析系统140的组件被设计和/或配置为确保高可用性和处理大量流数据的能力。在一些示例中,网络分析系统140的组件的多个实例可以被编排(例如,通过编排引擎130)以便在不同的物理服务器上执行以确保网络分析系统140的任何组件不存在单点故障。在一些示例中,网络分析系统140或其组件可以独立地和水平地缩放,以实现期望的业务量(例如,流数据)的高效和/或有效处理。
36.如图1a所示,图1b的网络分析系统140可配置每个装置110以收集流数据。例如,网络分析系统140可以向每个装置110输出信号将每个装置110配置为收集包括底层流数据和
覆盖流数据的流数据。然后,一个或多个装置110可以收集底层流数据和/或覆盖流数据,并向网络分析系统140报告这样的流数据。
37.在图1b中,由网络分析系统140的负载均衡器141从每个装置110接收流数据。例如,在图1b中,负载均衡器141可从装置每个110接收流数据。负载平衡器141可将业务分布在多个流收集器之间以确保流收集器的主动/主动故障转移策略。在一些示例中,可能需要多个负载均衡器141来确保高可用性和可扩展性。
38.流收集器142从负载均衡器141收集数据。例如,网络分析系统140的流收集器142接收和处理来自每个装置110的流分组(在由负载均衡器141处理之后)。流收集器142将流分组向上游发送到队列和事件存储器143。在一些示例中,流收集器142可以以sflow、netflow v9、ipfix、jflow、轨迹流和其他格式进行寻址、处理和/或容纳统一的数据。流收集器142可以能够解析sflow分组和其他数据流分组中的内部报头。流收集器142可以能够利用拓扑信息(例如,appformix拓扑信息)处理消息溢出和丰富的流记录。在将数据写入或发送至队列和事件存储器143之前,流收集器142还能够将数据转换成二进制格式。“sflow”类型的底层流数据(指“采样流”)是在osi模型的第2层处的分组导出的标准。它提供了导出截短分组的装置以及用于网络监视的接口计数器。
39.队列和事件存储器143处理所收集的数据。例如,队列和事件存储143可以从一个或多个流收集器142接收数据,存储数据,并且使数据可用于数据存储器145摄取。在一些示例中,这使得能够将接收和存储大量数据的任务与对数据进行索引并且将其准备用于分析查询的任务分开。在一些示例中,队列和事件存储器143还可以使独立的用户能够直接消耗流记录的流。在一些示例中,队列和事件存储器143可以用于发现异常并且近实时地或看似近实时地产生警报。在一些示例中,可通过读取包含vxlan、udp上的mpls和gre上的mpls的封装分组来解析流数据。队列和事件存储器143从内部(底层)分组中解析源ip、目的地ip、源端口、目的地端口和协议。一些类型的流数据(包括sflow数据)仅包括一部分采样的网络业务(例如,前128字节),因此,在一些情况下,流数据可能不包括所有内部字段。在这样的示例中,这样的数据可被标记为缺失。
40.拓扑和度量源144可以用拓扑信息和/或度量信息来丰富或增强数据。例如,拓扑和度量源144可以提供网络拓扑元数据,该网络拓扑元数据可以包括标识的节点或网络装置、配置信息、配置、建立的链路、和关于这种节点和/或网络装置的其他信息。在一些示例中,拓扑和度量源144可以使用appformix拓扑数据或者可以是执行的appformix模块。从拓扑和度量源144接收的信息可以用于丰富由流收集器142收集的流数据并且支持流api 146处理数据存储器145的查询。
41.数据存储器145可以被配置为以索引的格式存储从队列和事件存储器143以及拓扑和度量源144接收的数据,从而实现快速聚合查询和快速随机存取数据检索。在一些示例中,数据存储器145可以通过对数据进行分片和复制来实现容错和高可用性。
42.流api 146可处理由一个或多个用户接口装置129发送的查询请求。例如,在一些示例中,流api 146可通过http post请求从用户接口装置129接收查询请求。在这样的示例中,流api 146将请求中所包含的信息转换成对数据存储器145的查询。为了创建查询,流api 146可以使用来自拓扑和度量源144的拓扑信息。流api 146可代表用户接口装置129使用一个或多个这样的查询来执行分析。这种分析可包含业务去重、覆盖-底层相关、业务路
径识别和/或热图业务计算。具体地,这种分析可以能涉及将底层流数据与覆盖流数据相关,从而能够识别哪些底层网络装置与在虚拟网络上和/或在两个虚拟机之间流动的业务相关。
43.通过根据本公开的一个或多个方面的技术,诸如通过将底层流数据与覆盖流数据相关,网络分析系统140可以能够针对给定数据流确定该数据流属于多租户数据中心中的哪个租户。此外,网络分析系统140还能够确定哪些虚拟计算实例(例如,虚拟机或容器)是这种流的源和/或目的地虚拟计算实例。如本文中所描述,根据本公开的一个或多个方面的技术使得能够识别裸金属装置(例如,主机装置或服务器)已通过其进行通信的虚拟网络。有利地,这种识别可以用很少的或几乎不用覆盖流数据来确定。更进一步,描述了利用关于覆盖数据或虚拟网络的信息来丰富底层流数据的技术,由此促进可能涉及包括在网络内的裸金属服务器的分析。
44.图2是示出了根据本公开的一个或多个方面的用于分析网络上和/或数据中心内的业务流的示例性网络的框图。图2的网络系统200可以描述为图1a或图1b的网络系统100的一个示例或替代实现方式。图2的一个或多个方面可以在图1a和图1b的上下文中在本文中描述。
45.尽管数据中心(诸如,图1a、图1b和图2中所示的数据中心)可由任何实体操作,但一些数据中心由服务提供商操作,其中这种服务提供商的商业模型可涉及将计算能力提供给客户或客户端。为此,数据中心通常包含大量的计算节点或主机装置。为了有效地操作,那些主机必须彼此连接并且连接到外部世界,并且通过物理网络装置提供该能力,该物理网络装置可以是叶-主干拓扑互连。这些物理装置(诸如,网络装置和主机)的集合形成底层网络。
46.在这种数据中心中的每个主机装置通常具有在其上运行的多个虚拟机,它们被称为工作负载。数据中心的客户端通常访问这些工作负载,并且可安装应用程序并使用这种工作负载来执行其他操作。将在不同的主机装置上运行但可由一个特定客户端访问的工作负载组织成虚拟网络。每个客户端通常具有至少一个虚拟网络。这些虚拟网络也被称为覆盖网络。在一些情况下,数据中心的客户端可能经历运行在不同工作负载上的两个应用程序之间的连接性问题。由于在大型多租户数据中心中部署工作负载,故障排除这种问题往往是复杂的。此外,由于在大型多租户数据中心部署工作负载,对特定虚拟网络或特定客户端或租户执行分析也倾向于而复杂化。
47.在图2的示例中,网络205连接网络分析系统240、主机装置210a、主机装置210b和主机装置210n。网络分析系统240可以对应于图1a和图1b中所示出的网络分析系统140的示例或替代实现方式。主机装置210a、210b至210n可以统称为“主机装置210”,表示任何数量的主机装置210。
48.每个主机装置210可以是图1a和图1b的装置110的示例,但是在图2的示例中,与网络装置相反,每个主机装置210被实现为作为虚拟化数据中心的物理或虚拟化计算节点操作的服务器或主机装置。如本文进一步描述的,一个或多个主机装置210(例如,图2的主机装置210a)可执行多个虚拟计算实例(诸如,虚拟机228),并且此外,一个或多个主机装置210(例如,主机装置210b至主机装置210n中的一个或多个)可执行非虚拟化、单租户和/或裸金属服务器上的应用程序或服务模块。因此,如在图1a和图1b中,图2的示例示出了包括
虚拟化服务器装置与裸金属服务器装置的混合的网络系统。
49.如在图1a和图1b中,可由管理员128操作的用户接口装置129也连接到网络205。在一些示例中,用户接口装置129可在与用户接口装置129相关联的显示装置处呈现一个或多个用户接口,该用户接口中的一些用户接口可具有类似于用户界面400的形式。
50.图2还示出了在网络系统200内流动的底层流数据204和覆盖流数据206。具体地,底层流数据204被示为离开主干装置202a并流到网络分析系统240。类似地,覆盖流数据206被示为离开主机装置210a并流过网络205。在一些示例中,覆盖流数据206通过网络205传送到如在本文中描述的网络分析系统240。为了简单起见,图2示出了底层流数据204的单个实例和覆盖流数据206的单个实例。然而,应当理解,主干装置202和叶装置203中的每一者可以生成底层流数据204,并将底层流数据204传送到网络分析系统240,并且在一些示例中,主机装置210(和/或其他装置)中的每一个可以生成底层流数据204,并将这种数据通过网络205传送到网络分析系统240。此外,应当理解,主机装置210(和/或其他装置)中的一个或多个可生成覆盖流数据206并将这种数据通过网络205的传送到网络分析系统240。然而,在一些示例中,一个或多个主机装置210可被实现为不生成覆盖流数据206的裸金属服务器或单租户服务器。在图2的示例中,主机装置210b和主机装置210n可实施为裸金属服务器。
51.网络205可对应于图1a和图1b的交换结构121和/或服务提供商网络106中的任一者,或可替代地,可对应于交换结构121、服务提供商网络106和/或另一网络的组合。网络205还可以包括图1a和图1b的一些组件,包括网关108、sdn控制器132和编排引擎130。
52.在网络205内所示出的是主干装置202a和202b(统称为“主干装置202”并且表示任何数量的主干装置202)以及叶装置203a、203b和203c(统称为“叶装置203”并且也表示任何数量的叶装置203)。尽管网络205被示为具有主干装置202和叶装置203,但是其他类型的网络装置可被包括在网络205中,包括核心交换机、边缘网络装置、架顶式装置和其他网络装置。
53.通常,网络205可以是互联网,或者可以包括或表示任何公有或私有通信网络或其他网络。例如,网络205可以是蜂窝、zigbee、蓝牙、近场通信(nfc)、卫星、企业、服务提供商和/或能够在计算系统、服务器和计算装置之间传输数据的其他类型的网络。客户端装置、服务器装置或其他装置中的一个或多个可使用任何合适的通信技术在网络205上发送和接收数据、命令、控制信号和/或其他信息。网络205可以包括一个或多个网络集线器、网络交换机、网络路由器、圆盘式卫星电视天线或任何其他网络装置。这样的装置或组件可以可操作地互连,从而提供计算机、装置或其他组件之间(例如,一个或多个客户端装置或系统与一个或多个服务器装置或系统之间)的信息交换。图2中示出的装置或系统中的每一个可使用一个或多个网络链路可操作地耦接到网络205。将这种装置或系统耦接至网络205的链路可以是以太网、异步传输模式(atm)、或者其他类型的网络连接,并且这种连接可以是无线和/或有线连接。图2中示出的或以其他方式在网络205上的装置或系统中的一个或多个可相对于一个或多个示出的其他装置或系统位于远程位置。
54.网络分析系统240可被实现为任何合适的计算系统,诸如,一个或多个服务器计算机、工作站、大型机、电器、云计算系统和/或能够执行根据本公开的一个或多个方面描述的操作和/或功能的其他计算系统。在一些示例中,网络分析系统240表示向客户端装置和其他装置或系统提供服务的云计算系统、服务器群、和/或服务器集群(或其一部分)。在其他
示例中,网络分析系统240可表示数据中心、云计算系统、服务器群和/或服务器集群的一个或多个虚拟化计算实例(例如,虚拟机、容器)或通过数据中心、云计算系统、服务器群和/或服务器集群的一个或多个虚拟化计算实例(例如,虚拟机、容器)实施。
55.在图2的示例中,网络分析系统240可包括电源241、一个或多个处理器243、一个或多个通信单元245、一个或多个输入装置246和一个或多个输出装置247。存储装置250可以包括一个或多个收集器模块252、用户接口模块254、流api 256和数据存储器259。
56.网络分析系统240的装置、模块、存储区域或其他组件中的一个或多个可以互连以实现组件间通信(物理上、通信上和/或操作上)。在一些示例中,这种连接可以通过通信信道(例如,通信信道242)、系统总线、网络连接、进程间通信数据结构、或用于通信数据的任何其他方法提供。
57.电源241可以向网络分析系统240的一个或多个组件提供电力。电源241可以从数据中心、建筑物、家庭或其他位置处的主要交流(ac)电源接收电力。在其他示例中,电源241可为电池或供应直流(dc)的装置。在另外的示例中,网络分析系统240和/或电源241可从另一来源接收电力。网络分析系统240内示出的一个或多个装置或组件可以连接到电源241,和/或可以从电源241接收电力。电源241可具有智能电源管理或消耗能力,并且这种特征可由网络分析系统240的一个或多个模块和/或由一个或多个处理器243控制、访问、或调整以智能地消耗、分配、供应、或以其他方式管理电源。
58.网络分析系统240的一个或多个处理器243可以实现与网络分析系统240相关联的或与本文示出和/或本文描述的一个或多个模块相关联的功能和/或执行与网络分析系统240相关联的或与本文示出和/或本文描述的一个或多个模块相关联的指令。一个或多个处理器243可以是执行根据本公开的一个或多个方面的操作的处理电路,可以是执行根据本公开的一个或多个方面的操作的处理电路的一部分和/或可以包括执行根据本公开的一个或多个方面的操作的处理电路。处理器243的示例包括微处理器、应用处理器、显示控制器、辅助处理器、一个或多个传感器集线器以及被配置为用作处理器、处理单元或处理装置的任何其他硬件。中央监控系统可以使用一个或多个处理器243,以使用驻留在网络分析系统240中和/或在网络分析系统240处执行的软件、硬件、固件或硬件、软件和固件的混合来执行根据本公开的一个或多个方面的操作。
59.网络分析系统240的一个或多个通信单元245可通过发送和/或接收数据与网络分析系统240外部的装置通信,并且在一些方面可作为输入装置和输出装置操作。在一些示例中,通信单元245可经由网络与其他装置通信。在其他示例中,通信单元245可在例如蜂窝式无线电网络的无线电网络上发送和/或接收无线电信号。通信单元245的示例包括网络接口卡(例如,以太网卡)、光收发器、射频收发器、gps接收器或能够发送和/或接收信息的任何其他类型的装置。通信单元245的其他示例可以包括能够通过gps、nfc、zigbee和蜂窝网络(例如,3g、4g、5g)进行通信的装置,以及在移动装置以及通用串行总线(usb)控制器等中出现的无线电。这样的通信可以遵循、实现或遵守适当的协议,包括传输控制协议/互联网协议(tcp/ip)、以太网、蓝牙、nfc或其他技术或协议。
60.一个或多个输入装置246可以表示未在本文另外单独描述的网络分析系统240的任何输入装置。一个或多个输入装置246可以生成、接收和/或处理来自能够检测来自人或机器的输入的任何类型的装置的输入。例如,一个或多个输入装置246可以生成、接收和/或
处理处于电、物理、音频、图像和/或视觉输入(例如,外围装置、键盘、麦克风、相机)形式的输入。
61.一个或多个输出装置247可以表示未在本文另外单独描述的网络分析系统240的任何输出装置。一个或多个输出装置247可以生成、接收和/或处理来自能够检测来自人或机器的输入的任何类型的装置的输入。例如,一个或多个输出装置247可以生成、接收和/或处理处于电和/或物理输出(例如,外围装置、致动器)形式的输出。
62.网络分析系统240内的一个或多个存储装置250可以存储用于在网络分析系统240的操作期间处理的信息。存储装置250可存储与根据本公开的一个或多个方面描述的一个或多个模块相关联的程序指令和/或数据。一个或多个处理器243和一个或多个存储装置250可以为这种模块提供操作环境或平台,这种模块可以被实现为软件,但是在一些示例中可以包括硬件、固件和软件的任何组合。一个或多个处理器243可以执行指令并且一个或多个存储装置250可以存储一个或多个模块的指令和/或数据。处理器243和存储装置250的组合可检索、存储、和/或执行一个或多个应用程序、模块、或软件的指令和/或数据。处理器243和/或存储装置250也可操作地耦接至一个或多个其他软件和/或硬件组件,包括但不限于网络分析系统240的一个或多个组件和/或示出为连接至网络分析系统240的一个或多个装置或系统。
63.在一些示例中,一个或多个存储装置250实现为临时存储器,这意味着一个或多个存储装置的主要目的不是长期存储。网络分析系统240的存储装置250可被配置为易失性存储器用于信息的短期存储,并且因此如果被停用,则不保留所存储的内容。易失性存储器的示例包括随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)和本领域已知的其他形式的易失性存储器。在一些示例中,存储装置250还包括一种或多种计算机可读存储介质。存储装置250可以被配置为存储比易失性存储器更大量的信息。存储装置250可进一步被配置为非易失性存储器空间用于信息的长期存储,并且在激活/关闭循环之后保留信息。非易失性存储器的示例包括磁性硬盘、光盘、闪存、或电可编程存储器(eprom)或电可擦可编程(eeprom)存储器的形式。
64.收集器模块252可以执行与接收底层流数据204和覆盖流数据206两者有关的功能,并且在必要时执行负载均衡以确保用于收集这样的流数据的高可用性、吞吐量和可扩展性。收集器模块252可处理数据,准备用于存储在数据存储器259内的数据。在一些示例中,收集器模块252可将数据存储在数据存储器259内。
65.用户接口模块254可以执行与生成用于呈现由流api 256执行的分析查询的结果的用户接口有关的功能。在一些示例中,用户接口模块254可生成足以生成一组用户接口的信息,并且致使通信单元245通过网络205输出这种信息以供用户接口装置129使用,从而在与用户接口装置129相关联的显示装置处呈现一个或多个用户界面。
66.流api 256可以执行涉及存储在数据存储器259中的数据的分析查询,该数据是从底层流数据204和覆盖流数据206的集合中导出的。在一些示例中,流api 256可接收以从http post请求中导出的信息形式的请求,并且作为响应,可将请求转换成将在数据存储器259上执行的查询。此外,在一些示例中,流api 256可获取关于装置110的拓扑信息,并且执行包含数据去重、覆盖-底层关联、业务路径识别和热图业务计算的分析。
67.数据存储器259可以表示用于存储与数据流信息相关的信息的任何适当的数据结
构或存储介质,包括存储从底层流数据204和覆盖流数据206中导出的数据。数据存储器259可以负责以索引的格式存储数据,从而实现快速数据检索和查询的执行。存储在数据存储器259中的信息可以是可搜索的和/或可分类的,使得网络分析系统240内的一个或多个模块可以提供请求来自数据存储器259的信息的输入,并且响应于该输入,接收存储在数据存储器259中的信息。数据存储器259可以主要由收集器模块252维护。数据存储器259可以包括允许仅基于虚拟网络标识符或者对虚拟网络的编码的引用来识别虚拟网络的配置信息。在一些示例中,存储在数据存储器259内的信息可以对应于或包括与来自加利福尼亚州sunnyvale的juniper networks公司的轨迹云网络自动化解决方案相关联的轨迹配置数据库。数据存储器259可以通过多个硬件装置来实现,并且可以通过对数据进行分片和复制来实现容错和高可用性。在一些示例中,数据存储器259可以使用开源clickhouse列导向数据库管理系统来实现。在一些示例中,数据存储器259可通过在多个存储装置上对数据进行分片和复制来实现容错和高可用性,多个存储装置可跨多个物理主机放置。
68.每个主机装置210表示提供用于虚拟主机、虚拟机、容器和/或其他虚拟化计算资源的运行环境的物理计算装置或计算节点。在一些示例中,每个主机装置210可以是向客户端装置和其他装置或系统提供服务的云计算系统、服务器群和/或服务器集群(或其部分)的组件。
69.本文关于主机装置210a,描述了主机装置210的某些方面。其他主机装置210(例如,主机装置210b至主机装置210n)可类似地描述,且还可以包括相同编号的组件,相同编号的组件可表示相同、相似或相应的组件、装置、模块、功能和/或其他特征。因此,本文中关于主机装置210a的描述可相应地应用于一个或多个其他主机装置210(例如,主机装置210b至主机装置210n)。
70.在图2的示例中,主机装置210a包括底层物理计算硬件,该底层物理计算硬件包括电源211a、一个或多个处理器213a、一个或多个通信单元215a、一个或多个输入装置216a、一个或多个输出装置217a和一个或多个存储装置220a。在所示的示例中,存储装置220a可包括管理程序模块221a,其可包括内核模块222a、虚拟路由器模块224a和代理模块226a。虚拟机228a至228n(统称为“虚拟机228”并且表示任何数量的虚拟机228)在管理程序221a上执行或由管理程序221a控制。类似地,虚拟路由器代理229a可在管理程序221a上或在管理程序221a的控制下执行。主机装置210a的装置、模块、存储区域或其他组件中的一个或多个可以互连以实现组件间通信(物理地、通信地和/或可操作地)。在一些示例中,这种连接可通过通信信道(例如,通信信道212a)、系统总线、网络连接、进程间通信数据结构或用于通信数据的任何其他方法提供。
71.电源211a可向主机装置210a的一个或多个组件提供电力。处理器213a可以实现与主机装置210a相关联的功能和/或执行与主机装置210a相关联的指令。通信单元215a可以代表主机装置210a与其他装置或系统通信。一个或多个输入装置216a和输出装置217a可以表示与主机装置210a相关联的输入和/或输出装置。存储装置220a可以存储用于在主机装置210a的操作期间处理的信息。这些组件中的每一个可以结合网络分析系统240或者以其他方式以与本文中描述的那些相似的方式来实现。
72.管理程序221a可用作实例化、创建和/或执行底层主机硬件装置上的一个或多个虚拟机228的模块或系统。在一些上下文中,管理程序221a可被称为虚拟机管理器(vmm)。管
理程序221a可在由存储装置220a和处理器213a提供的执行环境内或在操作系统内核(例如,内核模块222a)上执行。在一些示例中,管理程序221a是在硬件平台(例如,主机装置210a)上执行以为虚拟机228a和/或其他类型的虚拟计算实例提供虚拟化操作环境和编排控制器的操作系统级组件。在其他示例中,管理程序221a可以是提供轻量内核并操作以提供用于虚拟机228a和/或其他类型的虚拟计算实例的虚拟化操作环境和编排控制器的软件和/或固件层。管理程序221a可以包括内核模块222a的功能(例如,作为“类型1管理程序”),如图2中所示。在其他示例中,管理程序221a可以在内核上执行(例如,作为“类型2管理程序”)。
73.虚拟路由器模块224a可执行数据中心101内的相应虚拟网络的多个路由实例(参见图1a或图1b),并且可将分组路由到在由主机装置110a提供的操作环境内执行的适当虚拟机。虚拟路由器模块224a还可以负责收集覆盖流数据,诸如,在部署轨迹sdn的基础设施中使用时的轨迹流数据。因而,一个或多个主机装置210可以包括虚拟路由器。由主机装置210a的虚拟路由器模块224a例如从底层物理网络结构接收的分组,可包括外部报头以允许物理网络结构将有效载荷或“内部分组”隧道传送到主机装置210a的网络接口的物理网络地址。外部报头不仅可包括服务器的网络接口的物理网络地址,还可包括虚拟网络标识符(诸如,vxlan标签或多协议标签交换(mpls)标签),识别虚拟网络之一以及由虚拟路由器执行的对应路由实例。内部分组包括具有目的地网络地址的内部报头,该目的地网络地址符合由虚拟网络标识符识别的虚拟网络的虚拟网络寻址空间。
74.代理模块226a可作为管理程序221a的一部分来执行,或者可在内核空间内或作为内核模块222a的一部分来执行。代理模块226a可以监控与主机装置210a相关联的一些或全部性能度量,并且可以实现和/或实施可以从策略控制器(图2中未示出)接收的策略。代理模块226a可配置虚拟路由器模块224a以将覆盖流数据传送到网络分析系统240。
75.虚拟机228a至虚拟机228n(统称为“虚拟机228”,表示任何数量的虚拟机228)可以表示虚拟机228的示例实例。主机装置210a可以将由存储装置220a提供的虚拟地址空间和/或物理地址空间划分成用于运行用户进程的用户空间。主机装置210a还可将由存储装置220a提供的虚拟地址空间和/或物理地址空间划分成内核空间,内核空间受到保护并且用户进程可能无法访问。
76.通常,每个虚拟机228可以是任何类型的软件应用,并且每个虚拟机可被分配虚拟地址以在对应的虚拟网络内使用,其中每个虚拟网络可以是由虚拟路由器模块224a提供的不同的虚拟子网。每个虚拟机228可被分配其自己的例如用于发送和接收通信的虚拟层3(l3)ip地址,但虚拟机却不知道虚拟机正在其上执行的物理服务器的ip地址。以此方式,“虚拟地址”是与底层物理计算机系统(例如,图2的示例中的主机装置210a)的逻辑地址不同的应用程序的地址。
77.每个虚拟机228可以表示运行客户应用(诸如,web服务器、数据库服务器、企业应用)或托管用于创建服务链的虚拟化服务的租户虚拟机。在一些情况下,主机装置210或另一计算装置中的任一个或多个直接托管客户应用,即,不作为虚拟机(例如,主机装置210b至主机装置210n中的一个或多个,例如,主机装置210b和主机装置210n)。尽管就虚拟机或虚拟主机描述了本公开的一个或多个方面,但根据本文中关于这样的虚拟机或虚拟主机描述的本公开的一个或多个方面的技术也可应用于容器、应用程序、进程或在主机装置210上
执行的其他执行单元(虚拟化或非虚拟化)。
78.在图2的示例中虚拟路由器代理229a包括在主机装置210a内,并且可以与sdn控制器132(见图1a和图1b)和虚拟路由器模块224a通信,以便控制虚拟网络的覆盖并协调主机装置210a内的数据分组的路由。通常,虚拟路由器代理229a与sdn控制器132通信,sdn控制器132生成命令以通过数据中心101控制分组的路由。虚拟路由器代理229a可在用户空间中执行,并作为虚拟机228和sdn控制器132之间的控制平面消息的代理来操作。例如,虚拟机228a可请求使用其虚拟地址经由虚拟路由器代理229a发送消息,并且虚拟路由器代理229a又可发送消息并且请求针对发起第一消息的虚拟机228a的虚拟地址接收对消息的响应。在一些情况下,虚拟机228a可启用由虚拟路由器代理229a的应用程序编程接口呈现的过程或函数调用,并且在此示例中,虚拟路由器代理229a也处理消息的封装,包括寻址。
79.在图2的示例中,类似于主机装置210a,主机装置210b包括底层物理计算硬件,该底层物理计算硬件包括电源211b、一个或多个处理器213b、一个或多个通信单元215b、一个或多个输入装置216b、一个或多个输出装置217b以及一个或多个存储装置220b。存储装置220b可包括一个或多个应用模块231b,该应用模块可对应于由主机装置210b的一个或多个租户执行或代表主机装置210b的一个或多个租户执行的应用程序。在图2的示例中,主机装置210b可以是裸金属服务器,这可能意味着主机装置210b作为单个租户装置执行而没有如主机装置210a中的虚拟化组件。在这样的示例中,主机装置210b可能不包括对应于主机装置210a的虚拟路由器模块224a、代理模块226a和/或虚拟路由器代理229a的任何组件或模块。在没有任何这种组件或模块的情况下,主机装置210b可以能够报告底层流数据204,但可能不能报告覆盖流数据206,特别是在虚拟路由器代理通常执行报告覆盖流数据206的功能的情况下。
80.主机装置210可实施为虚拟化计算节点(例如,如在主机装置210a中)、裸金属服务器(例如,如在主机装置210b中)或以另一方式实施。如图2所示,主机装置210n被示出实现为裸金属服务器,类似于主机装置210b的裸金属服务器。因而,主机装置210n被示出为具有对应于主机装置210b的元件的类似编号元件,并且主机装置210n可以以类似方式实施。
81.网络分析系统240可以配置主干装置202和叶装置203中的每一者以收集底层流数据204。例如,在可参照图2描述的示例中,网络分析系统240的收集器模块252使通信单元245通过网络205输出一个或多个信号。主干装置202和叶装置203中的每一者检测信号,并且将该信号解释为能够收集底层流数据204的命令。例如,在检测到来自网络分析系统240的信号时,主干装置202a将自己配置为收集sflow数据并通过网络205将sflow数据(作为底层流数据204)传送到网络分析系统240。作为另一个示例,在检测到来自网络分析系统240的信号时,叶装置203a检测信号并将自己配置为收集sflow数据并通过网络205将sflow数据传送到网络分析系统240。此外,在一些示例中,每个主机装置210可检测来自网络分析系统240的信号,并且将信号解译为实现收集sflow数据的命令。因此,在一些示例中,sflow数据可由在主机装置210上执行的收集器模块收集。
82.因此,在所描述的示例中,主干装置202、叶装置203(以及可能的一个或多个或所有的主机装置210)收集sflow数据。然而,在其他示例中,一个或多个这种装置可以收集其他类型的底层流数据204,诸如,ipfix和/或netflow数据。收集任何这种底层流数据可能涉及收集5元组数据,该5元组数据包括源和目的地ip地址、源和目的地端口号、以及正在使用
的网络协议。
83.网络分析系统240可将一个或多个主机装置210配置为收集覆盖流数据206。例如,继续参考图2描述的示例,收集器模块252使通信单元245通过网络205输出一个或多个信号。一个或多个主机装置210检测被解释为收集覆盖流数据206并将覆盖流数据206传送到网络分析系统240的命令的信号。
84.例如,参照主机装置210a,主机装置210a的通信单元215a通过网络205检测信号,并且将关于信号的信息输出到管理程序221a。管理程序221a将信息输出到代理模块226a。代理模块226a将来自管理程序221a的信息解释为收集覆盖流数据206的命令。代理模块226a配置虚拟路由器模块224a以收集覆盖流数据206并将覆盖流数据206传送到网络分析系统240。然而,实施为裸金属服务器的主机装置210可能无法通过网络205检测或响应信号以收集覆盖流数据206。对于主机装置210依赖于与虚拟路由器模块224a或代理模块226a对应的虚拟路由器或虚拟路由器代理来生成、收集和/或报告覆盖流数据的系统,网络分析系统240可能无法接收实施为裸金属服务器的主机装置210的覆盖流数据。
85.在至少一些示例中,由主机装置210a收集的覆盖流数据206包括关于源地址和目的地地址、端口和协议的5元组信息。此外,覆盖流数据206可包括关于与流相关联的虚拟网络(包括源虚拟网络和目的地虚拟网络)的信息。在一些示例中,特别是对于使用可从加利福尼亚州sunnyvale的juniper networks获得的轨迹sdn配置的网络,覆盖流数据206可对应于轨迹流数据。
86.在所描述的示例中,代理模块226a配置主机装置210a的虚拟路由器模块224a以收集覆盖流数据206。然而,在其他示例中,管理程序221a可配置虚拟路由器模块224a以收集覆盖流数据206。此外,在其他示例中,覆盖流数据206数据可由诸如代理模块226a的另一模块(替代地或附加地)或甚至由管理程序221a或内核模块222a收集。因而,一个或多个主机装置210可以各种方式收集底层流数据(sflow数据)和覆盖流数据(例如,轨迹流数据)。
87.网络分析系统240可以接收底层流数据204和覆盖流数据206两者。例如,继续该示例并且参照图2,主干装置202a采样、检测、感测和/或收集底层流数据204。主干装置202a通过网络205输出信号。网络分析系统240的通信单元245检测来自主干装置202a的信号并且将关于该信号的信息输出到收集器模块252。收集器模块252确定该信号包括关于来自主干装置202a的底层流数据204的信息。
88.类似地,主机装置210a的虚拟路由器模块224a在主机装置210a处采样、检测、感测和/或收集底层流数据204和/或覆盖流数据206。虚拟路由器模块224a使主机装置210a的通信单元215a通过网络205输出信号。网络分析系统240的通信单元245检测来自主机装置210a的信号并将关于该信号的信息输出到收集器模块252。收集器模块252确定该信号包括关于来自主机装置210a的底层流数据204和/或覆盖流数据206的信息。
89.此外,主机装置210b还可以采样、收集、感测和/或收集底层流数据204。然而,主机装置210b可能无法收集覆盖流数据206,因为主机装置210b可被实施为不具有虚拟路由器和/或虚拟路由代理的裸金属服务器。然而,在主机装置210b上执行的一个或多个应用模块231b使通信单元215b经由网络205输出信号。网络分析系统240的通信单元245检测来自主机装置210b的信号并且将关于信号的信息输出到收集器模块252。收集器模块252确定该信号包含关于来自主机装置210b的底层流数据204的信息。主机装置210n可以以类似的方式
向网络分析系统240报告底层流数据204。
90.网络分析系统240可以处理从网络系统100内的不同装置接收的底层流数据204和覆盖流数据206。例如,仍继续相同的示例,收集器模块252通过在一个或多个收集器模块252上分配信号来处理从主干装置202a、主机装置210和其他装置接收的信号。在一些示例中,每个收集器模块252可在不同的物理服务器上执行,并且可单独地和水平地缩放以处理来自主干装置202、叶装置203和主机装置210的期望量或峰值容量的流业务。每个收集器模块252存储底层流数据204和覆盖流数据206的每个实例,并且使所存储的数据可用于在数据存储器259中获取。收集器模块252对数据进行索引并且准备数据用于分析查询。在一些示例中,收集器模块252通过识别与涉及这种裸金属服务器的通信相关联的虚拟网络标识符,并使用这种虚拟网络标识符来从由其他装置报告的配置信息或其他覆盖流数据206识别与这种通信相关联的虚拟网络名称,以将由被实施为裸金属服务器的任何主机装置210报告的底层流数据204相关。
91.网络分析系统240可以在数据存储器259中存储底层流数据204和覆盖流数据206。例如,在图2中,收集器模块252将信息输出到数据存储器259。数据存储器259确定该信息对应于底层流数据204和覆盖流数据206。数据存储器259以索引的格式存储数据,从而实现快速聚合查询和快速随机存取数据检索。在一些示例中,在存储到数据存储器259中之前,可以丰富这样的底层流数据204和覆盖流数据206。这种丰富可以使得能够识别与底层流数据204相关联的虚拟网络或覆盖信息,并且可以使得能够识别与虚拟网络或覆盖流数据206相关联的物理网络装置。在其他示例中,底层流数据204和/或覆盖流数据206可以在没有进行这种丰富的情况下被存储,但是具有足够的信息以使得能够进行虚拟网络或与底层流数据204相关联的覆盖信息的后续识别(例如,通过流api 256),和/或使得能够进行与虚拟网络或覆盖流数据206相关联的物理网络装置的后续识别。
92.网络分析系统240可以接收关于与虚拟网络有关的信息的查询。例如,仍继续相同的示例并且参照图2,用户接口装置129通过网络205检测输入并且输出从输入导出的信号。网络分析系统240的通信单元245检测信号并将关于信号的信息输出到流api 256。流api 256确定信号对应于来自用户接口装置129的用户的针对关于由虚拟网络使用的网络装置的信息的查询。
93.网络分析系统240可以处理查询。例如,再次参照在图2的上下文中描述的示例,网络分析系统240的流api 256查询数据存储器259以获得关于在用户的查询中识别的虚拟网络的信息。如前所述,数据存储器259可以包括经丰富的底层流数据204和覆盖流数据206,其使得能够识别与虚拟网络相关联的底层装置,和/或与底层装置相关联的虚拟网络。
94.具体地,数据存储器259可以包括使得能够识别在虚拟网络中使用的裸金属服务器的信息。例如,如果用户查询的虚拟网络包含主机装置210b与主机装置210n之间的通信,则虚拟网络可包含作为裸金属服务器的网络装置。在这样的示例中,主机装置210b和主机装置210n都可以向网络分析系统240报告底层流数据204。然而,因为主机装置210b和主机装置210n两者实施为裸金属服务器,因此主机装置210b和主机装置210n两者都不可以报告覆盖流数据206。如果底层流数据204和覆盖流数据206由主机装置210b或主机装置210n(或两者)报告,则将有可能使由主机装置210b或主机装置210n收集的底层流数据204和覆盖流数据206相关,如在美国专利申请序列号16/541,947中描述的,该申请通过引用结合于此。
然而,如果主机装置210b和主机装置210n都不报告覆盖流数据206,则仅依赖于由主机装置210b和主机装置210n收集的底层流数据204的不同方法可用于确定主机装置210b和主机装置210n两者是查询的虚拟网络的一部分。
95.根据本公开的一个或多个方面,网络分析系统240可以通过识别与网络系统200内的裸金属服务器相关联的任何虚拟网络标识符,来确定主机装置210b和主机装置210n是查询的虚拟网络的一部分。例如,由主机装置210b、主机装置210n或网络205上的其他装置报告的底层流数据204可能不包括对应于在裸金属主机装置210b和裸金属主机装置210n之间传送的业务的虚拟网络的名称。然而,这样的底层流数据204可以包括对虚拟网络标识符(即,编码的参考或数字标识符)的参考,该虚拟网络标识符可以用于通过名称来识别主机装置210b和/或主机装置210n通过其进行通信的任何虚拟网络。在一些示例中,虚拟网络标识符是(例如,由图1b的sdn控制器132和/或编排引擎130)内部生成的数字或其他代码。如果虚拟网络标识符是由sdn控制器132或编排引擎130生成的代码,则用户或管理员可能无法识别。另一方面,虚拟网络名称可基于从管理员或用户接收的输入来建立,因此管理员或用户可识别,并且可以是从用户接口装置129接收的查询的一部分。至少出于该原因,能够从底层流数据204导出虚拟网络名称是重要的。在一些示例中,虚拟网络名称可基于配置信息和/或由具有虚拟路由器的其他网络装置(即,除主机装置210b和主机装置210n之外)(诸如,主机装置210a)报告的覆盖流数据206而从虚拟网络识别符中导出。为了从由主机装置210b和主机装置210n收集的底层流数据204导出虚拟网络名称,流api 256分析存储在数据存储器259中的这种配置信息。流api 256识别与由任何裸金属主机装置210报告的底层流数据204中的虚拟网络标识符相关联的虚拟网络名称,并且确保在处理时查询包括裸金属服务器之间的业务。
96.网络分析系统240可以对查询做出响应。例如,继续在图2的上下文中描述的示例,流api 256识别由查询指定的属性,该属性可包括与查询的虚拟网络相关联的业务的一个或多个可能路径。流api 256向用户接口模块254输出关于所确定的可能路径的信息。用户接口模块254使用来自流api 256的信息来生成足以创建用户接口的数据,该用户接口呈现关于与所查询的虚拟网络相关联的业务的可能路径的信息。用户接口模块254使得通信单元245通过网络205输出信号。用户接口装置129通过网络205检测信号,并确定信号包含足以生成用户接口的信息。用户接口装置129生成用户接口(例如,用户界面400)并且在与用户接口装置129相关联的显示器处呈现该用户接口。在一些示例中,用户界面400(例如,诸如图4中所示的)呈现示出与所查询的虚拟网络相关联的业务的一个或多个可能路径的信息。在其他示例中,用户界面400可以呈现关于正在使用的结构装置的信息,呈现拓扑视图,呈现关于处理所查询的虚拟网络的业务的前“n”个装置的信息,和/或呈现其他分析。
97.图2中所示的(例如,虚拟路由器模块224a、代理模块226a、应用模块231b、收集器模块252、用户接口模块254、流api 256及其他)和/或本公开中其他地方所示出或描述的模块可使用驻留在一个或多个计算装置中和/或在一个或多个计算装置处执行的软件、硬件、固件或硬件、软件和固件的混合来执行所描述的操作。例如,计算装置可使用多个处理器或多个装置执行一个或多个这种模块。计算装置可以将一个或多个这样的模块执行为在底层硬件上执行的虚拟机。一个或多个这样的模块可以作为操作系统或计算平台的一个或多个服务执行。一个或多个这样的模块可以在计算平台的应用层处作为一个或多个可执行程序
来执行。在其他示例中,由模块提供的功能可由专用硬件装置来实现。
98.尽管可以单独地示出一个或多个存储装置内包括的某些模块、数据存储器、组件、程序、可执行文件、数据项、功能单元和/或其他项,但是一个或多个这种项可以被组合成或操作为单个模块、组件、程序、可执行文件、数据项或功能单元。例如,一个或多个模块或数据存储器可以组合或部分地组合,使得它们作为单个模块操作或提供功能。此外,一个或多个模块可彼此交互和/或彼此结合进行操作,使得例如一个模块用作另一模块的服务或扩展。此外,存储装置内示出的每个模块、数据存储器、组件、程序、可执行文件、数据项、功能单元或其他项,可以包括多个组件、子组件、模块、子模块、数据存储器和/或未示出的其他组件或模块或数据存储器。
99.此外,可以各种方式实施存储装置内示出的每个模块、数据存储器、组件、程序、可执行文件、数据项、功能单元或其他项。例如,存储装置内所示出的每个模块、数据存储器、组件、程序、可执行文件、数据项、功能单元、或其他项可以被实现为可下载的或预先安装的应用或“app”。在其他示例中,存储装置内示出的每个模块、数据存储器、组件、程序、可执行文件、数据项、功能单元或其他项可实施为计算装置上执行的操作系统的一部分。
100.图3a是示出了根据本公开的一个或多个方面的与配置数据库维护的虚拟网络相关联的示例性虚拟网络数据结构的概念图。当在网络(例如,图1b的网络系统100)内建立虚拟网络时,可以创建(例如,通过图1b的编排引擎130或sdn控制器132)图3a的虚拟网络数据结构320。虚拟网络数据结构320包括多个字段,包括虚拟网络标识符字段321和虚拟网络名称字段322。在图3a的示例中,虚拟网络名称字段322对应于与虚拟网络标识符字段321相关联的虚拟网络的名称。虚拟网络名称字段322可以是基于管理员的输入(“vred-vn”),并且因此管理员或用户可识别该字段。虚拟网络标识符字段321可以是对虚拟网络名称字段322的编码引用(“18”),该编码引用对应于虚拟网络名称字段322,并且该编码引用可以被包括在由图1b的一个或多个装置110传送的底层流数据204内。在所示的示例中,虚拟网络标识符字段321对应于虚拟网络数据结构320的“vxlan_network_identifier”字段。
101.图3b是示出了根据本公开的一个或多个方面的sflow数据的示例性实例的概念图。图3b的sflow数据330可以是由裸金属服务器(诸如主机装置210b或主机装置210n(参见图2)或另一网络装置)报告的sflow数据的实例。sflow数据330的虚拟网络标识符字段331对应于图3a的虚拟网络标识符字段321。因此,对于报告两个裸金属服务器主机装置(例如,图2中的主机装置210)之间的通信的sflow数据330,如果诸如每个虚拟网络的虚拟网络数据结构320的信息可用(例如,在图2的网络分析系统240的数据存储器259内),则sflow数据330足以识别裸金属主机装置可通过其进行通信的虚拟网络。如果诸如虚拟网络数据结构320的信息可用,则可通过将sflow数据330的虚拟网络标识符字段331与虚拟网络数据结构320的虚拟网络标识符字段321相关并从虚拟网络数据结构320提取虚拟网络名称字段322,而从sflow数据330导出虚拟网络名称字段322。
102.图4是示出了根据本公开的一个或多个方面的由用户接口装置呈现的示例性用户界面的概念图。图4示出了用户界面400。尽管用户界面400被示为图形用户接口,但在其他示例中可呈现其他类型的接口,包括基于文本的用户接口、基于控制台或命令的用户接口、语音提示用户接口、或任何其他合适的用户接口。如图4中所示的用户界面400可对应于由网络分析系统240的用户接口模块254生成并在图2的用户接口装置129处呈现的用户接口。
这里可以在图2的上下文中描述与用户界面400的生成和/或呈现有关的一个或多个方面。
103.根据本公开的一个或多个方面,网络分析系统240可执行查询以识别与虚拟网络相关联的路径。例如,在可参照图2描述的示例中,用户接口装置129通过网络205检测输入并且输出信号。网络分析系统240的通信单元245检测流api 256确定对应于网络信息的查询的信号。流api 256执行查询(例如,使用结合图3a和图3b所描述的技术)并且将关于结果的信息输出到用户接口模块254。为了找到两个虚拟机之间的路径,流api 256可确定最有可能的路径(以及在所确定的路径上行进的业务)。
104.网络分析系统240可生成用户接口(诸如,用户界面400)以用于在显示装置处呈现。例如,仍参照图2和图4,用户接口模块254生成用户界面400的底层信息并且使通信单元245通过网络205输出信号。用户接口装置129检测信号且确定该信号包含足以呈现用户界面的信息。用户接口装置129以图4所示的方式在与用户接口装置129相关联的显示装置处呈现用户界面400。
105.在图4中,在显示窗口401内呈现用户界面400。用户界面400包括侧栏区域404、主显示区域406、以及选项区域408。侧栏区域404提供哪种用户接口模式被呈现在用户界面400内的指示,在图4的示例中,该用户接口模式对应于“结构”模式。其他模式可以适用于其他网络分析场景。沿着主显示区域406的顶部的是导航界面组件427,导航界面组件427还可用于选择要执行的网络分析的类型或模式。状态通知显示元件428可提供关于警报的信息或与一个或多个网络、用户、元件或资源相关的其他状态信息。
106.主显示区域406呈现网络图,并且可以提供包括在被分析的网络内的不同网络装置的拓扑。在图4中所示的示例中,如沿着主显示区域406的底部示出的“图例”中所指示的,网络被示为具有主干装置、叶装置、主机和实例。网络装置与其他组件之间的实际或潜在的数据路径被示出在主显示区域406内。尽管图4中示出了有限数量的不同类型的网络装置和组件,但在其他示例中,可呈现和/或具体示出其他类型的装置或组件或元件,包括核心交换机装置、其他主干和叶装置、物理或虚拟路由器、虚拟机、容器和/或其他装置、组件或元件。此外,网络的一些数据路径或组件(例如,实例)可在用户界面400内隐藏或最小化,以便于示出和/或呈现与给定网络分析最相关的组件或数据路径。
107.选项区域408沿着用户界面400的右手侧提供与虚拟网络和/或热图或其他参数有关,以及与待分析的选定项有关的大量输入字段。用户界面400通过与所显示的一个或多个输入字段的用户交互来接受输入,并且基于输入到输入字段中的数据,用户接口模块254呈现关于正被分析的网络的响应信息。
108.例如,在图4的示例中,用户界面400接受选项区域408中的关于特定时间帧(例如,时间范围)和特定源虚拟网络和/或目的地虚拟网络的输入。使用选项区域408中提供的输入,网络分析系统240通过底层网络装置(可包括裸金属主机装置410b和410n)确定关于一个或多个可能的数据路径(例如,最可能的数据路径)的信息。网络分析系统240基于在选项区域408中指定的时间范围期间由网络分析系统240(例如,由收集器模块252)收集的数据,来确定这种可能的数据路径。网络分析系统240的用户接口模块254生成使得能够呈现用户界面400的数据,其中一个可能的数据路径被突出显示(通过用粗线绘制数据路径的每个段),如图4中所示。在一些示例中,可突出显示从源虚拟网络到目的地虚拟网络的一个以上的数据路径。此外,在一些示例中,主显示区域406中的一个或多个数据路径可使用热图颜
色方案来呈现,这意味着数据路径被示为具有与在该路径上传送的数据量相对应的或与相应路径正被使用的程度相对应的颜色(或灰色阴影)。尽管图4示出使用热图颜色(或灰度阴影)方案示出数据路径,但在其他示例中,可以以其他适当的方式来呈现有关数据路径或通过网络装置的利用或业务的数据(例如,将颜色应用于主显示区域406的其他元件、呈现弹出窗口或呈现其他用户接口元件)。
109.在一些示例中,选项区域408(或用户界面400的其他区域)可包括提供关于一个或多个路径上的利用或业务的信息的图表或其他指示符。在这样的示例中,图表可以与输入到选项区域408内的输入字段中的用户输入有关或者可以响应于输入到选项区域408内的输入字段中的用户输入而生成。
110.图5是示出根据本公开的一个或多个方面的示例性网络分析系统所执行的操作的流程图。本文在图2的网络分析系统240的上下文中描述了图5。在其他示例中,图5中描述的操作可以由一个或多个其他组件、模块、系统或装置执行。此外,在其他示例中,结合图5描述的操作可被合并、以不同顺序执行、省略或可涵盖未具体说明或描述的额外操作。
111.在图5示出的过程中,并且根据本公开的一个或多个方面,网络分析系统240可存储虚拟网络配置信息(501)。例如,在可参照图2描述的示例中,用户接口装置129通过网络205检测输入并且输出信号。网络分析系统240的通信单元245通过网络205检测信号并将关于该信号的信息输出到流api 256。流api 256确定该信号对应于在网络系统200内建立虚拟网络的管理员输入。流api 256将与虚拟网络相关联的配置信息存储在数据存储器259内。在一些示例中,存储在数据存储器259内的配置信息可以类似于图3a的虚拟网络数据结构320。
112.网络分析系统240可以收集底层流数据204(502)。例如,继续参照图2描述的示例,网络分析系统240的收集器模块252使通信单元245通过网络205输出一个或多个信号。网络系统200内的装置(例如,主机装置210b和主机装置210n)检测信号,并将该信号解释为能够收集底层流数据204的命令。此后,包括主机装置210b和主机装置210n的每个这种装置可以偶尔、周期性地或连续地通过网络205将底层流数据204传送到网络分析系统240。网络分析系统240的收集器模块252接收底层流数据204,并将底层流数据204存储在数据存储器259内。
113.网络分析系统240可以确定在特定虚拟网络上发生由底层流数据204识别的通信(503)。例如,再次参考所描述的示例,(多个)收集器模块252可以从网络分析系统240的通信单元245接收关于所收集的数据的信息。收集器模块252可以确定该数据对应于从一个或多个主机装置210b和主机装置210n中收集的底层流数据204。收集器模块252将信息输出到流api 256。流api 256分析所接收的底层流数据204,并且使用先前存储的配置信息(存储在数据存储器259中)来识别主机装置210b和主机装置210n之间通过其发生通信的虚拟网络。流api 256可以使用关于一个或多个虚拟网络的信息来丰富这样的底层流数据204。
114.网络分析系统240可以生成用户接口(504)。例如,再次参考所描述的示例,用户接口模块254接收对应于从用户接口装置129的用户接收的查询的输入指示。用户接口模块254将关于查询的信息输出到流api 256。流api 256确定该查询对应于关于虚拟网络的信息的请求。流api 256使用存储在数据存储器259内的信息(例如,底层流数据204)来识别与所请求的虚拟网络相关联或由所请求的虚拟网络使用的网络装置。流api256向用户接口模
块254输出关于其分析的信息。用户接口模块254基于该信息生成用户接口。用户接口模块254使得网络分析系统240的通信单元245通过网络205输出信号。用户接口装置129通过网络205检测信号,并且确定该信号包含足以生成用户接口的信息。用户接口装置129呈现响应于该查询的用户接口(例如,图4的用户界面400)。
115.对于在本文描述的包含在任何作业图或流程图中过程、装置和其他示例或图示,在本文中描述的任何技术中包含的某些操作、动作、步骤或事件可以不同的顺序执行,可添加、合并或完全省略(例如,并非所有所描述的动作或事件都是技术的实践都是必要的)。此外,在某些示例中,操作、动作、步骤、或事件可例如通过多线程处理、中断处理、或多个处理器来同时执行,而非顺序地执行。此外,某些操作、动作、步骤或事件可以自动执行,即使没有被特别地标识为自动执行。另外,被描述为自动执行的某些操作、动作、步骤、或事件可替选地不自动执行,而是在一些示例中可以响应于输入或另一事件来执行这样的操作、动作、步骤、或事件。
116.为了便于说明,被示出在附图和/或在本文引用的其他图示中仅示出了有限数量的装置(例如,用户接口装置129、主干装置202、叶装置203、主机装置210、网络分析系统240以及其他装置)。然而,根据本公开的一个或多个方面的技术可以使用更多这样的系统、组件、装置、模块和/或其他项来执行,并且对这样的系统、组件、装置、模块和/或其他项的集中引用可以表示任何数量的这样的系统、组件、装置、模块和/或其他项。
117.本文包括的附图均示出了本公开的一个方面的至少一个示例实现。然而,本发明的范围不限于这样的实现。因而,除了附图中示出的那些之外,本文描述的系统、方法或技术的其他示例或替代实现可适合于其他示例。这种实现可包括附图中包括的装置和/或组件的子集、和/或可包括附图中未示出的附加装置和/或组件。
118.以上阐述的详细描述旨作为各种配置的描述,而非旨在表示本主题技术可以实行的唯一配置。详细描述包括具体细节,目的是提供对各种概念的透彻理解。然而,可以在没有这些具体细节的情况下实施这些概念。在一些情况下,在参考附图中以框图形式示出公知的结构和组件,以避免模糊这些概念。
119.因而,尽管可参考特定附图来描述各种系统、装置和/或组件的一个或多个实现,但这些系统、装置和/或组件可以以许多不同的方式来实现。例如,本文附图(例如,图1a、图1b和/或图2)中示为独立装置的一个或多个装置可替代地被实现为单个装置;被示为独立组件的一个或多个组件可替代地实现为单个组件。此外,在一些示例中,在本文附图中示为单个装置的一或多个装置可替代地实现为多个装置;被示为单个组件的一个或多个组件可替代地实现为多个组件。这样的多个装置和/或组件中的每一个可以经由有线或无线通信直接耦接和/或经由一个或多个网络远程耦接。另外,可在本文中的各种附图中示出的一个或多个装置或组件可替代地实现为这些附图中未示出的另一装置或组件的一部分。以这种方式和其他方式,本文中描述的一些功能可经由两个以上装置或组件的分布式处理来执行。
120.此外,某些操作、技术、特征和/或功能在本文中可被描述为由特定组件、装置和/或模块执行。在其他示例中,这样的操作、技术、特征和/或功能可由不同组件、装置或模块执行。因而,在其他示例中,可以在本文被描述为归属于一个或多个组件、装置或模块的一些操作、技术、特征和/或功能,可以归属于其他组件、装置和/或模块,即使在本文没有以这
样的方式具体描述。
121.尽管结合一些示例的描述已经识别出具体的优点,但是各种其他示例可以包括一些列举的优点、不包括列举的优点或包括所有列举的优点。本领域普通技术人员从本公开中可以明白其他技术或其他优点等。此外,虽然本文已公开了具体的示例,但本公开的方面可使用任何数量的无论当前是否已知的技术来实现,并且因此,本公开不限于在本公开中具体描述和/或示出的示例。
122.在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合实现。如果以软件实现,则功能可以作为一个或多个指令或代码被存储在计算机可读介质上或通过计算机可读介质传输,并且由基于硬件的处理单元执行。计算机可读介质可以包括与有形介质(诸如数据存储介质)相对应的计算机可读存储介质、或者包括便于将计算机程序从一个地方传送至另一地方(例如,根据通信协议)的任何介质的通信介质。以这种方式,计算可读介质通常可对应于:(1)非暂时的有形计算机可读存储介质;或者(2)诸如信号或载波的通信介质。数据存储介质可以是由一个或多个计算机或一个或多个处理器访问的任何可用介质,以检索指令、代码和/或数据结构来实现本公开中描述的技术。计算机程序产品可包括计算机可读介质。
123.通过示例而非限制的方式,这种计算机可读存储介质可以包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储、或其他磁存储装置、闪速或者可以用来以指令或数据结构的形式存储期望程序代码且可以被计算机访问的任何其他介质。此外,任何连接件被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(dsl)、或者无线技术(诸如红外、无线电、和微波)来从网站、服务器、或者其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、dsl、或者无线技术(诸如红外、无线电、和微波)包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接件、载波、信号或其他瞬时性介质,而是涉及非瞬时性有形存储介质。如所使用的磁盘和光盘包括紧凑式磁盘(cd)、激光盘、光盘、数字多功能盘(dvd)、软盘和蓝光光盘,其中,磁盘通常以磁性方式再现数据,而光盘通常用激光以光学方式再现数据。上述的组合也应包括在计算机可读介质的范围之内。
124.指令可以通过一个或者多个处理器(诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)、或者其他等效的集成或者分立逻辑电路系统)执行。因此,如本文使用的术语“处理器”或“处理电路”可以指代前述结构中的任一个或适于实现本文描述的技术的任何其他结构。此外,在一些示例中,所描述的功能可在专用硬件和/或软件模块内提供。此外,这些技术可以在一个或多个电路或逻辑元件中充分实现。
125.本公开的技术可以在广泛多种装置或设备中实现,包括无线手机、移动或非移动计算装置、可穿戴或非可穿戴计算装置、集成电路(ic)或一组ic集合(例如,芯片组)。在本公开中描述了各种组件、模块、或单元以强调被配置为执行所公开技术的装置的功能方面,而无需通过不同硬件单元实现。相反,如上所述,各种单元可组合在硬件单元中,或者包括如上所述的一个或多个处理器的通过互操作硬件单元的集合结合合适的软件和/或固件来提供。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献