CN114930776A - 混合网络环境中的流量镜像处理 - Google Patents

混合网络环境中的流量镜像处理 Download PDF

Info

Publication number
CN114930776A
CN114930776A CN202180008365.7A CN202180008365A CN114930776A CN 114930776 A CN114930776 A CN 114930776A CN 202180008365 A CN202180008365 A CN 202180008365A CN 114930776 A CN114930776 A CN 114930776A
Authority
CN
China
Prior art keywords
network
data packet
destination
mirrored
source
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.)
Pending
Application number
CN202180008365.7A
Other languages
English (en)
Inventor
马学强
戴夫·珀索
喀利安·高希
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN114930776A publication Critical patent/CN114930776A/zh
Pending legal-status Critical Current

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/12Network monitoring probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/208Port mirroring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • 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/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L2012/4629LAN interconnection over a backbone network, e.g. Internet, Frame Relay using multilayer switching, e.g. layer 3 switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Abstract

本公开描述了与混合网络中的镜像流量转发相关的各种方法、系统和设备。示例方法包括从源网络中的源转发器接收镜像数据分组。可以基于镜像数据分组的报头来识别镜像数据分组的会话。可以基于会话来识别目的地网络中的目的地转发器。目的地网络可以不同于源网络。可以将镜像数据分组转发给目的地转发器。

Description

混合网络环境中的流量镜像处理
相关申请的交叉引用
本专利申请要求2020年4月30日提交的第16/863,713号美国专利申请的优先权,该美国专利申请要求2020年1月10日提交的第62/959,751号美国临时专利申请的优先权,这些专利申请中的每一者的内容均以引用方式全部并入本文。
技术领域
本公开总体涉及在混合网络环境(例如,混合云环境)中转发和/或分析镜像数据流量。
背景技术
企业、医院、学校和其他组织利用各种计算资源来存储和/或处理数据。传统上,组织会使用物理位置位于组织本地的数据中心(即“本地数据中心”)中的计算资源。然而,因为组织的需求会随着时间的推移而发生变化,所以更改数据中心的计算资源可能是昂贵的或繁重的。
为了减轻这些负担和其他负担,组织可以使用由云计算提供商提供的池化计算资源的一部分。这些计算资源可以按需分配给组织使用。例如,组织利用在由云计算提供商管理的数据中心中的云计算资源的一部分。这些数据中心可以在云计算提供商的专有通信网络中互连。因此,随着组织的需求随时间变化,可以根据需要将不同数量的云计算资源分配给组织,而无需由组织的本地数据中心托管云计算资源。
尽管云计算可以为组织提供许多优点,但是云计算环境也可能向组织提出许多独特的挑战。具体地,组织可以在混合网络环境中利用由多个云计算服务提供商管理的计算资源。但是,这些服务提供商可能无法相互通信。例如,一个云提供商网络中的本地流量镜像服务可能无法将镜像流量转发到另一个云提供商网络中的另一个服务。因此,对分布在混合网络环境中的云计算资源进行协调可能是一个挑战。
附图说明
下面参照附图进行详细描述。在这些图中,附图标记的最左侧的(一个或多个)数字标识了该附图标记首次出现的图。在不同的图中使用相同的附图标记表示相似或相同的项目。附图中描绘的系统不是按比例绘制的,并且图中的组件可以被描绘成彼此不按比例绘制。
图1图示了用于在不同网络之间传输镜像数据分组的示例环境。
图2图示了用于在镜像流量转发会话中传输数据分组的示例环境。
图3图示了封装镜像数据分组的示例。
图4图示了互连的混合网络环境。
图5图示了用于在混合网络环境中转发镜像数据流量的示例过程。
图6图示了用于将镜像数据流量转发到网络之外的示例过程。
图7示出了能够执行多个程序组件(这些程序组件用于实现本文描述的功能)的计算机的示例计算机结构。
具体实施方式
概览
本公开描述了用于在混合网络环境中转发镜像流量的各种技术。示例方法包括:从源网络中的源转发器接收镜像数据分组;基于镜像数据分组的报头来识别镜像数据分组的会话;基于会话来识别目的地网络中的目的地转发器,目的地网络不同于源网络;以及将镜像数据分组转发给目的地转发器。在一些示例中,源转发器包括托管在源网络的资源中第一虚拟机(VM)、第一容器或的第一程序,并且,目的地转发器包括托管在目的地网络的资源中的第二VM、第二容器或第二程序。在各种实施方式中,镜像数据分组包括封装在通用路由封装(GRE)中的封装远程交换端口分析器(ERSPAN)数据分组,并且,报头包括镜像数据分组的ERSPAN报头。在一些实例中,镜像数据分组包括由源网络中的至少一个节点发送或接收的原始数据分组的副本,原始数据分组符合一个或多个流量镜像规则。在某些情况下,目的地转发器将镜像数据分组转发到目的地网络中的流量分析器服务。根据一些实施方式,识别会话包括从镜像数据分组的报头中提取会话标识符(ID)。在各种示例中,源网络包括第一基于云的网络并且目的地网络包括第二基于云的网络。
示例系统包括:至少一个处理器;以及存储器,所述存储器存储指令,这些指令当由至少一个处理器执行时使系统执行操作。在各种实例中,这些操作包括:从基于云的源网络中的源转发器接收镜像数据分组;基于镜像数据分组的报头来识别镜像数据分组的会话;基于数据存储库中与会话对应的条目,来识别基于云的目的地网络中的目的地转发器,基于云的目的地网络不同于基于云的源网络;以及将镜像数据分组转发给目的地转发器。
根据各种实施方式,示例系统包括第一基于云的网络中的转发器以及连接到第一基于云的网络的控制器。转发器包括:至少一个第一处理器;以及第一存储器,所述第一存储器存储第一指令,第一指令当由至少一个第一处理器执行时使转发器执行第一操作。第一操作包括:从第一基于云的网络中的源接收镜像数据分组;将镜像数据分组从第一格式转换为第二格式;对镜像数据分组进行封装;以及将镜像数据分组发送到控制器。在多个示例中,控制器包括:至少一个第二处理器;以及第二存储器,所述第二存储器存储表和第二指令,这些第二指令当由至少一个第二处理器执行时使控制器执行第二操作。第二操作包括:从源转发器接收镜像数据分组;基于镜像数据分组的报头,来识别镜像数据分组的会话;基于表中与会话对应的条目,来识别第二基于云的网络中的目的地转发器,第二基于云的网络不同于第一基于云的网络;以及将镜像数据分组转发给目的地转发器。
示例实施例
本公开的各种实施方式涉及在混合网络环境中的多个网络之间转发镜像数据流量。在各种示例中,控制器可以连接到多个网络,该控制器可能无法在混合网络环境中的各个网络中的指定转发器之间传送转发镜像流量。
本文描述的各种实施方式为计算机网络领域提供了特定的改进。例如,各种实施方式能够用于:即使当一个网络和另一个网络由不同的供应商管理和/或可能使用不兼容的通信协议时,也使所述一个网络中的数据流量能够在所述另一个网络中被分析和/或被负载平衡。因此,本文描述的各种实施方式能够改进混合网络环境中不同网络(例如,由不同云提供商管理的不同云网络)的互操作性。
将参考附图详细描述本公开的各种实现方式,其中,在所有这些附图中,相似的标号表示相似的部分和组件。此外,本说明书中记载的任何样本并意在是限制性的,而只是记载了许多可能的实现方式中的一部分。
图1图示了用于在不同网络之间传输镜像数据分组的示例环境100。如图所示,环境100包括源网络102。源网络102可以是基于云的网络。就本文使用的而言,术语“基于云的网络”、“云网络”、“服务提供商网络”及其等同物可以指代经联网的计算资源集合,这些资源可以根据要求或需求被动态供应和分配给用户、客户端或其他设备。就本文使用的而言,计算资源可以包括存储器资源、处理资源、应用程序、服务、或虚拟机(VM)等。在基于云的网络中,资源可以分布在一个或多个物理设备(例如,服务器)上,这些物理设备可以位于不同的塔、建筑物、数据中心、或地理区域等之中。
源网络102可以包括各种节点。就本文使用的而言,术语“节点”、“网络节点”和它们的等同物可以指代网络中能够向至少一个其他节点发送数据分组和/或从至少一个其他节点接收数据分组的任何实体。节点可以是设备、软件实例、或VM等。在一些示例中,节点可以是客户端、服务器或其组合。基于云的网络内的各个节点可以通过安全通信网络互连,在该安全通信网络上可以交换数据流量。例如,源网络102可以包括安全通信网络,通过该安全通信网络可以在源网络102中的各个节点之间交换数据流量。
在各种实施方式中,源104可以是源网络102中的节点。在各种实施方式中,源104可以包括由源网络102中的计算资源托管的软件实例和/或VM。源104可以包括一个或多个接口(例如,(一个或多个)虚拟接口),源104通过这些接口接收和/或发送数据流量106。数据流量106可以包括正在源104和一个或多个其他节点(例如,源网络102中的其他节点)之间传输的多个数据分组。就本文使用的而言,术语“分组”、“数据分组”及其等同物可以指代在两个节点之间传输的数据单元。在各种示例中,分组可以具有:报头,其可以包括控制数据;以及有效载荷,其可以包括在分组中所携带的附加数据。报头可以包括例如以下信息:分组的源的标识符、分组的目的地的标识符、有效载荷中的用户数据类型的指示等。在某些情况下,数据分组可以由例如以下特定网络协议定义:网际协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、或其他网络协议。
源104可以与至少一个用户和/或至少一个账户相关联。该帐户可以使用户能够远程地(例如,从源网络102外部的计算设备108)控制和/或管理源104的操作。例如,源网络102可以提供应用编程接口(API),(一个或多个)用户可以通过该API控制和/或管理源104的操作。在一些情况下,(一个或多个)用户可能期望监视、分析或以其他方式检查数据流量106。例如,(一个或多个)用户可以在源网络102内生成VM,该VM将数据流量106截取(intercept)、复制和/或转发到计算设备108或一些其他实体。然而,直接截取数据流量106可能会在源104的通信和/或操作中引入不可接受的延迟。
在各种实施方式中,可以对数据流量106进行镜像处理以供进一步检查。就本文使用的而言,术语“流量镜像处理(traffic mirroring)”可以指这样的过程:通过该过程,由第一节点发送和/或接收的一个或多个数据分组被复制并被发送到第二节点(例如,用于进一步处理)。在一些情况下,可以根据过滤器(该过滤器指定一个或多个流量镜像处理规则)来对数据流量106的子集进行镜像处理。数据流量106中符合一个或多个流量镜像处理规则的任何数据分组都可以被镜像处理,并且数据流量106中不符合一个或多个流量镜像规则的任何数据分组都不可以被镜像处理。一个或多个流量镜像规则可以指定例如以下项中的至少一者:数据分组是否与特定的接口(例如,端口或网络接口等)相关联、数据分组是否与特定的虚拟局域网(VLAN)相关联、数据分组是否与特定的子网相关联,等等。例如,术语“端口镜像处理”可以指这样的过程:通过该过程,由端口发送和/或接收的数据分组被复制并被发送到(例如,在不同节点中的)另一个端口。就本文使用的而言,术语“端口”及其等同物可以指代节点的这样的组件:该组件被配置为将节点的其余部分连接到接口(例如,网络接口控制器(NIC))。节点可以有固定的一组端口,这些端口可以有选择地连接到特定的接口。节点的每个端口都可以有唯一标识,这个标识可以用端口号来表示。就本文使用的而言,术语“入口端口”、“进入端口”及其等同物可以指代分组进入节点的端口。就本文使用的而言,术语“出口端口”、“离开端口”和它们的等同物可以指代分组离开节点的端口。
在各种示例中,用户可以通过使计算设备108向源104发送针对流量镜像处理的请求,来启动对数据流量106的镜像处理。该请求可以包括通过源网络102传输的一个或多个数据分组。在一些情况下,该请求可以指定一个类型的数据流量106要被镜像处理的至少一种条件。因此,在一些示例中,可能仅对数据流量106的一部分进行镜像处理。源104可以基于数据流量106来生成镜像流量110。镜像流量110可以包括从数据流量106中的数据分组复制的一个或多个数据分组。
根据各种实施方式,与源104相关联的(一个或多个)用户可以寻求在(被包括在目的地网络114中的)目的地112中对镜像流量110进行分析。目的地网络114可以不同于源网络102。例如,目的地网络114可以是在源网络102外部的基于云的网络。在一些情况下,目的地网络114可以是基于云的网络中的第一区域,并且源网络102可以是基于云的网络中的第二区域,其中,第一区域不同于第二区域。
目的地112可以是目的地网络114中的节点。在一些情况下,目的地网络114也是基于云的网络,并且目的地112可以由目的地网络114中的计算资源托管。在一些情况下,目的地112可以是流量分析器。出于各种原因中的任意一者,(一个或多个)用户可以使用目的地112来分析镜像流量110。例如,目的地112可以是与目的地网络114相关联的本地流量分析器,并且(一个或多个)用户可能想要测试目的地112作为流量分析器的功效。例如,流量分析器可以对镜像流量110执行特定于应用的处理(例如,应用一个或多个安全策略、或分析内容(例如视频处理)等)。在某些情况下,源网络102可以具有关联的流量分析器,但它可能比不上目的地112中所包含的流量分析器。在一些情况下,包含在目的地112中的流量分析器可以被托管在目的地网络114中,而不是源网络102中,以节省源网络102的资源。在一些情况下,目的地112可以是负载平衡器。例如,目的地112可以被配置为根据特定负载平衡协议,来将数据流量转发到目的地网络114中的一个或多个附加节点。
然而,在各种实施方式中,源104可能无法将镜像数据流量110直接转发到目的地112。源104可能无法直接与目的地网络114中的节点交换数据分组,并且/或者目的地112可能无法直接与源网络102中的节点交换数据分组。例如,源网络102和/或目的地网络114的服务提供商可以限制和/或防止跨区域流量镜像处理。例如,源网络102中节点的IP地址可能被从与源网络102相关联的通信中抽出(abstracted)。在一些情况下,源网络102和目的地网络114可以各自使用不同的专有通信协议,使得由源网络102中的节点传输的数据分组不能被目的地网络114中的节点读懂,反之亦然。
控制器116可以连接到源网络102和目的地网络114,并且可以使能源网络102和目的地网络114之间的通信。在各种实施方式中,控制器116可以被配置为控制和/或管理这样的网络基础结构:该网络基础结构包括源网络102中的至少一个节点和目的地网络114中的至少一个节点。例如,控制器116可以是服务定义网络(SDN)控制器。在一些情况下,控制器116可以被体现在位于与计算设备108相同的场所(例如,在本地数据中心中)的物理设备(例如,服务器)中。在一些实施方式中,控制器116可以被体现在源网络102的资源或目的地网络114的资源中。在各种情况下,控制器116可以连接到计算设备108。计算设备108可以向控制器116发送转发请求118。转发请求118可以包括:对数据流量106进行镜像处理的请求、和/或将镜像流量110转发到目的地112的请求。在各种实施方式中,转发请求118可以是(或者包括)会话配置,该会话配置标识了所请求的源104和目的地112之间的转发会话。转发请求118可以包括至少一个数据分组。响应于接收到转发请求118,控制器116可以指示源104将镜像流量110转发到源网络102中的源转发器120。就本文使用的而言,术语“转发器”及其等同物可以指在网络中的网络节点(例如,进程、容器、VM、虚拟私有云(VPC)、虚拟私有网络(VPN)等中的至少一者),该节点被配置为在网络中的另一个节点(例如,源节点或目的地节点)和网络外部的实体(例如,控制器)之间转发数据流量。控制器116可以连接到源网络102中的源转发器120。例如,控制器116可以经由VPN连接到源转发器120。在各种实施方式中,源转发器120是源网络102中的节点。
在各种实施方式中,响应于接收到转发请求118,控制器116可以识别出目的地112(可以在转发请求118中被指定)位于与源104不同的网络中。也就是说,控制器116可以识别出:目的地112在目的地网络114中,并且源104在源网络102中。响应于识别出源104和目的地112在不同的网络中,控制器116可以在会话数据存储库124中生成条目,该条目对应于转发请求118所请求的会话,并且该条目包括从源104到目的地112的镜像流量110的传送。就本文使用的而言,术语“会话”、“流”、“数据流”、“流量流”、“分组流”及其等同物可以指代从源发送到目的地的多个分组。在一些示例中,会话可以包括多个分组,这些分组共享以下项中的至少一者:相同入口接口(例如,SNMP ifIndex)、源(例如,来自相同IP地址)、目的地(例如,定向到相同IP地址)、协议(例如,IP协议)、源端口(例如,用于UDP或TCP)、目的地端口(例如,用于UDP、TCP或ICMP)、或服务类型(例如,IP服务类型(ToS))。包括从源104转发到目的地112的镜像流量110的会话可以被称为“镜像流量转发会话”。在特定实施方式中,该条目可以包括镜像流量转发会话的标识符,该标识符可以被称为“会话标识符”或“会话ID”。在一些情况下,该条目可以包括以下项中的至少一者:源104的标识符(例如,IP地址)、标识符(例如,目的地112的IP地址)、源转发器120的标识符(例如,IP地址)、目的地转发器126的标识符(例如,IP地址)、或镜像流量转发会话的服务质量(QoS)。例如,镜像流量转发会话的QoS可以是低优先级QoS。在一些情况下,该条目可以存储在会话数据存储库124中的散列表中。在其中多个条目被存储在会话数据存储库124中的各种实施方式中,可以根据会话标识符对这些条目进行索引。
在各种实施方式中,控制器116可以向源转发器120发送镜像流量转发会话的指示,例如会话数据存储库124的条目中的数据的至少一部分。例如,控制器116可以将会话标识符发送到源转发器120和/或发送指示,该指示为:应该由源转发器120将镜像流量转发会话中的数据分组发送到控制器116。源转发器120可以将镜像流量转发会话的指示存储在数据存储库中(例如,在路由表中)。此外,控制器116可以向目的地转发器126发送镜像流量转发会话的指示(例如,会话数据存储库124的条目中的数据的至少一部分)。例如,控制器116可以将会话标识符发送到目的地转发器126和/或发送指示,该指示为:应该由目的地转发器将镜像流量转发会话中的数据分组发送到目的地112。目的地转发器可以将镜像流量转发会话的指示存储在数据存储库(例如,路由表)中。
根据各种实施方式,源104可以将镜像流量110转发到源转发器120。例如,源转发器120可以被定义为与源网络102相关联的本地流量镜像服务中的镜像流量110的目的地。在接收到镜像流量110后,源转发器120可以使用存储在源转发器120处(例如,在路由表中)的指示来识别会话标识符。因此,源转发器120可以确定将镜像流量110转发到控制器116。在各种实施方式中,源转发器120可以对镜像流量110进行封装以生成封装流量122。例如,源转发器118可以根据通用路由封装(GRE)协议将至少一个数据分组封装在镜像流量110中。
在各种实施方式中,源转发器120可以在封装之前将镜像流量110中的至少一个数据分组转换成标准化格式。在一些情况下,镜像流量110可以依照与源网络102相关联的网络协议(例如,专有通信协议)。根据各种实施方式,源转发器120可以使用诸如Libpcap、Libnet或IPtables之类的库将镜像流量110转换成标准化格式。例如,源转发器120可以使用Libpcap来捕获、过滤和操纵镜像流量内的未经加工的镜像数据分组。例如,源转发器120可以使用Libnet来执行分组构造和注入。在一些情况下,源转发器120可以使用IPtables来检查和改变分组。Libpcap、Libnet和IPtables是源转发器120可以使用的示例实用程序,并且在本公开的各种实施方式中,源转发器120可以使用其他实用程序和/或技术来转换镜像流量110。在某些情况下,标准化格式包括封装远程交换端口分析器(ERSPAN)格式。在某些情况下,源转发器120可以将会话标识符添加到封装流量122的ERSPAN报头。
ERSPAN分组格式与包括各种元素的特定报头格式相关联。例如,ERSPAN报头可以包括具有一个或多个类型-长度-值(TLV)变量的以太网帧,以传达有关转发会话的信息,该信息为例如以下各项中的至少一项:数据分组的类型(例如,请求或回复);系统时间戳;帧序号;源ERSPAN会话信息(例如,会话号、描述和配置);源设备信息(例如,设备名称、设备位置和操作系统版本);源和目的地设备地址(例如,IP地址);特定于平台的TLV;密码校验和TLV(例如,基于密码的安全散列算法(SHA)-1或SHA-256校验和)等。在各种示例中,在ERSPAN报头中指定的会话号可以用作会话标识符。此外,可以进一步根据ERSPAN报头中的一个或多个TLV变量来定义源104和目的地112之间(或源转发器120和目的地转发器126之间)的span会话。
源转发器120可以将封装流量122发送到源网络102之外并且发送到控制器116。在各种实施方式中,控制器116可以识别出:封装流量122应该被转发到目的地网络114和/或目的地112。例如,控制器116可以从封装流量122中提取会话标识符,并使用会话标识符来识别对应于会话数据存储库124中的镜像流量转发会话的条目。例如,控制器116可以基于条目识别封装流量122中的会话标识符,识别会话数据存储中与会话标识符相对应的条目,并且可以识别出封装流量122应该被转发到目的地网络114中的目的地转发器126。例如,控制器116可以识别出封装流量122要被发送到目的地112并且可以将封装流量122转发到目的地112。相应地,控制器116可以将封装流量122发送到目的地转发器126。
在各种实施方式中,目的地转发器126可以是目的地网络114中的节点。在从控制器116接收到封装流量122后,目的地转发器126可以识别出封装流量122是应该被转发到目的地112的镜像流量转发会话的一部分。例如,目的地转发器126可以识别封装流量122中的会话标识符,并且可以使用会话标识符来识别路由表中与镜像流量转发会话相对应的条目,其中该条目可以标识:会话中的数据分组应该被转发到目的地112。相应地,目的地转发器126可以基于封装流量122将镜像流量110转发到目的地112。例如,目的地转发器126可以对封装流量122进行解封装并且/或者将镜像流量110转换成与目的地112和/或目的地网络114相关联的通信格式。例如,目的地转发器126可以使用Libpcap、Libnet或IPtables中的至少一者来将封装流量122转换成镜像流量110,其中镜像流量110可以具有目的地112可接受的格式。因此,目的地112可以被配置为对镜像流量110进行处理,即使由源104生成的镜像流量110最初是目的地112不可接受的格式。
在接收到镜像流量110后,目的地112可以基于镜像流量110执行各种操作。例如,目的地112可以分析镜像流量110并且/或者生成一个或多个分析报告,这些分析报告可以被发送到和/或被显示在计算设备108上。在一些示例中,目的地112可以包括负载平衡器,该负载平衡器可以将镜像流量110转发到目的地网络114中的一个或多个其他节点。
在各种实施方式中,镜像流量110可以沿着经过不同的网络(源网络102和目的地网络114)的路径被转发,而不管这些不同的网络是否在它们相应的通信网络内使用不同的网络协议。就本文使用的而言,术语“路径”、“网络路径”以及它们的等同物可以指代分组可以经过的特定节点和/或接口序列。可以在两个节点之间定义路径。在一些情况下,可以根据第一节点的标识、第二节点的标识以及分组从第一节点行进到第二节点所通过的中间节点和/或接口的任何序列,来定义分组从第一节点传输到第二节点的路径。可以由控制器116在源网络102和目的地网络114之间转发镜像流量110。
现在将参考图1的示例环境100来描述说明性示例。在该示例中,组织可能正在使用源网络102和目的地网络114中的各种资源来托管视频游戏服务。然而,该组织可能怀疑与视频游戏服务相关联的延迟正在成为问题。例如,该组织可能已经收到来自用户的投诉,表明该用户注意到在用户指示视频游戏角色在视频游戏服务中移动与视频游戏角色在与该用户相关联的设备的显示器中移动之间存在延迟。因此,组织可以寻求确定视频游戏服务处的异常流量是否是由于视频游戏服务处的异常数据流量引起的。该组织可以与能够分析数据流量的专用分析器服务相关联。但是,分析器服务可能位于与视频游戏服务不同的网络中。参考图1,视频游戏服务可以是源104,而分析器服务可以是目的地112。
为了使分析器服务能够分析视频游戏服务处的数据流量,组织中的个人可以指示控制器116建立从源104到目的地112的流量镜像转发会话。例如,个人可以使用计算设备108将转发请求118发送到控制器116,控制器116进而可以在会话数据存储库124中建立对应于流量镜像转发会话的条目。控制器116还可以指示源转发器120和目的地转发器126将会话中的分组从源104发送到目的地112。控制器116还可以指示源104处的视频游戏服务生成镜像流量110。镜像流量110可以包括由视频游戏服务发送和/或接收的一个或多个数据分组的副本。
根据本文所述的各种实施方式,包括来自视频游戏服务的镜像数据分组的镜像数据流量110可以被发送到目的地112处的分析器服务。在接收到镜像数据流量110后,分析器引擎可以分析镜像数据流量110。例如,分析器引擎可以识别出源104正在从可疑IP地址接收异常数量的数据流量。分析器引擎可以向组织指示可疑IP地址(例如,在计算设备108处显示的报告中)。因此,组织中的个人(例如,管理员)可以更新源102的防火墙策略,该防火墙策略阻止来自可疑IP地址的流量。即使当源102和目的地112位于与不同通信协议相关联的不同网络中时,也可以实现这些优点和其他优点。
图2图示了用于在镜像流量转发会话中传输数据分组的示例环境200。环境200包括上面参考图1描述的镜像流量110、控制器116、源转发器120、封装流量122、会话数据存储库124和目的地转发器126。
如图所示,由源转发器120接收镜像流量110。源转发器120可以识别出镜像流量110是特定镜像流量转发会话的一部分。例如,源转发器120可以参考包括镜像流量转发会话的会话标识符204的路由表202。在一些情况下,路由表202进一步标识了镜像流量110应该被转发到控制器116。例如,路由表202可以包括控制器标识符206,该控制器标识符206可以标识出控制器116。在一些情况下,控制器标识符206包括控制器116的IP地址。
源转发器120可以将镜像流量110从第一格式(例如,第一通信协议)转换成标准化格式并对其进行封装。在各种实施方式中,源转发器120可以对镜像流量110进行封装以生成封装流量122。根据各种示例,源转发器120可以生成封装流量122以包括会话标识符204。源转发器120可以将封装流量122发送到由控制器标识符206指定的节点(即控制器116)。
在各种情况下,控制器116可以负责管理多个镜像流量转发会话,这些会话可以在会话数据存储库124的各个条目中被指定。每个条目可以指定会话的会话标识符、会话的目的地和/或会话的服务质量(QoS)。例如,如图2所示,会话数据存储库124可以包括对应于n个镜像流量转发会话的n个条目。n个条目包括会话标识符1到n、目的地地址1到n、以及作为“低优先级”的QoS指示。归因于与不同的镜像流量转发会话相关联的QoS,控制器116可以将镜像流量转发会话中的数据分组的优先级别降低至低于通过控制器116传送的其他类型数据分组(例如,其他类型的控制和/或数据平面数据分组)。
在接收到封装流量122后,控制器116可以使用封装流量122中的会话标识符204来识别会话数据存储库124中与封装流量122相对应的条目。控制器116因此可以使用该条目来识别封装流量122的目的地。在一些情况下,该条目可以指定会话中数据分组的最终目的地(例如,目的地112)的地址(例如,IP地址)和/或目的地转发器126的地址(例如,IP地址)。因此,控制器116可以基于会话数据存储库124来识别目的地转发器126。
尽管未示出,但控制器116可以使用会话数据存储库124,以在多个目的地转发器(与一个或多个其他网络相关联)中识别出目的地转发器126。例如,封装流量122中的会话ID 204可以是“ID 1”,并且目的地转发器126的地址可以是“地址1”(如会话数据存储库124中所指示的)。然而,与不同的镜像流量转发会话相关联的会话ID可以是“ID2”,并且可以包括与“地址2”相关联的不同的目的地转发器(未示出)。相应地,即使控制器116可能连接到其他目的地转发器,控制器也可以制止将封装流量122转发到除了目的地转发器126(其与包括封装流量122的特定镜像流量转发会话相关联)之外的任何目的地转发器。
控制器116可以将封装流量122发送到目的地转发器126。目的地转发器126可以基于封装流量122中的会话标识符204来识别镜像流量转发会话。在各种实施方式中,目的地转发器126可以将会话标识符204与目的地标识符210一起存储,该目的地标识符210可以标识出镜像流量转发会话中的数据分组的目的地(例如,目的地112)。目的地转发器126可以对封装流量122进行解封装,以恢复镜像流量110。在一些实施方式中,目的地转发器126可以将镜像流量110从标准化格式转换成适合目的地和/或目的地网络的第二格式。因此,目的地转发器126可以以适合目的地的格式将镜像流量110发送到目的地。
图3图示了封装镜像数据分组300的示例。在各种实施方式中,封装分组可以被包括在封装流量(例如,上面参考图1和图2描述的封装流量122)中。如图所示,封装分组300可以包括ERSPAN分组302。ERSPAN分组302可以包括会话标识符204。在各种实施方式中,ERSPAN分组302可以包括来自一个或多个镜像数据分组的数据。封装分组300还可以包括包围ERSPAN分组302的GRE封装304。因此,封装分组300可以是可以由转发器(例如,上面参考图1和图2描述的源转发器120和/或目的地转发器126)和控制器(例如,上面参考图1和图2描述的控制器116)分析的标准化格式。
图4图示了互连的混合网络环境400。如图所示,环境400包括上面参照图1和图2描述的控制器116。控制器116可以连接到多个网络,包括第一网络402-1、第二网络402-2、第三网络402-3和第四网络402-4。网络402-1至402-4中的每一者可以是基于云的网络或基于云的网络内的不同区域。区域可以被定义为布置在不同地理地区中的一个或多个数据中心,该不同地理地区包括多个可用性区域(availability zone)。例如,网络402-1至402-4中的每个网络可以包括与网络402-1至402-4中的其他网络安全隔离的不同内部通信网络。在一些情况下,网络402-1至402-4中的一个网络可以是源网络(例如,上面参考图1描述的源网络102),并且/或者网络402-1至402-4中的另一个网络可以是目的地网络(例如,上面参考图1描述的目的地网络114)。
在各种实施方式中,控制器116可以被配置为控制和/或管理包括网络402-1至402-4中的节点的网络基础结构。控制器116可以安全地连接到网络402-1至402-4。例如,可以通过相应的VPN来发送控制器116与网络402-1至402-4中的任何一者之间的通信。因此,即使控制器116可能在网络402-1至402-4中的部分网络或所有网络之外,网络402-1至402-4也可以保持免受恶意数据流量的影响。
网络402-1至402-4可以包括相应的终端节点404-1至404-4。终端节点404-1至404-4可以包括各种镜像流量转发会话的源和/或终端。例如,终端节点404-1至404-4中的一者可以是上面参考图1描述的源104,并且终端节点404-1至404-4中的另一者可以是上面参考图1描述的目的地112。在各种情况下,终端节点404-1至404-4可以生成镜像数据流量和/或从其他终端节点404-1至404-4(例如,其他网络中的终端节点)接收镜像数据流量。
网络402-1至402-4可以附加地包括相应的转发器406-1至406-4。转发器406-1至406-4可以被配置为在网络402-1至402-4与控制器116之间中继镜像数据流量。例如,转发器406-1至406-4中的一个可以是上面参考图1和图2描述的源转发器120。转发器406-1至406-4中的另一个转发器可以是上面参照图1和图2描述的目的地转发器。在各种实施方式中,转发器406-1至406-4中的任何一者可以被配置为接收镜像数据流量、将镜像数据流量转换成标准化格式、对镜像数据流量进行封装、以及将镜像数据流量转发到控制器116。在一些实施方式中,转发器406-1至406-4中的任意一者可以被配置为接收镜像数据流量、将镜像数据流量转换为对其相应网络402-1至402-4合适的格式、对镜像数据流量进行解封装、以及将镜像数据流量转发到终端节点404-1至404-4中的相应的一个。
在本文描述的各种实施方式中,控制器116和/或转发器406-1至406-4可以使镜像数据流量能够被转发到混合网络环境400中的各种网络402-1至402-4。例如,控制器116可以建立与如下的镜像流量转发会话相关联的会话标识符:该镜像流量转发会话为第一网络402-1中的第一终端节点404-1与第二网络402-2中的第二终端节点404-2之间的镜像流量转发会话。控制器116可以将会话标识符连同指示存储在会话数据存储库(例如,上面参考图1和图2描述的会话数据存储库124)的条目中,该指示为:会话中的数据分组要被从第一转发器406-1转发到第二转发器406-2。此外,控制器116可以指示第一转发器406-1将会话中的数据分组从第一终端节点404-1转发到控制器116,和/或可以指示第二转发器406-2将会话中的数据分组从控制器116转发到第二终端节点404-2。第一转发器406-1可以将会话中的数据分组转发到具有指定会话标识符的控制器116。相应地,控制器116可以基于数据分组中的会话标识符,来识别出分组在从第一终端节点404-1到第二终端节点404-2的会话中。控制器116因此可以将数据分组转发到第二转发器406-2,而不是转发到环境400中的其他转发器(例如,第三转发器406-3或第四转发器406-4)。
在一些情况下,控制器116可以适应环境400中的多个镜像流量转发会话,这些会话可以是在终端404-1至404-4中的任意一对终端之间的。多个会话中的每一者可以与单独的会话标识符相关联,该标识符可以在控制器116的数据存储库中追踪。相应地,控制器116可以使用单独的会话标识符适当地转发多个会话中的数据分组。此外,转发器406-1至406-4可以使用单独的会话标识符适当地转发多个会话中的数据分组。
图5图示了用于在混合网络环境中转发镜像数据流量的示例过程500。在各种实施方式中,过程500可以由包括控制器(例如,上面参考图1和图2描述的控制器116)的实体执行。
在502处,实体可以从源网络中的源转发器接收镜像数据分组。在各种实施方式中,镜像数据分组可以是从由源网络内的源节点发送或接收的数据分组复制的。可以通过连接到源网络内的源节点的至少一个接口来发送或接收数据分组。在一些情况下,源节点可以根据与源网络相关联的本地数据流量镜像协议,来生成镜像数据分组。源节点可以根据数据流量镜像协议,来将镜像数据分组转发到源转发器。在一些情况下,源节点和/或源转发器可以包括至少一个虚拟机(VM),该虚拟机占用源网络的至少一个计算资源。源网络可以是例如基于云的网络。
在各种情况下,源转发器可以在将镜像数据分组转发到实体之前修改镜像数据分组。例如,源转发器可以将镜像数据分组从第一格式(例如,源网络专有的格式)转换为第二格式。在某些情况下,源转发器可以根据封装协议对镜像数据分组进行封装。根据一些示例,源转发器可以将镜像数据分组转换为封装在通用路由封装(GRE)中的封装远程交换端口分析器(ERSPAN)数据分组。
在504处,实体可以识别镜像数据分组的会话。在各种示例中,会话可以是镜像数据流量转发会话。根据一些示例,实体可以通过从镜像数据分组中提取会话标识符来识别会话。在各种情况下,会话标识符可以在镜像数据分组的ERSPAN报头内。
在506处,实体可以为镜像数据分组识别目的地网络中的目的地转发器。在各种情况下,实体可以访问数据存储库,该数据存储库存储与实体所管理的各种镜像流量转发会话相关联的条目。这些条目可以通过会话标识符来索引。相应地,实体可以使用镜像数据分组的会话标识符,来提取与镜像数据分组相关联的条目。该条目还可以指示目的地转发器。例如,该条目可以指示目的地转发器的地址(例如,IP地址)。
在508处,实体可以将镜像数据分组转发到目的地转发器。目的地转发器可以是目的地网络的一部分。在某些情况下,目的地转发器可以对镜像数据分组进行解封装。根据一些示例,目的地转发器可以将镜像数据分组从第二格式转换为第三格式(例如,目的地网络专有的格式)。目的地转发器可以将镜像数据分组转发到目的地网络内的目的地节点。在一些情况下,目的地节点可以是流量分析器,该流量分析器被配置为使用一个或多个规则来分析镜像数据分组。在一些情况下,目的地节点可以是负载平衡器,该负载平衡器被配置为根据负载平衡协议来将镜像数据分组转发到目的地网络内的另一个节点。在一些情况下,目的地节点和/或目的地转发器可以包括至少一个VM,该至少一个VM占用目的地网络的至少一个计算资源。目的地网络可以是例如基于云的网络。
在各种示例中,源网络可以不同于目的地网络。例如,源网络可以是基于云的网络中的第一区域,而目的地网络可以是基于云的网络中的第二区域。在一些情况下,源网络可以是第一基于云的网络,而目的地网络可以是第二基于云的网络。相应地,过程500可以使能混合网络环境中的流量镜像处理。
图6图示了用于将镜像数据流量转发到网络之外的示例过程600。在各种实施方式中,过程600可以由包括转发器(例如,上面参考图1描述的源转发器120和/或上面参考图4描述的转发器406-1至406-4中的任何转发器)的实体执行。
在602处,实体可以从基于云的网络中的源节点接收镜像数据分组。在各种实施方式中,实体和源节点可以是网络内的节点。在一些情况下,镜像数据分组可以是该网络专有的第一格式。在各种实施方式中,可以从由源节点发送或接收的数据分组复制镜像数据分组。可以通过连接到源节点的至少一个接口来发送或接收数据分组。在一些情况下,源节点可以根据与网络相关联的本地数据流量镜像协议,来生成镜像数据分组。源节点可以根据数据流量镜像协议,来将镜像数据分组转发到源转发器。在一些情况下,源节点和/或源转发器可以包括至少一个虚拟机(VM),该虚拟机占用网络的至少一个计算资源。例如,网络可以是基于云的网络。
根据各种实施方式,镜像数据分组可以包括云本地镜像分组报头。执行过程600的实体可以通过识别(例如,辨别)镜像数据分组的分组报头来识别出镜像数据分组要被转发到控制器。在一些情况下,控制器可以在过程600开始之前向实体指示关于与镜像数据分组相关联的转发会话。例如,控制器可以向实体发送执行镜像处理的指令,该指令指示镜像数据分组的分组报头。相应地,当实体接收到镜像数据分组,实体可以识别出镜像数据分组要作为其一部分的转发会话,并且可以确定将镜像数据分组转发到源节点的基于云的网络之外。在一些情况下,实体可以处置(例如,接收和/或转发)来自与基于云的网络相关联的多个镜像会话的流量。
在604处,实体可以对镜像数据分组进行封装。在一些情况下,实体可以将镜像数据分组从第一格式转换为第二格式。例如,实体可以将镜像数据分组转换为封装在通用路由封装(GRE)中的封装远程交换端口分析器(ERSPAN)数据分组。
在一些情况下,实体还可以识别包括镜像数据分组的特定镜像流量转发会话。在一些情况下,实体可以将与特定会话相关联的会话标识符添加到镜像数据分组。例如,会话标识符可以被添加到镜像数据分组的ERSPAN报头。
在606处,实体可以将镜像数据分组转发到网络外部的控制器。在各种示例中,控制器可以是连接到混合网络环境中的多个网络的服务定义网络(SDN)控制器。控制器可以将镜像数据分组转发到另一个网络以进行进一步处理。
图7示出了能够执行用于实现上述功能的程序组件的服务器计算机700的示例计算机架构。图7所示的计算机架构示出了传统的服务器计算机、工作站、台式计算机、膝上型计算机、平板电脑、网络设备、电子阅读器、智能手机或其他计算设备,并且可以用于执行本文所呈现的任何软件组件。在一些示例中,服务器计算机700可以对应于本文描述的网络节点。
计算机700包括基板702或“母板”,其是印刷电路板,多个组件或设备可以通过系统总线或其他电通信路径连接到该印刷电路板。在一种说明性配置中,一个或多个中央处理单元(“CPU”)704与芯片组706结合操作。CPU 704可以是执行计算机700的操作所必需的算术和逻辑操作的标准可编程处理器。
CPU 704通过操作开关元件从一个离散的物理状态转换到下一个来执行操作,开关元件区分和改变这些状态。开关元件通常包括维持两个二进制状态之一的电子电路,例如触发器,以及基于一个或多个其他开关元件的状态的逻辑组合提供输出状态的电子电路,例如逻辑门。这些基本的开关元件可以组合起来以创建更复杂的逻辑电路,包括寄存器、加法器-减法器、算术逻辑单元、浮点单元等。
芯片组706提供CPU 704与基板702上的其余组件和设备之间的接口。芯片组706可以提供到RAM 709的接口,RAM 709用作计算机700中的主存储器。芯片组706可以进一步提供到计算机可读存储介质的接口,例如只读存储器(“ROM”)710或非易失性RAM(“NVRAM”),用于存储有助于启动计算机700和在各种组件和设备之间传输信息的基本程序。ROM 710或NVRAM还可以存储根据本文描述的配置操作计算机700所必需的其他软件组件。
计算机700可以使用通过网络(例如,网络708)到远程计算设备和计算机系统的逻辑连接在网络环境中操作。芯片组706可以包括用于通过网络接口控制器(NIC)712(例如,千兆以太网适配器)提供网络连接的功能。NIC 712能够通过网络708(或128)将计算机700连接到其他计算设备。应当理解,计算机700中可以存在多个NIC 712,将计算机连接到其他类型的网络和远程计算机系统。在一些情况下,NIC 712可以包括至少一个入口端口和/或至少一个出口端口。
计算机700可以连接到为计算机提供非易失性存储的存储设备718。存储设备718可以存储操作系统720、程序722和数据,它们已经在本文中更详细地描述。存储设备718可以通过连接到芯片组706的存储控制器714连接到计算机700。存储设备718可以由一个或多个物理存储单元组成。存储控制器714可以通过串行连接SCSI(“SAS”)接口、串行高级技术连接(“SATA”)接口、光纤通道(“FC”)接口、或其他类型用于在计算机和物理存储单元之间物理连接和传输数据的接口与物理存储单元接口。
计算机700可以通过转换物理存储单元的物理状态来将数据存储在存储设备718上以反映正在存储的信息。在本说明书的不同实施例中,物理状态的具体转换可以取决于各种因素。这样的因素的示例可以包括但不限于用于实现物理存储单元的技术、存储设备718是否被表征为主要或次要存储等。
例如,计算机700可以通过存储控制器714发出指令来将信息存储到存储设备718以改变磁盘驱动单元内的特定位置的磁特性、光存储单元中的特定位置的反射或折射特性、或固态存储单元中特定电容器、晶体管或其他分立组件的电气特性。在不脱离本描述的范围和精神的情况下,物理介质的其他变换是可能的,提供前述示例只是为了便于本描述。计算机700可以通过检测物理存储单元内的一个或多个特定位置的物理状态或特性来进一步从存储设备718读取信息。
除了上述大容量存储设备718之外,计算机700可以访问其他计算机可读存储介质以存储和检索信息,例如程序模块、数据结构或其他数据。本领域技术人员应当理解,计算机可读存储介质是提供数据的非暂时性存储并且可由计算机700访问的任何可用介质。在一些示例中,可以由一个或多个类似于计算机700的设备支持由网络节点(例如,网络节点404)、源(例如,202)、目的地(例如,207)、收集器(例如,308)或中央管理员(例如,312)执行的操作。换句话说,可以由在基于云的排列中操作的一个或多个计算机设备700执行由网络节点、收集器、和/或中央管理员执行的一些或所有操作。
作为示例而非限制,计算机可读存储介质可以包括以任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。计算机可读存储介质包括但不限于RAM、ROM、可擦除可编程ROM(“EPROM”)、电可擦除可编程ROM(“EEPROM”)、闪存或其他固态存储技术、光盘ROM(“CD-ROM”)、数字多功能光盘(“DVD”)、高清DVD(“HD-DVD”)、BLU-RAY或其他光学存储器、磁盒、磁带、磁盘存储器或其他磁性存储设备、或任何其他可用于以非暂时性方式存储所需信息的介质。
如上所简述的,存储设备718可以存储用于控制计算机700的操作的操作系统720。根据一个实施例,操作系统包括LINUX操作系统。根据另一个实施例,操作系统包括来自华盛顿州雷德蒙德的微软公司的
Figure BDA0003736169920000221
SERVER操作系统。根据进一步的实施例,操作系统可以包括UNIX操作系统或其变体之一。应该理解,也可以使用其他操作系统。存储设备718可以存储计算机700使用的其他系统或应用程序和数据。
在一个实施例中,存储设备718或其他计算机可读存储介质被编码有计算机可执行指令,当被加载到计算机700中时,这些指令将计算机从通用计算系统转换为能够实现本文描述的实施例的专用计算机。如上所述,这些计算机可执行指令通过指定CPU 704如何在状态之间转换来转换计算机700。根据一个实施例,计算机700可以访问存储计算机可执行指令的计算机可读存储介质,这些指令当由计算机700执行时,执行上文关于图1-6描述的各种过程。计算机700还可以包括计算机可读存储介质,其上存储有用于执行本文描述的任何其他计算机实现的操作的指令。
如图7所示,存储设备718存储程序722、以及控制器116、会话数据存储库124、和/或转发器724(例如,以上参照图4描述的多个转发器407-1到407-4中的任何一者)。在一些实施方式中,可以从存储设备718中省略控制器116、会话数据存储库124、或转发器724中的至少一者。
计算机700还可以包括一个或多个输入/输出控制器716,用于接收和处理来自多个输入设备的输入,例如键盘、鼠标、触摸板、触摸屏、电子指示笔或其他类型的输入设备。类似地,输入/输出控制器716可以向显示器提供输出,例如计算机监视器、平板显示器、数字投影仪、打印机或其他类型的输出设备。应当理解,计算机700可能不包括图7中所示的所有组件,可以包括未在图7中明确示出的其他组件,或者可能利用与图7所示的完全不同的架构。
在一些情况中,一个或多个组件在此可被称为“被配置为”、“可配置为”、“可操作/可操作来”、“适合于/可适合于”、“能够”、“可符合/符合”,等等。本领域技术人员将会认识到,除非上下文另有要求,否则这样的术语(例如,“被配置为”)一般可涵盖活跃状态组件和/或非活跃状态组件和/或待机状态组件。
就本文使用的而言,术语“基于”可与“至少部分基于”和“至少部分地基于”被同义地使用。就本文使用的而言,术语“包括”和“包含”及其等同物可以被互换使用。“包括A、B和C”的装置、系统或方法包括A、B和C,但也可包括其他组件(例如,D)。也就是说,该装置、系统或方法不限于组件A、B和C。
虽然本发明是针对具体实施例进行描述的,但应理解本发明的范围不限于这些具体实施例。由于为适合特定操作要求和环境而改变的其他修改和改变对于本领域技术人员来说将是显而易见的,因此本发明不被认为限于为公开目的而选择的示例,并且涵盖不构成背离本发明的真正精神和范围的所有改变和修改。
尽管本申请描述了具有特定结构特征和/或方法动作的实施例,但是应当理解,权利要求不一定限于所描述的特定特征或动作。相反,特定特征和动作仅仅是落入本申请的权利要求范围内的说明性实施例。

Claims (20)

1.一种方法,包括:
从源网络中的源转发器接收镜像数据分组;
基于所述镜像数据分组的报头,来识别所述镜像数据分组的会话;
基于所述会话来识别目的地网络中的目的地转发器,所述目的地网络不同于所述源网络;以及
将所述镜像数据分组转发给所述目的地转发器。
2.根据权利要求1所述的方法,其中,所述源转发器包括托管在所述源网络的资源中的第一虚拟机(VM)、第一容器或第一程序,并且
其中,所述目的地转发器包括托管在所述目的地网络的资源中的第二VM、第二容器或第二程序。
3.根据权利要求1或2所述的方法,其中,所述镜像数据分组包括封装在通用路由封装(GRE)中的封装远程交换端口分析器(ERSPAN)数据分组,并且
其中,所述报头包括所述镜像数据分组的ERSPAN报头。
4.根据前述权利要求中任一项所述的方法,其中,所述镜像数据分组包括由所述源网络中的至少一个节点发送或接收的原始数据分组的副本,所述原始数据分组符合一个或多个流量镜像规则。
5.根据前述权利要求中任一项所述的方法,其中,所述目的地转发器将所述镜像数据分组转发到所述目的地网络中的流量分析器服务。
6.根据前述权利要求中任一项所述的方法,其中,识别所述会话包括:从所述镜像数据分组的报头中提取会话标识符(ID)。
7.根据前述权利要求中任一项所述的方法,其中,所述源网络包括第一基于云的网络并且所述目的地网络包括第二基于云的网络。
8.一种系统,包括:
至少一个处理器;以及
存储器,存储指令,所述指令当由所述至少一个处理器执行时使所述系统执行包括以下项的操作:
从基于云的源网络中的源转发器接收镜像数据分组;
基于所述镜像数据分组的报头,来识别所述镜像数据分组的会话;
基于数据存储库中与所述会话对应的条目,来识别基于云的目的地网络中的目的地转发器,所述基于云的目的地网络不同于所述基于云的源网络;以及
将所述镜像数据分组转发给所述目的地转发器。
9.根据权利要求8所述的系统,其中,所述源转发器包括托管在所述基于云的源网络的资源中的第一虚拟机(VM),并且
其中,所述目的地转发器包括托管在所述基于云的目的地网络的资源中的第二VM。
10.根据权利要求8或9所述的系统,其中,所述镜像数据分组包括封装在通用路由封装(GRE)中的封装远程交换端口分析器(ERSPAN)数据分组,并且
其中,所述报头包括所述镜像数据分组的ERSPAN报头。
11.根据权利要求8至10中任一项所述的系统,其中,所述镜像数据分组包括原始数据分组的副本,所述原始数据分组是通过所述基于云的源网络中的至少一个接口发送或接收的。
12.根据权利要求8至11中任一项所述的系统,其中,所述目的地转发器将所述镜像数据分组转发到所述基于云的目的地网络中的流量分析器服务。
13.根据权利要求8至12中任一项所述的系统,其中,识别所述会话包括:从所述镜像数据分组的报头中提取会话标识符(ID)。
14.根据权利要求8至13中任一项所述的系统,其中,所述系统被包括在所述基于云的源网络或所述基于云的目的地网络中。
15.根据权利要求8至13中任一项所述的系统,其中,所述系统被包括在数据中心中,其中,该数据中心位于所述基于云的源网络和所述基于云的目的地网络的外部。
16.一种系统,包括:
转发器,在第一基于云的网络中,所述转发器包括:
至少一个第一处理器;以及
第一存储器,存储第一指令,所述第一指令当由所述至少一个第一处理器执行时使转发器执行包括以下项的第一操作:
从所述第一基于云的网络中的源接收镜像数据分组;
将所述镜像数据分组从第一格式转换为第二格式;
对所述镜像数据分组进行封装;以及
将所述镜像数据分组发送到控制器;以及
控制器,连接到所述第一基于云的网络,所述控制器包括:
至少一个第二处理器;以及
第二存储器,存储表和第二指令,所述第二指令当由所述至少一个第二处理器执行时使所述控制器执行包括以下项的第二操作:
从所述源转发器接收所述镜像数据分组;
基于所述镜像数据分组的报头,来识别所述镜像数据分组的会话;
基于所述表中与所述会话对应的条目,来识别第二基于云的网络中的目的地转发器,所述第二基于云的网络不同于所述第一基于云的网络;以及
将所述镜像数据分组转发给所述目的地转发器。
17.根据权利要求16所述的系统,还包括:
所述目的地转发器,包括:
至少一个第三处理器;以及
第三存储器,存储第三指令,所述第三指令当由所述至少一个第三处理器执行时使所述目的地转发器执行包括以下项的第三操作:
从所述控制器接收所述镜像数据分组;
对所述镜像数据分组进行解封装;
将所述镜像数据分组从所述第二格式转换为第三格式;以及
将所述镜像数据分组发送到所述第二基于云的网络中的目的地。
18.根据权利要求17所述的系统,其中,所述第一操作还包括将会话标识符插入到所述镜像数据分组的报头中,
其中,识别所述镜像数据分组的会话包括识别所述报头中的会话标识符,并且
其中,所述第三操作还包括基于所述报头中的会话标识符来识别所述目的地。
19.根据权利要求16至18中任一项所述的系统,其中,所述控制器被包括在所述基于云的源网络或所述基于云的目的地网络中。
20.根据权利要求16至19中任一项所述的系统,其中,所述第二格式包括封装远程交换端口分析器(ERSPAN)格式,并且
其中,对所述镜像数据分组进行封装包括将所述镜像数据分组封装在通用路由封装中,所述镜像数据分组的报头包括所述镜像数据分组的ERSPAN报头。
CN202180008365.7A 2020-01-10 2021-01-07 混合网络环境中的流量镜像处理 Pending CN114930776A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202062959751P 2020-01-10 2020-01-10
US62/959,751 2020-01-10
US16/863,713 2020-04-30
US16/863,713 US11711299B2 (en) 2020-01-10 2020-04-30 Traffic mirroring in hybrid network environments
PCT/US2021/012558 WO2021142168A1 (en) 2020-01-10 2021-01-07 Traffic mirroring in hybrid network environments

Publications (1)

Publication Number Publication Date
CN114930776A true CN114930776A (zh) 2022-08-19

Family

ID=76763424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180008365.7A Pending CN114930776A (zh) 2020-01-10 2021-01-07 混合网络环境中的流量镜像处理

Country Status (4)

Country Link
US (1) US11711299B2 (zh)
EP (1) EP4088430A1 (zh)
CN (1) CN114930776A (zh)
WO (1) WO2021142168A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11722436B2 (en) * 2021-08-24 2023-08-08 International Business Machines Corporation Transport control word architecture for physical port mirroring

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6198751B1 (en) * 1997-11-19 2001-03-06 Cabletron Systems, Inc. Multi-protocol packet translator
US20040003094A1 (en) * 2002-06-27 2004-01-01 Michael See Method and apparatus for mirroring traffic over a network
US20100054152A1 (en) * 2008-09-04 2010-03-04 Cisco Technology, Inc. ERSPAN dynamic session negotiation
US8116307B1 (en) * 2004-09-23 2012-02-14 Juniper Networks, Inc. Packet structure for mirrored traffic flow
US20130198564A1 (en) * 2012-01-27 2013-08-01 Empire Technology Development, Llc Parameterized dynamic model for cloud migration
US20140075041A1 (en) * 2012-09-11 2014-03-13 Avaya Inc. System and method for data stream mirroring
CN106100999A (zh) * 2016-08-28 2016-11-09 北京瑞和云图科技有限公司 一种虚拟化网络环境中镜像网络流量控制协议
CN106982180A (zh) * 2016-12-30 2017-07-25 中国银联股份有限公司 网络流量监控方法、交换机设备以及报文分析系统
US20170223103A1 (en) * 2016-01-29 2017-08-03 Avaya Inc. Automated Mirroring And Remote Switch Port Analyzer (RSPAN)/ Encapsulated Remote Switch Port Analyzer (ERSPAN) Functions Using Fabric Attach (FA) Signaling
US20180124139A1 (en) * 2016-11-01 2018-05-03 Nicira, Inc. Port mirroring in overlay networks
US20180349163A1 (en) * 2017-05-30 2018-12-06 Nicira, Inc. Port mirroring in a virtualized computing environment

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041042A (en) * 1997-05-27 2000-03-21 Cabletron Systems, Inc. Remote port mirroring system and method thereof
US8185663B2 (en) * 2004-05-11 2012-05-22 Hewlett-Packard Development Company, L.P. Mirroring storage interface
US8606897B2 (en) * 2010-05-28 2013-12-10 Red Hat, Inc. Systems and methods for exporting usage history data as input to a management platform of a target cloud-based network
US8520540B1 (en) * 2010-07-30 2013-08-27 Cisco Technology, Inc. Remote traffic monitoring through a network
US8885492B2 (en) * 2012-07-10 2014-11-11 Cisco Technology, Inc. Methods and apparatus for analyzing network traffic in a network including a plurality of network analyzers
US9450853B2 (en) * 2013-10-16 2016-09-20 International Business Machines Corporation Secure cloud management agent
US9860309B2 (en) 2014-12-22 2018-01-02 Vmware, Inc. Hybrid cloud network monitoring system for tenant use
US10893100B2 (en) * 2015-03-12 2021-01-12 International Business Machines Corporation Providing agentless application performance monitoring (APM) to tenant applications by leveraging software-defined networking (SDN)
US9954751B2 (en) 2015-05-29 2018-04-24 Microsoft Technology Licensing, Llc Measuring performance of a network using mirrored probe packets
US10097633B2 (en) * 2016-01-29 2018-10-09 Extreme Networks, Inc. Automated mirroring and remote switch port analyzer (RSPAN)/encapsulated remote switch port analyzer (ERSPAN) functions using fabric attach (FA) signaling
US10454831B1 (en) * 2016-06-30 2019-10-22 Amazon Technologies, Inc. Load-balanced forwarding of network packets generated by a networking device
US10887386B2 (en) * 2016-10-31 2021-01-05 Nicira, Inc. Adaptive data mirroring in virtual networks
US9906401B1 (en) 2016-11-22 2018-02-27 Gigamon Inc. Network visibility appliances for cloud computing architectures
US10432426B2 (en) 2017-02-21 2019-10-01 Nicira, Inc. Port mirroring in a virtualized computing environment
CA3097632A1 (en) * 2018-04-18 2019-10-24 Iboss, Inc. Hybrid cloud computing network management
US10491466B1 (en) * 2018-08-24 2019-11-26 Vmware, Inc. Intelligent use of peering in public cloud
US10999173B2 (en) * 2018-11-19 2021-05-04 Cisco Technology, Inc. Active targeted data plane traffic monitoring for wired networks
JP7152665B2 (ja) * 2019-01-09 2022-10-13 富士通株式会社 情報処理装置、情報処理システム、および設定プログラム
US10939369B2 (en) * 2019-02-22 2021-03-02 Vmware, Inc. Retrieval of slice selection state for mobile device connection
US11489930B2 (en) * 2019-06-11 2022-11-01 At&T Intellectual Property I, L.P. Telecommunication network edge cloud interworking via edge exchange point
US11516050B2 (en) * 2019-06-21 2022-11-29 Amazon Technologies, Inc. Monitoring network traffic using traffic mirroring
US11297037B2 (en) * 2019-07-22 2022-04-05 Arista Networks, Inc. Method and network device for overlay tunnel termination and mirroring spanning datacenters

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6198751B1 (en) * 1997-11-19 2001-03-06 Cabletron Systems, Inc. Multi-protocol packet translator
US20040003094A1 (en) * 2002-06-27 2004-01-01 Michael See Method and apparatus for mirroring traffic over a network
US8116307B1 (en) * 2004-09-23 2012-02-14 Juniper Networks, Inc. Packet structure for mirrored traffic flow
US20100054152A1 (en) * 2008-09-04 2010-03-04 Cisco Technology, Inc. ERSPAN dynamic session negotiation
US20130198564A1 (en) * 2012-01-27 2013-08-01 Empire Technology Development, Llc Parameterized dynamic model for cloud migration
US20140075041A1 (en) * 2012-09-11 2014-03-13 Avaya Inc. System and method for data stream mirroring
US20170223103A1 (en) * 2016-01-29 2017-08-03 Avaya Inc. Automated Mirroring And Remote Switch Port Analyzer (RSPAN)/ Encapsulated Remote Switch Port Analyzer (ERSPAN) Functions Using Fabric Attach (FA) Signaling
CN106100999A (zh) * 2016-08-28 2016-11-09 北京瑞和云图科技有限公司 一种虚拟化网络环境中镜像网络流量控制协议
US20180124139A1 (en) * 2016-11-01 2018-05-03 Nicira, Inc. Port mirroring in overlay networks
CN106982180A (zh) * 2016-12-30 2017-07-25 中国银联股份有限公司 网络流量监控方法、交换机设备以及报文分析系统
US20180349163A1 (en) * 2017-05-30 2018-12-06 Nicira, Inc. Port mirroring in a virtualized computing environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
庄纪林;: "MARC数据镜像系统的设计和实现", 现代图书情报技术, no. 06 *

Also Published As

Publication number Publication date
US20210218673A1 (en) 2021-07-15
WO2021142168A1 (en) 2021-07-15
US11711299B2 (en) 2023-07-25
EP4088430A1 (en) 2022-11-16

Similar Documents

Publication Publication Date Title
US10862732B2 (en) Enhanced network virtualization using metadata in encapsulation header
US10834669B2 (en) Stateful network slice selection using replay of connection handshake
CA2996421C (en) Distributing remote device management attributes to service nodes for service rule processing
US11246087B2 (en) Stateful network slice selection using slice selector as connection termination proxy
US11516050B2 (en) Monitoring network traffic using traffic mirroring
US9304801B2 (en) Elastic enforcement layer for cloud security using SDN
US10178068B2 (en) Translating network attributes of packets in a multi-tenant environment
US11336515B1 (en) Simultaneous interoperability with policy-aware and policy-unaware data center sites
WO2023114184A1 (en) Encrypted data packet forwarding
CN114930776A (zh) 混合网络环境中的流量镜像处理
US11888740B2 (en) Classification and forwarding node for integrating disparate headend traffic ingress services with disparate backend services
US11711292B2 (en) Pre-filtering of traffic subject to service insertion
CN115801298A (zh) 文件传输的方法、系统、设备和存储介质
Papageorgiou et al. Dynamic M2M device attachment and redirection in virtual home gateway environments
US20230269275A1 (en) Implementing policy based on unique addresses or ports
US11888736B2 (en) Service chaining in fabric networks
US20230269217A1 (en) Binding flows to unique addresses or ports
US20240137314A1 (en) Service chaining in fabric networks
US20240163184A1 (en) Lightweight container networking solution for resource constrained devices

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