CN103747115A - 基于虚拟网卡的虚拟机ip地址发现方法 - Google Patents

基于虚拟网卡的虚拟机ip地址发现方法 Download PDF

Info

Publication number
CN103747115A
CN103747115A CN201310750292.6A CN201310750292A CN103747115A CN 103747115 A CN103747115 A CN 103747115A CN 201310750292 A CN201310750292 A CN 201310750292A CN 103747115 A CN103747115 A CN 103747115A
Authority
CN
China
Prior art keywords
address
microsoft loopback
loopback adapter
virtual machine
discovery module
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.)
Granted
Application number
CN201310750292.6A
Other languages
English (en)
Other versions
CN103747115B (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.)
Wuhan Research Institute of Posts and Telecommunications Co Ltd
Original Assignee
Wuhan Research Institute of Posts and Telecommunications 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 Wuhan Research Institute of Posts and Telecommunications Co Ltd filed Critical Wuhan Research Institute of Posts and Telecommunications Co Ltd
Priority to CN201310750292.6A priority Critical patent/CN103747115B/zh
Publication of CN103747115A publication Critical patent/CN103747115A/zh
Application granted granted Critical
Publication of CN103747115B publication Critical patent/CN103747115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于虚拟网卡的虚拟机IP地址发现方法,包括以下步骤:云计算平台中所有的计算节点上运行的虚拟机加载含有地址发现模块的虚拟网卡;地址发现模块在虚拟网卡启动、关闭或者获得虚拟网卡的IP地址的时候,发送IP地址信息给云管理服务器。本发明,在涉及到虚拟网卡IP地址的接口函数里,添加地址发现模块的接口,当IP地址不管是通过DHCP服务器动态获得,或者是静态配置,甚至网卡启动关闭等各种情况下,就可以自动获取IP地址信息,并且发送给云管理服务器,同时支持虚拟机的动态IP地址和静态IP地址探测,具有较好的时效性,扩展性好,使用方便灵活,满足了云计算***对虚拟机IP地址管理的需求。

Description

基于虚拟网卡的虚拟机IP地址发现方法
技术领域
本发明涉及网络管理,具体涉及基于虚拟网卡的虚拟机IP地址发现方法。
背景技术
云计算***以虚拟化技术为基础,通过将计算机的物理资源抽象和模拟为若干逻辑资源,虚拟出若干个虚拟机,可以同时给多人使用,节约能源,提高***资源利用率。由于云计算***是以以太网为基础,每个虚拟机都需要通过IP网络协议与网络中的其他节点通信,因此虚拟机网络IP地址的获取、探测、分配和管理是云计算***的基础。目前云计算***中的IP地址来源有三种方式:
(1)基于外部DHCP(Dynamic Host Configuration Protocol,动态主机设置协议)服务的IP地址管理。
该方式中,云计算***并不负责配置和管理DHCP服务,而是将虚拟机视为网络内独立的计算机,虚拟机通过网络内独立的DHCP服务器动态获得IP地址。因为DHCP服务器独立于云计算***,所以云计算***无法通过DHCP服务器获得虚拟机的IP地址,而需要采用其他方式获取***中虚拟机的IP地址信息。例如:在各计算节点上记录其转发的所有DHCP广播报文,从而获知其上运行的虚拟机IP地址,然后在计算节点上尝试ping这些IP地址,使其加入到ARP(Address Resolution Protocol,地址解析协议)缓存表中,最后通过查找ARP缓存表获得虚拟机MAC地址对应的IP地址。
这种方式一定程度上解决了云计算***在不负责虚拟机IP地址分配的情况下,虚拟机IP地址的探测问题,但仍存有如下缺点:
A)不支持静态IP地址配置。一些特定应用的用户需要配置以静态IP地址方式配置IP地址,当用户在虚拟机内部静态修改IP地址后,采用上述方式无法探测到用户静态配置的IP地址。
B)时效性不高,当虚拟机关闭、重启或DHCP分配的IP地址超时等导致虚拟机IP地址变更时,该方法并不能即时感知,而是需要周期性的主动ping虚拟机的IP地址才能获知IP变更的信息。由于性能原因,ping虚拟机的时间间隔不能太长,否则会降低网络性能。
(2)基于内部DHCP服务的IP地址管理。
该方式中,云计算***内置一个DHCP服务,通过配置和管理DHCP服务可以控制网络内虚拟机IP地址,通过查看DHCP服务的leases(租约)文件就可以获知虚拟机的IP地址。但是,该方法仍然不支持用户静态配置虚拟机IP地址,当用户使用静态配置IP地址,***将无法识别到虚拟机的IP地址。
(3)基于静态配置的IP地址管理。
在该方式下,***将无法识别到虚拟机的IP地址。
综上所述,现有技术无法支持虚拟机静态配置IP地址的管理方式,这一定程度上限制了用户使用虚拟机的灵活性。因此,迫切需要一种高效的且能够同时支持静态和动态IP地址探测方式,以满足云计算***对虚拟机IP地址管理的需求。
发明内容
本发明所要解决的技术问题是云计算***无法支持虚拟机静态配置IP地址的管理的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种基于虚拟网卡的虚拟机IP地址发现方法,包括以下步骤:
在虚拟网卡软件模块中添加一个地址发现模块,在涉及到IP地址的接口函数里添加地址发现模块的接口void IP_Address_Get(structnet_device*dev),其中的结构体dev包含有虚拟网卡的IP地址;
云计算平台中所有的计算节点上运行的虚拟机加载含有地址发现模块的虚拟网卡;
地址发现模块在虚拟网卡启动、关闭或者获得虚拟网卡的IP地址时,发送给云管理服务器。
在上述方法中,虚拟网卡的IP地址通过虚拟网卡的启动参数指定或者通过云计算平台内部私有协议用广播的方式获取。
在上述方法中,在以下时机满足时,调用地址发现模块获得IP地址:虚拟网卡上电、虚拟网卡启动、虚拟网卡停止、虚拟网卡通过公共DHCP服务器获得IP地址、虚拟网卡通过云计算平台内部DHCP服务器获得IP地址或虚拟网卡被静态配置固定IP地址。
在上述方法中,所述涉及到IP地址的接口函数包括:初始化设备函数init(struct net_device*dev)、打开设备函数open(struct net_device*dev)和设备IO控制函数do_ioctl(struct net_device*dev,structifreq*ifr,int cmd)。
在上述方法中,通过网卡配置参数启动或停止地址发现模块。
在上述方法中,采用与普通网卡的同样的操作方式加载、启动、禁用、卸载带有地址发现模块的虚拟网卡。
本发明,在涉及到虚拟网卡IP地址的接口函数里,添加地址发现模块的接口,当IP地址不管是通过DHCP服务器动态获得,或者是静态配置,甚至网卡启动关闭等各种情况下,就可以自动获取IP地址信息,并且发送给云管理服务器,同时支持虚拟机的动态IP地址和静态IP地址探测,具有较好的时效性,扩展性好,使用方便灵活,满足了云计算***对虚拟机IP地址管理的需求。
附图说明
图1为本发明的流程图。
具体实施方式
在云计算***中,云管理服务器管理若干个计算节点,计算节点是真实的物理计算机,每个计算节点上面运行着若干个虚拟机。虚拟机中的虚拟网卡通过网桥与计算节点的真实网卡相连,从而与云管理服务器建立网络连接。
众所周知,虚拟网卡对虚拟机来说是个可行的网卡,但不是真实的物理网卡,而是运行在虚拟机中的一个软件模块。当虚拟机通过公共的DHCP服务器动态得到IP,或者静态配置固定IP,云管理服务器无法得到新的IP地址信息,就无法管理计算节点的虚拟机。
为此,本发明提供了一种基于虚拟网卡的虚拟机IP地址发现方法,在虚拟网卡这个软件模块里,添加一个地址发现模块。在涉及到IP地址的接口函数(比如初始化设备函数init(struct net_device*dev)、打开设备函数open(struct net_device*dev)、设备IO控制函数do_ioctl(structnet_device*dev,struct ifreq*ifr,int cmd)等函数)里,添加地址发现模块的接口。当IP地址不管是通过DHCP服务器动态获得,或者是静态配置,甚至网卡启动关闭等各种情况下,这些标准函数接口都会被调用,这样就可以自动获取虚拟网卡的IP地址信息,并且把IP地址信息发送给云管理服务器。
如图1所示,本发明提供的方法具体包括以下步骤:
在虚拟网卡软件模块中添加一个地址发现模块,地址发现模块功能与虚拟网卡的其他所有功能独立,不影响任何性能或安全问题,用户可以随时通过网卡配置参数的接口停止地址发现模块,例如:在设备IO控制函数do_ioctl(struct net_device*dev,struct ifreq*ifr,int cmd)里增加启动地址发现模块命令StartAddressFindModule和停止地址发现模块命令StopAddressFindModule。或者,采用与普通网卡的同样的操作方式随意的禁用、卸载带有地址发现模块的虚拟网卡,加载普通的虚拟网卡,使用灵活方便。
地址发现模块的函数接口类似于void IP_Address_Get(structnet_device*dev),其中的参数是包含有IP地址信息的结构体dev。在函数内部,把得到的IP地址信息发送给云管理服务器。
以设备初始化函数为例,一个网络设备驱动初始化函数的模板如代码清单1所示,具体的设备驱动初始化函数并不一定完全和本模板一样,但是其本质过程是一致的。
代码清单1网络设备驱动的初始化函数模板
Figure BDA0000450020770000051
地址发现模块在代码清单1的34行前面,添加调用地址发现模块的代码IP_Address_Get(dev),这样,即可以截获IP地址信息。
同样的,在与IP地址设置相关的函数里,比如打开设备函数open(struct net_device*dev)、设备IO控制函数do_ioctl(structnet_device*dev,struct ifreq*ifr,int cmd)等函数里添加相同代码。
这样,当网络设备的IP地址初始化、设置或有变动的时候,地址发现模块都能自动的被调用,从而获取IP地址信息。
云计算平台中所有的计算节点上运行的虚拟机加载含有地址发现模块的虚拟网卡;
地址发现模块在虚拟网卡启动、关闭或者获得虚拟网卡的IP地址时,发送给云管理服务器,地址发现模块发送IP地址信息报文的目的地址是云管理服务器的IP地址。其中,虚拟网卡的IP地址通过虚拟网卡的启动参数指定或者通过云计算平台内部私有协议用广播的方式获取。在以下时机满足时,调用地址发现模块获得IP地址虚拟网卡上电、虚拟网卡启动、虚拟网卡停止、虚拟网卡通过公共DHCP服务器获得IP地址、虚拟网卡通过云计算平台内部DHCP服务器获得IP地址或虚拟网卡被静态配置固定IP地址。当以上所述时机满足时,会调用与IP地址设置相关的函数,从而调用地址发现模块,进而获取到IP地址信息。
本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

Claims (6)

1.基于虚拟网卡的虚拟机IP地址发现方法,其特征在于,包括以下步骤:
在虚拟网卡软件模块中添加一个地址发现模块,在涉及到IP地址的接口函数里添加地址发现模块的接口void IP_Address_Get(structnet_device*dev),其中的结构体dev包含有虚拟网卡的IP地址;
云计算平台中所有的计算节点上运行的虚拟机加载含有地址发现模块的虚拟网卡;
地址发现模块在虚拟网卡启动、关闭或者获得虚拟网卡的IP地址时,发送给云管理服务器。
2.如权利要求1所述的方法,其特征在于,虚拟网卡的IP地址通过虚拟网卡的启动参数指定或者通过云计算平台内部私有协议用广播的方式获取。
3.如权利要求1所述的方法,其特征在于,在以下时机满足时,调用地址发现模块获得IP地址:虚拟网卡上电、虚拟网卡启动、虚拟网卡停止、虚拟网卡通过公共DHCP服务器获得IP地址、虚拟网卡通过云计算平台内部DHCP服务器获得IP地址或虚拟网卡被静态配置固定IP地址。
4.如权利要求1所述的方法,其特征在于,所述涉及到IP地址的接口函数包括:初始化设备函数init(struct net_device*dev)、打开设备函数open(struct net_device*dev)和设备IO控制函数do_ioctl(structnet_device*dev,struct ifreq*ifr,int cmd)。
5.如权利要求1所述的方法,其特征在于,通过网卡配置参数启动或停止地址发现模块。
6.如权利要求1所述的方法,其特征在于,采用与普通网卡的同样的操作方式加载、启动、禁用、卸载带有地址发现模块的虚拟网卡。
CN201310750292.6A 2013-12-30 2013-12-30 基于虚拟网卡的虚拟机ip地址发现方法 Active CN103747115B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310750292.6A CN103747115B (zh) 2013-12-30 2013-12-30 基于虚拟网卡的虚拟机ip地址发现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310750292.6A CN103747115B (zh) 2013-12-30 2013-12-30 基于虚拟网卡的虚拟机ip地址发现方法

Publications (2)

Publication Number Publication Date
CN103747115A true CN103747115A (zh) 2014-04-23
CN103747115B CN103747115B (zh) 2017-08-01

Family

ID=50504101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310750292.6A Active CN103747115B (zh) 2013-12-30 2013-12-30 基于虚拟网卡的虚拟机ip地址发现方法

Country Status (1)

Country Link
CN (1) CN103747115B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105472054A (zh) * 2014-09-05 2016-04-06 华为技术有限公司 一种报文发送方法及接入设备
WO2016179950A1 (zh) * 2015-05-12 2016-11-17 中兴通讯股份有限公司 互联网协议ip地址的分配方法及装置
CN108268300A (zh) * 2016-12-30 2018-07-10 中移(苏州)软件技术有限公司 一种虚拟机的迁移方法及装置
CN110830594A (zh) * 2019-12-06 2020-02-21 广州微算互联信息技术有限公司 一种扩展云手机ip地址的方法、***、装置及存储介质
CN115333933A (zh) * 2022-08-11 2022-11-11 北京蔚领时代科技有限公司 一种机房上架的服务器的自动管理方法、介质及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1266919C (zh) * 2002-09-16 2006-07-26 华为技术有限公司 一种802.1x客户端ip地址再获取方法
CN102710814B (zh) * 2012-06-21 2016-03-30 北京奇虎科技有限公司 虚拟机ip地址的控制方法及装置
CN103024028B (zh) * 2012-12-07 2015-05-13 武汉邮电科学研究院 一种云计算中虚拟机ip地址探测***及方法
CN103269284B (zh) * 2013-05-17 2016-09-14 汉柏科技有限公司 实时网络数据的捕获方法
CN103475526A (zh) * 2013-09-18 2013-12-25 国云科技股份有限公司 一种支持多vlan的虚拟机的ip设置和检测方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105472054A (zh) * 2014-09-05 2016-04-06 华为技术有限公司 一种报文发送方法及接入设备
CN105472054B (zh) * 2014-09-05 2019-05-24 华为技术有限公司 一种报文发送方法及接入设备
WO2016179950A1 (zh) * 2015-05-12 2016-11-17 中兴通讯股份有限公司 互联网协议ip地址的分配方法及装置
CN106302839A (zh) * 2015-05-12 2017-01-04 中兴通讯股份有限公司 互联网协议ip地址的分配方法及装置
CN106302839B (zh) * 2015-05-12 2020-06-26 中兴通讯股份有限公司 互联网协议ip地址的分配方法及装置
CN108268300A (zh) * 2016-12-30 2018-07-10 中移(苏州)软件技术有限公司 一种虚拟机的迁移方法及装置
CN108268300B (zh) * 2016-12-30 2022-01-25 中移(苏州)软件技术有限公司 一种虚拟机的迁移方法及装置
CN110830594A (zh) * 2019-12-06 2020-02-21 广州微算互联信息技术有限公司 一种扩展云手机ip地址的方法、***、装置及存储介质
CN110830594B (zh) * 2019-12-06 2022-04-01 广州微算互联信息技术有限公司 一种扩展云手机ip地址的方法、***、装置及存储介质
CN115333933A (zh) * 2022-08-11 2022-11-11 北京蔚领时代科技有限公司 一种机房上架的服务器的自动管理方法、介质及设备
CN115333933B (zh) * 2022-08-11 2024-04-19 北京蔚领时代科技有限公司 一种机房上架的服务器的自动管理方法、介质及设备

Also Published As

Publication number Publication date
CN103747115B (zh) 2017-08-01

Similar Documents

Publication Publication Date Title
CN105024855B (zh) 分布式集群管理***和方法
US10091274B2 (en) Method, device, and system for controlling network device auto-provisioning
JP6037016B2 (ja) 仮想マシン・マイグレーションを決定するための方法および装置
CN103024028B (zh) 一种云计算中虚拟机ip地址探测***及方法
CN103997414A (zh) 生成配置信息的方法和网络控制单元
CN103747115A (zh) 基于虚拟网卡的虚拟机ip地址发现方法
CN103607430A (zh) 一种网络处理的方法和***及网络控制中心
CN104579887A (zh) 云网关、云网关创建配置***及方法
CN103677858A (zh) 一种云环境中虚拟机软件管理的方法、***及设备
CN102316043B (zh) 端口虚拟化方法、交换机及通信***
CN112333017B (zh) 一种服务配置方法、装置、设备及存储介质
CN106657434B (zh) 一种ip地址的查看方法和装置
CN102821023A (zh) 一种vlan配置动态迁移的方法及装置
CN107682460B (zh) 一种分布式存储集群数据通信方法及***
CN104038570A (zh) 一种数据处理方法及装置
CN109088957B (zh) Nat规则管理的方法、装置和设备
CN109819064B (zh) 模块间通信的方法、操作***模块和会议平板
CN114124714B (zh) 一种多层级网络部署方法、装置、设备及存储介质
US10778574B2 (en) Smart network interface peripheral cards
CN103795581A (zh) 地址处理方法和设备
CN106559236B (zh) 业务板的设备资源管理方法、装置、主控板及框式设备
CN106878485B (zh) 一种报文处理方法及装置
CN113127144B (zh) 一种处理方法、装置及存储介质
CN105429884A (zh) 通过终端来管理不同网络中路由器的方法和***
CN106130765B (zh) 虚拟桌面分配方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 430074, No. 88, postal academy road, Hongshan District, Hubei, Wuhan

Patentee after: Wuhan post and Telecommunications Science Research Institute Co., Ltd.

Address before: 430074, No. 88, postal academy road, Hongshan District, Hubei, Wuhan

Patentee before: Wuhan Inst. of Post & Telecom Science

CP01 Change in the name or title of a patent holder