CN109981403A - 虚拟机网络数据流量监控方法及装置 - Google Patents

虚拟机网络数据流量监控方法及装置 Download PDF

Info

Publication number
CN109981403A
CN109981403A CN201910169420.5A CN201910169420A CN109981403A CN 109981403 A CN109981403 A CN 109981403A CN 201910169420 A CN201910169420 A CN 201910169420A CN 109981403 A CN109981403 A CN 109981403A
Authority
CN
China
Prior art keywords
network
virtual machine
port
data
monitoring
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
CN201910169420.5A
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.)
Beijing Qinmu Data Technology Co Ltd
Original Assignee
Beijing Qinmu Data Technology Co Ltd
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 Beijing Qinmu Data Technology Co Ltd filed Critical Beijing Qinmu Data Technology Co Ltd
Publication of CN109981403A publication Critical patent/CN109981403A/zh
Pending legal-status Critical Current

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

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

Abstract

本发明公开一种虚拟机网络数据流量监控方法包括:将所述服务器的多个虚拟机中的一个虚拟机配置成具有监听端口和转发端口的虚拟机网络监控模块,监听端口用于网络数据的捕获,转发端口用于将捕获的网络数据转发至指定接收机;启动虚拟机网络监控模块所对应的虚拟机,以自动执行以下步骤:加载uio.ko,igb_uio.ko内核模块;配置DPDK虚拟网卡驱动,将监听端口和转发端口的虚拟网卡驱动配置成DPDK虚拟网卡驱动;加载DPDK大页内存,用于DPDK的数据处理;监听端口实时捕获网络数据,并通过转发端口转发至指定接收机。本方法所有的数据捕获以及转发都没有对数据包进行再次拷贝,避免让CPU做大量的数据拷贝任务,这就大大提升了网络数据流量监控的性能。

Description

虚拟机网络数据流量监控方法及装置
技术领域
本发明涉及虚拟机技术领域,尤其涉及一种虚拟机网络数据流量监控方法及装置。
背景技术
目前越来越多的单位、企业通过虚拟化技术让一台主机服务器变成几台甚至上百台相互隔离的虚拟服务器,提高物理服务器的利用率,降低的物理服务器的成本。虚拟机与外部网络数据流量(南北向流量)可以通过传统的部署在物理服务器外的监控设备监听,但虚拟机之间的内部网络数据流量(东西向流量)无法被传统网络监控设备监控。
802.1Qbh BPE(Bridge Port Extension)Cisco公司提供的一套解决方案;802.1Qbg EVB(Edge Virtual Bridging)HP公司提供的一套解决方案。以上两种方案要对现有的虚拟机环境进行新的部署改造,并且增加新的硬件设备。例如,Cisco的BPE需要用新的虚拟交换机Nexus1000V代替现有的虚拟交换机并增加Nexus5000/Nexus2000硬件设备用于处理由Nexus1000V转发的虚拟机间网络数据;增加新的硬件设备是专门用于虚拟机间的网络数据监控,例如,BPE、EVB都会在网络数据包中增加新的标记用于标识该数据是虚拟机的网络数据,目前通用的网络硬件设备是不认识这些标识的所以要有新的硬件设备处理,例如Cisco的硬件设备Nexus5000、Nexus2000就增加了针对由Nexus1000V转发的虚拟机间网络数据解析。此外,现有虚拟机服务商提供的网络端口镜像功能,把虚拟机对应的网络端口数据拷贝并转发到相应的接收端。由于虚拟机众多,当遇到大流量数据时,繁重的数据拷贝任务会非常影响虚拟机系统的性能。
发明内容
本发明实施例提供一种虚拟机网络数据流量监控方法及装置,用于至少解决上述技术问题之一。
第一方面,本发明实施例提供一种虚拟机网络数据流量监控方法,应用于服务器,所述方法包括:
将所述服务器的多个虚拟机中的一个虚拟机配置成具有监听端口和转发端口的虚拟机网络监控模块,所述监听端口用于网络数据的捕获,所述转发端口用于将捕获的网络数据转发至指定接收机;
启动所述虚拟机网络监控模块所对应的虚拟机,所述虚拟机网络监控模块所对应的虚拟机自动执行以下步骤:
加载uio.ko,igb_uio.ko内核模块;
配置DPDK虚拟网卡驱动,将所述监听端口和所述转发端口的虚拟网卡驱动配置成DPDK虚拟网卡驱动;
加载DPDK大页内存,用于DPDK的数据处理;
所述监听端口实时捕获网络数据,并通过所述转发端口转发至所述指定接收机。
第二方面,本发明实施例提供一种虚拟机网络数据流量监控装置,包括:配置模块,用于将所述服务器的多个虚拟机中的一个虚拟机配置成具有监听端口和转发端口的虚拟机网络监控模块,所述监听端口用于网络数据的捕获,所述转发端口用于将捕获的网络数据转发至指定接收机;
所述虚拟机网络监控模块包括:
第一加载单元,用于加载uio.ko,igb_uio.ko内核模块;
驱动配置单元,用于配置DPDK虚拟网卡驱动,将所述监听端口和所述转发端口的虚拟网卡驱动配置成DPDK虚拟网卡驱动;
第二加载单元,用于加载DPDK大页内存,用于DPDK的数据处理;
监听转发模块,用于调用所述监听端口实时捕获网络数据,并通过所述转发端口转发至所述指定接收机。
第三方面,本发明实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项虚拟机网络数据流量监控方法。
第四方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项虚拟机网络数据流量监控方法。
第五方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项虚拟机网络数据流量监控方法。
本发明实施例的有益效果在于:在虚拟机监控器(Virtual Machine Monitor,VMM)Hypervisor部署具有虚拟机流量监控功能的虚拟机,通过设置该虚拟机能捕获其它虚拟机之间以及虚拟机和外部通讯的网络数据,并能把这些数据转发到指定的外部服务器。本方法直接从网卡驱动捕获网络数据包,所有的数据捕获以及转发都没有对数据包进行再次拷贝,避免让CPU做大量的数据拷贝任务,这就大大提升了网络数据流量监控的性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的虚拟机网络数据监控方法的一实施例的流程图;
图2为本发明的虚拟机网络监控模块的结构示意图;
图3为本发明的虚拟机网络监控模块的功能模块图;
图4为本发明的虚拟机网络数据监控装置一实施例的原理框图;
图5为本发明的电子设备的一实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明目的在于:利用网卡混杂模式特性结合DPDK快速处理数据的功能实现虚拟机网络数据零拷贝的高性能监控,并加入配置ACL策略实现数据过滤功能,通过动态指定GRE目的地址实现数据流量定点转发功能;同时提供一套WEB监控系统,实现实时监控管理。其中,
根据网卡的混杂模式的特性,从虚拟网卡上能捕获到接收同一集线器局域网的所有网络数据。DPDK数据平面开发套件(Data Plane Development Kit)是由6WIND,Intel等多家公司开发的用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量。结合网卡混杂模式以及DPDK,开发基于虚拟网卡的零拷贝网络数据处理程序用于虚拟机网络数据的高性能捕获及转发。示例性地,一般网卡通过网卡驱动把收到的网络数据包存放在内核层的网络协议栈,应用程序需要从内核层网络协议栈把网络数据拷贝到用户层才能使用,DPDK是直接通过网卡驱动把网络数据存放在用户层,用户直接就能拿到网络数据。这样就实现了内核到用户层面的零拷贝,一方面减少了一次拷贝过程,另一方面减少了一次内核到用户层面切换过程。
本专利需要在现有虚拟机服务器上安装一个虚拟机,就像在操作系统上安装一个软件一样,不需要更换现有的虚拟交换机,也不需要增加硬件。
如图1所示,为本发明的虚拟机网络数据流量监控方法的一实施例的流程图,应用于服务器,该方法包括:
S10、将所述服务器的多个虚拟机中的一个虚拟机配置成具有监听端口和转发端口的虚拟机网络监控模块,所述监听端口用于网络数据的捕获,所述转发端口用于将捕获的网络数据转发至指定接收机;所述网络数据包括所述多个虚拟机相互之间通信的网络数据和/或所述多个虚拟机与外部网络之间通信的网络数据。
S20、启动所述虚拟机网络监控模块所对应的虚拟机,所述虚拟机网络监控模块所对应的虚拟机自动执行以下步骤:
S21、加载uio.ko,igb_uio.ko内核模块;其中,uio.ko是由linux提供的内核模块,用户空间I/O框架(Userspace I/O framework);Igb_uio是DPDK提供基于uio的网卡驱动内核模块,使用DPDK就得加载这两个模块。
S22、配置DPDK虚拟网卡驱动,将所述监听端口和所述转发端口的虚拟网卡驱动配置成DPDK虚拟网卡驱动;
S23、加载DPDK大页内存,用于DPDK的数据处理;例如,用于缓存接收和发送的网络数据包。
S24、所述监听端口实时捕获网络数据,并通过所述转发端口转发至所述指定接收机。
本发明实施例的有益效果在于:在虚拟机监控器Hypervisor部署具有虚拟机流量监控功能的虚拟机,通过设置该虚拟机能捕获其它虚拟机之间以及虚拟机和外部通讯的网络数据,并能把这些数据转发到指定的外部服务器。本方法直接从网卡驱动捕获网络数据包,所有的数据捕获以及转发都没有对数据包进行再次拷贝,避免让CPU做大量的数据拷贝任务,这就大大提升了网络数据流量监控的性能。
在一些实施例中,本发明的虚拟机网络数据流量监控方法还包括:把所述转发端口设置成VLAN以和所述多个虚拟机的网络端口相互隔离。
在一些实施例中,本发明的虚拟机网络数据流量监控方法还包括:当所述服务器配置有支持SR-IOV的网卡时,绑定所述转发端口和所述支持SR-IOV的网卡。
在一些实施例中,本发明的虚拟机网络数据流量监控方法还包括:对所述监听端口和所述转发端口的收发数据进行实时统计分析。
在一些实施例中,本发明的虚拟机网络数据流量监控方法实现为一种虚拟机网络数据流量零拷贝捕获转发,具体实现如下:
步骤1:配置多个虚拟机中的一个虚拟机为虚拟机网络监控模块,将所述虚拟机网络监控模块配置成提供两个端口,一个端口是监听端口和一个端口是转发端口,监听端口用于网络数据的捕获,转发端口用于把捕获的数据转发到指定的接收机。不同的虚拟机监控器Hypervisor设置端口的操作会有不同,网络端口的配置需要虚拟机管理员的参与完成以下步骤:
1、把虚拟机网络监控模块的监听端口和需要被监听到的虚拟机的网络端口配置到一个端口组,虚拟机网络监控模块通过虚拟机交换机实现对需要被监听的虚拟机的监控;
2、把虚拟机网络监控模块的转发端口设置一个VLAN和其它虚拟机的网络端口隔离,避免转发的数据再次被监听端口捕获;
3、若有支持SR-IOV的网卡,把转发端口绑定到该网卡,转发效率将大大提升。
步骤2:启动虚拟机网络监控模块所对应的虚拟机,该虚拟机启动后,会自动从已经配置到的监听端口抓取网络数据,并进行相应数据过滤统计等操作,以及转发到指定的接收机。具体流程如下:
1、自动加载uio.ko,igb_uio.ko内核模块;
2、自动配置DPDK虚拟网卡驱动,将虚拟机网络监控模块监听端口和转发端口的虚拟网卡驱动配置成DPDK虚拟网卡驱动;
3、自动加载DPDK大页内存,用于DPDK的数据处理;
4、自动启动虚拟机网络监控模块程序,监听端口将实时捕获网络数据,并通过转发端口转发至指定接收机;
5、Web Server自动启动,用于Web监控端和网络监控模块程序数据交互。
步骤3:Web监控端操作,通过Web监控端可以完成如下功能:
1、对监听端口和转发端口的收发数据实时统计;
2、网络数据ACL IPV4/IPV6策略配置,通过它实现监听端口的网络数据过滤;
3、数据包的截短,为了高效转发数据,提供数据包的截短功能;
4、网络数据保存成PCAP文件格式,用能用第三方软件直接读取分析PCAP文件;
5、通过设置目的地址,能把捕获的数据封装GRE通过网络通道转发到外网。
本发明公开了一种虚拟机网络数据流量监控方法,在虚拟机监控器Hypervisor部署具有虚拟机流量监控功能的虚拟机,通过设置该虚拟机能捕获其它虚拟机之间以及虚拟机和外部通讯的网络数据,进行统计分析并能把这些数据转发到指定的外部服务器。本方法直接从网卡驱动捕获网络数据包,所有的数据统计分析以及转发都没有对数据包进行再次拷贝,避免让CPU做大量的数据拷贝任务,这就大大提升了网络数据流量监控的性能。
如图2所示,为本发明的虚拟机网络监控模块的结构示意图,其中,不同形式的连接线代表了不同类型的数据流,示例性的显示在图2的右侧。
在VMM物理服务器中包含有多个客户端虚拟机以及配置得到的网络监控模块虚拟机,网络监控模块虚拟机配置有监听端口、转发端口和控制端口。其中,
网络监控模块虚拟机的监听端口通过虚拟交换机与客户端虚拟机的vnic端口连接以实现对客户端虚拟机的监听;虚拟交换机通过nic端口与外部物理交换机相连接通信,并进一步连接至intranet,实现与Web控制端和指定接收机之间的通信连接。
网络监控模块虚拟机的转发端口通过两种通信路径向外部传输转发数据。其中一种为通过虚拟交换机,另一种是通过sr-iov nic端口直接与外部物理交换机连接之后经intranet与数据接收机通信连接。
如图3所示,为本发明的虚拟机网络监控模块的功能模块图,具体包括监控、DPDK抓包、ACL过滤、数据预处理、数据导出和GRE通道等单元,其中,监控单元实时监控DPDK抓包、ACL过滤、数据预处理和数据导出等过程,数据导出单元通过GRE通道(经由虚拟交换机和虚拟机局域网)将数据导出至外网。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
如图4所示,本发明的实施例还提供一种虚拟机网络数据流量监控装置400,应用于服务器,包括:
配置模块410,用于将所述服务器的多个虚拟机中的一个虚拟机配置成具有监听端口和转发端口的虚拟机网络监控模块,所述监听端口用于网络数据的捕获,所述转发端口用于将捕获的网络数据转发至指定接收机;所述网络数据包括所述多个虚拟机相互之间通信的网络数据和/或所述多个虚拟机与外部网络之间通信的网络数据。
所述虚拟机网络监控模块420包括:
第一加载单元421,用于加载uio.ko,igb_uio.ko内核模块;
驱动配置单元422,用于配置DPDK虚拟网卡驱动,将所述监听端口和所述转发端口的虚拟网卡驱动配置成DPDK虚拟网卡驱动;
第二加载单元423,用于加载DPDK大页内存,用于DPDK的数据处理;
监听转发模块424,用于调用所述监听端口实时捕获网络数据,并通过所述转发端口转发至所述指定接收机。
本实施例中,在虚拟机监控器部署具有虚拟机流量监控功能的虚拟机,通过设置该虚拟机能捕获其它虚拟机之间以及虚拟机和外部通讯的网络数据,并能把这些数据转发到指定的外部服务器。本方法直接从网卡驱动捕获网络数据包,所有的数据捕获以及转发都没有对数据包进行再次拷贝,避免让CPU做大量的数据拷贝任务,这就大大提升了网络数据流量监控的性能。
在一些实施例中,所述配置模块包括:第一配置单元,用于把所述转发端口设置成VLAN以和所述多个虚拟机的网络端口相互隔离。
在一些实施例中,所述配置模块包括:第二配置单元,用于当所述服务器配置有支持SR-IOV的网卡时,绑定所述转发端口和所述支持SR-IOV的网卡。
在一些实施例中,本发明的虚拟机网络数据流量监控装置400还包括:统计分析模块,用于对所述监听端口和所述转发端口的收发数据进行实时统计分析。
在一些实施例中,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项虚拟机网络数据流量监控方法。
在一些实施例中,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项虚拟机网络数据流量监控方法。
在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行虚拟机网络数据流量监控方法。
在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时虚拟机网络数据流量监控方法。
上述本发明实施例的虚拟机网络数据流量监控装置可用于执行本发明实施例的虚拟机网络数据流量监控方法,并相应的达到上述本发明实施例的实现虚拟机网络数据流量监控方法所达到的技术效果,这里不再赘述。本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
图5是本申请另一实施例提供的执行虚拟机网络数据流量监控方法的电子设备的硬件结构示意图,如图5所示,该设备包括:
一个或多个处理器510以及存储器520,图5中以一个处理器510为例。
执行虚拟机网络数据流量监控方法的设备还可以包括:输入装置530和输出装置540。
处理器510、存储器520、输入装置530和输出装置540可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器520作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的虚拟机网络数据流量监控方法对应的程序指令/模块。处理器510通过运行存储在存储器520中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例虚拟机网络数据流量监控方法。
存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据虚拟机网络数据流量监控装置的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至虚拟机网络数据流量监控装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可接收输入的数字或字符信息,以及产生与虚拟机网络数据流量监控装置的用户设置以及功能控制有关的信号。输出装置540可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器520中,当被所述一个或者多个处理器510执行时,执行上述任意方法实施例中的虚拟机网络数据流量监控方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (12)

1.一种虚拟机网络数据流量监控方法,应用于服务器,所述方法包括:将所述服务器的多个虚拟机中的一个虚拟机配置成具有监听端口和转发端口的虚拟机网络监控模块,所述监听端口用于网络数据的捕获,所述转发端口用于将捕获的网络数据转发至指定接收机;
启动所述虚拟机网络监控模块所对应的虚拟机,所述虚拟机网络监控模块所对应的虚拟机自动执行以下步骤:
加载uio.ko,igb_uio.ko内核模块;
配置DPDK虚拟网卡驱动,将所述监听端口和所述转发端口的虚拟网卡驱动配置成DPDK虚拟网卡驱动;
加载DPDK大页内存,用于DPDK的数据处理;
所述监听端口实时捕获网络数据,并通过所述转发端口转发至所述指定接收机。
2.根据权利要求1所述的方法,其中,所述网络数据包括所述多个虚拟机相互之间通信的网络数据和/或所述多个虚拟机与外部网络之间通信的网络数据。
3.根据权利要求1所述的方法,其中,还包括:把所述转发端口设置成VLAN以和所述多个虚拟机的网络端口相互隔离。
4.根据权利要求1所述的方法,其中,还包括:当所述服务器配置有支持SR-IOV的网卡时,绑定所述转发端口和所述支持SR-IOV的网卡。
5.根据权利要求1所述的方法,其中,还包括:对所述监听端口和所述转发端口的收发数据进行实时统计分析。
6.一种虚拟机网络数据流量监控装置,应用于服务器,包括:
配置模块,用于将所述服务器的多个虚拟机中的一个虚拟机配置成具有监听端口和转发端口的虚拟机网络监控模块,所述监听端口用于网络数据的捕获,所述转发端口用于将捕获的网络数据转发至指定接收机;
所述虚拟机网络监控模块包括:
第一加载单元,用于加载uio.ko,igb_uio.ko内核模块;
驱动配置单元,用于配置DPDK虚拟网卡驱动,将所述监听端口和所述转发端口的虚拟网卡驱动配置成DPDK虚拟网卡驱动;
第二加载单元,用于加载DPDK大页内存,用于DPDK的数据处理;
监听转发模块,用于调用所述监听端口实时捕获网络数据,并通过所述转发端口转发至所述指定接收机。
7.根据权利要求6所述的装置,其中,所述网络数据包括所述多个虚拟机相互之间通信的网络数据和/或所述多个虚拟机与外部网络之间通信的网络数据。
8.根据权利要求6所述的装置,其中,所述配置模块包括:第一配置单元,用于把所述转发端口设置成VLAN以和所述多个虚拟机的网络端口相互隔离。
9.根据权利要求6所述的装置,其中,所述配置模块包括:第二配置单元,用于当所述服务器配置有支持SR-IOV的网卡时,绑定所述转发端口和所述支持SR-IOV的网卡。
10.根据权利要求6所述的装置,其中,还包括:统计分析模块,用于对所述监听端口和所述转发端口的收发数据进行实时统计分析。
11.一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任意一项所述方法的步骤。
12.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任意一项所述方法的步骤。
CN201910169420.5A 2019-03-05 2019-03-06 虚拟机网络数据流量监控方法及装置 Pending CN109981403A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910164955 2019-03-05
CN2019101649553 2019-03-05

Publications (1)

Publication Number Publication Date
CN109981403A true CN109981403A (zh) 2019-07-05

Family

ID=67078046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910169420.5A Pending CN109981403A (zh) 2019-03-05 2019-03-06 虚拟机网络数据流量监控方法及装置

Country Status (1)

Country Link
CN (1) CN109981403A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110719215A (zh) * 2019-10-21 2020-01-21 北京百度网讯科技有限公司 虚拟网络的流信息采集方法及装置
CN110768724A (zh) * 2019-09-29 2020-02-07 北京浪潮数据技术有限公司 适配器绑定方法及装置
CN111026505A (zh) * 2019-12-09 2020-04-17 斑马网络技术有限公司 网络设备虚拟化方法及装置
CN111049762A (zh) * 2019-12-23 2020-04-21 上海金仕达软件科技有限公司 数据采集方法、装置、存储介质及交换机
CN111431757A (zh) * 2020-02-18 2020-07-17 平安科技(深圳)有限公司 虚拟网络的流量采集方法及装置
CN112887319A (zh) * 2021-02-01 2021-06-01 上海帆一尚行科技有限公司 一种基于下行流量的网络状态监控方法、装置和电子设备
CN112925581A (zh) * 2021-02-22 2021-06-08 百果园技术(新加坡)有限公司 Dpdk容器的启动方法、装置及电子设备
CN113765826A (zh) * 2020-06-01 2021-12-07 中移(苏州)软件技术有限公司 一种网络监控方法、平台、装置和计算机可读存储介质
CN114416278A (zh) * 2021-12-14 2022-04-29 北京勤慕数据科技有限公司 容器网络通讯监听方法、系统
CN114944996A (zh) * 2022-07-27 2022-08-26 北京立华莱康平台科技有限公司 一种数据采集方法、装置及计算机可读介质
CN115208904A (zh) * 2022-06-29 2022-10-18 深圳星云智联科技有限公司 流量监控方法及相关设备
CN115941558A (zh) * 2022-11-11 2023-04-07 上海市大数据股份有限公司 一种基于云平台OpenStack流量监控系统和方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105635035A (zh) * 2014-10-27 2016-06-01 青岛金讯网络工程有限公司 一种虚拟机流量监控方法
CN106713064A (zh) * 2015-11-18 2017-05-24 青岛海日安电子有限公司 一种虚拟机流量监控方法
US20170364425A1 (en) * 2016-06-20 2017-12-21 Stratus Technologies Bermuda Ltd. Method and apparatus for performing checkpointing on a network device
CN108037898A (zh) * 2017-12-15 2018-05-15 郑州云海信息技术有限公司 一种基于Ceph的dpdk通讯的方法、系统及装置
CN108234425A (zh) * 2016-12-21 2018-06-29 青岛祥智电子技术有限公司 一种虚拟机流量监控方法
CN108964959A (zh) * 2017-05-27 2018-12-07 阿里巴巴集团控股有限公司 一种用于虚拟化平台的网卡直通系统及数据包监管方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105635035A (zh) * 2014-10-27 2016-06-01 青岛金讯网络工程有限公司 一种虚拟机流量监控方法
CN106713064A (zh) * 2015-11-18 2017-05-24 青岛海日安电子有限公司 一种虚拟机流量监控方法
US20170364425A1 (en) * 2016-06-20 2017-12-21 Stratus Technologies Bermuda Ltd. Method and apparatus for performing checkpointing on a network device
CN108234425A (zh) * 2016-12-21 2018-06-29 青岛祥智电子技术有限公司 一种虚拟机流量监控方法
CN108964959A (zh) * 2017-05-27 2018-12-07 阿里巴巴集团控股有限公司 一种用于虚拟化平台的网卡直通系统及数据包监管方法
CN108037898A (zh) * 2017-12-15 2018-05-15 郑州云海信息技术有限公司 一种基于Ceph的dpdk通讯的方法、系统及装置

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768724A (zh) * 2019-09-29 2020-02-07 北京浪潮数据技术有限公司 适配器绑定方法及装置
CN110719215A (zh) * 2019-10-21 2020-01-21 北京百度网讯科技有限公司 虚拟网络的流信息采集方法及装置
CN111026505A (zh) * 2019-12-09 2020-04-17 斑马网络技术有限公司 网络设备虚拟化方法及装置
CN111026505B (zh) * 2019-12-09 2024-04-05 斑马网络技术有限公司 网络设备虚拟化方法及装置
CN111049762A (zh) * 2019-12-23 2020-04-21 上海金仕达软件科技有限公司 数据采集方法、装置、存储介质及交换机
CN111431757B (zh) * 2020-02-18 2023-03-24 平安科技(深圳)有限公司 虚拟网络的流量采集方法及装置
CN111431757A (zh) * 2020-02-18 2020-07-17 平安科技(深圳)有限公司 虚拟网络的流量采集方法及装置
CN113765826A (zh) * 2020-06-01 2021-12-07 中移(苏州)软件技术有限公司 一种网络监控方法、平台、装置和计算机可读存储介质
CN113765826B (zh) * 2020-06-01 2024-05-28 中移(苏州)软件技术有限公司 一种网络监控方法、平台、装置和计算机可读存储介质
CN112887319A (zh) * 2021-02-01 2021-06-01 上海帆一尚行科技有限公司 一种基于下行流量的网络状态监控方法、装置和电子设备
CN112887319B (zh) * 2021-02-01 2022-07-01 上海帆一尚行科技有限公司 一种基于下行流量的网络状态监控方法、装置和电子设备
CN112925581A (zh) * 2021-02-22 2021-06-08 百果园技术(新加坡)有限公司 Dpdk容器的启动方法、装置及电子设备
CN114416278A (zh) * 2021-12-14 2022-04-29 北京勤慕数据科技有限公司 容器网络通讯监听方法、系统
CN114416278B (zh) * 2021-12-14 2023-01-17 北京勤慕数据科技有限公司 容器网络通讯监听方法、系统
CN115208904A (zh) * 2022-06-29 2022-10-18 深圳星云智联科技有限公司 流量监控方法及相关设备
CN115208904B (zh) * 2022-06-29 2024-06-04 深圳星云智联科技有限公司 流量监控方法及相关设备
CN114944996B (zh) * 2022-07-27 2022-09-30 北京立华莱康平台科技有限公司 一种数据采集方法、装置及计算机可读介质
CN114944996A (zh) * 2022-07-27 2022-08-26 北京立华莱康平台科技有限公司 一种数据采集方法、装置及计算机可读介质
CN115941558A (zh) * 2022-11-11 2023-04-07 上海市大数据股份有限公司 一种基于云平台OpenStack流量监控系统和方法

Similar Documents

Publication Publication Date Title
CN109981403A (zh) 虚拟机网络数据流量监控方法及装置
CN108964959B (zh) 一种用于虚拟化平台的网卡直通系统及数据包监管方法
US10263832B1 (en) Physical interface to virtual interface fault propagation
US20170161090A1 (en) Communication control program, communication control method, and information processing device
JP6513835B2 (ja) クラウドコンピューティングシステムにおけるパケット処理方法、ホスト、およびシステム
CN109547580B (zh) 一种处理数据报文的方法和装置
EP3176980B1 (en) Unified server communication method, baseboard management controller and server
US9154451B2 (en) Systems and methods for sharing devices in a virtualization environment
US10514937B2 (en) Auto-discovery service and method of discovering applications within a virtual network
US9678912B2 (en) Pass-through converged network adaptor (CNA) using existing ethernet switching device
US9313088B2 (en) Network system and network managing method
US8547972B2 (en) Bypass mechanism for virtual computing infrastructures
CN106557444B (zh) 实现sr-iov网卡的方法和装置、实现动态迁移的方法和装置
CN113452830B (zh) 安卓云手机的批量控制方法、计算机可读介质及电子设备
US9910687B2 (en) Data flow affinity for heterogenous virtual machines
CN110460457B (zh) 一种数据传输方法和装置
US10911405B1 (en) Secure environment on a server
CN110636139B (zh) 一种云负载均衡的优化方法及系统
US11048535B2 (en) Method and apparatus for transmitting data packet based on virtual machine
CN113535433A (zh) 基于Linux系统的控制转发分离方法、装置、设备和存储介质
CN114039789B (zh) 流量防护方法及电子设备、存储介质
US8533320B2 (en) Coalescing network notifications for live migration
CN103546556B (zh) 一种在未来网络xia中虚拟机在线迁移方法
KR101499668B1 (ko) 가상 실행 환경에서 네트워크 프레임을 전달하기 위한 장치 및 방법
US10581636B1 (en) Network tunneling for virtual machines across a wide-area network

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190705