CN108696402A - 虚拟路由器的基于会话的业务统计记录 - Google Patents

虚拟路由器的基于会话的业务统计记录 Download PDF

Info

Publication number
CN108696402A
CN108696402A CN201810167632.5A CN201810167632A CN108696402A CN 108696402 A CN108696402 A CN 108696402A CN 201810167632 A CN201810167632 A CN 201810167632A CN 108696402 A CN108696402 A CN 108696402A
Authority
CN
China
Prior art keywords
stream
business
network
statistics
business stream
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
CN201810167632.5A
Other languages
English (en)
Other versions
CN108696402B (zh
Inventor
阿尼什·梅赫塔
阿尔温德·巴塔拉贡杜·维斯瓦纳坦
梅格·P·巴特
阿肖克·辛格·R
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.)
Jungle Network
Original Assignee
Jungle Network
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 Jungle Network filed Critical Jungle Network
Publication of CN108696402A publication Critical patent/CN108696402A/zh
Application granted granted Critical
Publication of CN108696402B publication Critical patent/CN108696402B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets
    • 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
    • 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
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Optimization (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了虚拟路由器的基于会话的业务统计记录。公开了基于会话的业务统计的技术。在示例性方法中,云数据中心的虚拟路由器处理在云数据中心内的服务器上执行的虚拟机的业务流以生成业务流统计。业务流包括源自虚拟机并且去往云数据中心的网络的入口业务流以及源自云数据中心的网络并且去往虚拟机的出口业务流。虚拟路由代理处理业务流统计以识别对应于公共通信会话的多对入口业务流和出口业务流。虚拟路由代理针对所识别的每对入口和出口业务流,生成包括成对的入口和出口业务流中的每一个的业务会话统计的会话记录,并且将会话记录上传至网络的业务收集器。

Description

虚拟路由器的基于会话的业务统计记录
技术领域
本公开内容总体上涉及计算机网络,并且具体地,涉及收集并且记录计算机网络内的业务流统计。
背景技术
通常,网络分析器是用于对网络中的业务流进行采样的设备。例如,网络分析器可以从网络获取数据,并且生成指示网络中的业务流的业务流统计。网络分析器可以本地存储业务流统计,但是更普通地,网络分析器将业务流统计传送至网络管理员可以用来检查通过整个网络的业务流的另一网络设备(称为包流收集器)。具体地,网络分析器生成包括针对所采样网络的各个包流的累积的统计(即,业务流信息)的业务流包。在许多网络环境中,业务流收集器可以经由从各个网络位置发送的业务流包接收业务流信息。因此,网络管理员可以使用包流收集器分析全网业务流。
传统网络分析器包括从在网络中的路由器或其他设备之间发送的数据包中提取业务流信息的专用计算机。此外,网络路由器、交换机、集线器、或者其他设备可以包括业务分析功能以基于出现通过设备的业务流生成业务流包。但不论是哪种情况,网络分析器通常计算业务流信息,并且生成业务流包以将业务流信息传送至包流收集器。通过网络分析器生成并且包含于业务流包中的信息可以用于改善网络规划、流量工程、网络监视、基于使用的计费等等。此外,包含于业务流包中的信息可以用于识别拒绝服务(DoS)攻击或者与网络安全有关的其他网络事件。
传统网络分析器对网络进行采样并且计算一段时间内的业务流信息,并且然后将大量收集的业务流包发送至包流收集器。例如,网络分析器可以将流统计累积到数据库或其他数据结构中,并且当限定的时段期满时或者当收集了限定的数据量时,发送突发业务流包中的全部流信息。该突发业务流包可以消耗大量的网络带宽,并且可能过载或以另外的方式使数据包流收集器负重。这些效果在具有多个网络分析器的网络环境中可能更显著。
发明内容
通常,本公开描述了对网络流和业务统计执行基于会话的监控和记录的技术。如本文中描述的,在云数据中心的主机内操作的转发组件的虚拟路由器执行云数据中心的一个或多个虚拟网络功能的路由服务,诸如,在网络业务的源与目的地之间转发网络业务。虚拟路由器处理由虚拟路由器转发的网络业务的入口流和出口流两者以生成网络流统计。网络流统计可以包括诸如带宽消耗、业务路由和路径以及应用使用的度量。
虚拟路由器将网络流统计传送至在主机上执行的并且与虚拟路由器相关联的转发组件的虚拟路由(VR)代理。转发组件的VR代理处理入口流和出口流以识别对应于虚拟网络功能之间的公共通信会话的多个成对的入口流和出口流。对于所识别的每对,VR代理生成由虚拟路由器转发的网络业务的业务统计的基于会话的记录。VR代理将基于会话的记录上传至云数据中心的软件定义网络(SDN)控制器的业务收集器。业务收集器从多个VR代理接收基于会话的记录并且将这些基于会话的记录存储在分析数据库中以供云数据中心的管理员使用。管理员可以使用这种度量以协助检测并且诊断云数据中心的网络性能问题。
这种技术在虚拟环境中可能特别有用,在虚拟环境中,例如,虚拟路由器可以部署在每个物理主机上。例如,如本文中描述的这种系统可能需要很少的索引表来存储网络流统计和业务监控信息,并且因此与基于每个流记录业务统计的系统相比需要较少的写入操作来记录每个网络会话的业务统计。因此,与基于每个流单独执行业务统计的情况相比,对网络流和业务统计执行基于会话的监控和记录的这种系统可以更高效且更迅速地操作。
在一个实例中,本公开内容描述了一种方法,包括:由在云数据中心内的服务器的处理器上执行的虚拟路由器处理在云数据中心内的服务器上执行的一个或多个虚拟机的多个业务流以生成业务流统计,其中,所述多个业务流包括:多个入口业务流,源自一个或多个虚拟机并且去往云数据中心的网络;以及多个出口业务流,源自云数据中心的网络并且去往一个或多个虚拟机;处理业务流统计以识别对应于一个或多个虚拟机的公共通信会话的多对多个入口业务流和多个出口业务流;针对所识别的多对多个入口业务流和多个出口业务流中的每一对生成会话记录,会话记录包括成对的多个入口业务流中相应的一个和多个出口业务流中相应的一个的业务会话统计;以及将会话记录上传至云数据中心的网络的业务收集器。
在另一实例中,本公开内容描述了一种方法,包括:由云数据中心的网络的业务收集器从在云数据中心内的服务器的处理器上执行的虚拟路由代理接收会话记录,该会话记录包括对应于一个或多个虚拟机的公共通信会话的多对业务流的业务会话统计,并且其中会话记录的多对业务流中的每一对的业务会话统计包括源自一个或多个虚拟机并且去往云数据中心的网络的入口业务流的业务会话统计以及源自云数据中心的网络并且去往一个或多个虚拟机的出口业务流的业务会话统计;并且由业务收集器将会话记录存储在分析数据库中。
在另一实例中,本公开内容描述了在云数据中心内的服务器的处理器上执行的转发组件,被配置为:由转发组件的虚拟路由器处理在云数据中心内的服务器上执行的一个或多个虚拟机的多个业务流以生成业务流统计,其中,多个业务流包括:多个入口业务流,源自一个或多个虚拟机并且去往云数据中心的网络;以及多个出口业务流,源自云数据中心的网络并且去往一个或多个虚拟机;处理业务流统计以识别对应于一个或多个虚拟机的公共通信会话的多对多个入口业务流和多个出口业务流;针对所识别的多对多个入口业务流和多个出口业务流对中的每一对生成会话记录,会话记录包括成对的多个入口业务流中相应的一个和多个出口业务流中相应的一个的业务会话统计;以及将会话记录上传至云数据中心的网络的业务收集器。
在另一实例中,本公开内容描述了一种云数据中心的网络的业务收集器,被配置为:从在云数据中心内的服务器的处理器上执行的转发组件接收会话记录,会话记录包括对应于一个或多个虚拟机的公共通信会话的多对业务流的业务会话统计,并且其中会话记录的多对业务流中的每一对的业务会话统计包括源自一个或多个虚拟机并且去往云数据中心的网络的入口业务流的业务会话统计以及源自云数据中心的网络并且去往一个或多个虚拟机的出口业务流的业务会话统计;并且将会话记录存储在分析数据库中。
在附图和下面的描述中阐述了本公开的一个或多个实例的细节。这些技术的其他特征、目的和优点将通过说明书和附图以及通过权利要求书变得显而易见。
附图说明
图1是示出了具有数据中心的示例性网络的框图,在该示例性网络中可以实现本文中描述的用于对网络流和业务统计执行基于会话的监控和记录的技术的实例。
图2是更详细地示出了图1的数据中心的示例性实施方式的框图。
图3是示出了用于对虚拟路由器之间的业务流执行基于会话的监控和记录的示例性系统的框图。
图4是示出了根据本公开的技术对业务执行基于会话的监控和记录的示例性操作的流程图。
图5是根据本公开的技术的用于存储基于会话的业务统计的数据库的示例性源索引表的框图。
图6是根据本公开的技术的用于存储基于会话的业务统计的数据库的示例性目的地索引表的框图。
图7A-图7B是根据本公开的技术的用于存储基于会话的业务统计的数据库的示例性源索引表和示例性目的地索引表的框图。
图8是示出用于查询用于基于会话的业务统计记录的数据库的操作的示例性流程图。
贯穿附图和说明书,相似的参考字符指示相似元件。
具体实施方式
图1是示出了具有数据中心10的示例性网络5的框图,在该示例性网络中,可以实现本文中描述的用于对网络流和业务统计执行基于会话的监控和记录的技术的实例。
通常,数据中心10通过服务提供商网络6为耦接到数据中心10的客户4提供应用和服务的操作环境。数据中心10托管有基础设施设备,诸如,网络和存储系统、冗余电源、以及环境控制。在一些实例中,数据中心10包括经由通过一个或者多个层的物理网络交换机和路由器提供的高速交换架构而互连的存储系统和应用服务器的集群。在更复杂的实例中,数据中心10利用位于各种物理托管设施中的订户支持设备提供遍及世界的基础设施。服务提供商网络6可以耦接到由其他提供商管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施(例如,因特网)的一部分。
在一些实例中,数据中心10可以表示许多地理分布的网络数据中心之一。如在图1的实例中示出的,数据中心10是为客户4提供网络服务的设施。客户4可以是总称的实体,诸如,企业和政府或个人。例如,网络数据中心可以托管几个企业和终端用户的网络服务。其他示例性服务可以包括数据存储、虚拟专用网络、流量工程、文件服务、数据挖掘、科学计算或超级计算等等。在一些实例中,数据中心10是单独的网络服务器、网络对等端或其他。
在该实例中,数据中心10包括经由通过一个或者多个层的物理网络交换机和路由器提供的高速交换架构21而互连的一组存储系统和应用服务器。服务器26起数据中心的计算节点的作用。在一些实例中,术语“计算节点”和“服务器”可互换使用,本文中指的是服务器26。例如,服务器26中的每一个可以提供用于执行一个或多个客户专用虚拟机的操作环境(图1中的“VM”)。交换架构21是由耦接到分发层机箱(chassis)交换机22A-22M(统称“机箱交换机22”)的一组互连的架顶式(TOR)交换机24A-24N(统称“TOR交换机24”)提供的。尽管未示出,例如,,数据中心10还可以包括一个或多个非边缘交换机、路由器、集线器、网关、安全设备(诸如,防火墙、入侵检测和/或入侵防御设备)、服务器、计算机终端、膝上型计算机、打印机、数据库、诸如蜂窝电话或个人数字助理的无线移动设备、无线接入点、网桥、电缆调制解调器、应用加速器或其它网络设备。
在该实例中,TOR交换机24和机箱交换机22为服务器26提供到IP 架构20的冗余(多宿主)连接。机箱交换机22聚合业务流并且在TOR 交换机24之间提供高速连接。TOR交换机24是提供第二层(例如,MAC) 和/或第3层(例如,IP)路由和/或交换功能的网络设备。TOR交换机24 和机箱交换机22各自包括能够执行一个或多个软件进程的一个或多个处理器和存储器。机箱交换机22耦接到IP结构20,IP结构执行第3层路由以通过服务提供商网络6在数据中心10与客户4之间路由网络流量。软件定义网络(“SDN”)网关8用于转发并且接收IP结构20与服务提供商网络6之间的数据包。软件定义网络(SDN)平台可以用在数据中心10中以控制并且管理网络行为。在一些情况下,SDN平台包括逻辑上集中式但物理上分布式的SDN控制器(诸如,SDN控制器32)和虚拟路由器形式的分布式转发平面,虚拟路由器将网络从数据中心交换架构中的物理路由器和交换机延伸到宿主于虚拟服务器中的虚拟覆盖网络中。
SDN控制器32提供虚拟化网络的管理、控制、以及分析功能并且编制虚拟路由器。换言之,根据本公开的一个或多个实例,SDN控制器32 提供逻辑上并且在一些情况下物理上集中式控制器以便于数据中心10中的一个或多个虚拟网络的操作。贯穿本公开,术语“SDN控制器”和“虚拟网络控制器(“VNC”)”可以互换使用。在一些实例中,SDN控制器32 响应于经由北向应用编程接口(API)31从编制引擎30接收的配置输入进行操作,进而响应于从管理员28接收的配置输入操作。在于2013年6 月5日提交的题为PHYSICAL PATHDETERMINATION FOR VIRTUAL NETWORK PACKET FLOWS的国际申请号PCT/US2013/044378中记载了有关结合数据中心10的其他设备或者其他软件定义网络操作的SDN控制器32的附加信息,其全部内容通过引证结合于本文中。
在一些实例中,编制引擎30管理数据中心10的功能,诸如,计算、存储、网络、以及应用资源。例如,编制引擎30可以为数据中心10内或者跨越整个数据中心的租户创建虚拟网络。编制引擎30可以将虚拟机 (VM)附接到租户的虚拟网络。编制引擎30可以将租户的虚拟网络连接至一些外部网络,例如,互联网或VPN。编制引擎30可以跨越一组VM 或者租户的网络的边界实现安全策略。编制引擎30可以在租户的虚拟网络中部署网络服务(例如,负载平衡器)。
在一些实例中,SDN控制器32管理网络以及网络服务(诸如,这种负载均衡、安全)并且经由南向API 33将资源从服务器26分配给各种应用。即,南向API 33表示SDN控制器32用以使网络的实际状态等于编制引擎30规定的期望状态的一组通信协议。例如,一个这种通信协议可以包括消息传送通信协议(诸如,XMPP)。例如,SDN控制器32通过配置物理交换机(例如,TOR交换机24、机箱交换机22和交换架构21)、物理路由器、物理服务节点(诸如,防火墙和负载平衡器)、以及虚拟服务(诸如,VM中的虚拟防火墙),实现来自编制引擎30的高级请求。SDN 控制器32维护状态数据库内的路由、联网、以及配置信息。SDN控制器 32将路由信息和配置信息的合适的子集从状态数据库传送至服务器 26A-26X中的每一个上的虚拟路由器(图1中的“VR”)代理26A-26X。
通常,例如,任何两个网络设备之间(诸如,IP架构20(未示出) 内的网络设备之间或者服务器26与客户4之间或者服务器26之间)的业务可以使用许多不同的路径经过物理网络。例如,两个网络设备之间存在几个不同相等成本路径。在一些情况下,属于从一个网络设备到另一个网络设备的网络业务的数据包可以使用称为在每个网络交换节点的多路径路由的路由策略分布于各种可能的路径。例如,互联网工程任务组(IETF) RFC 2992“Analysis of an Equal-Cost Multi-Path Algorithm,”描述了沿着多个相等成本路径路由数据包的路由技术。RFC 2992的技术分析一个特定多路径路由策略,其涉及通过散列包报头字段将流分配到接收器(bin,库),一个特定多路径路由策略经由单个确定路径发送源自特定网络流的所有的数据包。
例如,“流”可以由数据包的报头中使用的五个值或“五元组”来定义,即用于通过物理网络路由数据包的协议、源IP地址、目的地IP地址、源端口、以及目的地端口。例如,协议指定通信协议,诸如,TCP或UDP,并且源端口和目的地端口是指连接的源和目的地端口。匹配特定流条目的一个或多个数据包数据单元(PDU)的集合表示流。可以使用PDU的任何参数对流进行广泛分类,诸如,源及目的地数据链路(例如,MAC)和网络(例如,IP)地址、虚拟局域网(VLAN)标签、传输层信息、多协议标签交换(MPLS)或者广义MPLS(GMPLS)标签、以及接收流的网络设备的入口端口。例如,流可以是在传输控制协议(TCP)连接中发送的所有的PDU,源于特定MAC地址或IP地址的所有的PDU,具有相同的VLAN标签的所有的PDU,或者在同一交换机端口接收的所有的PDU。
如本文中描述的,服务器26中的每一个均包括执行数据转发和在每个服务器26上执行的虚拟机(图1的“VM 48”)的业务统计功能的各转发组件49A-49X(在下文中,“转发组件49”)。在图1的实例中,每个转发组件描述为包含虚拟路由器(图1中的“VR 42A-VR 42X”)和VR代理(图1中的“VA 36A-36X”),虚拟路由器在服务器26的管理程序内执行以进行数据包路由和覆盖功能,VR代理在服务器26的用户空间内执行以与SDN控制器32通信并且作为响应来配置虚拟路由器40。如本文中描述的,在该实例中,虚拟路由器40基于在虚拟机48与数据中心交换架构 21之间路由的业务执行实时业务监控和统计生成。VR代理操作以便对统计进行收集、聚集并且将统计报告给SDN控制器的收集器34。仅为例示目的,示出了图1的实例,其中,转发组件49中的每一个均包括独立于虚拟路由器42的VR代理36。在其他实例中,VR代理36的一些或全部功能可以集成在虚拟路由器40内,从而不需要虚拟代理36。
在该实例中,转发组件49的每个虚拟路由器42执行数据中心10内相应虚拟网络的多路由实例并且将数据包路由到在由服务器提供的操作环境内执行的合适的虚拟机。例如,由服务器26A的虚拟路由器从底层物理网络架构接收的数据包可以包括外部报头以便允许物理网络架构将有效载荷或“内部数据包”遂穿至执行虚拟路由器的服务器26的网络接口的物理网络地址。外部报头不仅可以包括服务器的网络接口的物理网络地址而且还包括识别虚拟网络之一以及由虚拟路由器执行的相应路由实例的虚拟网络标识符,诸如,VxLAN标签或多协议标签交换(MPLS)标记。内部数据包包括内部报头,内部报头具有符合通过虚拟网络标识符识别的虚拟网络的虚拟网络寻址空间的目的地网络地址。
在某些方面,在传送至数据包的合适路由实例之前,虚拟路由器缓冲并且聚集从底层物理网络架构接收的多个隧穿的数据包。即,在一个服务器26上执行的转发组件的虚拟路由器可以从TOR交换机24接收数据包流的入站隧道(tunnel)数据包并且在将隧道数据包路由至本地执行的虚拟机之前,处理隧道数据包以构造单个聚集隧道数据包以转发至虚拟机。即,虚拟路由器可以缓冲多个入站隧道数据包并且构造单个隧道数据包,其中,多个隧道数据包的有效载荷组合为单个有效载荷并且移除隧道数据包上的外部/覆盖报头并用单个报头虚拟网络标识符替换。以这种方式,可以通过虚拟路由器将聚合隧道数据包转发至虚拟机,就像从虚拟网络接收单个入站隧道数据包一样。此外,为了执行聚合操作,虚拟路由器可以支持(leverage)无缝并且自动地引导隧道数据包的聚合的基于内核的卸载引擎。在题为“PACKET SEGMENTATION OFFLOAD FOR VIRTUAL NETWORKS”的美国专利申请14/228,844中描述了进一步的示例技术,通过该技术虚拟路由器将业务转发至在服务器26上执行的客户专用虚拟机,通过引证结合于此。
在图1的实例中,SDN控制器32学习路由以及其他信息(诸如,配置)并且将其分配到数据中心10中所有的计算节点。当从SDN控制器32 接收路由信息时,在计算节点内部运行的转发组件49的VR代理36通常用转发信息编程数据转发元件(虚拟路由器42)。SDN控制器32使用消息传送通信协议(诸如,XMPP协议语义)而不是使用更加重量级的协议 (诸如,类似BGP的路由协议)将路由和配置信息发送至VR代理36。在XMPP中,SDN控制器32和代理通过相同的信道传送路由和配置。当从VR代理36接收路由时,SDN控制器32用作消息传送通信协议客户端,并且在该情况下,VR代理36用作消息传送通信协议服务器。相反,当 SDN控制器将路由发送至VR代理36时,SDN控制器32用作消息传送通信协议服务器,而VR代理36用作消息传送通信协议客户端。
根据本公开的技术,系统5对网络流和业务统计执行基于会话的采样和记录。转发组件49的虚拟路由器42执行在服务26的虚拟机48上执行的一个或多个虚拟网络功能的路由服务,诸如,在网络业务的发起者与网络业务的目的地之间转发网络业务。虚拟路由器42处理每个虚拟路由器42转发的网络业务的入口流和出口流以生成网络流统计。网络流统计可以包括诸如带宽消耗、业务路由和路径、以及应用使用的度量。
每个虚拟路由器42将网络流统计传送至转发组件49的相应VR代理 36。每个VR代理42处理入口流和出口流的网络流统计以识别对应于VM 48之间的公共通信会话的成对的入口流和出口流。对于每个识别的对, VR代理42生成由虚拟路由器42转发的网络业务的业务统计的基于会话的记录。VR代理42将基于会话的记录上传到云数据中心10的SDN控制器32的业务收集器34。业务收集器34接收来自多个VR代理42的基于会话的记录并且将这些基于会话的记录存储在分析数据库35中以便云数据中心10的管理员28可以使用。管理员28可以经由接口61访问这种度量以帮助检测并且诊断云数据中心的网络性能问题。在一些实例中,网络分析器分析存储在分析数据库25中的基于会话的记录并且经由可视化仪表板向管理员28呈现网络分析。
这种技术在虚拟环境中可能特别有用,诸如,图1的示例性数据中心 10,其中,例如,至少一个虚拟路由器42部署在每个物理主机26上。如本文中描述的这种系统可能需要分析数据库35内很少的索引表以存储网络流统计和业务监控信息,并且因此与基于每个流记录业务统计的系统相比需要较少的写入操作来记录每个网络会话的信息。因此,与基于每个流单独执行业务统计相比,对网络流和业务统计执行基于会话的监控和记录的这种系统可以更高效且更迅速地操作。
图2是更详细地示出了图1的数据中心10的示例性实施方式的框图。在图2的实例中,数据中心10包括将交换架构21从物理交换机22、24 扩展到转发组件49A-49X(统称“转发组件49”)的软件或“虚拟”交换机42A-42X(统称“虚拟路由器42”)的覆盖网络。响应于从SDN控制器 32接收的指令,转发组件49的虚拟路由器42动态创建并且管理可用于应用实例之间的通信的一个或多个虚拟网络46。
在一个实例中,虚拟路由器42执行虚拟网络作为覆盖网络,其提供将应用程序的虚拟地址与服务器26A-26X(“服务器26”)中执行应用程序的服务器的物理地址(例如,IP地址)分离的能力。每个虚拟网络可以使用其自己的寻址以及安全方案并且可以视为与物理网络及其寻址方案正交的。各种技术可以用于通过物理网络在虚拟网络46内以及跨越虚拟网络传输数据包。
虚拟路由器42A-42X(“虚拟路由器42”)中的每一个在管理程序内执行主机操作系统或者每一个服务器26的其他组件。每一个服务器26表示能够执行虚拟机48的x86或者其他通用或专用服务器。在图2的实例中,虚拟路由器42A在管理程序40(还常常称为虚拟机管理器(VMM))内执行,管理程序提供允许多种操作系统在一个服务器26上同时运行的虚拟化平台。在图2的实例中,虚拟路由器42A管理虚拟网络46,每个虚拟网络均提供在由管理程序40提供的虚拟化平台的上层执行一个或多个虚拟机(VM)48的网络环境。每个VM 48与虚拟网络VN0-VN1中的一个相关联并且表示运行客户应用(诸如,网络服务器、数据库服务器、企业应用或者用于形成服务链的宿主虚拟化服务)的租户VM。在一些情况下,服务器26或另一计算设备中的任一个或多个直接宿主有客户应用,即不作为虚拟机。如本文中引用的虚拟机,例如,VM 48、服务器26、或宿主有客户应用的分开的计算设备可以可替换地称为“主机”。
通常,VM 48中的每一个可以是任何类型的软件应用并且分配有虚拟地址以便在相应虚拟网络46中使用,其中,虚拟网络中的每一个可以是由虚拟路由器42A提供的不同的虚拟子网。例如,VM 48可以分配其自己的虚拟第三层(L3)IP地址以用于发送和接收通信,但是不知晓执行虚拟机的物理服务器26A的IP地址。以这种方式,“虚拟地址”是与底层物理计算机系统(例如,图2的实例中的服务器26A)的逻辑地址不同的应用的地址。本文中虚拟地址还可以指“虚拟接口”。
在一个实施方式中,服务器26的每个转发组件49包括与SDN控制器32通信的相应的VR代理36并且响应于此引导虚拟路由器42以便控制虚拟网络46的覆盖并且协调服务器26中的数据包的路由。通常,每个 VR代理36与SDN控制器32通信,SDN控制器生成命令以控制通过数据中心10的数据包的路由。VR代理36中的每一个可以通过XMPP会话向SDN控制器32发送消息,消息将虚拟路由传送到服务器26的VM的虚拟接口(虚拟地址)。SDN控制器32接收消息并且存储虚拟路由,并且进而可以通告从第一VR代理36到其他VR代理36的一个或多个虚拟路由。在一些实例中,任何虚拟路由都可以包括前缀,与服务器26中的一服务器相关联的下一跳地址以及标记或其他数据以识别在下一跳服务器配置的虚拟路由和转发实例。虚拟路由可以包括路由区分符(RD)。
在一个实例中,VR代理36在用户空间中执行并且作为用于控制VM 48与SDN控制器32之间的平面消息的代理操作。例如,VM 48可以请求经由VR代理36A使用其虚拟地址发送消息,并且VR代理36A进而可以发送消息并且请求对针对发起第一消息的VM 48的虚拟地址所接收的消息做出响应。在一些情况下,VM 48调用VR代理36A的应用编程接口提供的程序或函数调用,并且VR代理36A也处理消息(包含寻址)的封装。
在一些示例性实施方式中,服务器26A的每个转发组件49进一步包括直接与编制引擎30通信的编制代理(图2中未示出)。例如,响应于来自编制引擎30的指令,编制代理将在相应服务器26上执行的特定VM 46 的属性传送,并且可以创建或者终止单独的VM。
在一个实例中,网络数据包(例如由在虚拟网络领域内的虚拟机48 执行的应用的实例生成或消耗的第三层(L3)IP数据包或第二层(L2) 以太网数据包)可以封装在通过物理网络传输的另一数据包(例如,另一 IP或以太网数据包)中。在虚拟网络中传输的数据包在本文中可以称为“内部数据包”,而物理网络数据包在本文中可以称为“外部数据包”或“隧道数据包”。可以在虚拟路由器42内(例如,在每一个服务器26上运行的管理程序或主机操作系统内)执行在物理网络数据包内的虚拟网络数据包的封装和/或解封装。作为另一个实例,在第一跳架顶(TOR)交换机 24处的交换架构21的边缘执行封装和解封装功能,即,从发起数据包的应用实例中移除的一跳。该功能在本文中称为遂穿并且可以在数据中心10中使用以形成一个或多个覆盖网络。除了IP-内-IP,可以使用的其他示例性隧道协议包括GRE上的IP、VxLAN、GRE上的MPLS、UDP上的MPLS 等。
如上所述,SDN控制器32提供便于数据中心10内的一个或多个虚拟网络的操作的逻辑集中式控制器。例如,SDN控制器32维护路由信息库,例如,存储物理网络以及数据中心10的一个或多个覆盖网络的路由信息的一个或多个路由表。类似地,机箱交换机22、TOR交换机24以及虚拟路由器42维护路由信息,诸如,一个或多个路由和/或转发表。在一个示例性实施方式中,管理程序40的虚拟路由器42A实施每个虚拟网络46 的网络转发表(NFT)44。通常,每个NFT 44存储相应虚拟网络46的转发信息并且识别数据包要被转发到何处以及是否将数据包封装在隧道协议中,诸如利用可以包括虚拟网络协议栈的不同层的一个或多个报头的隧道报头。
例如,虚拟机VM1-48可以通过内部链路将“内部数据包”发送至虚拟路由器42A。虚拟路由器42A使用NFT1查寻数据包的虚拟网络目的地网络地址。NFT1规定虚拟路由器42A的出站接口和数据包的封装。在朝向TOR交换机24A的这种情况下,虚拟路由器30A应用封装以便添加隧道报头,从而生成外部数据包并且在出站接口上输出外部数据包。
例如,路由信息将数据包密钥信息(例如,来自数据包报头的目的地 IP信息以及其他选择信息)映射到由虚拟路由器42和交换架构21提供的网络内的一个或多个特定下一跳。在一些情况下,下一跳是当转发数据包时指定要在每个数据包上执行的操作的集合的链式下一跳,诸如可以用于泛洪下一跳并且多播复制。如图2中所示,每个虚拟网络46提供通过交换架构21建立的覆盖网络的封装数据包通信的通信结构。用这种方式,与任何虚拟机48相关联的网络数据包可以经由覆盖网络作为封装的数据包通信传输。
根据本公开的技术,转发组件49A的虚拟路由器42A对网络流和业务统计执行基于会话的监控和记录。在一个实例中,转发组件49A的虚拟路由器42A处理由虚拟路由器42A转发的转发业务流50A并且反转由虚拟路由器42A转发的业务流50B以生成业务流50A-50B的业务流统计。在一些实例中,每个流的业务流统计包括五元组(例如,协议、源地址、源端口、目的地地址、以及目的地端口)、针对流转发的数据包计数、和/ 或针对流转发的字节计数。虚拟路由器42A将所生成的业务流统计周期性地传送至VR代理36A,使得VR代理保持流过虚拟路由器42A的业务流的业务流统计的相似记录。
VR代理36A处理所生成的业务流统计以识别对应于一个或多个VM 48之间的公共通信会话的成对的入口业务流和出口业务流。在一个实例中, VR代理36A识别对应于公共通信会话的多对入口业务流50A和出口业务流50B。在一个实例中,VR代理处理虚拟路由器40生成的业务统计以将每个采样入口数据包流和每个出口数据包流的协议、源地址、源端口、目的地地址、以及目的地端口(例如,五元组)进行比较。例如,如果第一入口流50A具有与第一出口流50B相同的协议,如果第一入口流50A的源地址和源端口是与第一出口流50B相同的目的地地址和目的地端口,并且如果第一入口流50A的目的地地址和目的地端口与第一出口流50B的源地址和源端口相同,那么VR代理36A确定第一入口流50A和第一出口流50B对应于两个设备之间的公共通信会话。然而,如果第二入口流50A不具有与第二出口流50B相同的协议,或者如果第二入口流50A的源地址和源端口与第二出口流50B的目的地地址和目的地端口不同,或者如果第二入口流50A的目的地地址和目的地端口与第二出口流50B的源地址和源端口不同,那么VR代理36A确定第二入口流50A和第二出口流50B不对应于两个设备之间的公共通信会话。
对于所识别的每个成对的入口业务流和出口业务流,VR代理36A针对由虚拟路由器42A转发的网络业务生成业务统计的基于会话的记录。换言之,VR代理36A针对由虚拟路由器42A转发的网络业务生成业务统计的记录,其中,每个记录均包括属于两个设备之间的公共通信会话的业务统计,并且包括针对公共通信会话的入口业务流和出口业务流的业务统计。
在一些实例中,VR代理36A针对由虚拟路由器42A收到的每个业务流生成业务统计的这种基于会话的记录。在其他实例中,VR代理36A仅针对由虚拟路由器42A接收的业务流的子集生成业务统计的基于会话的记录以便针对流过虚拟路由器42A的业务流的子集生成业务统计的基于会话的记录。在一些实例中,随机选择业务流的子集。在又一实例中,根据算法选择业务流的子集以提供由虚拟路由器42A接收的业务流的准确的统计表示。在一些实例中,VR代理36A从控制器32接收包括子集的一个或多个业务流的指示,针对该子集生成业务统计的基于会话的记录。
在一个实例中,单个基于会话的记录52可以包括与会话相关联的入口流和出口流两者的“差分字节”。这种“差分字节”描述了在先前监控期间针对入口流接收的字节数以及针对出口流接收的字节数(例如,先前监控期间结束与当前监控期间结束之间的字节的差异)。此外,基于会话的记录52可以包括附加网络流和业务统计信息,诸如,针对入口流和出口流两者转发的总字节数,入口流和出口流两者的正常运行时间、地址、端口以及与入口流和出口流中的每一个相关联的转发信息等。
VR代理36A将基于会话的记录52上传至业务收集器34,在该实例中业务收集器是SDN控制器32的组件。在一些实例中,VR代理36A周期性地上传在先前采样期间生成的一组基于会话的记录52(例如,VR代理大约每秒一次、每分钟一次或者每天一次将该组基于会话的记录52上传至业务收集器34)。业务收集器34将会话相关的网络流和会话记录52 的业务统计信息写入分析数据库35中。因此,由于关于单个会话52描述了正向流50A和反向流50B两者,本文中描述的系统需要较少的索引表以描述分析数据库35中的业务统计信息。因此,这种系统可以减少每个业务统计写入分析数据库35的操作所需的数目。此外,这种系统可以避免执行基于流的监控可能需要将正向流的记录与相应反向流的记录相匹配的系统的一系列复杂的索引表。
仅为了示例的目的示出了在图2中示出的数据中心10的架构。可以在图2的示例性数据中心10中实现如在本公开内容中阐述的技术,并且在本文中对其他类型的数据中心不进行具体描述。本公开内容中的任何内容都不应理解为将本公开内容的技术限于图2示出的示例性结构。
图3是示出了用于对虚拟路由器48之间的业务流执行基于会话的监测和记录的示例性系统的框图。如在图3中所描述的,属于第一虚拟网络 (VN)60A的VM 48A与属于第二VN46B的第二VM 48B建立网络会话,用以经由在第一转发组件49A的第一虚拟路由器42A与第二转发组件49B的第二虚拟路由器42B之间建立的网络路径传送网络业务。
根据本公开的技术,转发组件49A的虚拟路由器42A通过处理流过虚拟路由器42A的业务的正向流404A和流过虚拟路由器42A的业务的反向流406A,针对VM 48A与VM 48B之间的会话执行业务的基于会话的业务监控和记录,以生成流过虚拟路由器42A的业务的业务流统计。虚拟路由器42A将业务流404A-404B的业务流统计传送至VR代理36A。
VR代理36A通过处理业务流统计生成业务统计的基于会话的记录以识别对应于一个或多个VM 48之间(例如,在VM 48A与VM 48B之间) 的公共通信会话的多个成对的入口业务流和出口业务流。例如,如以上关于图2所述,VR代理36A通过比较每个采样入口流和每个出口流的协议、源地址、源端口、目的地地址以及目的地端口(例如,五元组)识别对应于公共通信会话的多对入口业务流406A和出口业务流404A。在图3的实例中,VR代理36A确定入口业务流406A和出口业务流404A对应于VM 48A与VM 48B之间的公共通信会话402A。
对于所识别的每对入口业务流和出口业务流,VR代理36针对通过相应虚拟路由器42转发的网络业务生成业务统计的基于会话的记录。在一些实例中,业务统计包括与正向流404相关联并且由虚拟路由器42转发的出站字节的数量以及与反向流406相关联并且由虚拟路由器42转发的入站字节的数量。在一些实例中,由于VR代理36将业务统计的基于会话的记录先前上传至业务收集器34,出站和入站字节的数目是所转发的出站和入站字节的数目。
因此,每个基于会话的记录是与包括与每个业务流404A、406A相关联的信息的会话402相关联的信息的单个记录。因此,对于VM 48A与 VM 48B之间的会话,仅生成2个会话记录并上传至业务收集器34(例如,会话402A的业务统计和会话402B的业务统计)。此外,业务收集器34 可以将每个会话记录仅写入分析数据库35的2个索引表。换言之,如本文中描述的这种系统可以将业务统计合并到具有业务流的源的第一索引和业务流的目的地的第二索引的单个2索引表。这允许业务收集器34仅向分析数据库35进行4次写入(例如,2记录*2索引),从而通过执行基于流的监控的业务统计系统实现速度显著增加并且资源消耗减少。
相反,执行基于流的监控和记录的系统可能需要创建并且上传4个单独的记录(例如,虚拟路由器42A的入站流404A的业务统计、虚拟路由器42A的出站流406A的业务统计、虚拟路由器42B的入站流404B的业务统计、以及虚拟路由器42B的出站流406B的业务统计)。此外,执行基于流的监控和记录的系统可以针对5个流序列表索引这四个记录中的每一个(例如,与公共通信会话相关联的五元组的每个元组的一个索引表) 以及一个FlowRecordTable(例如,业务统计信息本身),其可能需要24 次写入数据库(例如,4记录*6索引)。因此,执行如本文中描述的基于会话的监控和记录的系统相比于执行基于流的监控和记录的业务统计系统,可以实现速度显著增加并且资源消耗减少。
如本文中描述的,业务的“源”被认为是相对于虚拟路由器42的入口侧,而业务的“目的地”被认为是相对于虚拟路由器42的出口侧。如本文中描述的,相对于入口流发送数据,使得分析数据库35的记录密钥匹配入口流。在一些实例中,可以使用以下记录密钥:
源网络–VN1、源IP–IP1、源端口–端口1、目的地网络–VN2、目的地IP–IP2、目的地端口–端口2
虚拟路由器42向VR代理36发送业务信息的上述记录密钥以及会话 402的记录(例如,正向流404和反向流406的组合记录)。在一些实例中,虚拟路由器42发送两个样本,入口业务的第一样本和出口业务的第二样本,其中,第一样本和第二样本两者都与相同的记录密钥相关联。另外,虚拟路由器42将每个样本的正向标记或反向标记相关联。正向标记指示入口业务使得建立流,而反向标记指示要建立出口业务。应注意,正向和反向标记独立于入口和出口业务。
如本文中描述的,描述了用于实现这种基于会话的业务监控的新数据结构。第一数据结构(FlowData)描述了与特定流相关联的信息。如上所述,第二数据结构(SessionData)将两个FlowData数据结构进行组合(例如,入口流记录和出口流记录)并且包括指示是正向(例如,入口)业务还是反向(例如,出口业务)促使建立流的标记。
用于描述与一个或多个虚拟路由器之间的业务流相关联的数据的这种FlowData数据结构的一个实例描述如下:
struct FlowData{
1:string flowuuid;
2:i64 diff_bytes;
3:i64 diff_packets
}
用于描述与一个或多个虚拟路由器之间的入口业务流和出口业务流相关联的数据的这种SessionData数据结构的一个实例描述如下:
由于SessionData数据结构包括描述通过虚拟路由器的入口业务流和出口业务流两者的信息,执行基于流的监控的系统所需的几个字段是冗余的并且可以合并。例如,这种SessionData数据结构仅需要SourcEVN、 DestVN、SourceIP、以及DestIP字段的单个实例。合并这种字段使得能够节省执行基于流的监控的系统的资源。
在一些实例中,对于本地流,虚拟路由器42将两个流记录转换成单个会话记录(例如,单个SessionData数据结构)。例如,相对于图3的实例,VM 48A与第一虚拟网络中的虚拟路由器42A通信,VM 48B与第二虚拟网络中的虚拟路由器42B通信,并且VM 48A、48B两者位于同一计算节点内。在该实例中,VR代理48A、48B可以仅将入口流会话记录发送至业务收集器34。在这种实施方式中,SessionData数据结构的两个 FlowData数据结构对应于入口流。使用标记local_flow,业务收集器34 可以推断出口流记录信息。
在一些实例中,VR代理36将所收集的会话的信息发送至业务收集器 34。业务收集器34将数据库条目(诸如,JSON条目)存储到分析数据库 35中。数据库条目包括描述基于会话的记录的SessionData数据结构的所有字段。这种系统可以允许向后兼容性,使得对分析数据库35的基于流的查询和基于会话的查询分别返回流信息和会话信息的准确记录。
图4是示出了根据本公开的技术对业务执行基于会话的监控和记录的示例性操作的流程图。为了方便,相对于图1和图2的转发组件49A对图 4进行描述。在一个实例中,转发组件49A的虚拟路由器42A被配置为向 VM 48及从VM 48转发网络业务。虚拟路由器42A处理VM 48的多个业务流以生成业务流统计(452)。虚拟路由器42A处理的多个业务流包括来源于VM 48并且去往云数据中心10的网络的多个入口业务流。例如,目的地网络可以包括通过服务提供商网络6或者由在服务器26B-26N中的一个上执行的虚拟路由器46B-46N中的一个建立的虚拟网络46可访问的客户网络。虚拟路由器42A处理的多个业务流还包括来源于云数据中心的网络并且去往VM 48的多个出口业务流。
虚拟路由器42A将业务流统计传送至在服务器26A的用户空间中执行的VR代理46A(454)。转发组件49A的VR代理46A处理业务流统计以识别对应于VM 48的公共通信会话的多对多个入口业务流和多个出口业务流(456)。在一个实例中,VR代理46A将入口业务流的5元组与出口业务流的5元组进行比较以确定入口业务流和出口业务流是否对应于公共通信会话。VR代理46A针对所识别的多对多个入口业务流和多个出口业务流中的每一对生成会话记录,该会话记录包括成对的多个入口业务流中相应的一个和多个出口业务流中相应的一个的业务会话统计(458)。此外,VR代理46A将会话记录上传至业务收集器34(460)。
业务收集器34将这些基于会话的记录存储在分析数据库35中以便云数据中心的管理员可以使用。如本文中描述的这种系统可能需要很少的索引表来存储网络流统计和业务监控信息,并且因此与基于每个流记录业务统计的系统相比,需要较少的写入操作来记录每个网络会话的业务统计。因此,与基于每个流单独执行业务统计的情况相比,对网络流和业务统计执行基于会话的监控和记录的这种系统可以更高效且更迅速地操作。
图5是根据本公开的技术存储基于会话的业务分析的分析数据库35 的示例性源索引表500的框图。源索引表500包括SVN字段502、源IP 字段508、T1字段512、以及UUID字段514。根据本公开的技术,源索引表500另外包括协议字段504、源端口字段506以及虚拟路由器字段510。
在一些实例中,源索引表500的模式如下:
图6是根据本公开的技术的用于存储基于会话的业务统计的分析数据库35的示例性目的地索引表600的框图。目的地索引表600包括DVN字段602、目的地IP字段608、T1字段612、以及UUID字段614。根据本公开的技术,目的地索引表600另外包括协议字段604、目的地端口字段 606以及虚拟服务器字段610。
在一些实例中,目的地索引表600的模式如下:
图7A-图7B是根据本公开的技术的用于存储基于会话的业务统计的分析数据库35的示例性源索引表700和示例性目的地索引表750的框图。
根据本公开的技术,源索引表700和目的地索引表750允许查询以获得各个时间点的会话信息且而不会有关于通过每个会话描述的单独流的信息损失。参照图7A,源索引表700描述了在从VR代理36接收第一会话记录702A和第二会话记录702B之后的多个条目。参照图7B,目的地索引表700描述了平行于在接收第一会话记录702A和第二会话记录702B 之后的源索引表700的条目的多个条目。
图8是示出了查询基于会话的业务统计记录的分析数据库35的操作的示例性流程图。参照图3的示例性系统和图7A-图7B的示例性源索引表700与示例性目的地索引表750来描述图8。
当查询源索引表700和目的地索引表750时,查询指定业务方向(例如,入口或出口)。图8的流程图示出了分析数据库35的查询逻辑如何操作并且提供有关查询源索引表700和目的地索引表750中的哪个以及查询时使用哪个字段的消息。由于本文中描述的技术修改分析数据库35内的流索引表的数目,因此描述了对分析数据库35的修改的查找查询。
根据本公开的技术,分析数据库35接收对基于会话的业务统计的查询,其中,查询包括源虚拟网络(SVN)或目的地虚拟网络(DVN)中的一个,源IP地址(SIP)和目的地IP地址(DIP)中的一个,以及入口和出口的一个方向(802)。分析数据库35确定查询是否指定SVN和入口方向(804)。如果查询指定SVN和入口方向(例如,804的“是”框),分析数据库35应用作为源索引表700的入口密钥的查询(806)并且返回对应于查询的基于会话的业务统计。
如果查询未指定SVN和入口方向(例如,804的“否”框),分析数据库35确定查询是否指定SVN和出口方向(808)。如果查询指定SVN 和出口方向(例如,808的“是”框),分析数据库35应用作为源索引表 700的出口密钥的查询(810)并且返回对应于查询的基于会话的业务统计。
如果查询未指定SVN和出口方向(例如,808的“否”框),分析数据库35确定查询是否指定DVN和入口方向(812)。如果查询指定DVN 和入口方向(例如,812的“是”框),分析数据库35应用作为目的地索引表750的入口密钥的查询(814)并且返回对应于查询的基于会话的业务统计。
如果查询不指定DVN和入口方向(例如,812的“否”框),分析数据库35交换密钥并且应用作为源索引表700的出口密钥的查询(816)并且返回对应于查询的基于会话的业务统计。
因此,给定SVN和DVN中的一个,SIP和DIP中的一个,以及入口和出口的一个方向(D),查询可以返回基于流的业务统计信息。以下实例示出了对源索引表700和目的地索引表750的查询以及所得到的预期基于流的业务统计信息:
SVN=VN 46A,SIP=VM 48A,D=入口(预期记录:404A)
SVN=VN 46A,SIP=VM 48A,D=出口(预期记录:406B)
DVN=VN 46A,DIP=VM 48A,D=入口(预期记录:404B)
DVN=VN 46A,DIP=VM 48A,D=出口(预期记录:404A)
SVN=VN 46B,SIP=VM 48B,D=入口(预期记录:404B)
SVN=VN 46B,SIP=VM 48B,D=出口(预期记录:404A)
DVN=VN 46B,DIP=VM 48B,D=入口(预期记录:404A)
DVN=VN 46B,DIP=VM 48B,D=出口(预期记录:406B)
如本文中描述的,对不具有拥有SVN或DVN的OR单元的任何 WHERE查询进行不同的处理,因为这种查询需要取出所有的SVN或DVN 并且不被Cassandra查询语言(CQL)支持。例如,其中不取决于SVN或 DVN的OR单元的查询可能需要不同的路径。这种查询在本文中称为“* 查询处理”。如果查询被识别为‘查询’,仅需要单个数据库查找。针对已取结果评估在WHERE查询中指定的不同的条件。这消除了在其他方面可能涉及的重复读取。这种查询的实例描述如下:
实施例1:
SELECT*FROM SourceIndexTable WHERE vrouter=’a6s9’;
实施例2:
SELECT*FROM SourceIndexTable WHERE(SVN=VN 46A AND SIP=VM 48A)OR(vrouter=’a6s9’)
与之相比,所有其他的查询可以使用副索引。这种其他查询遵循使每 AND条件对数据库进行调用的有规律的查询执行路径。这种其他查询的实例描述如下:
实施例1:
SELECT*FROM FlowSeriesTable WHERE(SVN=VN 46A AND SIP=VM 48A)OR(DVN=VN 46B AND SIP=VM 48B)
查询可以确定为在QueryPrepare步骤之后的‘*查询’。目前, QueryPrepare步骤检查查询的句法正确性。可以对QueryPrepare步骤做出改变以确定查询是否是‘*查询’。当将查询识别为‘*查询’时,系统创建管线,管线对源索引表或者目的地索引表执行查询并且针对每个块存储查询的结果。在执行查询的单独的WHERE条件时,如果查询是‘*查询’,则系统产生内部管线以仅执行数据库调用。在‘*查询’的情况下,系统使用对照块已取回的结果并且评估‘*查询’的条件。
当尝试匹配在查询的WHERE语句中指定的条件时,系统读取返回的数据库条目的值,因为数据库条目的列可能不包括所有的所需信息。例如,考虑以下查询:
SELECT*FROM SourceIndexTable WHERE(SVN=VN 46A AND SIP=VM 48A)OR(vrouter=’a6s9’)OR(DVN=VN 46B AND DIP=VM 48B)
该查询有资格作为针对SourceIndexTable的‘*查询’。然而,为了评估第三OR条件,系统读取数据库条目的值,因为SourceIndexTable在相应的列名称中可能不具有DVN或DIP信息。可以预料将这些字段用作列名称可能会导致较大的行。
本公开中所描述的技术可至少部分以硬件、软件、固件或其任意组合来实现。例如,所描述的技术的各方面可以在一个或多个处理器中实现,处理器包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效集成或离散逻辑电路,以及这样的器件的任意组合。术语“处理器”或“处理电路”通常可以指上述任何逻辑电路,单独或与其它逻辑电路的组合,或任何其他等效电路。包括硬件的控制单元也可以执行本公开的一种或更多种技术。
这样的硬件、软件以及固件可以在相同的设备内或在单独的设备内实现,以支持本公开中描述的各种操作与功能。此外,任何所描述的单元、模块或组件可以一起或单独作为独立元件但协同操作的逻辑设备来实现。不同功能的模块或单元的描述旨在突出不同的功能方面,并且不一定意味着这样的模块或单元必须通过独立的硬件或软件组件来实现。相反,与一个或多个模块或单元相关联的功能,可以通过单独的硬件或软件组件,或集成在共同或单独的硬件或软件中的组件执行。
本公开中描述的技术也可以体现或编码在计算机可读介质中,例如包括指令的计算机可读存储介质。例如,当执行指令时,在计算机可读存储介质中嵌入或编码的指令可以使可编程处理器或其他处理器执行该方法。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器 (ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器 (EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、 CD-ROM、软盘、盒式磁带、磁性介质、光学介质或其他计算机可读介质。
已经描述了各种实例。这些和其他实例在随附权利要求书的范围内。

Claims (23)

1.一种方法,包括:
由在云数据中心内的服务器的处理器上执行的虚拟路由器处理针对一个或多个虚拟机的多个业务流以生成业务流统计,在所述云数据中心内的所述服务器上执行所述一个或多个虚拟机,其中,所述多个业务流包括:
多个入口业务流,源自所述一个或多个虚拟机并且去往所述云数据中心的网络;以及
多个出口业务流,源自所述云数据中心的所述网络并且去往所述一个或多个虚拟机;
处理所述业务流统计以识别对应于所述一个或多个虚拟机的公共通信会话的多对所述多个入口业务流和所述多个出口业务流;
针对所识别的多对所述多个入口业务流和所述多个出口业务流中的每一对生成会话记录,所述会话记录包括成对的所述多个入口业务流中相应的一个和所述多个出口业务流中相应的一个的业务会话统计;以及
将所述会话记录上传至所述云数据中心的所述网络的业务收集器。
2.根据权利要求1所述的方法,处理所述业务流统计以识别对应于所述一个或多个虚拟机的公共通信会话的多对所述多个入口业务流和所述多个出口业务流包括:
将所述业务流统计传送至在所述服务器的用户空间中执行的虚拟代理;以及
利用所述虚拟代理处理所述业务流统计。
3.根据权利要求1所述的方法,其中,将所述会话记录上传至所述云数据中心的所述网络的业务收集器包括将所述会话记录上传至所述云数据中心的所述网络的软件定义网络(SDN)控制器的所述业务收集器。
4.根据权利要求1所述的方法,
其中,所述业务流统计包括所述多个入口业务流中的每一个的入口字节的计数和所述多个出口业务流中的每一个的出口字节的计数,并且
成对的所述多个入口业务流中相应的一个和所述多个出口业务流中的一个的业务会话统计中的每一个包括所述多个入口业务流中相应的一个的入口字节的计数和所述多个出口业务流中相应的一个的出口字节的计数。
5.根据权利要求1所述的方法,
其中,对于所述多个入口业务流和所述多个出口业务流中的每一个,所述业务会话统计包括业务流的协议、源地址、目的地地址、源端口以及目的地端口,并且
其中,处理所述业务流统计以识别对应于所述一个或多个虚拟机的公共通信会话的多对所述多个入口业务流和所述多个出口业务流包括:将成对的所述多个入口业务流中相应的一个的所述协议、所述源地址、所述目的地地址、所述源端口以及所述目的地端口与成对的所述多个出口业务流中相应的一个的所述协议、所述源地址、所述目的地地址、所述源端口以及所述目的地端口进行比较。
6.根据权利要求5的所述方法,其中,将成对的所述多个入口业务流中相应的一个的所述协议、所述源地址、所述目的地地址、所述源端口以及所述目的地端口与成对的所述多个出口业务流中相应的一个的所述协议、所述源地址、所述目的地地址、所述源端口以及所述目的地端口进行比较包括:确定所述多个入口业务流中的入口业务流和所述多个出口业务流中的出口业务流是否共享协议,以及所述入口业务流的源地址和源端口是否与所述出口业务流的目的地地址和目的地端口相同,以及所述入口业务流的目的地地址和目的地端口是否与所述出口业务流的源地址和源端口相同。
7.根据权利要求1所述的方法,其中,将所述会话记录上传至所述云数据中心的所述网络的业务收集器包括:在预定时间段之后将所述会话记录上传至所述云数据中心的所述网络的所述业务收集器。
8.根据权利要求7所述的方法,其中,所述预定时间段大约为一分钟。
9.一种方法,包括:
由云数据中心的网络的业务收集器从虚拟路由代理接收会话记录,在所述云数据中心内的服务器的处理器上执行所述虚拟路由代理,所述会话记录包括对应于一个或多个虚拟机的公共通信会话的多对业务流的业务会话统计,并且其中所述会话记录的多对业务流中的每一对的所述业务会话统计包括入口业务流的业务会话统计以及出口业务流的业务会话统计,其中,所述入口业务流源自所述一个或多个虚拟机并且去往所述云数据中心的网络,以及所述出口业务流源自所述云数据中心的所述网络并且去往所述一个或多个虚拟机;以及
由所述业务收集器将所述会话记录存储在分析数据库中。
10.根据权利要求9的所述方法,其中,所述分析数据库包括源索引表和目的地索引表。
11.根据权利要求10所述的方法,其中,将所述会话记录存储在所述分析数据库中包括对于所述会话记录中的每一个:
由所述业务收集器将每对业务流的业务会话统计写入所述源索引表;以及
由所述业务收集器将每对业务流的业务会话统计写入所述目的地索引表。
12.根据权利要求11所述的方法,其中,对于所述会话记录的每个入口业务流或出口业务流,所述业务会话统计包括业务流的协议、源地址、目的地地址、源端口以及目的地端口。
13.根据权利要求12所述的方法,其中,将每对业务流的业务会话统计写入所述源索引表包括对于每对业务流,将成对的相应入口业务流的协议、源地址、以及源端口和成对的相应出口业务流的协议、源地址以及源端口写入所述源索引表,并且
其中,将每对业务流的业务会话统计写入所述目的地索引表包括:对于每对业务流,将成对的相应入口业务流的协议、目的地地址以及目的地端口和成对的相应出口业务流的协议、目的地地址以及目的地端口写入所述目的地索引表。
14.根据权利要求9的所述方法,其中,将所述会话记录存储在所述分析数据库中包括:对于每个所述会话记录,以不超过两次写入操作的方式将所述会话记录存储在所述分析数据库中。
15.根据权利要求9所述的方法,进一步包括:
由所述分析数据库接收所述多对业务流的第一对业务流的业务会话统计的查询;并且
响应于所述查询,提供所述多对业务流中的所述第一对业务流的业务会话统计。
16.根据权利要求15所述的方法,其中,所述查询包括虚拟网络、IP地址以及方向。
17.根据权利要求16所述的方法,
其中,所述查询的虚拟网络是所述一个或多个虚拟机的源虚拟网络(SVN)和所述云数据中心的所述网络的目的地虚拟网络(DVN)中的一个,
其中,所述IP地址是所述一个或多个虚拟机的源IP地址(SIP)和所述云数据中心的所述网络的目的地IP地址(DIP)中的一个,并且
其中,所述方向是所述一个或多个虚拟机的入口和所述云数据中心的所述网络的出口中的一个。
18.一种在云数据中心内的服务器的处理器上执行的转发组件,被配置为:
由所述转发组件的虚拟路由器处理一个或多个虚拟机的多个业务流以生成业务流统计,在所述云数据中心内的所述服务器上执行所述一个或多个虚拟机,其中,所述多个业务流包括:
多个入口业务流,源自所述一个或多个虚拟机并且去往所述云数据中心的网络;以及
多个出口业务流,源自所述云数据中心的所述网络并且去往所述一个或多个虚拟机;
处理所述业务流统计以识别对应于所述一个或多个虚拟机的公共通信会话的多对所述多个入口业务流和所述多个出口业务流;
针对所识别的多对所述多个入口业务流和所述多个出口业务流中的每一对生成会话记录,所述会话记录包括成对的所述多个入口业务流中相应的一个和所述多个出口业务流中相应的一个的业务会话统计;以及
将所述会话记录上传至所述云数据中心的所述网络的业务收集器。
19.根据权利要求18所述的转发组件,其中,处理所述业务流统计以识别对应于所述一个或多个虚拟机的公共通信会话的多对所述多个入口业务流和所述多个出口业务流,所述转发组件进一步被配置为:
由所述转发组件的所述虚拟路由器将所述业务流统计传送至在所述服务器的用户空间中执行的所述转发组件的虚拟代理;并且
利用所述虚拟代理处理所述业务流统计。
20.根据权利要求18所述的转发组件,
其中,所述业务流统计包括所述多个入口业务流中的每一个的入口字节的计数和所述多个出口业务流中的每一个的出口字节的计数,并且
成对的所述多个入口业务流中相应的一个和所述多个出口业务流中的相应一个的业务会话统计中的每一个包括所述多个入口业务流中相应的一个的入口字节的计数和所述多个出口业务流中相应的一个的出口字节的计数。
21.一种用于云数据中心的网络的业务收集器,被配置为:
从在所述云数据中心内的服务器的处理器上执行的转发组件接收会话记录,所述会话记录包括对应于一个或多个虚拟机的公共通信会话的多对业务流的业务会话统计,并且其中所述会话记录的所述多对业务流中的每一个的所述业务会话统计包括入口业务流的业务会话统计以及出口业务流的业务会话统计,所述入口业务流源自所述一个或多个虚拟机并且去往所述云数据中心的网络,所述出口业务流源自所述云数据中心的网络并且去往所述一个或多个虚拟机;
并且
将所述会话记录存储在分析数据库中。
22.根据权利要求22所述的业务收集器,其中,所述分析数据库包括源索引表和目的地索引表,并且其中为了将所述会话记录存储在所述分析数据库中,所述业务收集器进一步被配置为针对所述会话记录中的每一个:
将每对业务流的业务会话统计写入所述源索引表中;并且
将每对业务流的业务会话统计写入所述目的地索引表中。
23.根据权利要求21所述的业务收集器,
其中,对于所述会话记录的每个入口业务流或出口业务流,所述业务会话统计包括业务流的协议、源地址、目的地地址、源端口、以及目的地端口,
其中,为了将每对业务流的业务会话统计写入所述源索引表,所述业务收集器进一步被配置为针对每对业务流,将成对的相应入口业务流的协议、源地址以及源端口和成对的相应出口业务流的协议、源地址以及源端口写入所述源索引表,并且
其中,为了将每对业务流的业务会话统计写入所述目的地索引表,所述业务收集器进一步被配置为针对每对业务流,将成对的相应入口业务流的协议、目的地地址以及目的地端口和成对的相应出口业务流的协议、目的地地址、以及目的地端口写入所述目的地索引表。
CN201810167632.5A 2017-03-31 2018-02-28 虚拟路由器的基于会话的业务统计记录 Active CN108696402B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/476,136 US10291497B2 (en) 2017-03-31 2017-03-31 Session-based traffic statistics logging for virtual routers
US15/476,136 2017-03-31

Publications (2)

Publication Number Publication Date
CN108696402A true CN108696402A (zh) 2018-10-23
CN108696402B CN108696402B (zh) 2022-04-19

Family

ID=61132234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810167632.5A Active CN108696402B (zh) 2017-03-31 2018-02-28 虚拟路由器的基于会话的业务统计记录

Country Status (3)

Country Link
US (1) US10291497B2 (zh)
EP (1) EP3382959A3 (zh)
CN (1) CN108696402B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111698168A (zh) * 2020-05-20 2020-09-22 北京吉安金芯信息技术有限公司 消息处理方法、装置、存储介质及处理器

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10601661B2 (en) 2015-06-22 2020-03-24 Arista Networks, Inc. Tracking state of components within a network element
US10498810B2 (en) * 2017-05-04 2019-12-03 Amazon Technologies, Inc. Coordinating inter-region operations in provider network environments
US20180331963A1 (en) * 2017-05-12 2018-11-15 Guavus, Inc. Determining data flows to an ingress router with data flows received at an egress router
US11336572B2 (en) 2017-05-12 2022-05-17 Nicira, Inc. Dynamic chain of service functions for processing network traffic in a virtual computing environment
US11102186B2 (en) * 2018-04-26 2021-08-24 Vmware, Inc. Packet capture in software-defined networking (SDN) environments
US11159389B1 (en) 2018-06-28 2021-10-26 Juniper Networks, Inc. Inter-application workload network traffic monitoring and visualization
US10999251B2 (en) 2018-09-28 2021-05-04 Juniper Networks, Inc. Intent-based policy generation for virtual networks
US11153194B2 (en) 2019-04-26 2021-10-19 Juniper Networks, Inc. Control plane isolation for software defined network routing services
US11997011B2 (en) 2019-04-26 2024-05-28 Juniper Networks, Inc. Virtual port group
US11095504B2 (en) * 2019-04-26 2021-08-17 Juniper Networks, Inc. Initializing network device and server configurations in a data center
US11258661B2 (en) * 2019-04-26 2022-02-22 Juniper Networks, Inc. Initializing server configurations in a data center
US11431654B2 (en) * 2019-06-17 2022-08-30 Cyxtera Data Centers, Inc. Network service integration into a network fabric of a data center
US10996938B2 (en) 2019-07-15 2021-05-04 Juniper Networks, Inc. Automated selection of software images for network devices
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
US11316738B2 (en) 2019-08-19 2022-04-26 Juniper Networks, Inc. Vendor agnostic profile-based modeling of service access endpoints in a multitenant environment
US11240144B2 (en) 2019-09-30 2022-02-01 Juniper Networks, Inc. Assisted replication in software defined network
US11595393B2 (en) 2020-03-31 2023-02-28 Juniper Networks, Inc. Role-based access control policy auto generation
CN115443640B (zh) * 2020-04-16 2024-05-28 瞻博网络公司 针对虚拟路由和转发的基于租户的映射
KR102322454B1 (ko) * 2020-04-28 2021-11-05 고려대학교 산학협력단 프로그래밍 가능한 네트워크 가상화에서의 모니터링 방법 및 시스템
US11469998B2 (en) 2020-05-27 2022-10-11 Juniper Networks, Inc. Data center tenant network isolation using logical router interconnects for virtual network route leaking
US10999142B1 (en) 2020-06-30 2021-05-04 Juniper Networks, Inc. Correlation of virtual network traffic across bare metal servers
US11444855B2 (en) 2020-07-07 2022-09-13 Juniper Networks, Inc. System and method for determining a data flow path in an overlay network
US20220021613A1 (en) * 2020-07-20 2022-01-20 Juniper Networks, Inc. Generating route distinguishers for virtual private network addresses based on physical hardware addresses
US11824773B2 (en) * 2021-03-30 2023-11-21 Amazon Technologies, Inc. Dynamic routing for peered virtual routers
US11394663B1 (en) 2021-03-31 2022-07-19 Juniper Networks, Inc. Selective packet processing including a run-to-completion packet processing data plane
CN113595936B (zh) * 2021-08-03 2022-09-20 中国电信股份有限公司 流量监管方法、网关设备和存储介质
CN113839831B (zh) * 2021-08-27 2023-04-18 深圳市风云实业有限公司 一种流量采样装置
US12074884B2 (en) 2021-10-04 2024-08-27 Juniper Networks, Inc. Role-based access control autogeneration in a cloud native software-defined network architecture
US20230123775A1 (en) 2021-10-04 2023-04-20 Juniper Networks, Inc. Cloud native software-defined network architecture
CN115996183A (zh) * 2021-10-15 2023-04-21 中国联合网络通信集团有限公司 流量确定方法及设备
US11711279B2 (en) * 2021-10-26 2023-07-25 Juniper Networks, Inc. Application records using session information
US12021743B1 (en) 2023-03-27 2024-06-25 Amazon Technologies, Inc. Software-defined multi-network-segment gateways for scalable routing of traffic between customer-premise network segments and cloud-based virtual networks
CN116708041B (zh) * 2023-08-07 2023-11-03 烽台科技(北京)有限公司 伪装代理方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540695A (zh) * 2008-03-19 2009-09-23 冲电气工业株式会社 通信量分析装置、通信量分析方法以及通信量分析系统
CN104904160A (zh) * 2012-11-09 2015-09-09 思杰系统有限公司 用于数据流的应用流的系统和方法
US20160359872A1 (en) * 2015-06-05 2016-12-08 Cisco Technology, Inc. System for monitoring and managing datacenters

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054901B2 (en) * 2001-05-31 2006-05-30 Juniper Networks, Inc. Network management interface with selective rendering of output
US8331234B1 (en) 2004-09-08 2012-12-11 Q1 Labs Inc. Network data flow collection and processing
US7508764B2 (en) * 2005-09-12 2009-03-24 Zeugma Systems Inc. Packet flow bifurcation and analysis
US9634851B2 (en) * 2009-04-20 2017-04-25 Ca, Inc. System, method, and computer readable medium for measuring network latency from flow records
US9898317B2 (en) * 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US8750288B2 (en) * 2012-06-06 2014-06-10 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US9014034B2 (en) * 2012-09-21 2015-04-21 Cisco Technology, Inc. Efficient network traffic analysis using a hierarchical key combination data structure
US9569232B1 (en) * 2013-02-19 2017-02-14 Amazon Technologies, Inc. Network traffic data in virtualized environments
US9755960B2 (en) * 2013-09-30 2017-09-05 Juniper Networks, Inc. Session-aware service chaining within computer networks
US9413634B2 (en) * 2014-01-10 2016-08-09 Juniper Networks, Inc. Dynamic end-to-end network path setup across multiple network layers with network service chaining
US10164846B2 (en) * 2014-03-28 2018-12-25 Fortinet, Inc. Network flow analysis
US9787559B1 (en) * 2014-03-28 2017-10-10 Juniper Networks, Inc. End-to-end monitoring of overlay networks providing virtualized network services
US9641435B1 (en) 2014-03-28 2017-05-02 Juniper Neworks, Inc. Packet segmentation offload for virtual networks
US20160050132A1 (en) * 2014-08-18 2016-02-18 Telefonaktiebolaget L M Ericsson (Publ) Method and system to dynamically collect statistics of traffic flows in a software-defined networking (sdn) system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540695A (zh) * 2008-03-19 2009-09-23 冲电气工业株式会社 通信量分析装置、通信量分析方法以及通信量分析系统
CN104904160A (zh) * 2012-11-09 2015-09-09 思杰系统有限公司 用于数据流的应用流的系统和方法
US20160359872A1 (en) * 2015-06-05 2016-12-08 Cisco Technology, Inc. System for monitoring and managing datacenters

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111698168A (zh) * 2020-05-20 2020-09-22 北京吉安金芯信息技术有限公司 消息处理方法、装置、存储介质及处理器
CN111698168B (zh) * 2020-05-20 2022-06-28 北京吉安金芯信息技术有限公司 消息处理方法、装置、存储介质及处理器

Also Published As

Publication number Publication date
EP3382959A3 (en) 2018-10-10
EP3382959A2 (en) 2018-10-03
US10291497B2 (en) 2019-05-14
CN108696402B (zh) 2022-04-19
US20180287905A1 (en) 2018-10-04

Similar Documents

Publication Publication Date Title
CN108696402A (zh) 虚拟路由器的基于会话的业务统计记录
US10911355B2 (en) Multi-site telemetry tracking for fabric traffic using in-band telemetry
US10565001B2 (en) Distributed virtual network controller
CN105049361B (zh) 针对虚拟网络分组流的物理路径确定
EP3222005B1 (en) Passive performance measurement for inline service chaining
EP3222006B1 (en) Passive performance measurement for inline service chaining
CN105684365B (zh) 利用软件定义流映射和虚拟化的网络功能的网络控制
US9094308B2 (en) Finding latency through a physical network in a virtualized network
CN104253770B (zh) 实现分布式虚拟交换机系统的方法及设备
CN110120934A (zh) 应用防火墙策略的方法、软件定义网络控制器和介质
US11570077B2 (en) Traffic flow trace in a network
Xia et al. Resource optimization for service chain monitoring in software-defined networks
CN114598698A (zh) 一种数据传输方法、装置、电子设备及计算机存储介质
KR101501231B1 (ko) 오픈 플로우(OpenFlow)를 이용하여 패킷을 처리하기 위한 방법, 오픈 플로우 스위치 및 컴퓨터 판독 가능한 기록 매체

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Juniper Networks, Inc.

Address before: California, USA

Applicant before: Jungle network

GR01 Patent grant
GR01 Patent grant