CN106713064A - 一种虚拟机流量监控方法 - Google Patents

一种虚拟机流量监控方法 Download PDF

Info

Publication number
CN106713064A
CN106713064A CN201510796199.8A CN201510796199A CN106713064A CN 106713064 A CN106713064 A CN 106713064A CN 201510796199 A CN201510796199 A CN 201510796199A CN 106713064 A CN106713064 A CN 106713064A
Authority
CN
China
Prior art keywords
module
data
monitoring
virtual machine
data cache
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
CN201510796199.8A
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.)
Sea Qingdao Good Day Electronics Co Ltd
Original Assignee
Sea Qingdao Good Day Electronics 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 Sea Qingdao Good Day Electronics Co Ltd filed Critical Sea Qingdao Good Day Electronics Co Ltd
Priority to CN201510796199.8A priority Critical patent/CN106713064A/zh
Publication of CN106713064A publication Critical patent/CN106713064A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种虚拟机流量监控方法及系统,首先启动包含监控模块的虚拟机;部署数据包捕获模块和数据缓存模块到虚拟机监控器内核中;数据包捕获模块根据过滤机制复制流经TCP/IP协议栈的数据包,并存储到数据缓存模块的缓存中;数据缓存模块将缓存中的数据包转发给监控模块;监控模块对数据包进行统计分析,实现对虚拟机的流量监控。解决服务器虚拟化带来的虚拟机间通信失去监控的问题,并且实现了同一物理服务器上虚拟机间的通信以及虚拟机与服务器外部网络的通信的统一监控。

Description

一种虚拟机流量监控方法
技术领域
该发明涉及服务器虚拟机化虚拟机流量监控,尤其涉及物理服务器上的虚拟机流量监控方法和系统。
背景技术
服务器虚拟化可以提高计算资源的利用率,增强IT资源的管理灵活性,因此,该技术成为当前数据中心重要技术。然而,服务器虚拟化后,同一台物理服务器上存在多个虚拟机,这些虚拟机之间的通信无法被部署在物理服务器外的监控系统所感知。
现有方法是通过流量重定向策略来实现,包括两大类,一类是将虚拟机流量重定向到服务器外的网络设备上进行监控处理。另一类是将虚拟机流量通过虚拟机交换机进行重定向到虚拟机监控器(Virtual MachineMonitor,VMM)上的虚拟机中进行监控。第一类方法的优势是可以利用现有的监控资源,但需要修改网络协议驱动或增加新的网络硬件设备。第二类方法比较常见,但依赖虚拟交换机的可配置能力,缺乏性能方面的优化能力,同时,对于虚拟机与外部的通信流量监控只能交给外部监控设备来处理,缺乏统一监控的管理能力。
发明内容
本发明的目的在于:利用虚拟机监控器的钩子机制来获取虚拟机的通信数据流,并引入缓存机制和过滤策略,提高监控的效率;同时本发明公开了一套监控系统,可以实现对虚拟机间通信和虚拟机与服务器外部通信的统一监控。
本发明是这样实现的:
一种虚拟机流量监控方法包括以下步骤:
步骤一:在虚拟机监控器(Virtual Machine Monitor,VMM)上启动包含监控模块的虚拟机,通过内核模块加载接口,将数据包捕获模块和数据缓存模块加载到内核中;将监控模块和数据缓存模块建立通信连接;监控模块下发过滤地址列表到内核;监控模块发送启动命令到内核。具体流程如下:
①、启动包含监控模块的虚拟机后,监控模块也启动运行;
②、监控模块调用内核模块加载接口,加载数据包捕获模块和数据缓存模块到内核;
③、数据缓存模块与安全监控模块建立连接;
④、安全监控模块向所述数据缓存模块发送地址过滤表;
⑤、安全监控模块向所述数据缓存模块发送启动指令;
⑥、数据缓存模块设置内核全局变量值为启动。
步骤二:数据包捕获模块监听通过虚拟机监控器VMM内核TCP/IP协议栈中数据;根据数据地址过滤表复制数据包,并存储到数据缓存模块的缓存中;数据模块模块将数据发送给监控模块。具体流程如下:
①、数据缓存模块判断所述内核全局变量值,如果为启动,则分配一定大小的缓存,并启动数据缓存处理进程;否则不作任何处理;
②、数据包捕获模块判断所述内核全局变量值,如果为启动,则启动所述数据包捕获模,否则,不作任何处理;
③、数据包捕获模块判断当前TCP/IP协议栈数据包地址是否匹配所述地址过滤表;匹配则复制数据包并存储到所述数据缓存模块的缓存中;否则,不作任何处理;
④、数据缓存进程判断所述缓存内是否为空,不空则读取缓存数据并通过所述数据缓存模块与所述安全监控模块建立的连接发送数据;空则不做任何处理。
步骤三:监控模块提取数据包的基本信息,统计分析数据流量,展示统计分析结果及告警。具体流程如下:
①、监控模块调用预处理模块提取数据包头信息,包括源目的MAC、源目的IP、数据包大小;
②、监控模块统计数据包所在的会话流量,会话内容,并根据入侵检测规则分析入侵行为;据恶意代码规则检测恶意代码;
③、统计分析模块根据输出配置要求,输出统计分析结果,并在页面展示;
④、统计分析模块根据告警配置要求,输出告警结果,并在页面展示。一种虚拟机流量监控系统,其特征在于,所述系统包括如下模块:
①、监控模块:用于部署数据包捕获模块、数据缓存模块;调用预处理模块和统计分析模块;与数据缓存模块建立通信连接;接受数据缓存模块发送来的数据包,下发过滤地址表、命令给数据缓存模块;管理监控配置;预处理模块:获取所述数据包头信息,包括源目的MAC、源目的IP、数据包大小;
②、统计分析模块:用于对所述的预处理模块的处理结果进行统计分析,包括会话流量统计,会话内容还原;根据入侵检测规则分析入侵行为;根据恶意代码规则检测恶意代码;根据输出配置和告警配置,输出统计分析结果和告警结果,并在页面展示;
③、数据包捕获模块:用于在虚拟机监控器(VMM)内核监控TCP/IP协议栈的数据包,并根据所述地址过滤表复制所述数据包;并存储到数据缓存模块的缓存中;
④、数据缓存模块:用于建立与所述监控模块的连接;发送所缓存中的数据给所述监控模块;接受所述监控模块发送的指令和数据;
本发明相较于现有技术具有的积极效果在于:本发明专利可以解决服务器虚拟化带来的虚拟机间通信失去监控的问题,并且实现了同一物理服务器上虚拟机间的通信以及虚拟机与服务器外部网络的通信的统一监控。另外,本发明专利通过引入缓存机制,包过滤机制,离线存储机制,解决了监控功能对虚拟机监控器的性能影响问题。
具体实施方式
本发明为虚拟机之间的流量监控以及虚拟机和服务器外部网络之间的流量监控提供了一种统一的监控系统。初始化阶段:在虚拟机监控器上启动包含监控模块的虚拟机,数据包捕获模块和数据缓存模块部署到内核,监控模块和数据缓存模块建立连接,监控模块下发过滤地址列表到内核,监控模块发送启动命令到内核,监控系统部署完毕。
本发明中,数据包捕获模块和数据缓存模块都运行在内核,在运行前先通过内核编程接口加载到内核中。由于监控模块部署在虚拟机中,而虚拟机运行在用户态,因此,需要构建内核和用户空间的通信连接。建立连接后,监控模块发送地址过滤列表给内核,提供数据包捕获模块使用。然后,监控模块内核发送启动命令至内核,数据捕获模块及数据缓存模块开始工作。
数据捕获阶段:数据包捕获模块监听TCP/IP协议栈数据,根据地址过滤表复制数据包,并存储到数据缓存模块的缓存中,数据缓存模块将数据发送给监控模块。
本发明中,数据包捕获模块检查每一个流经TCP/IP协议栈的数据包,根据每个数据包的MAC值或IP信息,与地址过滤列表中的地址信息进行比对,如果匹配,则相应的数据包被复制一份,并存储到数据缓存模块的缓存中。数据缓存模块中的缓存是数据缓存模块预先分配的,并且可以根据实际用量动态进行扩展;数据缓存模块发现缓存不空时,通过内核和用户空间建立的连接将数据包发送给虚拟机中的监控模块;
数据统计分析阶段:监控模块提取数据包头基本信息,统计分析数据流量,展示统计分析结果及告警。

Claims (5)

1.一种虚拟机流量监控方法,其特征在于包括以下步骤:
步骤一:在虚拟机监控器(Virtual Machine Monitor,VMM)上启动包含监控模块的虚拟机,通过内核模块加载接口,将数据包捕获模块和数据缓存模块加载到内核中;将虚拟机监控模块和数据缓存模块建立通信连接;监控模块下发过滤地址列表到内核,监控模块发送启动命令到内核;
步骤二:数据包捕获模块监听TCP/IP协议栈中数据;根据地址过滤表复制数据包,并存储到数据缓存模块的缓存中;数据缓存模块将数据发送到监控模块;
步骤三:监控模块提取数据包的基本信息,统计分析数据流量,展示统计分析结果及告警。
2.根据权利要求1所述的监控方法,其特征在于:所述的步骤一中的具体流程如下:
①、启动包含监控模块的虚拟机后,监控模块也启动运行;
②、监控模块调用内核模块加载接口,加载数据包捕获模块和数据缓存模块到内核;
③、数据缓存模块与监控模块建立连接;
④、监控模块向所述数据缓存模块发送地址过滤表;
⑤、监控模块向所述数据缓存模块发送启动指令;
⑥、数据缓存模块设置内核全局变量值为启动。
3.根据权利要求1所述的监控方法,其特征在于:所述的步骤二的具体流程如下:
①、数据缓存模块判断所述内核全局变量值,如果为启动,则分配一定大小的缓存,并启动数据缓存处理进程;否则不作任何处理;
②、数据包捕获模块判断所述内核全局变量值,如果为启动,则启动所述数据包捕获模,否则,不作任何处理;
③、数据包捕获模块判断当前TCP/IP协议栈数据包地址是否匹配所述地址过滤表;匹配则复制数据包并存储到所述数据缓存模块的缓存中;否则,不作任何处理;
④、数据缓存进程判断所述缓存内是否为空,不空则读取缓存数据并通过所述数据缓存模块与所述监控模块建立的连接发送数据;空则不做任何处理。
4.根据权利要求1所述的监控方法,其特征在于:所述的步骤三的具体流程如下:
①、监控模块接受所述数据缓存模块发送来的数据;并调用数据预处理模块提取数据包头信息,包括源目的MAC、源目的IP、数据包大小;
②、监控模块调用统计分析模块统计数据包所在的会话流量、会话内容,并根据入侵检测规则分析入侵行为;根据恶意代码规则检测恶意代码;
③、统计分析模块根据输出配置要求,输出统计分析结果,并在页面展示;
④、统计分析模块根据告警配置要求,输出告警结果,并在页面展示。
5.一种虚拟机流量监控系统,其特征在于,所述系统包括如下模块:
①、监控模块:用于部署数据包捕获模块、数据缓存模块;调用预处理模块和统计分析模块;与数据缓存模块建立通信连接;接受数据缓存模块发送来的数据包,下发过滤地址表、命令给数据缓存模块;管理监控配置;
②、预处理模块:获取所述数据包头信息,包括源目的MAC、源目的IP、数据包大小;
③、统计分析模块:用于对所述的预处理模块的处理结果进行统计分析,包括会话流量统计,会话内容还原;根据入侵检测规则分析入侵行为;根据恶意代码规则检测恶意代码;
根据输出配置要求和告警配置要求,输出统计分析结果和告警结果,并在页面展示;
④、数据包捕获模块:用于在虚拟机监控器(VMM)内核监控TCP/IP协议栈的数据包,并根据所述地址过滤表复制所述数据包;并存储到数据缓存模块的缓存中;
⑤、数据缓存模块:用于建立与所述监控模块的连接;发送所缓存中的数据给所述监控模块;接受所述监控模块发送的指令和数据。
CN201510796199.8A 2015-11-18 2015-11-18 一种虚拟机流量监控方法 Pending CN106713064A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510796199.8A CN106713064A (zh) 2015-11-18 2015-11-18 一种虚拟机流量监控方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510796199.8A CN106713064A (zh) 2015-11-18 2015-11-18 一种虚拟机流量监控方法

Publications (1)

Publication Number Publication Date
CN106713064A true CN106713064A (zh) 2017-05-24

Family

ID=58932830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510796199.8A Pending CN106713064A (zh) 2015-11-18 2015-11-18 一种虚拟机流量监控方法

Country Status (1)

Country Link
CN (1) CN106713064A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360058A (zh) * 2017-07-12 2017-11-17 郑州云海信息技术有限公司 一种实现流量监控的方法及装置
CN109684301A (zh) * 2018-11-26 2019-04-26 武汉烽火信息集成技术有限公司 一种基于大数据的多级网络流量存储方法及系统
CN109981403A (zh) * 2019-03-05 2019-07-05 北京勤慕数据科技有限公司 虚拟机网络数据流量监控方法及装置
CN110351275A (zh) * 2019-07-11 2019-10-18 北京脉冲星科技有限公司 一种主机端口流量监控方法、系统、装置和存储设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360058A (zh) * 2017-07-12 2017-11-17 郑州云海信息技术有限公司 一种实现流量监控的方法及装置
CN109684301A (zh) * 2018-11-26 2019-04-26 武汉烽火信息集成技术有限公司 一种基于大数据的多级网络流量存储方法及系统
CN109981403A (zh) * 2019-03-05 2019-07-05 北京勤慕数据科技有限公司 虚拟机网络数据流量监控方法及装置
CN110351275A (zh) * 2019-07-11 2019-10-18 北京脉冲星科技有限公司 一种主机端口流量监控方法、系统、装置和存储设备
CN110351275B (zh) * 2019-07-11 2022-08-19 北京长亭未来科技有限公司 一种主机端口流量监控方法、系统、装置和存储设备

Similar Documents

Publication Publication Date Title
CN104063267B (zh) 一种虚拟机流量监控方法及系统
CN105635035A (zh) 一种虚拟机流量监控方法
US10452422B2 (en) Method and apparatus for deploying virtual machine instance, and device
CN106713064A (zh) 一种虚拟机流量监控方法
AU2013372879B2 (en) Rule swapping in a packet network
CA2831705C (en) Frameworks and interfaces for offload device-based packet processing
US10277717B2 (en) Network introspection in an operating system
CN112671578B (zh) 一种sriov虚拟化网络配置方法及相关装置
EP2747381B1 (en) Method, network device and system for implementing network card offloading function
CN103067242A (zh) 一种用于提供网络服务的虚拟机系统
US20200028785A1 (en) Virtual machine packet processing offload
CN105827629B (zh) 云计算环境下软件定义安全导流装置及其实现方法
US10243799B2 (en) Method, apparatus and system for virtualizing a policy and charging rules function
CN108989151B (zh) 用于网络或应用性能管理的流量采集方法
DE102018004111A1 (de) Datencenter-Leistungsmanagement
CN103118149A (zh) 同一租户内服务器间的通信控制方法及网络设备
CN108833305A (zh) 主机的虚拟网络架构
CN114710356A (zh) 车载防火墙的数据处理方法、装置及车载防火墙设备
CN107249038A (zh) 业务数据转发方法及系统
CN103795603A (zh) 一种基于多网卡的边缘虚拟桥接的实现方法和设备
CN108234425A (zh) 一种虚拟机流量监控方法
CN101582880B (zh) 一种基于被审计对象的报文过滤方法及系统
CN111262782B (zh) 一种报文处理方法、装置及设备
Shirokov XDP: 1.5 years in production. Evolution and lessons learned
CN107659511B (zh) 一种过载控制方法、主机和存储介质以及程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170524

WD01 Invention patent application deemed withdrawn after publication