一种基于隧道技术实现虚拟机流量镜像的方法与设备技术

技术编号:26303824 阅读:16 留言:0更新日期:2020-11-10 19:58
本申请的目的是提供一种基于隧道技术实现虚拟机流量镜像的方案。该方案先在源物理机的虚拟交换机上配置流量控制规则,将数据流量中的目标数据包复制到源端口的镜像端口中,然后通过隧道网络将所述目标数据包从所述源端口的镜像端口发送到目的物理机,利用所述目的物理机上的虚拟交换机,将所述目标数据包转发到目的端口,从而实现虚拟机流量镜像。与现有技术相比,本申请基于隧道技术以及Linux原生的流量控制(Traffic Control)、虚拟交换机(Linux Bridge)技术,减少第三方依赖,简单高效便于应用,能够灵活地适配多种使用场景,便于用户进行流量观测分析。

【技术实现步骤摘要】
一种基于隧道技术实现虚拟机流量镜像的方法与设备
本申请涉及信息
,尤其涉及一种基于隧道技术实现虚拟机流量镜像的技术。
技术介绍
传统的流量镜像技术通常是基于硬件交换机的端口镜像来实现,配置麻烦,使用场景不灵活,很难对云平台上的海量虚拟机同时进行有针对性的流量监控。目前私有云平台的流量镜像基本都是基于OVS(OpenVSwitch,虚拟交换机)实现的,依赖OVS的流表来做引流或者端口镜像,该方案不适合非OVS私有云平台的需求。具体来说,该方案有以下缺点:(1)基于硬件交换机实现的端口镜像,配置在物理交换机上面,依赖于硬件的支持使用场景不够灵活,无法针对云平台东西向流量做镜像;(2)基于OVS实现的OpenStack端口镜像,依赖于OVS交换机,在不能满足OVS的情况下无法完成流量镜像。
技术实现思路
本申请的一个目的是提供一种基于隧道技术实现虚拟机流量镜像的方法与设备。根据本申请的一个方面,提供了一种基于隧道技术实现虚拟机流量镜像的方法,其中,所述方法包括:在源物理机的虚拟交换机上配置流量控制规则,将数据流量中的目标数据包复制到源端口的镜像端口中,其中,所述源端口是所述源物理机上运行的虚拟机的端口;通过隧道网络将所述目标数据包从所述源端口的镜像端口发送到目的物理机;利用所述目的物理机上的虚拟交换机,将所述目标数据包转发到目的端口,其中,所述目的端口是所述目的物理机上运行的虚拟机的端口。根据本申请的另一个方面,还提供了一种基于隧道技术实现虚拟机流量镜像的设备,其中,所述设备包括:第一模块,用于在源物理机的虚拟交换机上配置流量控制规则,将数据流量中的目标数据包复制到源端口的镜像端口中,其中,所述源端口是所述源物理机上运行的虚拟机的端口;第二模块,用于通过隧道网络将所述目标数据包从所述源端口的镜像端口发送到目的物理机;第三模块,用于利用所述目的物理机上的虚拟交换机,将所述目标数据包转发到目的端口,其中,所述目的端口是所述目的物理机上运行的虚拟机的端口。根据本申请的又一个方面,还提供了一种计算设备,其中,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述的基于隧道技术实现虚拟机流量镜像的方法。根据本申请的又一个方面,还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现所述的基于隧道技术实现虚拟机流量镜像的方法。本申请提供的方案中,先在源物理机的虚拟交换机上配置流量控制规则,将数据流量中的目标数据包复制到源端口的镜像端口中,然后通过隧道网络将所述目标数据包从所述源端口的镜像端口发送到目的物理机,利用所述目的物理机上的虚拟交换机,将所述目标数据包转发到目的端口,从而实现虚拟机流量镜像。与现有技术相比,本申请基于隧道技术以及Linux原生的流量控制(TrafficControl)、虚拟交换机(LinuxBridge)技术,减少第三方依赖,简单高效便于应用,能够灵活地适配多种使用场景,便于用户进行流量观测分析。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其他特征、目的和优点将会变得更明显:图1是根据本申请实施例的一种基于隧道技术实现虚拟机流量镜像的方法流程图;图2是根据本申请实施例的一种基于隧道技术实现端口镜像的工作流程图;图3是根据本申请实施例的一种基于隧道技术实现虚拟机流量镜像的设备示意图。附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本申请作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的装置或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。本申请实施例提供了基于隧道技术在云平台中实现虚拟机流量镜像的方法,其中,流量镜像是指在不影响原有业务的情况下,将网络中当前节点(例如所述源端口)通过的报文复制一份到指定的观测端口(例如所述目的端口)。用户可以根据需要定义被镜像的端口(例如所述源端口),然后将报文分析设备与观测端口(例如所述目的端口)相连,进行流量观测分析。该方法基于私有云常用的隧道技术,并且结合了Linux原生的流量控制(TrafficControl)以及虚拟交换机(LinuxBridge)技术,不存在第三方依赖,简单高效便于应用。具体地,该方法的基本原理包括:在Linux内核包转发时进行重定向(引流)或者复制(镜像);其中,流量重定向(引流)是指改变流量的方向,比如,原本是从云主机A到云主机B的流量,通过流量重定向(引流)后可以把从云主机A的流量重定向(引流)到云主机C,这样云主机C就能收到云主机A的流量,但是云主机B就收不到从云主机A发送的流量;流量复制(镜像)是指复制一份相同的流量到其他云主机,比如,原本是从云主机A到云主机B的流量,通过流量复制(镜像)可以把从云主机A的流量复制(镜像)到云主机C,这样云主机B和云主机C可以同时收到从云主机A发送的流量。在实际场景中,执行该方法的设备可以是用户设备、网络设备或者用户设备与网络设备通过网络相集成所构成的设备。其中,所述用户设备包括但不限于智能手机、平板电脑、个人计算机(PC)等终端设备,所述网络设备包括但不限于网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(CloudComputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。图1是根据本申请实施例的一种基于隧道技术实现虚拟机流量镜像的方法流程图,该方法包括步骤S101、步骤S102和步骤S103。步骤S101,在源物理机的虚拟交换机(LinuxBridge)上配置流量控制(TrafficControl)规则,将数据流量中的目标数据包复制到源端口的镜像端口中,其中,所述源端口是所述源物理机上运行的虚拟机的端口。其中,LinuxBridge是虚本文档来自技高网...

【技术保护点】
1.一种基于隧道技术实现虚拟机流量镜像的方法,其中,所述方法包括:/n在源物理机的虚拟交换机上配置流量控制规则,将数据流量中的目标数据包复制到源端口的镜像端口中,其中,所述源端口是所述源物理机上运行的虚拟机的端口;/n通过隧道网络将所述目标数据包从所述源端口的镜像端口发送到目的物理机;/n利用所述目的物理机上的虚拟交换机,将所述目标数据包转发到目的端口,其中,所述目的端口是所述目的物理机上运行的虚拟机的端口。/n

【技术特征摘要】
1.一种基于隧道技术实现虚拟机流量镜像的方法,其中,所述方法包括:
在源物理机的虚拟交换机上配置流量控制规则,将数据流量中的目标数据包复制到源端口的镜像端口中,其中,所述源端口是所述源物理机上运行的虚拟机的端口;
通过隧道网络将所述目标数据包从所述源端口的镜像端口发送到目的物理机;
利用所述目的物理机上的虚拟交换机,将所述目标数据包转发到目的端口,其中,所述目的端口是所述目的物理机上运行的虚拟机的端口。


2.根据权利要求1所述的方法,其中,所述目标数据包是所述源物理机的虚拟交换机数据流量中符合预定规则的数据包。


3.根据权利要求2所述的方法,其中,所述预定规则包括以下至少任一项:
所述目标数据包符合预定的报文类型;
所述目标数据包符合预定的IP地址分类规则。


4.根据权利要求1所述的方法,其中,所述方法还包括:
分别在所述源物理机和所述目的物理机上创建GRE隧道口,配置所述隧道网络。


5.根据权利要求1所述的方法,其中,所述方法还包括:
在所述目的物理机上创建流量监控用网桥,并将所述目的端口以及所述目的端口的镜像端口桥接在所述流量监控用网桥上。


6.根据权利要求5所述的方法,其中,利用...

【专利技术属性】
技术研发人员:张鹏涛
申请(专利权)人:上海云轴信息科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1