CN113973079A - 用于确定覆盖网络中的数据流路径的系统和方法 - Google Patents

用于确定覆盖网络中的数据流路径的系统和方法 Download PDF

Info

Publication number
CN113973079A
CN113973079A CN202011041170.6A CN202011041170A CN113973079A CN 113973079 A CN113973079 A CN 113973079A CN 202011041170 A CN202011041170 A CN 202011041170A CN 113973079 A CN113973079 A CN 113973079A
Authority
CN
China
Prior art keywords
data
network
overlay
underlying
underlay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011041170.6A
Other languages
English (en)
Other versions
CN113973079B (zh
Inventor
M·G·奈克
H·N·奇塔利亚
B·曼达尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN113973079A publication Critical patent/CN113973079A/zh
Application granted granted Critical
Publication of CN113973079B publication Critical patent/CN113973079B/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • 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/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开的实施例涉及用于确定覆盖网络中的数据流路径的系统和方法。本公开描述了以下技术,其包括:从具有底层网络和一个或多个覆盖网络的网络接收底层流数据;存储针对每个底层数据流标识覆盖网络的信息;将底层网络的至少一部分的拓扑地图显示在显示器内;通过所显示的拓扑地图来高亮数据路径,所高亮的数据路径通过底层网络从相应底层数据流的底层网络源延伸到相应底层数据流的底层网络目的地;接收对与所高亮的数据路径相关联的度量的请求,其中接收请求包括经由图形用户接口接收选择所高亮的数据路径的至少一部分的指示;以及靠近所高亮的数据路径显示与通过所高亮的数据路径的所选择的一部分的数据业务相关联的度量。

Description

用于确定覆盖网络中的数据流路径的系统和方法
技术领域
本公开涉及对计算机网络的分析,包括对数据通过网络所采取的路径的分析。
背景技术
虚拟化数据中心正成为现代信息技术(IT)基础设施的核心基础。现代数据中心依赖于虚拟化环境,其中,在虚拟化环境内被部署为例如虚拟机或容器的虚拟主机在物理计算设备的基础计算平台上执行。
当前的网络基础设施通常是物理网络和虚拟网络的组合。物理网络和虚拟网络的组合可以使追踪网络问题变得困难。在标识网络问题时,查看分组进入网络的路径对于网络管理员而言很方便。有一些命令行工具可以揭示路由,但是这些工具难以理解。
发明内容
本公开描述了以下技术,该技术包括:收集关于物理网络基础设施上的数据业务的信息(例如,底层流数据)和关于虚拟网络上的数据业务的信息(例如,覆盖流数据),并且将数据相关以实现对网络操作和性能的洞察。在一些示例中,按照不仅能够实现高可用性和大量流数据收集,而且还能够响应于分析查询来分析此类数据的方式,来收集和存储底层流数据和覆盖流数据的样本。可以利用覆盖流数据来丰富、扩充和/或补充覆盖流数据,以实现对可以与覆盖数据流相对应的覆盖网络基础设施的可见性、标识和/或分析。例如,网络分析系统可以收集底层流数据的样本,标识与每个样本相关联的底层数据流,并标识与每个相应的底层数据流相关联的覆盖网络。结果可以被用于标识支持覆盖数据流的底层网络基础设施。在一种这样的示例方法中,结果还可以被用于经由示意图和在用户接口上显示的其他信息来说明与各种覆盖或底层数据流相对应的底层网络基础设施的组件。
本文描述的技术可以提供一种或多种技术优点。例如,IT人员可以使用示出底层网络基础设施与各种覆盖数据流之间如何相关的信息,来对虚拟化网络执行高效且简化的故障排除和分析。作为示例,本文描述的技术可以通过减少可能与连接性问题相关的底层网络设备总体来允许对连接性进行更高效的故障排除。作为另一示例,本文描述的技术可以允许经由数据路径可视化进行更高效的故障排除。
在一些示例中,本公开描述了由根据本公开的一个或多个方面的网络分析系统或其他网络系统执行的操作。在一个特定示例中,本公开描述了一种方法,该方法包括:从具有底层网络和一个或多个覆盖网络的网络接收底层流数据,该底层网络包括多个网络设备,该底层流数据包括标识针对每个底层数据流的底层网络源、底层网络目的地、覆盖网络源和覆盖网络目的地的信息;在数据存储库中存储以下信息:该信息针对每个底层数据流标识覆盖网络以及相应底层数据流的底层网络源、底层网络目的地、覆盖网络源和覆盖网络目的地;将底层网络的至少一部分的拓扑地图(topological map)显示在显示器内;通过所显示的拓扑地图来高亮数据路径,所高亮的数据路径通过底层网络从相应底层数据流的底层网络源延伸到相应底层数据流的底层网络目的地;接收对与所高亮的数据路径相关联的度量的请求,其中接收请求包括经由图形用户接口接收选择所高亮的数据路径的至少一部分的指示;以及靠近所高亮的数据路径显示与通过所高亮的数据路径的所选择的一部分的数据业务相关联的度量。
在另一特定示例中,本公开描述了一种系统,该系统具有:网络,该网络具有被配置在底层网络中的多个网络设备以及在网络设备上执行的一个或多个覆盖网络;以及被连接到网络的处理电路装置,该处理电路装置被配置为执行操作,该操作包括:从网络接收底层流数据,该底层流数据包括标识针对每个底层数据流的底层网络源、底层网络目的地、覆盖网络源和覆盖网络目的地的信息;将底层网络的至少一部分的拓扑地图显示在显示器内;通过所显示的拓扑地图高亮数据路径,该数据路径通过底层网络从底层网络源地址延伸到底层网络目的地地址;接收对与所高亮的数据路径相关联的度量的请求,其中接收请求包括经由图形用户接口接收选择所高亮的数据路径的至少一部分的信息;以及靠近所高亮的数据路径显示与通过所高亮的数据路径的所选择的一部分的数据业务相关联的度量。
在又一个特定示例中,本公开描述了一种非瞬态计算机可读存储介质,该非瞬态计算机可读存储介质包括指令,该指令在被执行时将计算系统的处理电路装置配置为执行操作,该操作包括:从具有底层网络和一个或多个覆盖网络的网络接收底层流数据,该底层网络包括多个网络设备,该底层流数据包括标识针对每个底层数据流的底层网络源、底层网络目的地、覆盖网络源和覆盖网络目的地的信息;在数据存储库中存储以下信息:该信息针对每个底层数据流标识覆盖网络以及相应底层数据流的底层网络源、底层网络目的地、覆盖网络源和覆盖网络目的地;将底层网络的至少一部分的拓扑地图显示在显示器内;通过所显示的拓扑地图来高亮数据路径,所高亮的数据路径通过底层网络从相应底层数据流的底层网络源延伸到相应底层数据流的底层网络目的地;接收对与所高亮的数据路径相关联的度量的请求,其中接收请求包括经由图形用户接口接收选择所高亮的数据路径的至少一部分的指示;以及靠近所高亮的数据路径显示与通过所高亮的数据路径的所选择的一部分的数据业务相关联的度量。
附图说明
图1A和图1B是说明了根据本公开的一个或多个方面的示例系统的概念图,该示例系统包括数据中心和用于分析跨数据中心和/或在数据中心内的业务流的网络分析系统。
图2是说明了根据本公开的一个或多个方面的示例系统的框图,该示例系统包括数据中心和用于分析跨数据中心和/或在数据中心内的业务流的网络分析系统。
图3是说明了根据本公开的一个或多个方面的在所存储的底层和覆盖流数据上执行的示例查询的概念图。
图4是说明了根据本公开的一个或多个方面的由用户接口设备呈现的示例用户接口的概念图。
图5A和图5B是说明了根据本公开的一个或多个方面的用于丰富底层数据流的操作的流程图。
图6是说明了根据本公开的一个或多个方面的由示例网络分析系统执行的其他操作的流程图。
图7是说明了根据本公开的一个或多个方面的由用户接口设备呈现的用于显示与覆盖数据业务相对应的底层数据路径的另一示例用户接口的概念图。
图8是说明了根据本公开的一个或多个方面的用于在诸如图7所示的覆盖数据路径中显示路径参数的用户接口的概念图。
图9是说明了根据本公开的一个或多个方面的底层网络的两个节点之间的实例数据流的概念图。
图10是说明了根据本公开的一个或多个方面的用于在诸如图9所示的覆盖数据路径中显示路径参数的用户接口的概念图。
图11是说明了根据本公开的一个或多个方面的在确定对应底层数据路径时用于在覆盖数据路径之间进行选择的示例用户接口的概念图。
具体实施方式
数据中心使用虚拟化环境,虚拟主机(诸如虚拟机或容器)被部署在该虚拟化环境中,然后在物理计算设备的基础计算平台上执行。如上面提到的,在部署数据中心时,这种方法提供效率、节省成本和组织优势。然而,这种方法在分析、评估数据中心中的网络操作和/或排除数据中心中的网络操作故障时可能会带来挑战。试图管理数据中心的IT人员仍然需要对应用工作负载有有意义的洞察。从联网设备收集的底层流数据可以用于提供此类洞察。
当前的网络基础设施通常是物理网络和虚拟网络的组合。物理网络和虚拟网络的组合可以使追踪网络问题变得困难。对于标识网络问题,查看分组进入网络的路径对于网络管理员而言很方便。有一些命令行工具可以揭示分组所采取的路由,但是这些工具难以理解。在拓扑图(topology graph)上与业务一起可视化它,使管理员可以缩小问题的范围。
通常,流(flow)是“一组共享共同属性的分组”。一个非常常见的流基于5元组:源IP地址、目的地IP地址、源端口、目的地端口和IP协议。当虚拟机发送或接收IP业务时,正向和反向流条目被设置。创建覆盖流条目,并将分组传送到vRouter代理(诸如ContrailvRouter Agent)。如果相关,该代理还可以为反向方向创建覆盖流条目。然后,vRouter代理将流发送到收集器,以存储在分析数据库中以进行进一步分析。在一种示例方法中,该覆盖流条目包含关于源和目的地虚拟机IP地址以及虚拟网络的所有信息。在一种示例方法中,每个虚拟网络使用网络在租户之间创建逻辑分区。
在本文描述的各种示例中,网络分析系统收集与流相关联的底层和覆盖业务样本,并经由分析算法处理业务样本,以将关于覆盖业务的信息与关于底层基础设施的信息相关起来。在一些示例中,用户接口用于示出底层基础设施如何与各种覆盖网络相关。因此,用户接口可以提供对网络的洞察,并且可以为用户、管理员和/或其他人员提供用于网络发现、调查和故障排除的工具。
图1A是说明了根据本公开的一个或多个方面的示例系统的概念图,该示例系统包括数据中心和用于分析跨数据中心和/或在数据中心内的业务流的网络分析系统。图1A说明了具有数据中心101的网络系统100的一个示例实现,该数据中心101托管一个或多个计算网络、计算域和/或基于云的计算网络,在本文中通常称为基于云的计算集群。基于云的计算群集可以共处于公共的整体计算环境中,诸如单个数据中心101,或者可以分布在整个环境中,诸如跨不同的数据中心101。例如,基于云的计算群集可以是不同云环境的组合,诸如OpenStack云环境、Kubernetes云环境或其他计算集群、域、网络等的各种组合。网络系统100和数据中心101的其他实现可以包括图1A所示示例中包括的组件的子集和/或可以包括图1中未示出的附加组件。
在图1A的示例中,数据中心101为通过服务提供方网络106耦合到数据中心101的客户104提供针对应用和服务的操作环境。虽然结合图1A的网络系统100描述的功能和操作可以被说明为跨图1A中的多个设备分布,但在其他示例中,归因于图1A中的一个或多个设备的特征和技术可以在一个或多个这样的设备的内部执行、由一个或多个这样的设备的本地组件执行。类似地,一个或多个这样的设备可以包括某些组件并且执行可以以其他方式在本文的描述中归因于一个或多个其他设备的各种技术。此外,某些操作、技术、特征和/或功能可以结合图1A来描述,或由特定组件、设备和/或模块执行。在其他示例中,这样的操作、技术、特征和/或功能可以由其他组件、设备或模块执行。因此,即使本文中没有以这种方式具体描述,但归因于一个或多个组件、设备或模块的一些操作、技术、特征和/或功能也可以归因于其他组件、设备和/或模块。
数据中心101托管基础设施设备,诸如联网和存储系统、冗余电源和环境控件。服务提供方网络106可以被耦合到由其他提供方管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施(例如,互联网)的一部分。
在一些示例中,数据中心101可以表示许多地理上分布的网络数据中心之一。如图1A的示例中所示,数据中心101是为客户104提供网络服务的设施。客户104可以是诸如企业和政府等集体实体,也可以是个人。例如,网络数据中心可以为多个企业和最终用户托管web服务。其他示例性服务可以包括数据存储、虚拟专用网络、业务工程、文件服务、数据挖掘、科学计算或超级计算等。在一些示例中,数据中心101是单独的网络服务器、网络对等方或其他。
在图1A的示例中,数据中心101包括一组存储系统、应用服务器、计算节点或其他设备,包括网络设备110A至网络设备110N(统称为“网络设备110”)。在一些示例中,诸如如图1A所示,网络设备110经由一层或多层物理网络交换机和路由器所提供的高速交换结构121互连。在一些示例中,网络设备110可以被包括在结构121内,但是为了便于说明,在这里被单独示出。网络设备110可以是多种不同类型的网络设备(核心交换机、脊网络设备、叶网络设备、边缘网络设备或其他网络设备)中的任何一种,但在一些示例中,一个或多个设备110可以用作数据中心的物理计算节点。例如,一个或多个设备110可以提供用于执行一个或多个客户特定的虚拟机或其他虚拟化实例(诸如容器)的操作环境。在这样的示例中,设备110中的一个或多个设备可以备选地称为主机计算设备或更简单地称为主机。网络设备110从而可以执行一个或多个虚拟化实例,诸如虚拟机、容器或用于运行一种或多种服务(诸如虚拟化网络功能(VNF))的其他虚拟执行环境。
通常,每个网络设备110可以是可以在网络上操作并且可以生成通过遥测或其他方式可访问的数据(例如流数据或sFlow数据)的任何类型的设备,其可以包括任何类型的计算设备、传感器、相机、节点、监视设备或其他设备。此外,一些或全部网络设备110可以表示另一设备的组件,其中这种组件可以生成通过遥测或其他方式可收集的数据。例如,一些或全部网络设备110可以表示物理或虚拟网络设备,诸如交换机、路由器、集线器、网关、安全设备(诸如防火墙)、入侵检测和/或入侵防御设备。
尽管未具体示出,但是交换结构121可以包括被耦合至机架交换机的分布层的架顶式(TOR)交换机,并且数据中心101可以包括一个或多个非边缘交换机、路由器、集线器、网关、安全设备(诸如防火墙、入侵检测和/或入侵防御设备)、服务器、计算机终端、膝上型电脑、打印机、数据库、无线移动设备(诸如蜂窝电话或个人数字助理)、无线接入点、桥接器、电缆调制解调器、应用加速器或其他网络设备。交换结构121可以执行层3路由,以经由服务提供方网络106在数据中心101和客户104之间路由网络业务。在一种示例方法中,网关108用于在交换结构121和服务提供方网络106之间转发和接收分组。
在图1A所示的示例中,数据中心101包括网络分析系统140、软件定义联网(“SDN”)控制器132和编排引擎130。根据本公开的一个或多个示例,SDN控制器132提供逻辑上(并且在一些情况下物理上)集中式控制器以用于支持一个或多个虚拟网络在数据中心101内的操作。在一些示例中,SDN控制器132响应于经由北向应用编程接口(API)131从编排引擎130接收的配置输入而操作,该API 131又可以响应于从与用户接口设备129交互和/或操作用户接口设备129的管理员128接收的配置输入而操作。
用户接口设备129可以被实现为用于呈现输出和/或接受用户输入的任何合适的设备。例如,用户接口设备129可以包括显示器。用户接口设备129可以是计算系统,诸如由用户和/或管理员128操作的移动或非移动计算设备。根据本公开的一个或多个方面,用户接口设备129可以,例如,表示工作站、膝上型或笔记本计算机、台式计算机、平板计算机或可以由用户操作和/或可以呈现用户接口的任何其他计算设备。在一些示例中,用户接口设备129可以与网络分析系统140、SDN控制器132和编排引擎130物理上分离和/或与它们在不同的位置。在这样的示例中,用户接口设备129可以经由网络或其他通信方式与网络分析系统140、SDN控制器132和编排引擎130通信。在其他示例中,用户接口设备129可以是网络分析系统140、SDN控制器132或编排引擎130的本地外围设备,或者可以被集成到网络分析系统140、SDN控制器132或编排引擎130中。
在一些示例中,编排引擎130管理数据中心101的功能,诸如计算、存储、联网和应用资源。例如,编排引擎130可以为数据中心101内或跨两个或更多个数据中心101的租户创建虚拟网络。编排引擎130还可以将虚拟机(VM)附接到租户的虚拟网络。编排引擎130还可以将租户的虚拟网络连接到外部网络,例如互联网或VPN。编排引擎130还可以跨一组VM或到租户网络的边界实现安全策略,和/或可以在租户的虚拟网络中部署网络服务(例如负载均衡器)。
在一些示例中,SDN控制器132管理数据中心101内的网络并管理诸如负载均衡、安全性之类的联网服务,并且可以经由南向API 133将来自用作主机设备的设备110的资源分配给各种应用。在一种示例方法中,南向API 133表示由SDN控制器132用来使数据中心101内的网络的实际状态等于编排引擎130指定的期望状态的一组通信协议。例如,通过配置物理交换机,例如架顶(TOR)交换机、机架交换机和交换机结构121;物理路由器;物理服务节点,诸如防火墙和负载均衡器;以及VM中的虚拟服务,诸如虚拟防火墙,SDN控制器132可以实现来自编排引擎130的高级请求。在一种这样的示例方法中,SDN控制器132维护状态数据库内的路由、联网和配置信息。
在一种示例方法中,网络分析系统140与网络设备110(和/或其他设备)中的一个或多个交互,以收集跨数据中心101和/或网络系统100的流数据。在一种这样的示例方法中,网络设备110被配置为用于支持一个或多个覆盖网络的底层基础设施。在这样的示例方法中,流数据可以包括底层流数据和覆盖流数据。在一些示例中,可以通过在OSI模型的层2处收集的流数据的样本来收集底层流数据。覆盖流数据可以是从跨网络系统100内建立的一个或多个虚拟网络的覆盖业务得出的数据(例如,数据样本)。例如,覆盖流数据可以包括标识源虚拟网络和目的地虚拟网络的信息。
在一种示例方法中,设备110被配置为收集流数据。在一种这样的示例方法中,一个或多个设备(诸如网络分析系统140和/或SDN控制器132)向每个设备110输出配置信号,从而将设备110配置为收集流数据(包括底层流数据和/或覆盖流数据)。此后,当数据分组被每个设备110处理时,每个设备110将底层流数据和/或覆盖流数据传送到网络分析系统140。网络分析系统140接收流数据,准备好以响应于分析查询而使用流数据并存储流数据。在图1A的示例中,其他网络设备,包括交换结构121内的网络设备(未具体示出),也可以被配置为收集底层和/或覆盖流数据。
如上面提到的,网络分析系统140处理关于流数据的查询。例如,在一个示例中,用户接口设备129检测输入并将关于该输入的信息传输到网络分析系统140。网络分析系统140确定该信息对应于来自用户接口设备129的用户对关于网络系统100的信息的请求。网络分析系统140通过查询所存储的流数据来处理该请求。网络分析系统140基于所存储的流数据来生成对查询的响应,并将关于该响应的信息输出到用户接口设备129。
在一些示例中,从用户接口设备129接收的请求可以包括源和/或目的地虚拟网络标识符。在这样的示例中,网络分析系统140可以响应于这样的请求,来标识从源虚拟网络行进到目的地虚拟网络的分组可能已经采用的底层网络设备上的一个或多个可能的数据路径。为了标识可能的数据路径,网络分析系统140可以将收集的覆盖流数据与收集的底层流数据相关起来,使得覆盖数据流所使用的底层网络设备可以被标识。
图1B是说明了根据本公开的一个或多个方面的示例系统的概念图,该示例系统包括数据中心和用于分析跨数据中心和/或在数据中心内的业务流的网络分析系统。图1B包括结合图1A描述的许多相同的元件;图1B中说明的用图1A中的相同附图标记表示的元件是相似的。通常,可以按照与结合图1A提供的对应元件的描述一致的方式来实现这种相同编号的元件,尽管在一些示例中,这样的元件可能涉及具有更多、更少和/或不同的能力和属性的备选实现。
图1B说明了网络分析系统140的各种组件。在图1B所示的示例中,网络分析系统140包括负载均衡器141、流收集器142、队列和事件存储库143、拓扑和度量源144、数据存储库145和流API 146。通常,网络分析系统140和网络分析系统140的组件141-146被设计和/或配置为确保高可用性和处理大量流数据的能力。在一些示例中,可以对网络分析系统140的组件141-146的多个实例进行编排(例如,通过编排引擎130)以在不同的物理服务器上执行,以确保对于网络分析系统140的任何组件都没有单点故障。在一些示例中,网络分析系统140或其组件可以被独立地和水平地缩放,以使得能够对期望量的业务(例如,流数据)进行高效和/或有效的处理。
图1B的网络分析系统140可以,如图1A中所示,配置每个设备110以收集流数据。例如,网络分析系统140可以向每个设备110输出信号,以将每个设备110配置为收集流数据,包括底层流数据和覆盖流数据。设备110中的一个或多个设备此后可以收集底层流数据和覆盖流数据,并将这种流数据报告给网络分析系统140。
在图1B所示的示例中,负载均衡器141从每个设备110接收流数据。在一种这样的示例方法中,负载均衡器141可以在多个流收集器142之间分发业务,以确保流收集器142的主动/主动故障转移策略。在一些示例中,可能需要多个负载均衡器141以确保高可用性和可扩展性。
在图1B所示的示例中,流收集器142从负载均衡器141收集数据。例如,网络分析系统140的流收集器142从每个设备110接收并处理流分组(在负载均衡器141处理之后)。流收集器142将流分组向上游发送到队列和事件存储库143。在一些示例中,流收集器142可以寻址、处理和/或容纳来自sFlow、NetFlow v9、IPFIX、jFlow、Contrail Flow和其他格式的统一数据。sFlow技术是一种用于高速交换或路由网络的监测技术。sFlow监测技术收集网络分组的样本,并将它们以UDP数据报的形式发送到流收集器142。例如,流收集器142可以能够从sFlow分组和其他数据流分组中解析内部报头。流收集器142还可以能够处理消息溢出、具有拓扑信息(例如,AppFormix拓扑信息)的丰富后的流记录以及流数据分析的其他方面。在一种示例方法中,流收集器142在将数据写入或发送到队列和事件存储库143之前将数据转换为二进制格式。“sFlow”(指“采样流”)类型的底层流数据是在OSI模型的层2处导出的分组的标准。它提供了一种用于导出截断的分组的方法、以及用于网络监测目的的接口计数器。
在一种示例方法中,队列和事件存储库143处理由(多个)流收集器142处理的数据。例如,队列和事件存储库143可以从一个或多个流收集器142接收数据,存储数据,并使数据可用于在数据存储库145中的摄取。在一些示例中,这使得能够将接收和存储大量数据的任务与为数据进行索引并为分析查询做准备的任务分开。
在一些示例中,队列和事件存储库143还允许单独用户直接消耗流记录的流。在一些示例中,队列和事件存储库143可以用于发现异常并实时产生警报。在一些示例中,可以通过读取封装的分组(包括VXLAN、MPLS over UDP、和MPLS over GRE)来解析流数据,以提取附加信息。在一种这样的示例方法中,队列和事件存储库143解析内部(覆盖)分组以获得源IP地址、目的地IP地址、源端口、目的地端口和协议。一些类型的流数据(包括sFlow数据)仅包括一部分采样的网络业务(例如sFlow中的前128个字节),因此在一些情况下,流数据可能不包括所有内部字段。在一种示例方法中,将这些字段标记为缺失。
拓扑和度量源144可以利用拓扑信息和/或度量信息来丰富或扩充数据。例如,拓扑和度量源144可以提供网络拓扑元数据,网络拓扑元数据可以包括所标识的节点或网络设备、配置信息、配置、已建立的链路以及关于此类节点和/或网络设备的其他信息。在一些示例中,拓扑和度量源144可以使用AppFormix拓扑数据,或者可以包括执行的AppFormix模块。从拓扑和度量源144接收的信息可以用于丰富由流收集器142收集的流数据,并且在处理数据存储库145的查询时支持流API 146。
在一个示例中,数据存储库145被配置为以索引格式存储从队列和事件存储库143以及从拓扑和度量源144接收的数据,从而实现快速聚合查询和快速随机访问数据检索。在一些示例中,数据存储库145可以通过分片(sharding)和复制数据来实现容错和高可用性。
流API 146可以处理由一个或多个用户接口设备129传送的查询请求。例如,在一些示例中,流API 146可以通过HTTP POST请求接收来自用户接口设备129的查询请求。在这样的示例中,流API 146将请求中包括的信息转换为对数据存储库145的查询。为了创建查询,流API 146可以使用来自拓扑和度量源144的拓扑信息。在一些示例方法中,流API 146可以使用一个或多个这样的查询来代表用户接口设备129执行分析。这样的分析可以包括业务删除重复(deduplication)、覆盖-底层相关、业务路径标识和/或热图(heatmap)业务计算。这样的分析还可以涉及将底层流数据与覆盖流数据相关起来,从而使得能够标识哪些底层网络设备与在虚拟网络上和/或在两个虚拟机之间流动的业务有关。
通过根据本公开的一个或多个方面的技术,诸如通过将底层流数据与覆盖流数据相关起来,网络分析系统140可以能够针对给定的数据流确定该数据流属于多租户数据中心中的哪个租户。此外,网络分析系统140还可以能够确定哪些虚拟计算实例(例如,虚拟机或容器)是这种流的源和/或目的地虚拟计算实例。更进一步,诸如通过用覆盖流数据来丰富底层流数据,使底层流数据与覆盖流数据相关起来可以支持对网络系统100中可能出现的性能或其他问题进行故障排除。
例如,在一些情况下,在可获得有限信息但关于源虚拟网络和目的地虚拟网络的信息已知的时间帧期间,可能会出现连接性问题。对此类问题进行故障排除可能具有挑战性,因为在源虚拟网络和目的地虚拟网络给定的情况下,可能很难查明数据流通过网络所采用的物理路径。由于可能无法轻易知道通过底层基础设施的实际物理路径,因此可能存在许多是连接性问题的潜在原因的网络设备或物理链路。然而,通过收集底层和覆盖流数据,并用同一时间段内收集的覆盖流数据丰富底层流数据,可以标识哪些底层网络设备处理了数据流并可以标识数据流所遍历的物理链路,从而能够确定数据流通过数据中心101所采用的数据路径,或者至少确定针对这种数据流的可能数据路径。因此,至少因为通过这种分析可以实质上减少与连接性问题相关的底层网络设备110的数量,所以可以更高效地进行对这种连接性问题的故障排除。
图2是说明了根据本公开的一个或多个方面的示例系统的框图,该示例系统包括数据中心和用于分析跨数据中心和/或在数据中心内的业务流的网络分析系统。图2的网络系统200可以被描述为图1A的网络系统100或图1B的网络系统100的示例或备选实现。本文可以在图1A和图1B的上下文中描述图2的一个或多个方面。
尽管数据中心(诸如图1A、图1B和图2所示的数据中心)可以由任何实体来操作,但是一些数据中心101可以由服务提供方来操作,其中这样的服务提供方的商业模型将为其客户提供计算能力。为此,数据中心101通常包含大量的计算节点或主机设备。为了高效运行,这些主机可能需要相互连接并与外部世界连接;通过例如在图1A和图1B中示出的物理网络设备110来提供该能力,物理网络设备110可以在叶-脊(leaf-spine)拓扑中互连。这些物理设备(诸如网络设备和主机)的集合构成了底层网络。
这样的数据中心中的每个主机设备都可以具有在该设备上运行的两个或更多个虚拟机;虚拟机和在每个主机设备210上执行的其他任务的组合就是设备的工作负载。数据中心的客户端通常可以访问这些工作负载,并且可以使用这些工作负载安装应用并执行其他操作。在不同主机设备上运行但由一个客户端可访问的工作负载被组织到虚拟网络中。每个客户端通常具有至少一个虚拟网络。这些虚拟网络也称为覆盖网络。在一些情况下,数据中心的客户端可能会遇到在不同工作负载上运行的两个应用之间的连接性问题。通过在大型多租户数据中心中部署工作负载,使此类问题的故障排除趋于复杂。
在图2的示例中,网络分析系统240经由网络205连接到主机设备210A-210N。在一些示例方法中,网络分析系统240可以对应于图1A和图1B所示的网络分析系统140的示例或备选实现。主机设备210A、210B至210N可以被统称为“主机设备210”,表示任何数量的主机设备210。每个主机设备210可以是图1A和图1B的设备110的示例,但在图2的示例中,与简单地网络设备相反,每个主机设备210被实现为操作为虚拟化数据中心的计算节点的服务器或主机设备。因此,在图2的示例中,每个主机设备210执行多个虚拟计算实例,诸如虚拟机228A-228N,统称为“虚拟机228”。
在一个示例中,网络205被实现为叶-脊拓扑,其中被指定为叶设备203的网络设备连接至被指定为脊设备202的网络设备。在一种这样的示例方法中,诸如如图2所示,脊设备202A和202B(统称为“脊设备202”,并且表示任何数量的脊设备202)被连接至叶设备203A、203B和叶设备203C(统称为“叶设备203”,并且也表示任何数量的叶设备203)。尽管网络205被示出为具有脊设备202和叶设备203,但是其他类型的网络设备可以被包括在网络205中,包括核心交换机、边缘网络设备、架顶式设备和其他网络设备。
在图2所示的示例中,可以由管理员128操作的用户接口设备129,如图1A和图1B中所示,也通过网络205被连接到网络分析系统240。在一些示例中,用户接口设备129可以在与用户接口设备129相关联的显示器设备上呈现一个或多个图形用户接口,其中一些图形用户接口可以具有类似于用户接口400中示出的内容的形式。
图2说明了通过网络205流到网络分析系统240的底层流数据204和覆盖流数据206。在该示例中,底层流数据204被示出为离开网络205的脊202A并流到网络分析系统240。类似地,覆盖流数据206被示出为离开主机设备210A并且通过网络205流到网络分析系统240。为了简单起见,图2说明了底层流数据204的单个实例和覆盖流数据206的单个实例。然而,应当理解,脊设备202和叶设备203中的每一个都可以生成底层流数据204并将其传送到网络分析系统240,并且在一些示例中,每个主机设备210(和/或其他设备)可以生成底层流数据204,并将此类数据跨网络205传送到网络分析系统240。此外,每个主机设备210(和/或其他设备)可以生成覆盖流数据206,并通过网络205将此类数据传送到网络分析系统240。
网络205可以对应于图1A和图1B的交换结构121和/或服务提供方网络106中的任何一个,或者备选地,可以对应于交换结构121、服务提供方网络106和/或另一网络的组合。网络205还可以包括图1A和图1B的一些组件,包括网关108、SDN控制器132和编排引擎130。
通常,网络205可以是互联网,或者可以包括或表示任何公共或专用通信网络或其他网络。例如,网络205可以是蜂窝、
Figure BDA0002706691420000161
ZigBee、蓝牙、近场通信(NFC)、卫星、企业、服务提供方和/或其他类型的网络,从而能够在计算系统、服务器和计算设备之间传送数据。客户端设备、服务器设备或其他设备中的一个或多个可以使用任何适当的通信技术跨网络205传送和接收数据、命令、控制信号和/或其他信息。网络205可以包括一个或多个网络集线器、网络交换机、网络路由器、卫星天线或任何其他网络设备。这样的设备或组件可以可操作地相互耦合,从而在计算机、设备或其他组件之间(例如,在一个或多个客户端设备或系统与一个或多个服务器设备或系统之间)提供信息交换。图2中说明的每个设备或系统都可以使用一个或多个网络链路被可操作地耦合到网络205。将这样的设备或系统耦合到网络205的链路可以是以太网、异步传输模式(ATM)或其他类型的网络连接,并且这样的连接可以是无线和/或有线连接。图2所说明的或网络205上的设备或系统中的一个或多个可以相对于一个或多个其他说明的设备或系统处于较远的位置。
网络分析系统240可以被实现为任何合适的计算系统,诸如一个或多个服务器计算机、工作站、大型机、电器、云计算系统和/或其他可以能够执行根据本公开的一个或多个方面描述的操作和/或功能的计算系统。在一些示例中,网络分析系统240表示向客户端设备和其他设备或系统提供服务的云计算系统、服务器场和/或服务器集群(或其一部分)。在其他示例中,网络分析系统240可以表示数据中心、云计算系统、服务器场和/或服务器集群的一个或多个虚拟化计算实例(例如,虚拟机、容器)或通过其来实现。
在图2的示例中,网络分析系统240可以包括电源241、一个或多个处理器243、一个或多个通信单元245、一个或多个输入设备246以及一个或多个输出设备247。存储设备250可以包括一个或多个收集器模块252、用户接口模块254、流API 256和数据存储库259。
网络分析系统240的设备、模块、存储区或其他组件中的一个或多个可以被互连以实现组件间通信(物理地、通信地和/或可操作地)。在一些示例中,可以通过通信信道(例如,通信信道242)、系统总线、网络连接、过程间通信数据结构或用于传送数据的任何其他方法来提供这种连接性。
电源241可以向网络分析系统240的一个或多个组件供电。电源241可以从数据中心、建筑物、家庭或其他位置的主交流(AC)电源接收电力。在其他示例中,电源241可以是蓄电池或供应直流电(DC)的设备。在另外的示例中,网络分析系统240和/或电源241可以从另一电源接收电力。网络分析系统240内说明的一个或多个设备或组件可以被连接至电源241、和/或可以从电源241接收电力。电源241可以具有智能电源管理或消耗能力,并且这样的特征可以通过网络分析系统240的一个或多个模块和/或一个或多个处理器243来控制、访问或调整,以智能地消耗、分配、供应或管理电源。
网络分析系统240的一个或多个处理器243可以实现功能性和/或执行与网络分析系统240相关联的、或与本文所说明和/或本文所描述的一个或多个模块相关联的指令。一个或多个处理器243可以是执行根据本公开的一个或多个方面的操作的处理电路装置,可以是该处理电路装置的一部分和/或可以包括该处理电路装置。处理器243的示例包括微处理器、应用处理器、显示控制器、辅助处理器、一个或多个传感器集线器、以及被配置为用作处理器、处理单元或处理设备的任何其他硬件。使用驻留在网络分析系统240中和/或在网络分析系统240上执行的软件、硬件、固件或硬件、软件和固件的混合,网络分析系统240可以使用一个或多个处理器243来执行根据本公开的一个或多个方面的操作。
网络分析系统240的一个或多个通信单元245可以通过传送和/或接收数据来与网络分析系统240外部的设备进行通信,并且在一些方面可以同时作为输入设备和输出设备进行操作。在一些示例中,通信单元245可以通过网络与其他设备通信。在其他示例中,通信单元245可以在诸如蜂窝无线电网络等无线电网络上发送和/或接收无线电信号。通信单元245的示例包括网络接口卡(例如,诸如,以太网卡)、光学收发器、射频收发器、GPS接收器、或者可以发送和/或接收信息的任何其他类型的设备。通信单元245的其他示例可以包括能够通过
Figure BDA0002706691420000181
GPS、NFC、ZigBee和蜂窝网络(例如3G、4G、5G)进行通信的设备、以及在移动设备以及通用串行总线(USB)控制器等中发现的
Figure BDA0002706691420000182
无线电设备。此类通信可以遵守、实现或遵守适当的协议,包括传输控制协议/互联网协议(TCP/IP)、以太网、蓝牙、NFC或其他技术或协议。
一个或多个输入设备246可以表示本文没有单独描述的网络分析系统240的任何输入设备。一个或多个输入设备246可以生成、接收和/或处理来自能够检测来自人或机器的输入的任何类型的设备的输入。例如,一个或多个输入设备246可以生成、接收和/或处理电、物理、音频、图像和/或视觉输入形式的输入(例如,外围设备、键盘、麦克风、相机)。
一个或多个输出设备247可以表示本文没有单独描述的网络分析系统240的任何输出设备。一个或多个输出设备247可以生成、接收和/或处理来自能够检测来自人或机器的输入的任何类型的设备的输入。例如,一个或多个输出设备247可以生成、接收和/或处理电和/或物理输出形式的输出(例如,外围设备、致动器)。
网络分析系统240内的一个或多个存储设备250可以存储用于在网络分析系统240的操作期间进行处理的信息。存储设备250还可以存储与根据本公开的一个或多个方面描述的一个或多个模块相关联的程序指令和/或数据。一个或多个处理器243和一个或多个存储设备250可以提供针对此类模块的操作环境或平台,其可以被实现为软件,但是在一些示例中可以包括硬件、固件和软件的任何组合。一个或多个处理器243可以执行指令,并且一个或多个存储设备250可以存储一个或多个模块的指令和/或数据。处理器243和存储设备250的组合可以检索、存储和/或执行一个或多个应用、模块或软件的指令和/或数据。处理器243和/或存储设备250还可以被可操作地耦合到一个或多个其他软件和/或硬件组件,包括但不限于网络分析系统240和/或被图示为被连接到网络分析系统240的一个或多个设备或系统的一个或多个组件。
在一些示例中,一个或多个存储设备250通过临时存储器来实现,这可能意味着该一个或多个存储设备的主要目的不是长期存储。网络分析系统240的存储设备250可以被配置为作为易失性存储器短期存储信息,并且因此,如果该存储设备被停用,那么将不会保留已存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、和本领域已知的其他形式的易失性存储器。在一些示例中,存储设备250还包括一种或多种计算机可读存储介质。存储设备250可以被配置为比易失性存储器存储更大量的信息。存储设备250还可以被配置为作为非易失性存储器空间来长期存储信息,并且在激活/关闭周期后保留信息。非易失性存储器的示例包括磁硬盘、光盘、闪速存储器、或者电可编程存储器(EPROM)或者电可擦除可编程(EEPROM)存储器的形式。
在一种示例方法中,收集器模块252可以执行与接收底层流数据204和覆盖流数据206两者相关的功能,并根据需要执行负载均衡以确保用于收集此类流数据的高可用性、吞吐量和可扩展性。收集器模块252可以处理数据以便准备将数据存储在数据存储库259内。在一些示例中,收集器模块252可以将数据存储在数据存储库259内。
用户接口模块254可以执行与以下相关的功能:生成用户接口以用于呈现由流程API 256执行的分析查询的结果。在一些示例中,用户接口模块254可以生成足以生成一组用户接口的信息,并使通信单元215通过网络205输出此类信息,以供用户接口设备129使用来在与用户接口设备129相关联的显示器设备处呈现一个或多个用户接口。
流API 256可以执行分析查询,该分析查询涉及存储在数据存储库259中的数据,该数据是从收集器模块252对底层流数据204和覆盖流数据206的收集得出的。在一些示例中,流API 256可以接收从HTTP POST请求得出的信息的形式的请求,并且作为响应,可以将该请求转换为要对存储在数据存储库259中的数据执行的查询。此外,在一些示例中,流API256可以获取与设备110有关的拓扑信息,并执行分析,该分析包括数据删重、覆盖-底层相关、业务路径标识和热图业务计算。
数据存储库259可以表示用于存储与数据流信息相关的信息的任何合适的数据结构或存储介质,包括从底层流数据204和覆盖流数据206得出的数据的存储。数据存储库259可以用于将数据存储成索引格式,能够进行快速数据检索和执行查询。存储在数据存储库259中的信息可以是可搜索的和/或被分类的,使得网络分析系统240内的一个或多个模块可以提供从数据存储库259请求信息的输入,并且响应于该输入,接收存储在数据存储库259中的信息。数据存储库259可以主要由收集器模块252来维护。数据存储库259可以通过多个硬件设备来实现,并且可以通过分片和复制数据来实现容错和高可用性。在一些示例中,可以使用开源的ClickHouse面向列的数据库管理系统来实现数据存储库259的各个方面。
如上面提到的,每个主机设备210表示针对虚拟主机、虚拟机、容器和/或其他虚拟化计算资源提供执行环境的物理计算设备或计算节点。在一些示例中,每个主机设备210可以是向客户端设备和其他设备或系统提供服务的云计算系统、服务器场和/或服务器集群(或其一部分)的组件。
本文关于主机设备210A描述了主机设备210的某些方面。可以类似地描述其他主机设备210(例如,主机设备210B至210N),并且其他主机设备210还可以包括相同、相似或对应的组件、设备、模块、功能性和/或其他特征。因此,本文中关于主机设备210A的描述可以对应地应用于一个或多个其他主机设备210(例如,主机设备210B至210N中的任何一个)。
在图2的示例中,主机设备210A包括基础物理计算硬件,该基础物理计算硬件包括电源211、一个或多个处理器213、一个或多个通信单元215、一个或多个输入设备216、一个或多个输出设备217以及一个或多个存储设备220。存储设备220可以包括管理程序221,其包括内核模块222、虚拟路由器模块224和代理模块226。虚拟机228A至228N(统称为“虚拟机228”并且表示任何数量的虚拟机228)在管理程序221之上执行或由管理程序221控制。类似地,虚拟路由器代理229可以在管理程序221上或在管理程序221的控制下执行。主机设备210的设备、模块、存储区或其他组件中的一个或多个可以互连以启用组件间通信(物理地、通信地和/或操作地)。在一些示例中,可以通过通信信道(例如,通信信道212)、系统总线、网络连接、过程间通信数据结构或用于传送数据的任何其他方法来提供这种连接性。
电源211可以向主机设备210的一个或多个组件供电。处理器213可以实现功能性和/或执行与主机设备210和管理程序221相关联的指令。通信单元215可以代表主机设备210与其他设备或系统进行通信。一个或多个输入设备216和输出设备217可以表示与主机设备210相关联的任何其他输入设备和/或输出设备。存储设备220可以存储用于在主机设备210A的操作期间进行处理的信息。可以按照类似于本文结合网络分析系统240描述的方式或其他方式来实现这些组件中的每一个。
管理程序221可以用作在基础主机硬件设备上实例化、创建和/或执行一个或多个虚拟机228的模块或系统。在一些上下文中,管理程序221可以称为虚拟机管理器(VMM)。管理程序221可以在由存储设备220和处理器213提供的执行环境内或在操作系统内核(例如,内核模块222)之上执行。在一些示例中,管理程序221是在硬件平台(例如,主机210)上执行的操作系统级组件,其用以为虚拟机228和/或其他类型的虚拟计算实例提供虚拟化的操作环境和编排控制器。在其他示例中,管理程序221可以是软件和/或固件层,该软件和/或固件层提供轻量级内核并且操作以为虚拟机228和/或其他类型的虚拟计算实例提供虚拟化的操作环境和编排控制器。管理程序221可以结合内核模块222的功能性(例如,作为“类型1管理程序”),如图2所示。在其他示例中,管理程序221可以在内核上执行(例如,作为“类型2管理程序”)。
虚拟路由器模块224可以针对数据中心101内的对应虚拟网络执行多个路由实例,并且可以将分组路由到在由设备110提供的操作环境内执行的适当虚拟机。虚拟路由器模块224还可以负责收集覆盖流数据,诸如在采用Contrail SDN的基础设施中使用时的Contrail Flow数据。因此,每个主机设备210可以包括虚拟路由器。由主机设备210A的虚拟路由器模块224例如从基础物理网络结构接收的分组可以包括外部报头,以允许物理网络结构将有效负载或“内部分组”隧道传输到主机设备210A的网络接口的物理网络地址。外部报头不仅可以包括服务器的网络接口的物理网络地址,还可以包括虚拟网络标识符,诸如标识虚拟网络之一以及由虚拟路由器执行的对应路由实例的VxLAN标记或多协议标签交换(MPLS)标签。内部分组包括内部报头,该内部报头的目的地网络地址符合由虚拟网络标识符标识的针对虚拟网络的虚拟网络寻址空间。
在一种示例方法中,代理模块226可以作为管理程序221的一部分执行。在另一示例方法中,代理模块226可以在内核空间内或作为内核模块222的一部分执行。代理模块226可以监测与主机设备210A相关联的一些或全部性能度量,并且可以实现和/或强制执行可以从策略控制器(图2中未示出)接收的策略。代理模块226可以配置虚拟路由器模块224以将覆盖流数据传送到网络分析系统240。
虚拟机228A至228N(统称为“虚拟机228”,表示任何数量的虚拟机228)可以表示虚拟机228的示例实例。主机设备210A可以将由存储设备220提供的虚拟和/或物理地址空间划分成用于运行用户过程的用户空间。主机设备210A还可以将由存储设备220提供的虚拟和/或物理地址空间划分为内核空间,该内核空间受到保护并且可能无法由用户过程访问。
通常,每个虚拟机228可以是任何类型的软件应用,并且可以为每个虚拟机分配一个虚拟地址以在对应的虚拟网络中使用,其中每个虚拟网络可以是虚拟路由器模块224提供的不同虚拟子网。可以为每个虚拟机228指派其自己的虚拟层3(L3)IP地址,例如,用于发送和接收通信,但不知道在其上执行的虚拟机的物理服务器的IP地址。这样,“虚拟地址”是针对应用的地址,该地址不同于针对基础物理计算机系统(例如,图2的示例中的主机设备210A)的逻辑地址。
每个虚拟机228可以表示租户虚拟机,该租户虚拟机运行诸如Web服务器、数据库服务器、企业应用之类的客户应用,或者托管用于创建服务链的虚拟化服务。在一些情况下,主机设备210或另一计算设备中的任何一个或多个直接托管客户应用,即不作为虚拟机。尽管关于虚拟机或虚拟主机描述了本公开的一个或多个方面,但是本文关于此类虚拟机或虚拟主机描述的根据本公开的一个或多个方面的技术也可以应用于容器、应用、过程或在主机设备210上执行的其他执行单元(虚拟化的或非虚拟化的)。
在图2的示例中,虚拟路由器代理229被包括在主机设备210A中,并且可以与SDN控制器132和虚拟路由器模块224通信,以便控制虚拟网络的覆盖并协调主机设备210A内的数据分组的路由。通常,虚拟路由器代理229与SDN控制器132通信,SDN控制器132生成命令以控制通过数据中心101的分组的路由。虚拟路由器代理229可以在用户空间中执行,并作为针对虚拟机228与SDN控制器132之间的控制平面消息的委托进行操作。例如,虚拟机228A可以经由虚拟路由器代理229请求使用其虚拟地址发送消息,并且虚拟路由器代理229可以依次发送消息并请求针对发起第一消息的虚拟机228A的虚拟地址接收对消息的响应。在一些情况下,虚拟机228A可以调用由虚拟路由器代理229的应用编程接口呈现的过程或功能调用,并且在这样的示例中,虚拟路由器代理229也处理消息的封装,包括寻址。
网络分析系统240可以将脊设备202和叶设备203中的每一个配置为收集底层流数据204。例如,在可以参照图2描述的示例中,网络分析系统240的收集器模块252使通信单元215通过网络205输出一个或多个信号。脊设备202和叶设备203中的每一个检测信号并将信号解译为启用底层流数据204收集的命令。例如,在检测到来自网络分析系统240的信号后,脊设备202A将其自己配置为收集sFlow数据,并将sFlow数据(作为底层业务数据204)通过网络205传送到网络分析系统240。作为另一示例,在检测到来自网络分析系统240的信号后,叶设备203A检测信号并将其自己配置为收集sFlow数据,并将sFlow数据通过网络205传送到网络分析系统240。此外,在一些示例中,每个主机设备210可以检测来自网络分析系统240的信号,并将该信号解译为启用sFlow数据的收集的命令。因此,在一些示例中,sFlow数据可以由在主机设备210上执行的收集器模块收集。
因此,在所描述的示例中,脊设备202、叶设备203(以及可能的一个或多个主机设备210)收集sFlow数据。然而,在其他示例中,一个或多个这样的设备可以收集其他类型的底层流数据204,诸如IPFIX和/或NetFlow数据。收集任何此类底层流数据可能涉及收集五元组数据,五元组数据包括源IP地址和目的地IP地址、源端口号和目的地端口号以及所使用的网络协议。
网络分析系统240可以配置每个主机设备210以收集覆盖流数据206。例如,继续参照图2描述的示例,收集器模块252使通信单元215通过网络205输出一个或多个信号。每个主机设备210检测到信号,该信号被解译为收集覆盖流数据206并将覆盖流数据206传送到网络分析系统240的命令。例如,参照主机设备210A,主机设备210A的通信单元215通过网络205检测信号,并将关于该信号的信息输出到管理程序221。管理程序221将信息输出到代理模块226。代理模块226将来自管理程序221的信息解译为收集覆盖流数据206的命令。代理模块226配置虚拟路由器模块224通过对网络业务进行采样来收集覆盖流数据206,并将覆盖流数据206传送到网络分析系统240。
在至少一些示例中,覆盖流数据206包括关于源地址和目的地地址、源端口和目的地端口以及协议的五元组信息。另外,覆盖流数据206可以包括关于与覆盖数据流相关联的虚拟网络的信息,包括源虚拟网络和目的地虚拟网络。在一些示例中,特别是对于使用可从加利福尼亚州桑尼维尔的瞻博网络(Juniper Networks)获得的Contrail SDN配置的网络,覆盖流数据206可以对应于Contrail流数据。
在所描述的示例中,代理模块226配置虚拟路由器模块224以收集覆盖流数据206。然而,在其他示例中,管理程序221可以配置虚拟路由器模块224以收集覆盖流数据206。此外,在其他示例中,覆盖流数据206的数据可以由另一模块(备选地或附加地),诸如代理模块226收集甚或由管理程序221或内核模块222收集。因此,在一些示例中,主机设备210可以收集底层流数据(sFlow数据)和覆盖流数据(例如Contrail Flow数据)两者。
网络分析系统240可以接收底层流数据204和覆盖流数据206。例如,继续该示例并参照图2,脊设备202A采样、检测、感测和/或收集底层流数据204。脊设备202A通过网络205输出信号。网络分析系统240的通信单元215检测来自脊设备202A的信号并将关于该信号的信息输出到收集器模块252。收集器模块252确定信号包括关于底层流数据204的信息。
类似地,在一些示例方法中,主机设备210A的虚拟路由器模块224在主机设备210A处采样、检测、感测和/或收集覆盖流数据206。虚拟路由器模块224使主机设备210A的通信单元215通过网络205输出信号。网络分析系统240的通信单元215检测来自主机设备210A的信号,并将关于该信号的信息输出到收集器模块252。收集器模块252确定该信号包括关于覆盖流数据206的信息。
网络分析系统240可以处理从网络系统200内的各种设备接收的底层流数据204和覆盖流数据206。例如,继续同一示例,通过在多个收集器模块252之间分发信号,收集器模块252处理从脊设备202A、主机设备210A和其他设备接收到的信号。在一些示例中,每个收集器模块252可以在不同的物理服务器上执行,并且可以被独立且水平地缩放以处理来自脊设备202、叶设备203和主机设备210的流业务的期望量或峰值容量。每个收集器模块252存储底层流数据204和覆盖流数据206的每个实例,并使存储的数据可用于在数据存储库259中的摄取。在一些示例方法中,收集器模块252对数据进行索引并准备数据以供分析查询使用。
网络分析系统240可以将底层流数据204和覆盖流数据206存储在数据存储库259中。例如,在图2中,收集器模块252将信息输出到数据存储库259。数据存储库259确定该信息对应于底层流数据204和覆盖流数据206。数据存储库259以索引格式存储数据,从而实现快速聚合查询和快速随机存取数据检索。在一些示例中,数据存储库259可以通过跨多个存储设备分片和复制数据来实现容错和高可用性,该多个存储设备可以位于多个物理主机之间。
网络分析系统240可以接收查询。例如,继续相同的示例并参照图2,用户接口设备129检测输入,并通过网络205输出从该输入得出的信号。网络分析系统240的通信单元215检测信号,并将关于该信号的信息输出到流API 256。流API 256确定该信号对应于来自用户接口设备129的用户对关于给定时间窗口内网络系统200的信息的查询。例如,用户接口设备129的用户(例如,管理员128)可能已经注意到,特定虚拟网络内的特定虚拟机似乎正在以异常的速率丢弃分组,并且可能试图对该问题进行故障排除。对该问题进行故障排除的一种方法是标识哪些网络设备(例如哪些底层路由器)处于似乎正在丢弃分组的数据路径上。因此,管理员128可以通过查询网络分析系统240来试图标识在源虚拟机和目的地虚拟机之间采取的可能路径。
网络分析系统240可以处理该查询。例如,再次继续在图2的上下文中描述的示例,流API 256确定从用户接口设备129接收的信号包括关于源和/或目的地虚拟网络的信息。流API 256通过丰富存储在数据存储库259内的底层流数据以包括来自查询中标识的时间窗口的覆盖流数据中的虚拟网络数据,来查询数据存储库259。为了执行该查询,流API 256将数据缩小到指定的时间窗口,并且对于每个相关的底层流数据204记录,流API 256添加覆盖流数据206记录中值与对应底层流数据204记录相匹配的任何源和/或目的地虚拟网络信息。流API 256标识由丰富后的底层流数据标识的一个或多个网络设备。流API 256基于所标识的网络设备来确定在指定的源虚拟网络和目的地虚拟网络之间采取的一条或多条可能的路径。在一些示例中,可以使用全局加入(global join)技术(例如,在ClickHouse数据库管理系统中可用)来进行丰富。在这样的示例中,流API 256聚集覆盖流数据,并将这样的数据广播到所有节点。然后,将数据用作针对每个节点独立的查找表。为了最小化表的大小,流API 256可以将过滤判据的谓词下推执行到子查询。
网络分析系统240可以生成并显示用户接口400,该用户接口400图示了要在用户接口设备129处呈现的源虚拟网络和目的地虚拟网络之间的可能路径402。流API 256将关于确定的可能路径的信息输出到用户接口模块254。用户接口模块254使用来自流API 256的信息来生成足以创建用户接口的数据,该用户接口呈现关于源虚拟网络和目的地虚拟网络之间的可能路径的信息。用户接口模块254使通信单元215通过网络205输出信号。用户接口设备129通过网络205检测信号,并确定该信号包括足以生成用户接口的信息。用户接口设备129生成用户接口(例如,用户接口400),并将其呈现在与用户接口设备129相关联的显示器处。在一些示例中,用户接口400呈现说明虚拟机228之间的一个或多个可能路径402的信息,并且可以包括关于在那些虚拟机228之间传送或已经传送多少数据的信息。
图2中所说明的和/或本公开的其他地方所说明或描述的模块(例如,虚拟路由器模块224、代理模块226、收集器模块252、用户接口模块254、流API 256)可以执行使用在一个或多个计算设备中驻留和/或执行的软件、硬件、固件或硬件、软件和固件的混合物来描述的操作。例如,计算设备可以利用多个处理器或多个设备来执行这样的模块中的一个或多个。计算设备可以作为在基础硬件上执行的虚拟机执行一个或多个这样的模块。一个或多个这样的模块可以作为操作系统或计算平台的一个或多个服务来执行。一个或多个这样的模块可以作为在计算平台的应用层处的一个或多个可执行程序来执行。在其他示例中,由模块提供的功能性可以由专用硬件设备来实现。
尽管可以分别说明在一个或多个存储设备中包括的某些模块、数据存储库、组件、程序、可执行文件、数据项、功能单元和/或其他项,但是这些项中的一个或多个可以被组合并作为单个模块、组件、程序、可执行文件、数据项或功能单元操作。例如,一个或多个模块或数据存储库可以被组合或被部分组合,使得它们作为单个模块操作或提供功能性。此外,一个或多个模块可以彼此交互和/或彼此结合进行操作,使得例如一个模块充当另一模块的服务或扩展。而且,存储设备内说明的每个模块、数据存储库、组件、程序、可执行文件、数据项、功能单元或其他项可以包括多个组件、子组件、模块、子模块、数据存储库和/或其他未说明的组件或模块或数据存储库。
此外,可以按照各种方式来实现存储设备内说明的每个模块、数据存储库、组件、程序、可执行文件、数据项、功能单元或其他项。例如,存储设备内说明的每个模块、数据存储库、组件、程序、可执行文件、数据项、功能单元或其他项可以被实现为可下载或预安装的应用或“app”。在其他示例中,存储设备内说明的每个模块、数据存储库、组件、程序、可执行文件、数据项、功能单元或其他项可以被实现为在计算设备上执行的操作系统的一部分。
如上面提到的,管理员需要使他们能够标识与在虚拟网络上和/或在两个虚拟机之间流动的业务相关的底层网络设备的工具。然而,诸如sFlow之类的对底层数据流进行采样的工具无法提供足以将采样的底层数据流绑定到特定覆盖网络的信息。例如,尽管sFlow样本中的外部报头可以标识虚拟网络之一,但是没有指示所标识的虚拟网络是源虚拟网络还是目的地虚拟网络。因此,网络分析系统240不能标识网络设备和主机之间的路径的分段。接下来将讨论用于标识与底层数据流相关联的覆盖网络的技术。第一种方法将信息添加到标识针对每个覆盖数据流的源虚拟网络和目的地虚拟网络的覆盖流数据。第二种方法使用封装属性来标识主机和网络设备之间的虚拟网络。
如上面提到的,一种用于标识与底层数据流相关联的覆盖网络的方法将信息添加到覆盖流数据,该信息标识针对每个覆盖数据流的源虚拟网络和目的地虚拟网络。在一种示例方法中,虚拟路由器将标识源虚拟网络的VXLAN网络ID(VNI)和标识目的地虚拟网络的VNI添加到覆盖流数据。然后将覆盖流数据与底层流数据相关联,以标识针对每个底层数据流的源虚拟网络和目的地虚拟网络。然后,下溢(underflow)流数据与源和目的地覆盖网络信息的组合可以被用来确定从源覆盖网络到目的地覆盖网络的通过底层网络的完整路径。在一种示例方法中,网络分析系统240在将丰富后的底层数据流样本存储到数据库之前,将源虚拟网络和目的地虚拟网络的身份添加到每个sFlow数据样本以形成丰富后的底层数据流样本。
图3是说明了根据本公开的一个或多个方面的在所存储的底层流数据和覆盖流数据上执行的示例查询的概念图。图3说明了数据表301、查询302和输出表303。数据表301说明了可能被存储在图2的数据存储库259中的底层流数据和覆盖流数据两者的记录。查询302表示可以由流API 256响应于网络分析系统240从用户接口设备129接收到的请求而生成的查询。输出表303表示响应于执行查询302而从数据表301生成的数据。
如上面提到的,由虚拟路由器模块224从基础物理网络结构接收的分组可以包括外部报头,该外部报头用于允许物理网络结构将有效负载或“内部分组”隧道传输到托管虚拟路由器模块224的主机设备210的网络接口的物理网络地址。内部分组包括内部报头,该内部报头具有与虚拟网络标识符所标识的虚拟网络的虚拟网络寻址空间相符的目的网络地址。在一种示例方法中,流收集器142能够从sFlow分组和其他数据流分组中解析内部报头和外部报头两者。
在图3所示的示例中,数据表301仅显示从sFlow分组和其他数据流分组接收的信息的子集。例如,对于每个sFlow,图2的数据存储库259可以包括底层源和目的地IP地址、底层源端口和目的地端口以及源或目的地VXLAN网络ID(VNI)(如果存在),这些都未在数据表301中显示。
在图3的示例中,并且根据本公开的一个或多个方面,图2的网络分析系统240可以填充数据表301。例如,同时参照图2和图3,网络分析系统240收集来自网络系统200内的各种设备的底层流数据204和覆盖流数据206。网络分析系统240的收集器模块252将收集到的数据存储在存储器中,诸如存储装置250、数据存储库259或高速缓存。在图3的示例中,存储在存储器内的数据对应于数据表301。
在一种示例方法中,流API 256从数据表301中选择标识网络设备的行,诸如第1、3和5行。流API 256然后尝试查找与底层流数据相匹配的覆盖流数据记录。在一种示例方法中,网络分析系统240的流API 256确定是否有任何覆盖流数据行(例如,第2、4、6和7行)具有与第1、3和5行相同的五元组数据(即,覆盖源和目的地地址和端口号、以及协议)。例如,流API 256确定来自第6行的覆盖数据具有与第3行的五元组数据相匹配的五元组数据。因此,流API 256确定设备“a7”的源虚拟网络是源虚拟网络“e”(参见输出表303的第1行的“源vn(src vn)”列)。类似地,流API 256可以确定来自数据表301的第4行的覆盖数据具有与数据表301的第5行的五元组数据匹配的五元组数据。因此,流API 256可以确定设备“a8”的源虚拟网络是源虚拟网络“c”(参见输出表303的第2行)。
在一种示例方法中,流API 256从数据表301中选择具有在范围内的时间戳的行,并且将底层数据行与落入相同时间帧内(诸如大于或等于7且小于或等于9)的覆盖数据流行进行匹配。在图3说明的示例中,流API 256标识满足判据的两个网络设备:网络设备“a7”(来自数据表301的第3行)和网络设备“a8”(来自数据表301的第5行)。
当有多于一个的实例(行)的覆盖流数据可用并且与底层流数据行的5元组相匹配时,任何或所有此类数据均可以用于标识源虚拟网络。这假定虚拟网络配置不经常更改。在图3所示的示例中,例如,流API 256确定设备“a8”的源虚拟网络可以是源虚拟网络“c”(参见数据表301的第4行)或源虚拟网络“g”(参见数据表301的第7行)。然后,流API 256可以选择源虚拟网络“c”或“g”作为源虚拟网络。
在一些示例中,sFlow样本中的外部报头不仅可以包括主机设备210的网络接口的物理网络地址,还可以包括虚拟网络标识,诸如标识虚拟网络之一的VxLAN标记或多协议标签交换(MPLS)标签。在一种这样的示例方法中,网络分析系统240使用由vRouter代理229生成的覆盖流信息和经由sFlow接收的底层流信息,来查找任何一个虚拟机228和另一虚拟机228之间的流路径。
在一种示例方法中,每个主机设备210中的vRouter代理229生成与由相应主机设备中的VM 228生成和/或由其接收的流相关联的覆盖流数据。在一种这样的示例方法中,vRouter代理229用作相应主机设备210内的计算节点。每个主机设备210中的VM 228在计算节点上启动;因此,主机设备210上托管的VM 228所生成的任何覆盖业务都将通过该计算节点。因此,vRouter代理229具有关于此业务的知识,并且可以标识与每个覆盖流相关联的虚拟网络。因此,vRouter代理229将包含标识虚拟网络的信息的覆盖流数据发送到流收集器124。在一些示例方法中,诸如如图3所示,覆盖流数据包括标识针对每个覆盖数据流的源虚拟网络和目的地虚拟网络的信息。在一种这样的示例方法中,覆盖流数据使用源VNI和目的地VNI来分别标识源虚拟网络和目的地虚拟网络。
与每个底层数据流相关联的源VN和目的地VN信息可以用于将源VN和目的地VN与新的底层数据流相关联。在一个示例中,五个覆盖元组(即,覆盖源IP(src IP)、目的地IP(dest IP)、源端口(src端口)、目的地端口(dest端口)和协议)被用作键,而覆盖源VN和目的地VN被用作值。此键-值映射被存储在高速缓存(诸如Redis高速缓存)中。然后,当流API256接收新的底层数据流时,报头中的五个覆盖元组可以用于标识源虚拟网络和目的地虚拟网络。在一种这样的示例方法中,流API 256使用五个覆盖元组作为键来访问高速缓存并获得源虚拟网络标识符和目的地虚拟网络标识符,然后将其添加到新流的底层流数据报中。在一种示例方法中,系统240通过使用Redis高速缓存并在将丰富后的底层流数据写入数据存储库259中的数据库之前丰富存储器中的底层流数据,而不是将流数据和VN信息直接存储到数据存储库259中的数据库中,然后从数据库中读取两者,以丰富数据库中的流数据。
如上面提到的,用于标识与底层数据流相关联的源虚拟网络和目的地虚拟网络的第二种方法使用封装属性来标识主机和网络设备之间的虚拟网络。例如,具有虚拟可扩展局域网(VXLAN)封装的以太网VPN(EVPN)可以用于虚拟机和TOR交换机之间的层2连接性。在一种示例方法中,可以通过查询适当的EVPN数据库来标识针对源虚拟网(VN)和目的地VN两者在主机和网络设备之间的虚拟网络。
如在第一种方法中一样,然后可以使用下溢流数据与源和目的地覆盖网络信息的组合来确定从源覆盖网络到目的地覆盖网络的通过底层网络的完整路径。在一种示例方法中,网络分析系统240在将丰富后的底层数据流样本存储到数据库之前,将源虚拟网络和目的地虚拟网络的标识添加到每个sFlow数据样本以形成丰富后的底层数据流样本。
本文描述的丰富过程可以用于请求“前N个”网络属性的查询。丰富过程还可以用于标识通过底层网络的覆盖流路径,如图4和图7所说明。
图4是说明了根据本公开的一个或多个方面的由用户接口设备呈现的示例用户接口的概念图。图4说明了用户接口400的示例。尽管用户接口400被示为图形用户接口,但是在其他示例中可以呈现其他类型的接口,包括基于文本的用户接口、基于控制台或基于命令的用户接口、语音提示用户接口或任何其他适当的用户接口。如图4所说明的用户接口400可以对应于由网络分析系统240的用户接口模块254生成的用户接口,并且可以被呈现在图2的用户接口设备129处。这里可以在图2的上下文中描述与用户接口400的生成和/或呈现相关的一个或多个方面。
根据本公开的一个或多个方面,网络分析系统240可以执行查询以标识路径。例如,在可以参照图2描述的示例中,用户接口设备129检测输入并通过网络205输出信号。网络分析系统240的通信单元215检测流API 256确定与网络信息查询相对应的信号。流API256执行查询(例如,以结合图3描述的方式),并且将关于结果的信息输出到用户接口模块254。为了找到两个虚拟机之间的路径,流API 256可以确定最可能的路径(以及在所确定的路径上传播的业务)。另外,流API 256可以执行附加查询以排他地评估覆盖数据流,以标识在虚拟路由器模块224上注册的业务,从而使得能够标识和显示相关虚拟机和主机设备之间的业务。Flow API 256可以使用此技术来标识主机-虚拟机路径或虚拟机-主机路径。
网络分析系统240可以生成用户接口,诸如用户接口400,以在显示器设备上进行呈现。例如,仍然参照图2和图4,用户接口模块254在基础用户接口400上生成信息,并使通信单元215通过网络205输出信号。用户接口设备129检测信号并确定该信号包括足以呈现用户接口的信息。用户接口设备129以图4所说明的方式在与用户接口设备129相关联的显示器设备上呈现用户接口400。
在图4的示例用户接口400中,用户接口400被呈现在显示窗口401内。用户接口400包括侧边栏区域404、主显示区域406和选项区域408。侧边栏区域404提供了在用户接口400内正在呈现哪种用户接口模式的指示,在图4的示例中,其对应于“结构”模式。其他模式可能适用于其他网络分析场景。在主显示区域406的顶部上方是导航接口组件427,其可以用于选择要执行的网络分析的类型或模式。状态通知显示元件428可以提供关于警报的信息或与一个或多个网络、用户、元件或资源相关的其他状态信息。
主显示区域406呈现网络图,并且可以提供在被分析的网络内包括的各种网络设备的拓扑。在图4所示的示例中,网络被说明为具有网络设备、边缘网络设备、主机和实例,如沿主显示区域406的底部所示的“图例”所指示。网络设备与其他组件之间的实际或潜在数据路径402被图示在主显示区域406内。尽管在图4中示出了有限数量的不同类型的网络设备和组件,但在其他示例中,可以呈现和/或具体地图示其他类型的设备或组件或元件,包括核心交换机设备、脊设备、叶设备、物理或虚拟路由器、虚拟机、容器和/或其他设备、组件或元件。此外,可以在用户接口400内隐藏或最小化网络的一些数据路径或组件(例如,实例),以支持与给定网络分析最相关的组件或数据路径的说明和/或呈现。
选项区域408沿着用户接口400的右手侧提供与被分析的底层网络相关的多个输入字段(例如,底层五元组输入字段)以及被分析的覆盖网络相关的多个输入字段(例如,源和目的地虚拟网络以及IP地址输入字段)。用户接口400通过与一个或多个显示的输入字段的用户交互来接受输入,并且基于被录入到输入字段中的数据,用户接口模块254呈现关于被分析的网络的响应信息。
例如,在图4的示例中,用户接口400在选项区域408中接受关于特定时间帧(例如,时间范围)、源和目的地虚拟网络以及源和目的地IP地址的输入。在所示的示例中,用户输入尚未指定底层信息。使用已在选项区域408中提供的输入,网络分析系统240确定关于通过底层网络设备的一个或多个可能的数据路径(例如,数据路径或最可能的数据路径)的信息。网络分析系统240基于在选项区域408中指定的时间范围期间由网络分析系统240(例如,由收集器模块252)收集的数据来确定这种可能的数据路径。网络分析系统240的用户接口模块254生成使用户接口400得以呈现的数据,其中如图4所示,高亮出了一个可能的数据路径402(通过用粗线画出数据路径的每一段)。在一些示例中,可以高亮从源虚拟网络到目的地虚拟网络的多于一个的数据路径402。此外,在一些示例中,可以使用热图颜色方案来呈现主显示区域406中的一个或多个数据路径402,这意味着用与要通过该路径传送的数据量相对应或者与利用对应路径的程度相对应的颜色(或灰色阴影)来说明数据路径。尽管图4说明了使用灰度描影方案的高亮数据路径上的业务级别(从针对低业务级别的灰色浅阴影到针对高业务的灰色深阴影,如在业务级别图例429中所见),但在其他示例中,可以使用颜色方案来演示业务级别的变化。在其他示例中,以其他适当的方式(例如,将颜色应用于主显示区域406的其他元素、呈现弹出窗口或呈现其他用户接口元素)来呈现关于数据路径上或通过网络设备的利用率或业务的数据。
在一些示例中,选项区域408(或用户接口400的其他区)可以包括图形(graph)430或其他指示符,其提供关于一个或多个路径上的利用率或业务的信息。在这样的示例中,这些图形可以与被录入到选项区域408内的输入字段中的用户输入有关或可以响应于该用户输入而生成。
图5A和图5B是说明了根据本公开的一个或多个方面的用于丰富底层流数据的操作的流程图。本文在图2的网络分析系统240的上下文中描述图5A和图5B。在其他示例中,图5A和图5B中描述的操作可以由一个或多个其他组件、模块、系统或设备执行。此外,在其他示例中,结合图5A和图5B描述的操作可以被合并、以不同的顺序执行、被省略、或者可以包含未具体说明或描述的附加操作。
图5A说明了一种用于使用覆盖流数据来利用源和目的地虚拟网络信息丰富底层流数据的方法。在图5A所说明的示例中,并且根据本公开的一个或多个方面,网络分析系统240可以收集底层流数据(501)和覆盖流数据(502)。例如,在图2中,每个脊设备202和每个叶设备203通过网络205输出相应的信号(例如,sFlow数据)。网络分析系统240的通信单元215检测到收集器模块252确定的信号包括底层流数据204。类似地,每个主机设备210中的虚拟路由器模块224通过网络205输出信号。网络分析系统240的通信单元215检测收集器模块252确定的附加信号包括覆盖流数据206。在一些示例中,收集器模块252可以对跨多个收集器模块252的信号的接收进行负载均衡,以确保可以处理大量信号而没有延迟和/或没有数据丢失。
在一种示例方法中,网络分析系统240可以将覆盖流数据流存储在数据存储库259中(505)。网络分析系统240可以确定与底层流数据相关联的虚拟网络(503),并将丰富后的底层流数据(包括从所存储的覆盖流数据中提取的虚拟网络身份)存储在数据存储库259中(504)。例如,收集器模块252可以将关于收集的流数据的信息(例如,底层流数据204和覆盖流数据206)输出到数据存储库259。数据存储库259以索引格式存储流数据,并且在一些示例中,以能够进行快速聚合、查询和/或快速随机存取数据检索的结构来存储流数据。在一些示例方法中,将底层流数据存储在高速缓存中直到被丰富为止。
网络分析系统240可以接收对关于数据流的信息的请求(来自506的“是”路径)。例如,用户接口设备129检测输入。在一个这样的示例中,用户接口设备129通过网络205输出信号。网络分析系统240的通信单元215检测流API 256确定的信号对应于来自用户接口设备129的用户对信息的请求。备选地,分析系统240可以继续收集并存储底层流数据204和覆盖流数据206,直到接收到对关于数据流的信息的请求(来自506的“否”路径)为止。
网络分析系统240可以执行查询以标识关于数据流的信息(507)。例如,当网络分析系统240接收到对信息的请求时,流程API 256解析该请求并标识可以用于执行查询的信息。在一些情况下,该信息可以包括源和目的地虚拟网络和/或相关时间帧。在其他示例中,该信息可以包括其他信息,诸如底层源或目的地IP地址或源或目的地端口号。流API 256使用请求内所包括的信息来查询数据存储库259,以获取关于一个或多个相关数据流的信息。数据存储库259处理查询,并将源虚拟网络和目的地虚拟网络之间的业务所使用的一个或多个网络设备的身份输出到流API 256。在一些示例中,网络设备的身份可以使流API 256能够确定源虚拟网络和目的地虚拟网络之间的业务所遍历的一个或多个可能的数据路径。
为了确定源虚拟网络和目的地虚拟网络之间的业务所使用的网络设备的身份,在一种示例方法中,流API 256可以查询数据存储库259,以查找具有与查询中指定的虚拟网络或虚拟IP地址相同的五元组数据(即源和目的地地址和端口号、以及协议)的网络设备的底层流数据。将在底层流数据中标识的与五元组数据相匹配的网络设备标识为源虚拟网络和目的地虚拟网络之间的业务所使用的可能的网络设备。网络分析系统240可以输出关于数据流的信息(508)。例如,再次参照图2,流API 256可以响应于查询而将关于由流API 256确定的数据路径402的信息输出到用户接口模块254。用户接口模块254生成足以呈现包括关于数据流的信息的用户接口的信息。用户接口模块254使通信单元215通过网络205输出信号,该信号包括足以呈现用户接口的信息。在一些示例中,用户接口设备129接收信号,解析信息,并且呈现说明了关于数据流的信息的用户接口。
在另一示例方法中,为了确定由源虚拟网络和目的地虚拟网络之间的业务使用的网络设备的身份,流API 256可以向数据存储库259查询具有与查询中指定的虚拟网络或虚拟IP地址相同的五元组数据(即源和目的地地址和端口号、以及协议)、并且具有标识虚拟网络的信息的网络设备的底层流数据。将在底层流数据中标识的与五元组数据和虚拟网络相匹配的网络设备标识为源虚拟网络和目的地虚拟网络之间的业务所使用的可能的网络设备。网络分析系统240可以输出关于数据流的信息(508)。
图5B说明了一种用于使用一个或多个EVPN数据库来利用源和目的地虚拟网络信息丰富底层流数据的方法。在图5B所说明的示例中,并且根据本公开的一个或多个方面,网络分析系统240可以收集底层流数据(521)。例如,在图2中,每个脊设备202和每个叶设备203通过网络205输出相应的信号(例如,sFlow数据)。网络分析系统240的通信单元215检测到收集器模块252确定的信号包括底层流数据204。类似地,每个主机设备210内的虚拟路由器模块224通过网络205输出信号。网络分析系统240的通信单元215检测收集器模块252确定的附加信号包括覆盖流数据206。在一些示例中,收集器模块252可以对跨多个收集器模块252的信号的接收进行负载均衡,以确保可以处理大量信号而没有延迟和/或没有数据丢失。
在一种示例方法中,网络分析系统240可以查询一个或多个EVPN数据库以获得源虚拟网络和目的地虚拟网络的身份(522)。网络分析系统240可以接收源虚拟网络和目的地虚拟网络的身份,并且在将丰富后的底层流数据存储在数据存储库259中之前(524),用虚拟网络的身份丰富底层流数据(523)。在一种示例方法中,数据存储库259以索引格式存储流数据,并且在一些示例中,以能够进行快速聚合、查询和/或快速随机存取数据检索的结构来存储流数据。在一些示例方法中,将底层流数据存储在高速缓存中直到被丰富为止。
网络分析系统240可以接收对关于数据流的信息的请求(来自526的“是”路径)。例如,用户接口设备129检测输入。在一个这样的示例中,用户接口设备129通过网络205输出信号。网络分析系统240的通信单元215检测流API 256确定的信号对应于来自用户接口设备129的用户对信息的请求。备选地,分析系统240可以继续收集并存储丰富后的底层流数据,直到接收到对关于数据流的信息的请求(来自526的“否”路径)为止。
网络分析系统240可以执行查询以标识关于数据流的信息(527)。例如,当网络分析系统240接收到对信息的请求时,流程API 256解析该请求并标识可以用于执行查询的信息。在一些情况下,该信息可以包括源和目的地虚拟网络和/或相关时间帧。在其他示例中,该信息可以包括其他信息,诸如底层源或目的地IP地址或源或目的地端口号。流API 256使用请求内所包括的信息来查询数据存储库259,以获取关于一个或多个相关底层数据流的信息。数据存储库259处理查询,并将源虚拟网络和目的地虚拟网络之间的业务所使用的一个或多个网络设备的身份输出到流API 256。在一些示例中,网络设备的身份可以使流API256能够确定源虚拟网络和目的地虚拟网络之间的业务所遍历的一个或多个可能的数据路径。
为了确定源虚拟网络和目的地虚拟网络之间的业务所使用的网络设备的身份,在一种示例方法中,流API 256可以查询数据存储库259,以查找具有与查询中指定的虚拟网络或虚拟IP地址相同的五元组数据(即源和目的地地址和端口号、以及协议)的网络设备的底层流数据。将在底层流数据中标识的与五元组数据相匹配的网络设备标识为源虚拟网络和目的地虚拟网络之间的业务所使用的可能的网络设备。网络分析系统240可以输出关于数据流的信息(528)。例如,再次参照图2,流API 256可以响应于查询而将关于由流API 256确定的数据路径402的信息输出到用户接口模块254。用户接口模块254生成足以呈现包括关于数据流的信息的用户接口的信息。用户接口模块254使通信单元215通过网络205输出信号,该信号包括足以呈现用户接口的信息。在一些示例中,用户接口设备129接收信号,解析信息,并且呈现说明了关于数据流的信息的用户接口。
在另一示例方法中,为了确定由源虚拟网络和目的地虚拟网络之间的业务使用的网络设备的身份,流API 256可以向数据存储库259查询具有与查询中指定的虚拟网络或虚拟IP地址相同的五元组数据(即源和目的地地址和端口号、以及协议)并且具有标识虚拟网络的信息的网络设备的底层流数据。将在底层流数据中标识的与五元组数据和虚拟网络匹配的网络设备标识为源虚拟网络和目的地虚拟网络之间的业务所使用的可能的网络设备。网络分析系统240可以输出关于数据流的信息(528)。
如上面提到的,确定与给定的底层数据流相关联的虚拟网络可以是有帮助的。例如,当底层数据流和覆盖数据流各自标识相同的虚拟网络时,将底层数据流和底层数据流相关联起来更为容易。因此,在一种示例方法中,网络分析系统240使用从其他源接收到的网络信息来选择网络设备110和主机设备210之间的路径。在一种这样的方法中,虚拟路由器229将源和目的地虚拟网络标识符存储为覆盖流数据的一部分。在另一种方法中,在将以太网虚拟专用网(EVPN)与虚拟可扩展局域网(VXLAN)一起用于虚拟机和TOR交换机之间的层2连接性的系统200中,网络分析系统240从EVPN数据库检索标识主机与叶网络设备203或TOR交换机之间的路径的信息。EVPN数据库方法将在下面更详细地讨论。
图6是说明了根据本公开的一个或多个方面的由示例网络分析系统执行的操作的流程图。本文在图2的网络分析系统240的上下文中描述图6。在其他示例中,图6中描述的步骤可以由一个或多个其他组件、模块、系统或设备执行。此外,在其他示例中,结合图6描述的操作可以被合并、以不同的顺序执行、被省略、或者可以包含未具体说明或描述的附加操作。
在图6所说明的过程中,网络分析系统240从EVPN数据库检索记录。在这样的一种示例方法中,用户接口设备129包括用于经由例如“示出evpn数据库”的命令行接口(CLI)命令来查询EVPN数据库的CLI(602)。CLI命令查询EVPN数据库。在一个示例中,EVPN数据库返回物理接口(来自604的“是”路径)。例如,在一种示例方法中,网络分析系统240传送“示出evpn数据库”的CLI命令,并接收回关于网络设备的物理接口的以下信息:
Figure BDA0002706691420000401
其中接口ge-2/3/0.0是连接到主机设备210的网络设备上的物理接口,该主机设备的IP地址为55.55.55.5并且其VxLAN网络标识符(VNI)为14。然后,可以将VNI映射到特定的虚拟网络(606)。然后,网络分析系统240将具有底层数据流信息的虚拟网络名称存储为底层流数据(608)。
当“示出evpn数据库”的CLI命令在除单个物理接口之外的接口上返回信息时(来自604的“否”路径),系统240可能需要得出附加信息。例如,在一种示例方法中,该接口是链路聚合组(LAG)接口。LAG接口是用作单个接口的物理端口的集合。针对LAG接口的“示出evpn数据库”的CLI命令可以返回以下信息:
Figure BDA0002706691420000411
这里,不是主动源返回物理接口的名称,而是主动源返回LAG接口的以太网段值(610)。在该示例中,网络分析系统240接收以太网段值00:92:ce:17:e8:56:c5:3c:f1:00,并确定该以太网段值属于接口ae0(612)。
Root#5c2-qfx1>示出接口ae0
物理接口:ae0,已启用,物理链路为上行
接口索引:154,SNMP ifIndex:557
描述:虚拟端口组:5clsl1-node2-EMS
链路级类型:以太网,MTV:9192,速度:10Gbps,BPDU错误:无,以太网交换错误:无,MAC-REWRITE错误:无,回送:已禁用,源过滤:已禁用
流控制:已禁用,所需最少链路:1,所需最小带宽:1bps
设备标志:正在运行
接口标志:SNMP Traps Internal:0x4000
当前地址:e4:fc:82:c2:0e:38,硬件地址:e4:fc:82:c2:0e:38
以太网段值:00:92:ce:17:e8:56:c5:3c:f1:00,模式:全通
Last flapped:2020-05-01 16:04:20UTC(11:14:33之前)
输入率:0bps(0pps)
输出率:1008bps(0pps)
逻辑接口ae0.0(Index 558)(SNMP ifIndex 558)
标志:Up SNMP-Traps 0x24024000封装:以太网-桥接器
统计分组pps字节bps
束:
输入:4 0 660 0
输出:74380 0 8778306 1016
自适应统计:
自适应调节:0
自适应扫描:0
自适应调节:0
协议以太网交换,MTU:9192
标志:Is-Primary,Trunk-Mode
这里,网络设备被连接在LAG接口ae0上,并且IP地址55.55.55.100在VNI 14上。网络分析系统240然后可以查询编排模型(诸如Contrail Config Object)以获得对应的虚拟网络名称(614)。在一种示例方法中,这样的查询返回以下信息:
Figure BDA0002706691420000431
在该示例中,值为14的VNI映射到名称为“blue-vn”的虚拟网络,示出了即使接口不是单个物理接口,也可以如何将从EVPN数据库检索到的信息映射到虚拟网络名称。然后,网络分析系统240将具有底层数据流信息的虚拟网络名称存储为底层流数据(608)。
图7是说明了根据本公开的一个或多个方面的由用户接口设备呈现的用于显示与覆盖数据业务相对应的底层数据路径的示例用户接口的概念图。在图7所示的示例中,用户接口400演示了上面的EVPN数据库示例。在图7中,用户接口400被呈现在显示窗口451内。用户接口400包括侧边栏区域454、主显示区域456和选项区域458。侧边栏区域454提供了在用户接口400内正在呈现哪种用户接口模式的指示,在图7的示例中,其对应于“结构”模式。其他模式在图7中示出,并且其他模式可能适用于其他网络分析场景。在主显示区域456的顶部上方是导航接口组件477,其可以用于选择要执行的网络分析的类型或模式。状态通知显示元件478可以提供关于用户的信息,或者可以提供与一个或多个网络、用户、元件或资源相关的其他状态信息。
主显示区域456呈现网络图并且可以提供被分析的网络内所包括的各种网络设备的拓扑。在图7所示的示例中,图示了具有网络设备、边缘网络设备、主机和实例的网络,如沿主显示区域456的底部所示的“图例”所示。在图7所示的示例中,主显示区域456中所示的网络设备、边缘网络设备、主机和实例分别对应于图2中的系统200的脊设备202、叶设备203、主机设备210和虚拟机228。
在主显示区域456内说明了网络设备与其他组件之间的实际或潜在数据路径480。尽管在图7中示出了有限数量的不同类型的网络设备和组件,但在其他示例中,可以呈现和/或具体说明其他类型的设备或组件或元件,包括核心交换机设备、脊设备、叶设备、物理或虚拟路由器、虚拟机、容器和/或其他设备、组件或元件。此外,可以在用户接口400内隐藏或最小化网络的一些数据路径或组件(例如,实例),以支持与给定网络分析最相关的组件或数据路径的说明和/或呈现。
在图7所示的示例中,选项区域408沿着用户接口400的右手侧提供与被分析的底层网络(例如,底层五元组输入字段)以及被分析的覆盖网络相关的多个输入字段(例如,源和目的地虚拟网络、源和目的地IP地址字段、源和目的地端口字段以及协议字段)。用户接口400通过与一个或多个显示的字段的用户交互来接受输入,并且基于被录入到输入字段中的数据,用户接口模块254呈现关于被分析的网络的响应信息。
例如,在图7的示例中,用户接口400在选项区域458中接受输入参数。在图7所示的示例中,输入参数包括关于特定时间帧(例如,被录入时间范围输入460的时间范围)、源和目的地底层IP地址462、覆盖虚拟网络输入464中的源和目的地虚拟网络以及覆盖源和目的地IP地址466的信息。在图7的示例中,用户输入尚未指定底层信息。相反,提供源和目的地虚拟网络字段以及源和目的地IP地址字段形式的覆盖信息,以引导对数据路径的搜索。网络分析系统240使用提供的输入来确定关于通过底层网络设备的一个或多个可能的数据路径480(例如,数据路径或最可能的一个或多个数据路径)的信息。在所示的示例中,网络分析系统240基于在选项区域458中指定的时间范围460期间由网络分析系统240(例如,由收集器模块252)收集的数据,来确定这种可能的数据路径。网络分析系统240的用户接口模块254生成使用户接口400得以呈现的数据,其中如图7所示,高亮出了一个可能的数据路径(通过用粗线画出数据路径的每一段)。在一些示例中,可以高亮从源虚拟网络到目的地虚拟网络的多于一个的数据路径480。
在一些示例中,可以使用热图颜色方案来呈现主显示区域456中的一个或多个数据路径480,这意味着用与要通过该路径传送的数据量相对应或者与利用对应路径的程度相对应的颜色(或灰色阴影)来说明数据路径。如上面提到的,尽管图7说明了使用灰度描影方案的高亮数据路径480上的业务级别(从针对低业务级别的灰色浅阴影到针对高业务的灰色深阴影,如在业务级别图例479中所见),但在其他示例中,可以使用颜色方案来演示业务级别的变化。在其他示例中,以其他适当的方式(例如,将颜色应用于主显示区域456的其他元素、呈现弹出窗口或呈现其他用户接口元素)来呈现关于数据路径上或通过网络设备的利用率或业务的数据。
在一种示例方法中,网络分析系统240可以用于选择其他参数,诸如时间帧、或者底层或覆盖参数,并且基于所选参数在拓扑上绘制两个节点之间的路径。例如,可以通过经由时间范围输入460中的日期和时间输入框选择时间范围来可视化历史路径。
在一些示例中,选项区域458(或用户接口400的其他区)可以包括图形(未示出)或其他指示符,其提供关于一个或多个路径上的利用率或业务的信息。在这样的示例中,这些图形可以与被录入到选项区域458内的输入字段中的用户输入有关或可以响应于该用户输入而生成。
如上面提到的,可以使用sFlow和拓扑数据来可视化分组在网络中所采用的路径。一旦获得了节点和边缘,就可以绘制拓扑,并且可以在拓扑图上可视化路径。接下来将讨论显示网络流信息的不同方法。
图8是说明了根据本公开的一个或多个方面的用于在诸如图7所示的底层数据路径中显示路径参数的用户接口的概念图。在图8所示的示例中,用户接口400再次演示了数据路径可视化。在图8中,用户接口400被呈现在显示窗口451内。用户接口400包括侧边栏区域454、主显示区域456和选项区域458。侧边栏区域454提供了在用户接口400内正在呈现哪种用户接口模式的指示,在图8的示例中,其对应于“结构”模式。其他模式在图8中示出,并且其他模式可能适用于其他网络分析场景。在主显示区域456的顶部上方是导航接口组件477,其可以用于选择要执行的网络分析的类型或模式。状态通知显示元件478可以提供关于用户的信息,或者可以提供与一个或多个网络、用户、元件或资源相关的其他状态信息。
主显示区域456呈现网络图。在所示的示例中,显示了被分析的网络内包括的各种网络设备的网络拓扑。在图8所示的示例中,说明了具有网络设备、边缘网络设备、主机和实例的网络,如沿主显示区域456的底部所示的“图例”所示。在图8所示的示例中,主显示区域456中所示的网络设备、边缘网络设备、主机和实例分别对应于图2中的系统200的脊设备202、叶设备203、主机设备210和虚拟机228。
在主显示区域456内说明了网络设备与其他组件之间的实际或潜在数据路径480。尽管在图8中示出了有限数量的不同类型的网络设备和组件,但在其他示例中,可以呈现和/或具体说明其他类型的设备或组件或元件,包括核心交换机设备、脊设备、叶设备、物理或虚拟路由器、虚拟机、容器和/或其他设备、组件或元件。此外,可以在用户接口400内隐藏或最小化网络的一些数据路径或组件(例如,实例),以支持与给定网络分析最相关的组件或数据路径的说明和/或呈现。
与在图7所示的示例一样,在图8中,选项区域408沿着用户接口400的右手侧提供与被分析的底层网络(例如,底层五元组输入字段)以及被分析的覆盖网络相关的多个输入字段(例如,源和目的地虚拟网络、源和目的地IP地址字段、源和目的地端口字段以及协议字段)。用户接口400通过与一个或多个显示的字段的用户交互来接受输入,并且基于被录入到输入字段中的数据,用户接口模块254呈现关于被分析的网络的响应信息。
例如,在图8的示例中,用户接口400在选项区域458中接受输入参数。在图8所示的示例中,输入参数包括关于特定时间帧(例如,时间范围、在时间范围内录入的输入460)、源和目的地底层IP地址462、覆盖虚拟网络输入464中的源和目的地虚拟网络以及源和目的地覆盖IP地址466的信息。
在图8所示的示例中,用户输入尚未指定底层信息。另外,提供源和目的地虚拟网络字段以及源和目的IP地址字段形式的覆盖信息,以引导对底层数据路径480的搜索。网络分析系统240使用所提供的输入来确定关于通过底层网络设备(诸如图2的脊设备202和叶设备203)的一个或多个可能的数据路径(例如,数据路径或最可能的数据路径)的信息。在所示的示例中,网络分析系统240基于在选项区域458中指定的时间范围期间由网络分析系统240(例如,由收集器模块252)收集的数据,来确定这种可能的数据路径。网络分析系统240的用户接口模块254生成使用户接口400得以呈现的数据,其中如图8所示,高亮出了一个可能的数据路径(通过用粗线画出数据路径的每一段)。在一些示例中,可以高亮从源虚拟网络到目的地虚拟网络的多于一个的数据路径。在一些示例方法中,其他数据路径可以被调暗以增强与高亮的一个或多个数据路径的对比度。
与在图7所示的示例中一样,在一些示例中,可以使用热图颜色方案来呈现主显示区域456中的一个或多个数据路径480,这意味着用与要通过该路径传送的数据量相对应或者与利用对应路径的程度相对应的颜色(或灰色阴影)来说明数据路径。如上面提到的,尽管图7说明了使用灰度描影方案的高亮数据路径上的业务级别(从针对低业务级别的灰色浅阴影到针对高业务的灰色深阴影,如在业务级别图例479中所见),但在其他示例中,可以使用颜色方案来演示业务级别的变化。在其他示例中,以其他适当的方式(例如,将颜色应用于主显示区域456的其他元素、呈现弹出窗口或呈现其他用户接口元素)来呈现关于数据路径上或通过网络设备的利用率或业务的数据。
此外,如图8所示,在一些示例中,高亮的路径边缘上的工具提示示出了两个节点之间的业务详细信息。例如,在一种示例方法中,将光标放在高亮的数据路径之一上会导致出现度量显示窗口468。在图8所示的示例中,度量显示窗口468显示两个虚拟机228之间的业务量、路径上的总业务以及数据路径所占的总业务的百分比。在一种这样的示例方法中,所显示的业务反映了在通过光标触摸的数据路径的分段上测得的业务。在一种示例方法中,经由工具触摸示出的数据是可选择的参数。
在一些示例中,选项区域458(或用户接口400的一些其他区)还包括图形430,如图8所示,或者提供关于一个或多个路径480上的利用率或业务的信息的其他指示符。在这样的示例中,这些图形可以与被录入到选项区域458内的输入字段460、462、464和460中的用户输入相关或可以响应于该用户输入而被生成。
图9是说明了根据本公开的一个或多个方面的底层网络的两个节点之间的实例数据流的概念图。在图9所示的示例中,用户经由源和目的地底层IP地址462选择两个不同的底层网络节点。然后,网络分析系统240确定这两个底层网络节点之间的数据路径,并高亮该数据路径480,如图9所示。在一些示例方法中,高亮数据路径480,而淡化其他拓扑链路。可能有多个路径480,并且所有路径都可以如图9所示那样被高亮。
在一种示例方法中,网络分析系统240可以用于选择其他参数,诸如时间帧、或者底层或覆盖参数,并且基于所选参数在拓扑上绘制两个节点之间的路径。在图9所示的示例中,输入参数包括关于特定时间帧(例如,时间范围,被录入时间范围输入460)、源和目的地底层IP地址462、覆盖虚拟网络输入464中的源和目的地虚拟网络以及源和目的地覆盖IP地址466的信息。例如,可以通过经由时间范围输入460中的日期和时间输入框选择时间范围来可视化历史路径。图9中仅显示了与对应参数相匹配的业务。
图10是说明了根据本公开的一个或多个方面的用于在诸如图9所示的底层数据路径中显示路径参数的用户接口的概念图。如图10所示,在一些示例中,高亮的路径边缘上的工具提示示出了两个节点之间的业务详细信息。例如,在一种示例方法中,将光标放在高亮的数据路径之一上会导致出现度量显示窗口468。在图10所示的示例中,度量显示窗口468显示两个虚拟机228之间的业务量、路径上的总业务以及数据路径所占的总业务的百分比。在一种这样的示例方法中,所显示的业务反映了在通过光标触摸的数据路径的分段上测得的业务。在一种示例方法中,经由工具触摸示出的数据是可选择的参数。
在一些示例中,选项区域458(或用户接口400的一些其他区)可以包括图形,诸如图4中的图形430,或者提供关于一个或多个路径480上的利用率或业务的信息的其他指示符。在这样的示例中,这些图形可以与被录入到选项区域458内的输入字段460、462、464和460中的用户输入相关或可以响应于该用户输入而被生成。
图11是说明了根据本公开的一个或多个方面的在确定对应底层数据路径时用于在覆盖数据路径之间进行选择的示例用户接口的概念图。在图11所示的示例中,用户接口400列出了与选项区域558中所示的参数相匹配的前N条记录。
在图11中,用户接口400被呈现在显示窗口551内。图11中的用户接口400包括侧边栏区域554、主显示区域556和选项区域558。侧边栏区域554提供了在用户接口400内正在呈现哪种用户接口模式的指示,在图11的示例中,其对应于“结构”模式。其他模式在图11中示出,并且其他模式可能适用于其他网络分析场景。在主显示区域556的顶部上方是导航接口组件577,其可以用于选择要执行的网络分析的类型或模式。状态通知显示元件578可以提供关于用户的信息,或者可以提供与一个或多个网络、用户、元件或资源相关的其他状态信息。
主显示区域556呈现在被分析的网络内检测到的前N个覆盖数据流568的列表。在图11所示的示例方法中,可以使用查找路径选择器570来选择要可视化底层数据路径480的覆盖数据流。
在图11所示的示例中,选项区域558沿着用户接口400的右手侧提供了许多与覆盖数据流的分析相关的输入字段。在图11的示例方法中,可以在时间帧期间经由时间范围输入560来分析覆盖数据流。还可以通过诸如底层参数562中的网络设备、源接口或目的地接口之类的参数或通过覆盖参数564中的源虚拟网络、目的地虚拟网络、源IP或目的地IP来过滤覆盖数据流。将所产生的覆盖数据流显示为流记录568的列表。在一些示例方法中,要显示的记录数是可选择的,如选项区域558中所示。
在图11所示的示例中,向应用提供“查找路径”链路570,以用于查找和显示与给定覆盖记录568相关联的一个或多个底层数据路径。在一些示例中,上述技术用于查找和显示与给定记录568相关联的(多个)数据路径480。
对于本文描述的过程、装置和其他示例或说明,包括在任何流程图或流程示意图中,本文描述的任何技术中所包括的某些操作、动作、步骤或事件,可以按照不同的顺序执行,也可以被添加、合并或全部省去(例如,并非所有描述的动作或事件对于实践该技术都是必需的)。此外,在某些实施例中,例如,可以通过多线程处理、中断处理、或者多个处理器来并发地而不是顺序地执行操作、动作、步骤或者事件。即使未被明确标识为自动执行,其他某些操作、动作、步骤或事件也可以被自动执行。而且,被描述为自动执行的某些操作、动作、步骤或事件可以备选地不被自动执行,而是在一些示例中,可以响应于输入或另一事件而执行这样的操作、动作、步骤或事件。
为了便于说明,在本文所引用的附图和其他说明中仅示出了有限数量的设备(例如,用户接口设备129、脊设备202、叶设备203、主机设备210、网络分析系统240以及其他设备)。然而,可以用更多这样的系统、组件、设备、模块和/或其他项来执行根据本公开的一个或多个方面的技术,并且对这些系统、组件、设备、模块和/或其他项的集体引用可以表示任何数量的此类系统、组件、设备、模块和/或其他项。
本文所包括的附图各自说明了本公开的一方面的至少一种示例实现。然而,本公开的范围不限于这样的实现。因此,除了附图中所说明的以外,本文描述的系统、方法或技术的其他示例或备选实现在其他情况下可能都是适当的。这样的实现可以包括在附图中所包括的设备和/或组件的子集,和/或可以包括在附图中未示出的附加设备和/或组件。
以上阐述的详细描述旨在作为各种配置的描述,并且并不意图表示可以实践本文描述的概念的唯一配置。本详细描述包括具体细节,以便提供对各种概念的充分理解。然而,可以在没有这些具体细节的情况下实践这些概念。在一些实例中,在附图中以框图形式示出了公知的结构和组件,以避免使这些概念模糊。
因此,尽管可以参照特定附图描述各种系统、设备和/或组件的一种或多种实现,但是可以按照多种不同的方式来实现这样的系统、设备和/或组件。例如,本文附图(例如,图1和/或图2)中作为分离设备说明的一个或多个设备可以备选地被实现为单个设备;作为分离组件说明的一个或多个组件可以备选地被实现为单个组件。而且,在一些示例中,在本文附图中作为单个设备说明的一个或多个设备可以备选地被实现为多个设备;作为单个组件说明的一个或多个组件可以备选地被实现为多个组件。这样的多个设备和/或组件中的每一个可以经由有线或无线通信直接耦合和/或经由一个或多个网络远程耦合。而且,可以在本文的各个附图中说明的一个或多个设备或组件可以备选地被实现为在这样的附图中未示出的另一设备或组件的一部分。按照这种和其他方式,可以通过两个或更多个设备或组件的分布式处理来执行本文描述的一些功能。
此外,某些操作、技术、特征和/或功能在本文中可以被描述为由特定组件、设备和/或模块执行。在其他示例中,这样的操作、技术、特征和/或功能可以由不同的组件、设备或模块执行。因此,即使本文中没有以这种方式具体描述,但在本文中可以被描述为归因于一个或多个组件、设备或模块的一些操作、技术、特征和/或功能也可以在其他示例中归因于其他组件、设备和/或模块。
尽管已经结合一些示例的描述标识了特定的优点,但是各种其他示例可以包括一些、没有或所有所列举的优点。通过本公开,其他优点、技术等对于本领域普通技术人员而言可以变得明显。此外,尽管本文已经公开了特定的示例,但是可以使用任何数量的技术来实现本公开的各个方面,无论当前是否已知,并且因此,本公开不限于本公开中具体描述和/或说明的示例。
在一个或多个示例中,所描述的功能可以以硬件、软件、固件、或者它们的任何组合来实现。如果以软件来实现,那么可以将功能作为一个或者多个指令或者代码存储在计算机可读介质上或者通过计算机可读介质来传输并且由基于硬件的处理单元执行。计算机可读介质可以包括与诸如数据存储介质等有形介质相对应的计算机可读存储介质、或者包括支持将计算机程序从一个地方传递至另一地方(例如,依照通信协议)的任何介质的通信介质。按照这种方式,计算机可读介质通常可以与(1)非瞬态的有形计算机可读存储介质或者(2)诸如信号或者载波等通信介质相对应。数据存储介质可以是可以通过一个或者多个计算机或者一个或者多个处理器进行访问以检索用于实现在本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
例如,但不限于,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或者其他光盘存储装置、磁盘存储装置、或者其他磁存储装置、闪速存储器、或者可以用于以指令或者数据结构的形式存储期望的程序代码或者可以由计算机访问的任何其他介质。同样,将任何连接适当地称为计算机可读介质。例如,如果通过使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或者诸如红外、无线电、和微波等无线技术来从网站、服务器、或者其他远程源传送指令,那么同轴电缆、光纤电缆、双绞线、DSL、或者诸如红外、无线电、和微波等无线技术被包括在介质的定义中。然而,应该明白,计算机可读存储介质和数据存储介质不包括连接、载波、信号、或者其他瞬态介质,而是涉及非瞬态的有形存储介质。所使用的磁盘和光盘包括压缩式光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘利用激光光学地复制数据。上面的组合还应该被包括在计算机可读介质的范围内。
指令可以由一个或者多个处理器(诸如,一个或者多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或者其他等效的集成或者离散逻辑电路装置)执行。因此,本文所使用的术语“处理器”或“处理电路装置”可以分别指任何前述的结构或者适用于实现本文描述的技术的任何其他结构。另外,在一些示例中,可以将本文描述的功能性提供在专用的硬件模块和/或软件模块内。同样,可以在一个或者多个电路或者逻辑元件中充分地实现该技术。
本公开的技术可以被实现在各种设备或者装置中,包括无线手机、移动或非移动计算设备、可穿戴或不可穿戴计算设备、集成电路(IC)、或者一组IC(例如,芯片集)。在本公开中,将各种组件、模块、或者单元描述为用于强化被配置为执行所公开的技术的设备的功能方面,但并不一定需要通过不同的硬件单元来实现。相反,如上所述,结合合适的软件和/或固件,可以将各种单元组合在硬件单元中或者可以通过交互操作的硬件单元的集合(包括上文描述的一个或者多个处理器)来提供。

Claims (20)

1.一种方法,包括:
从具有底层网络和一个或多个覆盖网络的网络接收底层流数据,所述底层网络包括多个网络设备,所述底层流数据包括标识针对每个底层数据流的底层网络源、底层网络目的地、覆盖网络源和覆盖网络目的地的信息;
在数据存储库中存储以下信息:所述信息针对每个底层数据流标识覆盖网络以及相应底层数据流的所述底层网络源、所述底层网络目的地、所述覆盖网络源和所述覆盖网络目的地;
将所述底层网络的至少一部分的拓扑地图显示在显示器内;
通过所显示的所述拓扑地图来高亮数据路径,所高亮的数据路径通过所述底层网络从所述相应底层数据流的所述底层网络源延伸到所述相应底层数据流的所述底层网络目的地;
接收对与所高亮的所述数据路径相关联的度量的请求,其中接收请求包括经由图形用户接口接收选择所高亮的所述数据路径的至少一部分的指示;以及
靠近所高亮的所述数据路径显示与通过所高亮的所述数据路径的所选择的所述一部分的数据业务相关联的度量。
2.根据权利要求1所述的方法,其中高亮数据路径包括:接收底层网络源地址和底层网络目的地地址,确定所述底层网络源地址和所述底层网络目的地地址之间的底层数据路径,并且高亮所述底层数据路径。
3.根据权利要求1所述的方法,其中高亮数据路径包括:接收从覆盖数据流记录列表中选择的覆盖数据流,确定携带来自所选择的所述覆盖数据流的数据的一个或多个底层数据路径,并且高亮携带来自所选择的所述覆盖数据流的数据的所述一个或多个底层数据路径。
4.根据权利要求1-3中任一项所述的方法,其中高亮数据路径包括:
显示覆盖数据流记录列表;
在每个覆盖数据流记录旁边显示到底层数据路径查找应用的链接;
接收所述链接中的一个链接被选择的指示;
确定关联于所选择的所述链接的所述覆盖数据流记录;
确定携带与关联于所选择的所述链接的所述覆盖数据流记录相关联的数据的一个或多个底层数据路径;以及
高亮携带与关联于所选择的所述链接的所述覆盖数据流记录相关联的数据的所述一个或多个底层数据路径。
5.根据权利要求4所述的方法,其中从覆盖数据流记录上的列表选择覆盖数据流包括:确定针对所选择的所述覆盖数据流的覆盖网络源地址和覆盖网络目的地地址,并且标识将数据从所选择的所述覆盖数据流的所述覆盖网络源地址携带到所述覆盖网络目的地地址的一个或多个底层数据路径。
6.根据权利要求4所述的方法,其中高亮数据路径还包括:指定时间帧并且从在所述时间帧期间发生的覆盖数据流记录列表中选择覆盖数据流。
7.根据权利要求1-3中任一项所述的方法,其中高亮数据路径包括:指定时间帧,显示从所指定的所述时间帧开始的覆盖数据流记录列表,并且选择从所指定的所述时间帧开始的所述覆盖数据流记录列表中的所述覆盖数据流中的一个覆盖数据流。
8.根据权利要求1-3中任一项所述的方法,其中高亮数据路径包括:接收覆盖网络源地址和覆盖网络目的地地址,并且确定将数据从所述覆盖网络源地址携带到所述覆盖网络目的地地址的底层数据路径。
9.根据权利要求1-3中任一项所述的方法,其中显示度量包括:
生成视觉信息,所述视觉信息指示与通过所高亮的所述数据路径的所选择的所述一部分的数据业务相关联的业务级别;以及
将业务级别视觉信息显示在所述显示器上。
10.根据权利要求9所述的方法,其中生成视觉信息包括生成热图,所述热图说明与所高亮的所述数据路径的所选择的所述一部分相关联的所述业务级别。
11.根据权利要求10所述的方法,其中说明与所述一个或多个底层数据路径中的每个底层数据路径相关联的所述业务级别的所述热图是彩色的。
12.根据权利要求10所述的方法,其中说明与所述一个或多个底层数据路径中的每个底层数据路径相关联的所述业务级别的所述热图是灰度的。
13.根据权利要求1-3中任一项所述的方法,其中高亮数据路径包括:指定时间帧,并且标识处理了在所述时间帧期间的覆盖数据流中的至少一个分组的一个或多个网络设备。
14.根据权利要求1-3中任一项所述的方法,其中显示度量包括:
生成视觉信息,所述视觉信息指示与通过所高亮的所述数据路径的所选择的所述一部分的数据业务相关联的业务级别;以及
在度量显示窗口中,将业务级别视觉信息显示在所述显示器上。
15.根据权利要求1-3中任一项所述的方法,其中显示度量包括:
生成视觉信息,所述视觉信息指示与通过所高亮的所述数据路径的所选择的所述一部分的数据业务相关联的业务级别;以及
在靠近所高亮的所述数据路径的所选择的所述一部分放置的度量显示窗口中,将业务级别视觉信息显示在所述显示器上。
16.一种系统,包括:
网络,所述网络具有被配置在底层网络中的多个网络设备以及在所述网络设备上执行的一个或多个覆盖网络;以及
被连接到所述网络的处理电路装置,所述处理电路装置被配置为执行操作,所述操作包括:
从所述网络接收底层流数据,所述底层流数据包括标识针对每个底层数据流的底层网络源、底层网络目的地、覆盖网络源和覆盖网络目的地的信息;
将所述底层网络的至少一部分的拓扑地图显示在显示器内;
通过所显示的所述拓扑地图来高亮数据路径,所述数据路径通过所述底层网络从底层网络源地址延伸到底层网络目的地地址;
接收对与所高亮的所述数据路径相关联的度量的请求,其中接收请求包括经由图形用户接口接收选择所高亮的所述数据路径的至少一部分的信息;以及
靠近所高亮的所述数据路径显示与通过所高亮的所述数据路径的所选择的所述一部分的数据业务相关联的度量。
17.根据权利要求16所述的系统,其中包括高亮数据路径的所述操作包括:
接收底层网络源地址和底层网络目的地地址;
确定所接收的所述底层网络源地址和所接收的所述底层网络目的地地址之间的底层数据路径;以及
高亮所述底层数据路径。
18.根据权利要求16所述的系统,其中包括高亮数据路径的所述操作包括:
显示覆盖数据流记录列表;
在每个覆盖数据流记录旁边显示到底层数据路径查找应用的链接;
接收所述链接中的一个链接被选择的指示;
确定关联于所选择的所述链接的所述覆盖数据流记录;
确定携带与关联于所选择的所述链接的所述覆盖数据流记录相关联的数据的一个或多个底层数据路径;以及
高亮携带与关联于所选择的所述链接的所述覆盖数据流记录相关联的数据的所述一个或多个底层数据路径。
19.根据权利要求16-18中任一项所述的系统,其中包括显示度量的所述操作包括:
生成视觉信息,所述视觉信息指示与通过所高亮的所述数据路径的所选择的所述部分的数据业务相关联的业务级别;以及
在度量显示窗口中,将业务级别视觉信息显示在所述显示器上。
20.一种编码有指令的计算机可读存储介质,所述指令用于使一个或者多个可编程处理器执行根据权利要求1-15中任一项所述的方法。
CN202011041170.6A 2020-07-07 2020-09-28 用于确定覆盖网络中的数据流路径的系统和方法 Active CN113973079B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/922,963 US11444855B2 (en) 2020-07-07 2020-07-07 System and method for determining a data flow path in an overlay network
US16/922,963 2020-07-07

Publications (2)

Publication Number Publication Date
CN113973079A true CN113973079A (zh) 2022-01-25
CN113973079B CN113973079B (zh) 2023-05-09

Family

ID=72665169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011041170.6A Active CN113973079B (zh) 2020-07-07 2020-09-28 用于确定覆盖网络中的数据流路径的系统和方法

Country Status (3)

Country Link
US (3) US11444855B2 (zh)
EP (1) EP3937429A1 (zh)
CN (1) CN113973079B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115001988A (zh) * 2022-05-20 2022-09-02 东北大学 一种基于跨链的多公有链网络中的实体分析方法
CN115116218A (zh) * 2022-05-31 2022-09-27 济南瑞源智能城市开发有限公司 一种隧道云管控云平台中的信息展示系统及方法
CN115242704A (zh) * 2022-06-22 2022-10-25 中国电信股份有限公司 网络拓扑数据更新方法、装置和电子设备
CN117407578A (zh) * 2023-12-15 2024-01-16 南京飓风引擎信息技术有限公司 一种去中心化的云资源数据检索系统及方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11650837B2 (en) * 2019-04-26 2023-05-16 Hewlett Packard Enterprise Development Lp Location-based virtualization workload placement
US11283699B2 (en) 2020-01-17 2022-03-22 Vmware, Inc. Practical overlay network latency measurement in datacenter
US11444855B2 (en) * 2020-07-07 2022-09-13 Juniper Networks, Inc. System and method for determining a data flow path in an overlay network
US11570090B2 (en) 2020-07-29 2023-01-31 Vmware, Inc. Flow tracing operation in container cluster
US11736436B2 (en) 2020-12-31 2023-08-22 Vmware, Inc. Identifying routes with indirect addressing in a datacenter
US11336533B1 (en) 2021-01-08 2022-05-17 Vmware, Inc. Network visualization of correlations between logical elements and associated physical elements
USD1036458S1 (en) * 2021-05-11 2024-07-23 Roche Molecular Systems, Inc. Display screen or portion thereof with graphical user interface for patient pathway reconstruction and aggregation
US11687210B2 (en) 2021-07-05 2023-06-27 Vmware, Inc. Criteria-based expansion of group nodes in a network topology visualization
US11711278B2 (en) 2021-07-24 2023-07-25 Vmware, Inc. Visualization of flow trace operation across multiple sites
USD1036460S1 (en) * 2021-08-03 2024-07-23 Yext, Inc. Electronic device display or portion thereof with a graphical user interface
US11677645B2 (en) 2021-09-17 2023-06-13 Vmware, Inc. Traffic monitoring
JP1723478S (ja) * 2021-10-26 2022-08-30 シミュレーション情報表示用画像
JP1723479S (ja) * 2021-10-26 2022-08-30 シミュレーション情報表示用画像
US11895005B1 (en) * 2022-12-02 2024-02-06 Arista Networks, Inc. Network devices with hardware accelerated table updates

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794651A (zh) * 2004-12-23 2006-06-28 国际商业机器公司 用于通信网络中问题解决的系统和方法
CN101141401A (zh) * 2007-09-29 2008-03-12 清华大学 服务承载网中路由抖动的抑制方法
CN101310486A (zh) * 2005-11-14 2008-11-19 思科技术公司 用于在宽带接入网络中插入因特网协议服务的技术
CN102271084A (zh) * 2011-07-13 2011-12-07 深圳市极限网络科技有限公司 定位网络主机通讯路径技术
CN102801618A (zh) * 2012-08-07 2012-11-28 杭州华三通信技术有限公司 一种在以太环网中确定三层数据路径的方法及装置
CN103501280A (zh) * 2013-09-12 2014-01-08 电子科技大学 一种多层虚拟覆盖网络接入方法
CN104685838A (zh) * 2012-10-05 2015-06-03 华为技术有限公司 利用服务特定拓扑抽象和接口的软件定义网络虚拟化
US20150256413A1 (en) * 2014-03-06 2015-09-10 Sideband Networks Inc. Network system with live topology mechanism and method of operation thereof
CN105430037A (zh) * 2014-09-16 2016-03-23 福特全球技术公司 车辆内部的远程信息处理数据访问
US20160105471A1 (en) * 2014-10-14 2016-04-14 Midokura Sarl System and method for distributed flow state p2p setup in virtual networks
US20160119417A1 (en) * 2014-10-26 2016-04-28 Microsoft Technology Licensing, Llc Method for virtual machine migration in computer networks
CN105915407A (zh) * 2016-04-13 2016-08-31 重庆邮电大学 一种基于sdn的流量发生器虚拟化实现系统及方法
CN107077372A (zh) * 2014-10-26 2017-08-18 微软技术许可有限责任公司 使用基于标记的底层网络转发的虚拟覆盖移动性
CN107094090A (zh) * 2012-06-06 2017-08-25 瞻博网络公司 针对虚拟网络分组流的物理路径确定
US20180219765A1 (en) * 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US20180329794A1 (en) * 2017-05-09 2018-11-15 Cisco Technology, Inc. Visualization of mapping between network overlay and underlay
WO2019135249A1 (en) * 2018-01-05 2019-07-11 Telefonaktiebolaget Lm Ericsson (Publ) Data center failure management in an sdn deployment using border gateway node control
US10547521B1 (en) * 2017-03-29 2020-01-28 Juniper Networks, Inc. Network dashboard with multifaceted utilization visualizations
CN110851549A (zh) * 2019-10-21 2020-02-28 国网安徽省电力有限公司安庆供电公司 基于gis和电网拓扑的停电范围可视化方法
CN111225031A (zh) * 2019-12-17 2020-06-02 长沙星融元数据技术有限公司 云数据中心虚拟底层网络架构及其数据传输方法

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010469B2 (en) 2000-09-25 2011-08-30 Crossbeam Systems, Inc. Systems and methods for processing data flows
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US20090168648A1 (en) 2007-12-29 2009-07-02 Arbor Networks, Inc. Method and System for Annotating Network Flow Information
US9298815B2 (en) * 2008-02-22 2016-03-29 Accenture Global Services Limited System for providing an interface for collaborative innovation
US20120026914A1 (en) 2010-07-28 2012-02-02 Swapnesh Banerjee Analyzing Network Activity by Presenting Topology Information with Application Traffic Quantity
US20130212507A1 (en) 2010-10-11 2013-08-15 Teachscape, Inc. Methods and systems for aligning items of evidence to an evaluation framework
US8977979B2 (en) * 2010-12-06 2015-03-10 International Business Machines Corporation Social network relationship mapping
JP5817374B2 (ja) * 2011-09-16 2015-11-18 株式会社リコー 画像処理装置、画像処理方法およびプログラム
US9898317B2 (en) 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
USD743412S1 (en) * 2012-09-06 2015-11-17 Abbyy Infopoisk Llc Display screen or portion thereof with graphical user interface
USD715313S1 (en) * 2013-04-01 2014-10-14 Track180, Inc. Display screen with graphical user interface
US9246773B2 (en) 2013-07-30 2016-01-26 Draios Inc. System, method, and graphical user interface for application topology mapping in hosted computing environments
US20150058179A1 (en) * 2013-08-26 2015-02-26 Prediggo SA Method and a system for displaying a plurality of items within a graphical interface
USD766948S1 (en) * 2013-10-30 2016-09-20 Ge Healthcare Bio-Sciences Ab Display screen with graphical user interface for a filtration system
US8943441B1 (en) * 2014-01-24 2015-01-27 Storagecraft Technology Corporation Graphical user interface relationship graph for displaying relationships between image backup files in a backup job
USD759076S1 (en) * 2014-04-18 2016-06-14 Nutonian, Inc. Display screen with graphical user interface
US9971489B2 (en) 2014-05-15 2018-05-15 Dreamworks Animation L.L.C. Computer-based training using a graphical user interface
USD781302S1 (en) * 2014-10-31 2017-03-14 Dell Products L.P. Display screen with graphical user interface for an information handling system
US20210264523A1 (en) * 2015-01-20 2021-08-26 State Farm Mutual Automobile Insurance Company System and Method for Presenting Insurance Data in an Interactive Pictorial User-Interface
US9838316B2 (en) 2015-03-05 2017-12-05 Juniper Networks, Inc. Overload functionality in overlay networks
USD826257S1 (en) * 2016-08-31 2018-08-21 Altisource S.À R.L. Display screen or portion therefor with graphical user interface
USD810121S1 (en) 2015-12-15 2018-02-13 Domo, Inc. Display screen or portion thereof with a graphical user interface
USD801390S1 (en) * 2015-12-24 2017-10-31 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional icon
US9960954B2 (en) 2016-03-29 2018-05-01 Wipro Limited Methods and systems to improve correlation between overlay and underlay networks in data centers
USD787556S1 (en) * 2016-04-01 2017-05-23 Google Inc. Display screen or portion thereof with icon
US11888884B2 (en) 2016-12-29 2024-01-30 Bce Inc. Cyber threat intelligence system infrastructure
US20200021514A1 (en) 2017-01-31 2020-01-16 The Mode Group High performance software-defined core network
USD820297S1 (en) 2017-02-03 2018-06-12 Akamai Technologies, Inc. Display screen or portion thereof with graphical user interface
US10868742B2 (en) 2017-03-29 2020-12-15 Juniper Networks, Inc. Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
US10291497B2 (en) 2017-03-31 2019-05-14 Juniper Networks, Inc. Session-based traffic statistics logging for virtual routers
USD834039S1 (en) * 2017-04-12 2018-11-20 Palantir Technologies, Inc. Display screen or portion thereof with graphical user interface
USD839298S1 (en) 2017-04-19 2019-01-29 Palantir Technologies Inc. Display screen or portion thereof with graphical user interface
JP1596805S (zh) * 2017-04-27 2018-02-05
US10536362B2 (en) 2017-08-18 2020-01-14 Nicira, Inc. Configuring traffic flow monitoring in virtualized computing environments
US10476912B2 (en) * 2017-09-18 2019-11-12 Veracity Security Intelligence, Inc. Creating, visualizing, and simulating a threat based whitelisting security policy and security zones for networks
US11729043B2 (en) * 2017-10-06 2023-08-15 Cisco Technology, Inc. Traffic outage detection in the internet
WO2019082194A1 (en) 2017-10-27 2019-05-02 Telefonaktiebolaget Lm Ericsson (Publ) OPTIMIZED DATA PATH TROUBLESHOOTING USING A TRACE POLICY ENGINE
USD872121S1 (en) 2017-11-14 2020-01-07 Palantir Technologies, Inc. Display screen or portion thereof with transitional graphical user interface
USD883997S1 (en) * 2018-02-12 2020-05-12 Palantir Technologies, Inc. Display screen or portion thereof with transitional graphical user interface
US11658909B2 (en) 2018-04-10 2023-05-23 Kentik Technologies, Inc. Analyzing network traffic by enriching inbound network flows with exit data
US10728121B1 (en) * 2018-05-23 2020-07-28 Juniper Networks, Inc. Dashboard for graphic display of computer network topology
USD902229S1 (en) 2018-05-23 2020-11-17 Juniper Networks, Inc. Display screen or portions thereof with a graphical user interface
US10862804B2 (en) 2018-10-09 2020-12-08 Colotokens Inc. Redirecting data packets between overlay network and underlay network
CN113348645B (zh) 2018-11-27 2024-02-27 萨瑟尔公司 数据流分类的系统和方法
US10944652B2 (en) 2019-05-16 2021-03-09 Arista Networks, Inc. Method and network device for tagging network traffic flows
US10924419B1 (en) 2019-08-15 2021-02-16 Juniper Networks, Inc. Underlay-overlay correlation
US11888738B2 (en) 2019-08-15 2024-01-30 Juniper Networks, Inc. System and method for determining a data flow path in an overlay network
USD916828S1 (en) * 2019-08-16 2021-04-20 Fevo, Inc. Display screen with a graphical user interface
USD916831S1 (en) 2019-08-16 2021-04-20 Fevo, Inc. Display screen with a graphical user interface
US11283695B2 (en) * 2020-04-21 2022-03-22 Aviatrix Systems, Inc. System and method for determination of network operation metrics and generation of network operation metrics visualizations
US20210409294A1 (en) 2020-06-30 2021-12-30 Juniper Networks, Inc. Application flow monitoring
US11277315B2 (en) * 2020-07-02 2022-03-15 Juniper Networks, Inc. Dashboard for display of state information in a graphic representation of network topology
US11444855B2 (en) * 2020-07-07 2022-09-13 Juniper Networks, Inc. System and method for determining a data flow path in an overlay network

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794651A (zh) * 2004-12-23 2006-06-28 国际商业机器公司 用于通信网络中问题解决的系统和方法
CN101310486A (zh) * 2005-11-14 2008-11-19 思科技术公司 用于在宽带接入网络中插入因特网协议服务的技术
CN101141401A (zh) * 2007-09-29 2008-03-12 清华大学 服务承载网中路由抖动的抑制方法
CN102271084A (zh) * 2011-07-13 2011-12-07 深圳市极限网络科技有限公司 定位网络主机通讯路径技术
CN107094090A (zh) * 2012-06-06 2017-08-25 瞻博网络公司 针对虚拟网络分组流的物理路径确定
CN102801618A (zh) * 2012-08-07 2012-11-28 杭州华三通信技术有限公司 一种在以太环网中确定三层数据路径的方法及装置
CN104685838A (zh) * 2012-10-05 2015-06-03 华为技术有限公司 利用服务特定拓扑抽象和接口的软件定义网络虚拟化
CN103501280A (zh) * 2013-09-12 2014-01-08 电子科技大学 一种多层虚拟覆盖网络接入方法
US20150256413A1 (en) * 2014-03-06 2015-09-10 Sideband Networks Inc. Network system with live topology mechanism and method of operation thereof
CN105430037A (zh) * 2014-09-16 2016-03-23 福特全球技术公司 车辆内部的远程信息处理数据访问
US20160105471A1 (en) * 2014-10-14 2016-04-14 Midokura Sarl System and method for distributed flow state p2p setup in virtual networks
US20160119417A1 (en) * 2014-10-26 2016-04-28 Microsoft Technology Licensing, Llc Method for virtual machine migration in computer networks
CN107077372A (zh) * 2014-10-26 2017-08-18 微软技术许可有限责任公司 使用基于标记的底层网络转发的虚拟覆盖移动性
CN105915407A (zh) * 2016-04-13 2016-08-31 重庆邮电大学 一种基于sdn的流量发生器虚拟化实现系统及方法
US20180219765A1 (en) * 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US10547521B1 (en) * 2017-03-29 2020-01-28 Juniper Networks, Inc. Network dashboard with multifaceted utilization visualizations
US20180329794A1 (en) * 2017-05-09 2018-11-15 Cisco Technology, Inc. Visualization of mapping between network overlay and underlay
WO2019135249A1 (en) * 2018-01-05 2019-07-11 Telefonaktiebolaget Lm Ericsson (Publ) Data center failure management in an sdn deployment using border gateway node control
CN110851549A (zh) * 2019-10-21 2020-02-28 国网安徽省电力有限公司安庆供电公司 基于gis和电网拓扑的停电范围可视化方法
CN111225031A (zh) * 2019-12-17 2020-06-02 长沙星融元数据技术有限公司 云数据中心虚拟底层网络架构及其数据传输方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张丽;吴志强;曲攀;: "无线自组织覆盖网络协同单播路由算法" *
陈鹏等: "网络层数据传输新方式研究", 《计算机应用》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115001988A (zh) * 2022-05-20 2022-09-02 东北大学 一种基于跨链的多公有链网络中的实体分析方法
CN115001988B (zh) * 2022-05-20 2023-09-26 东北大学 一种基于跨链的多公有链网络中的实体分析方法
CN115116218A (zh) * 2022-05-31 2022-09-27 济南瑞源智能城市开发有限公司 一种隧道云管控云平台中的信息展示系统及方法
CN115116218B (zh) * 2022-05-31 2024-05-24 济南瑞源智能城市开发有限公司 一种隧道云管控云平台中的信息展示系统及方法
CN115242704A (zh) * 2022-06-22 2022-10-25 中国电信股份有限公司 网络拓扑数据更新方法、装置和电子设备
CN115242704B (zh) * 2022-06-22 2023-08-11 中国电信股份有限公司 网络拓扑数据更新方法、装置和电子设备
CN117407578A (zh) * 2023-12-15 2024-01-16 南京飓风引擎信息技术有限公司 一种去中心化的云资源数据检索系统及方法
CN117407578B (zh) * 2023-12-15 2024-02-23 南京飓风引擎信息技术有限公司 一种去中心化的云资源数据检索系统及方法

Also Published As

Publication number Publication date
EP3937429A1 (en) 2022-01-12
USD1018571S1 (en) 2024-03-19
USD980845S1 (en) 2023-03-14
US11444855B2 (en) 2022-09-13
CN113973079B (zh) 2023-05-09
US20220014451A1 (en) 2022-01-13

Similar Documents

Publication Publication Date Title
CN113973079B (zh) 用于确定覆盖网络中的数据流路径的系统和方法
CN112398717B (zh) 用于在覆盖网络中确定数据流路径的系统和方法
EP3780502B1 (en) Underlay-overlay correlation
US11558426B2 (en) Connection tracking for container cluster
US10523541B2 (en) Federated network and application data analytics platform
US11196628B1 (en) Monitoring container clusters
US11451450B2 (en) Scalable control plane for telemetry data collection within a distributed computing system
US20190123983A1 (en) Data integration and user application framework
CN113867884B (zh) 用于计算机网络的方法和系统及存储介质
EP3944081A1 (en) Data center resource monitoring with managed message load balancing with reordering consideration
EP3934176A1 (en) Application flow monitoring
EP4142243A1 (en) Adaptive flow monitoring
US11336502B2 (en) Deriving network device and host connection

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