CN104683165B - 一种Xen虚拟化环境下虚拟机网络数据的监控方法 - Google Patents

一种Xen虚拟化环境下虚拟机网络数据的监控方法 Download PDF

Info

Publication number
CN104683165B
CN104683165B CN201310616790.1A CN201310616790A CN104683165B CN 104683165 B CN104683165 B CN 104683165B CN 201310616790 A CN201310616790 A CN 201310616790A CN 104683165 B CN104683165 B CN 104683165B
Authority
CN
China
Prior art keywords
virtual machine
network
virtual
data
port
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.)
Active
Application number
CN201310616790.1A
Other languages
English (en)
Other versions
CN104683165A (zh
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 TIANDI SUPERCLOUD Co Ltd
Original Assignee
BEIJING TIANDI SUPERCLOUD 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 TIANDI SUPERCLOUD Co Ltd filed Critical BEIJING TIANDI SUPERCLOUD Co Ltd
Priority to CN201310616790.1A priority Critical patent/CN104683165B/zh
Publication of CN104683165A publication Critical patent/CN104683165A/zh
Application granted granted Critical
Publication of CN104683165B publication Critical patent/CN104683165B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及云计算技术领域,具体公开了一种Xeh虚拟化环境下虚拟机网络数据的监控方法;包括:在宿主机上,用Open vSwitch搭建网络架构,创建网桥;建立虚拟机,并将虚拟机加入网桥;将真实的网络接口对应虚拟机的虚拟接口,保持真实的网络接口与虚拟机的虚拟接口对应一致;将虚拟机的虚拟接口与网桥桥接,同时为各个虚拟机创建虚拟端口;使网络数据都经过相应的虚拟机的虚拟端口进行网络数据的通信;用Open vSwitch创建一个额外的网络监控数据端口,通过网络监控数据端口来监控网络数据。本发明使用Xeh虚拟化系统中的Open vSwitch虚拟交换机实现了大规模网络的自动化;对虚拟机网络数据的监控,利于后续对数据的过滤、检测的处理。

Description

一种Xen虚拟化环境下虚拟机网络数据的监控方法
技术领域
本发明涉及云计算技术领域,尤其是涉及一种Xen虚拟化环境下虚拟机网络数据的监控方法。
背景技术
Xen是一个开放源代码虚拟机监视器,由剑桥大学开发。它打算在单个计算机上运行多达100个满特征的操作系统。操作系统必须进行显式地修改(“移植”),以在Xen上运行(但是提供对用户应用的兼容性)。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。
所谓网络数据监控即对于网上流动的数据,首先按事先设定的截获原则完成有效截取,然后对截获下的数据进行数据还原,最后对还原后的数据进行分析并做出某种控制决定。由此可见网络监控需分三个阶段:先完成数据截获,然后是数据的还原,最后才是进行控制。而网络监控的难处在于如何完成第一、第二阶段的工作。
虚拟化网络技术其核心目标是在一个物理网络基础设施上同时运行多个互不干扰的逻辑网络,这些网络可以有自己特定的拓扑和路由算法,并允许各逻辑网络(或称为虚拟子网)采用完全不同的体系结构,从而允许虚拟子网中实现充分实验、完全创新、各具特色的网络技术。由于虚拟化网络的复杂性与多样性,在Host宿主机内部是无法获取到虚拟机的网络数据的,从而更无法对网络数据进行监控。在虚拟化环境下至今没有针对虚拟机网络数据进行监控的方法。
发明内容
本发明所解决的技术问题是提供一种Xen虚拟化环境下虚拟机网络数据的监控方法,为了达到清除安全死角,将网络监控需求蔓延到虚拟网络环境中,特提出本方案;本方案使用Xen虚拟化系统中的Open vSwitch(OVS)虚拟交换机实现,OVS是一个具有高质量的多层虚拟交换机,通过可编程扩展,可以实现大规模网络的自动化(配置、管理和维护);它支持现有标准管理接口和协议(例如netFlow,sFlow,SPAN,RSPAN,CLI,LACP,802.1ag等)。对虚拟机网络数据的监控,利于后续对数据的过滤、检测等处理。
为了解决上述技术问题,本发明提供了一种Xen虚拟化环境下虚拟机网络数据的监控方法,包括:
S1:在宿主机上,用Open vSwitch搭建网络架构,创建网桥;
S2:建立虚拟机,并将所述虚拟机加入所述网桥;
S3:将真实的网络接口对应所述虚拟机的虚拟接口,保持真实的网络接口与所述虚拟机的虚拟接口对应一致;
S4:将所述虚拟机的虚拟接口与所述网桥桥接,同时为各个虚拟机创建虚拟端口;使网络数据都经过相应的所述虚拟机的虚拟端口进行网络数据的通信;
S5:用所述Open vSwitch创建一个额外的网络监控数据端口,通过所述网络监控数据端口来监控所述网络数据。
优选的,所述步骤3中,保持真实的网络接口与所述虚拟机的虚拟接口对应一致的方法是:在所述宿主机内,截取每个到达虚拟机虚拟端口的数据包头部的前128KB个字节,分析所述数据包头部,解析所述数据包头部的协议,根据解析后所述数据包,确定虚拟机对应的网桥端口。
更加优选的,所述步骤3中,保持真实的网络接口与所述虚拟机的虚拟接口对应一致的方法是:在虚拟机的虚拟端口被创建后,发送数据包时,数据包从虚拟机内部到达虚拟端口,判断数据包是否是第一个数据包;若数据包是第一个数据包,正常发送所述数据包;若数据包不是第一个数据包,构建新数据包,新数据包的目的地址为所述宿主机,所述宿主机接受新数据包,保持真实的网络接口与虚拟机的虚拟接口对应一致。
更加优选的,所述新数据包包含虚拟机的唯一标识、以及所述虚拟端口的标识。
更加优选的,所述步骤5中,将所述网络监控数据端口添加到所述OpenvSwitch中,做所述网络监控数据端口的镜像,通过所述网络监控数据端口实现虚拟机网络数据的监控。
其中,所述云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。
其中,所述Open vSwitch即开放虚拟交换标准!Open vSwitch是在开源的Apache2.0许可下的产品级质量的多层虚拟交换标准。它旨在通过编程扩展,使庞大的网络自动化(配置、管理、维护),同时还支持标准的管理接口和协议(如NetFlow,sFlow,SPAN,RSPAN,CL1,LACP,802.1ag)。总的来说,它被设计为支持分布在多个物理服务器,例如VMware的vNetwork分布式vSwitch或思科的Nexus1000V。
本发明与现有技术相比,具有如下有益效果:
本发明在Xen虚拟化环境下利用Open vSwitch实现虚拟机网络数据的监控;能够监控虚拟机网络的数据,利于后续对对数据的过滤、检测等处理。
附图说明
图1示例性的示出了本发明监控流程示意图;
图2示例性的示出了本发明保持真实的网络接口与虚拟机的虚拟接口对应一致的方法流程示意图;
图3示例性的示出了本发明用Open vSwitch搭建后的网络示意图。
具体实施方式
为了更好的理解本发明所解决的技术问题、所提供的技术方案,以下结合附图及实施例,对本发明进行进一步详细说明。此处所描述的具体实施例仅用以解释本发明的实施,但并不用于限定本发明。
在优选的实施例中,图1示例性的示出了一种Xen虚拟化环境下虚拟机网络数据的监控流程示意图;包括:
步骤一:在宿主机上,用Open vSwitch搭建网络架构,如图3所示;创建网桥;
步骤二:建立虚拟机,并将所述虚拟机加入网桥;
步骤三:将真实的网络接口对应所述虚拟机的虚拟接口,保持真实的网络接口与所述虚拟机的虚拟接口对应一致;
步骤四:将所述虚拟机的虚拟接口与所述网桥桥接,同时为各个虚拟机创建虚拟端口;使网络数据都经过相应的所述虚拟机的虚拟端口进行网络数据的通信;
步骤五:用所述Open vSwitch创建一个额外的网络监控数据端口,通过所述网络监控数据端口来监控所述网络数据。
在更加优选的实施例中,所述步骤三中,保持真实的网络接口与所述虚拟机的虚拟接口对应一致的方法是:在所述宿主机内,截取每个到达虚拟机虚拟端口的数据包头部的前128KB个字节,分析所述数据包头部,解析所述数据包头部的协议,根据解析后所述数据包,确定虚拟机对应的网桥端口。
在更加优选的实施例中,所述步骤三中,图2示例性的示出了本发明保持真实的网络接口与所述虚拟机的虚拟接口对应一致的方法流程示意图;具体方法是:在虚拟机的虚拟端口被创建后,发送数据包时,数据包从虚拟机内部到达虚拟端口,判断数据包是否是第一个数据包;若数据包是第一个数据包,正常发送所述数据包;若数据包不是第一个数据包,构建新数据包,新数据包的目的地址为所述宿主机,所述宿主机接受新数据包,保持真实的网络接口与虚拟机的虚拟接口对应一致。
在更加优选的实施例中,所述新数据包包含虚拟机的唯一标识、以及所述虚拟端口的标识。
在更加优选的实施例中,所述步骤五中,将所述网络监控数据端口添加到所述Open vSwitch中,做所述网络监控数据端口的镜像,通过所述网络监控数据端口实现虚拟机网络数据的监控。
具体的实施例中:
(一)为了应对虚拟化网络的复杂性与多样性,实现针对Xen虚拟化环境下的网络环境管理,我们使用Open vSwitch来实现对于Xen的网络管理。利用Open vSwitch搭建后的网络示意图如图3所示:
在Host宿主机上,我们利用Open vSwitch搭建了如上图所示的网络架构。利用Open vSwitch,创建了网桥bridge,将真实的网络接口eth0对应的Port br0与网桥bridge桥接,同时为各个虚拟机创建端口Port。也就是说,以后各个虚拟机的网络数据都会经过相应端口进行网络的数据通信。然而,虚拟机与端口的对应关系是一直变化的。虚拟机在重启、关闭之后,对应的端口是会发生变化的。我们利用监控ARP、RARP数据包,确定虚拟机与对应端口之间的对应关系。但是由于Open vSwitch并不进行数据包的协议分析,这是我们需要解决的重点问题。也是本专利对应的创新之处。
(二)我们有两种解决保持虚拟机端口一致性的办法:
方法一:在Host宿主机内,截取每个到达虚拟机端口的数据的前128个字节,分析数据包头部,解析协议。根据解析后数据包,确定虚拟机与对应端口之间的关系。但是,这种方法对于每个数据包均需要过滤,容易造成网络的拥堵与延迟。
方法二:在虚拟port被创建后,发送的第一个数据包时,构造新的数据包,通知Host宿主机该Port对应的虚拟机。具体的流程如图2所示:
在虚拟机的虚拟端口被创建后,发送数据包时,数据包从虚拟机内部到达虚拟端口,判断数据包是否是第一个数据包;若数据包是第一个数据包,正常发送所述数据包;若数据包不是第一个数据包,构建新数据包,新数据包的目的地址为所述宿主机,所述宿主机接受新数据包,保持真实的网络接口与虚拟机的虚拟接口对应一致。
(三)在保证了虚拟机与端口的一致性的情况下,我们就可以利用OpenvSwitch创建一个额外的网络监控数据端口dummy0,用来监控虚拟数据。
1)建立dummy设备并加入网桥
modprobe dummy
ip link set up dummy0
modprobe dummy
2)添加端口到Open vSwitch中
ovs-vsctl add-port br0dummy0
3)做端口镜像
ovs-vsctl----id=@m create mirrer name=mirror0--add bridge br0
mirrors@m
ovs-vsctl list port dummy0
d3427810-8e68-40af-99c0-8cb935af9882
ovs-vsctl set mirror mirror0\
output_port=d3427810-8e68-40af-99c0-8cb935af9882
ovs-vsctl set mirror mirror0select all=1
经过以上的步骤,我们就可以用端口dummy0实现虚拟机网络数据的监控。
以上通过具体的和优选的实施例详细的描述了本发明,但本领域技术人员应该明白,本发明并不局限于以上所述实施例,凡在本发明的基本原理之内,所作的任何修改、组合及等同替换等,均包含在本发明的保护范围之内。

Claims (3)

1.一种Xen虚拟化环境下虚拟机网络数据的监控方法,其特征在于,包括:
S1:在宿主机上,用Open vSwitch搭建网络架构,创建网桥;
S2:建立虚拟机,并将所述虚拟机加入所述网桥;
S3:将真实的网络接口对应所述虚拟机的虚拟接口,保持真实的网络接口与所述虚拟机的虚拟接口对应一致;
S4:将所述虚拟机的虚拟接口与所述网桥桥接,同时为各个虚拟机创建虚拟端口;使网络数据都经过相应的所述虚拟机的虚拟端口进行网络数据的通信;
S5:用所述Open vSwitch创建一个额外的网络监控数据端口,通过所述网络监控数据端口来监控所述网络数据;
所述步骤3中,保持真实的网络接口与所述虚拟机的虚拟接口对应一致的方法是:
在所述宿主机内,截取每个到达虚拟机虚拟端口的数据包头部的前128KB个字节,分析所述数据包头部,解析所述数据包头部的协议,根据解析后所述数据包,确定虚拟机对应的网桥端口;
在虚拟机的虚拟端口被创建后,发送数据包时,数据包从虚拟机内部到达虚拟端口,判断数据包是否是第一个数据包;若数据包是第一个数据包,正常发送所述数据包;若数据包不是第一个数据包,构建新数据包,新数据包的目的地址为所述宿主机,所述宿主机接受新数据包,保持真实的网络接口与虚拟机的虚拟接口对应一致。
2.根据权利要求1所述的Xen虚拟化环境下虚拟机网络数据的监控方法,其特征在于,所述新数据包包含虚拟机的唯一标识、以及所述虚拟端口的标识。
3.根据权利要求1所述的Xen虚拟化环境下虚拟机网络数据的监控方法,其特征在于,所述步骤5中,将所述网络监控数据端口添加到所述Open vSwitch中,做所述网络监控数据端口的镜像,通过所述网络监控数据端口实现虚拟机网络数据的监控。
CN201310616790.1A 2013-11-27 2013-11-27 一种Xen虚拟化环境下虚拟机网络数据的监控方法 Active CN104683165B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310616790.1A CN104683165B (zh) 2013-11-27 2013-11-27 一种Xen虚拟化环境下虚拟机网络数据的监控方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310616790.1A CN104683165B (zh) 2013-11-27 2013-11-27 一种Xen虚拟化环境下虚拟机网络数据的监控方法

Publications (2)

Publication Number Publication Date
CN104683165A CN104683165A (zh) 2015-06-03
CN104683165B true CN104683165B (zh) 2018-06-22

Family

ID=53317792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310616790.1A Active CN104683165B (zh) 2013-11-27 2013-11-27 一种Xen虚拟化环境下虚拟机网络数据的监控方法

Country Status (1)

Country Link
CN (1) CN104683165B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106685741B (zh) * 2017-02-28 2020-10-30 江苏省未来网络创新研究院 一种云主机网络接口的动态管理方法
CN109428782B (zh) * 2017-08-30 2021-05-18 华为技术有限公司 网络监控的方法和设备
CN108632378B (zh) * 2018-05-11 2021-04-27 国云科技股份有限公司 一种面向云平台业务的监控方法
CN110740095B (zh) * 2018-07-19 2022-07-12 瑞昱半导体股份有限公司 多媒体串流及路由装置及其运作方法
CN113765826B (zh) * 2020-06-01 2024-05-28 中移(苏州)软件技术有限公司 一种网络监控方法、平台、装置和计算机可读存储介质
CN111970334A (zh) * 2020-07-30 2020-11-20 杭州超级科技有限公司 基于tcp的数据传输方法、装置、电子设备及介质
CN111988282B (zh) * 2020-07-30 2021-09-07 杭州超级科技有限公司 基于tcp的数据传输系统、方法、电子设备及介质
CN112491896B (zh) * 2020-11-30 2022-08-02 超越科技股份有限公司 一种基于虚拟化网络的可信接入认证系统
CN115967688A (zh) * 2021-11-04 2023-04-14 贵州电网有限责任公司 一种基于OpenSwitch的流量采集性能优化方法
CN115150327B (zh) * 2022-06-29 2024-06-14 郑州浪潮数据技术有限公司 一种接口设置方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101465770A (zh) * 2009-01-06 2009-06-24 北京航空航天大学 入侵检测系统部署方法
CN102136931A (zh) * 2010-09-20 2011-07-27 华为技术有限公司 虚端口网络策略配置方法、一种网络管理中心和相关设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101465770A (zh) * 2009-01-06 2009-06-24 北京航空航天大学 入侵检测系统部署方法
CN102136931A (zh) * 2010-09-20 2011-07-27 华为技术有限公司 虚端口网络策略配置方法、一种网络管理中心和相关设备

Also Published As

Publication number Publication date
CN104683165A (zh) 2015-06-03

Similar Documents

Publication Publication Date Title
CN104683165B (zh) 一种Xen虚拟化环境下虚拟机网络数据的监控方法
US9148367B2 (en) System and method for binding flows in a service cluster deployment in a network environment
CN106953788B (zh) 一种虚拟网络控制器及控制方法
US20140181267A1 (en) Methods and systems to split equipment control between local and remote processing units
US20210318885A1 (en) Accelerating network security monitoring
Gong et al. A survey on software defined networking and its applications
US11153185B2 (en) Network device snapshots
Nobach et al. Statelet-based efficient and seamless NFV state transfer
Hu et al. Towards" full containerization" in containerized network function virtualization
Tran et al. A network topology-aware selectively distributed firewall control in sdn
Deri et al. Wire-speed hardware-assisted traffic filtering with mainstream network adapters
CN104168200A (zh) 一种基于Open vSwitch实现ACL功能的方法及系统
Zhou et al. Mew: Enabling large-scale and dynamic link-flooding defenses on programmable switches
Wang et al. Novel architectures and security solutions of programmable software-defined networking: a comprehensive survey
Gray et al. A priori state synchronization for fast failover of stateful firewall VNFs
André et al. Don't share, don't lock: large-scale software connection tracking with Krononat
CN108833284B (zh) 一种云平台和idc网络的通信方法及装置
Shirokov XDP: 1.5 years in production. Evolution and lessons learned
Fernandez et al. Software Defined Networking (SDN) with OpenFlow 1.3, Open vSwitch and Ryu
Li et al. SDN-based switch implementation on network processors
Talpur et al. Towards middleware security framework for next generation data centers connectivity
Ma et al. ApplianceBricks: A scalable network appliance architecture for network functions virtualization
Shrestha Optimal Traffic Load Balancing Algorithm for Aggregated Ethernet Links on Open vSwitch Platform
Zhang et al. Design and implementation of a delay-tolerant network emulator based in qualnet simulator
Zhang The research of the computer network fault solution

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant