CN104683491B - 一种获取虚拟机的因特网协议地址的方法和系统 - Google Patents

一种获取虚拟机的因特网协议地址的方法和系统 Download PDF

Info

Publication number
CN104683491B
CN104683491B CN201310627538.0A CN201310627538A CN104683491B CN 104683491 B CN104683491 B CN 104683491B CN 201310627538 A CN201310627538 A CN 201310627538A CN 104683491 B CN104683491 B CN 104683491B
Authority
CN
China
Prior art keywords
address
data packet
virtual machine
server
feedback data
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
CN201310627538.0A
Other languages
English (en)
Other versions
CN104683491A (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.)
MINISTRY OF RAILWAYS INFORMATION TECHNOLOGY CENTER
Original Assignee
MINISTRY OF RAILWAYS INFORMATION TECHNOLOGY CENTER
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 MINISTRY OF RAILWAYS INFORMATION TECHNOLOGY CENTER filed Critical MINISTRY OF RAILWAYS INFORMATION TECHNOLOGY CENTER
Priority to CN201310627538.0A priority Critical patent/CN104683491B/zh
Publication of CN104683491A publication Critical patent/CN104683491A/zh
Application granted granted Critical
Publication of CN104683491B publication Critical patent/CN104683491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种获取虚拟机的IP地址的方法,该方法包括:服务器根据存储的属于不同虚拟局域网中的虚拟机的配置信息中的MAC地址,向客户端发送查询数据包,用于查询虚拟机的IP地址;服务器接收到客户端响应的反馈数据包时,获取虚拟机动态获取的IP地址。通过本发明的技术方案。基于同样的发明构思,本发明还提出一种系统,能够使服务器获得不同虚拟局域网络中虚拟机的IP地址,并通过获得的IP地址对虚拟机进行操作和使用。

Description

一种获取虚拟机的因特网协议地址的方法和系统
技术领域
本发明涉及网络技术领域,特别涉及一种获取虚拟机的因特网协议(IP)地址的方法和系统。
背景技术
云计算(Cloud Computing)是指基于互联网的超级计算模式,即把原来在本地计算机或远程服务器中的计算,通过网络分布在大量计算机上进行协同工作。它是一种新兴的共享基础架构的方法,可以将巨大的系统连接在一起以提供各种IT服务。
虚拟技术是云计算的基石。把一台物理机虚拟出多个虚拟机,再把这些虚拟机租用给不同的用户,用户通过付费使用这些虚拟资源。
虚拟局域网(Virtual Local Area Network,VLAN)是一种建构于局域网交换技术(LAN Switch)的网络管理的技术,网管人员可以借此通过控制交换机有效分派出入局域网的数据包到正确的出入端口,达到对不同实体局域网中的设备进行逻辑分群(Grouping)管理,并降低局域网内大量数据流通时,因无用数据包过多导致壅塞的问题,以及提升局域网的信息安全保障。
在虚拟机的配置信息中,可以对虚拟机的CPU个数、内存、媒质访问控制(MAC)地址等信息进行配置。在外界与虚拟机的交互中,IP地址是一个重要的操作接口,对虚拟机的操作和使用大多要通过IP地址来进行,但是IP地址通常会通过DHCP获得,物理机不能直接获取虚拟机的IP地址。
发明内容
有鉴于此,本发明提供一种获取虚拟机的IP地址的方法和系统,能够使服务器获得不同虚拟局域网络中虚拟机的IP地址,并通过获得的IP地址对虚拟机进行操作和使用。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种获取虚拟机的IP地址的方法,应用包括客户端和服务端的网络中,所述服务器在所述客户端上配置虚拟机,并存储配置文件,配置的各虚拟机不都属于同一虚拟局域网;所述方法包括:
所述服务器在所述配置文件中获取需要查询IP地址的虚拟机的MAC地址,生成查询数据包并发送,其中,所述查询数据包用于查询所述虚拟机的IP地址;
所述客户端启动监听端口,监听到服务器发送的查询数据包时,根据该查询数据包生成反馈数据包,并发送给所述服务器;
所述服务器接收到所述客户端发送的反馈数据包时,确定接收到的反馈数据包中是否携带所述虚拟机的IP地址,如果是,更新到数据库中;否则,丢弃接收到的反馈数据包。
一种系统,所述系统包括服务器和客户端;
所述服务器,用于在所述客户端上配置虚拟机,并存储配置文件,配置的各虚拟机不都属于同一虚拟局域网;在所述配置文件中获取需要查询IP地址的虚拟机的MAC地址,生成查询数据包并发送,其中,所述查询数据包用于查询所述虚拟机的IP地址;接收到所述客户端发送的反馈数据包时,确定接收到的反馈数据包中是否携带所述虚拟机的IP地址,如果是,更新到数据库中;否则,丢弃接收到的反馈数据包;
所述客户端,用于启动监听端口,监听到服务器发送的查询数据包时,根据该查询数据包生成反馈数据包,并发送给所述服务器。
综上所述,本发明中服务器根据存储的属于不同虚拟局域网中的虚拟机的配置信息中的MAC地址,向客户端发送查询数据包,用于查询虚拟机的IP地址;服务器接收到客户端响应的反馈数据包时,获取虚拟机动态获取的IP地址。通过本发明的技术方案能够使服务器获得不同虚拟局域网络中虚拟机的IP地址,并通过获得的IP地址对虚拟机进行操作和使用。
附图说明
图1为本发明实施例中客户端中配置虚拟机的结构示意图;
图2为本发明实施例中获取虚拟机的IP地址的方法流程示意图;
图3为本发明具体实施例中应用于上述技术的系统示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种获取虚拟机的IP地址的方法,应用包括客户端和服务端的网络中,服务器通过与客户端之间的通信,获取客户端上虚拟机的动态IP地址。通过该方法能够使服务器获得不同虚拟局域网络中虚拟机的IP地址,并通过获得的IP地址对虚拟机进行操作和使用。
服务器在客户端上配置虚拟机,并存储配置文件,配置文件中包括配置的虚拟的MAC地址。配置的各虚拟机不都属于同一虚拟局域网。
参见图1,图1为本发明实施例中客户端中配置虚拟机的结构示意图。图1中配置了N个虚拟机,其中虚拟机1和虚拟机2属于虚拟局域网1,虚拟机3属于虚拟局域网2,虚拟机N和虚拟机N-1属于局域网M,其他不再一一例举。
由于存在不同的虚拟机不都属于一个虚拟局域网,存在不同虚拟机属于同一局域网,使得通过传统的ARP协议无法获得虚拟机动态获取的IP地址。
参见图2,图2为本发明实施例中获取虚拟机的IP地址的方法流程示意图。具体步骤为:
步骤201,服务器在配置文件中获取需要查询IP地址的虚拟机的MAC地址,生成查询数据包并发送。
本步骤中的查询数据包用于查询所述虚拟机的IP地址;配置文件为存储的配置虚拟机的配置文件。
生成的查询数据包的源IP地址为本服务器的IP地址;目的IP为配置的IP地址,该配置的IP地址为用于查询虚拟机IP地址的IP地址,具体实现时,可以配置一个不常用的IP地址,即不会冲突的IP地址,如255.255.255.255;源MAC地址为本服务器的MAC地址;目的MAC地址为获取的虚拟机的MAC地址,即需要查询IP地址的虚拟机的MAC地址。
步骤202,客户端启动监听端口,监听到服务器发送的查询数据包时,根据该查询数据包生成反馈数据包,并发送给所述服务器。
在具体实现时,客户端可以通过listen函数启动监听端口,接收服务器发送的数据包。
客户端监听到查询数据包时,根据查询数据包中的目的MAC地址获知需要查询的是哪个虚拟机的IP地址。
客户端根据该查询数据包生成反馈数据包时,若该虚拟机已获得动态IP地址,反馈数据包的源IP地址为该虚拟机获得的动态IP地址;若所述虚拟机未获得动态IP地址,反馈数据包的源IP地址为所述查询数据包的目的IP地址;反馈数据包的目的IP为所述服务器的IP地址、源MAC地址为所述虚拟机的MAC地址、目的MAC地址为所述服务器的MAC地址。
步骤203,服务器接收到所述客户端发送的反馈数据包时,确定接收到的反馈数据包中是否携带所述虚拟机的IP地址,如果是,更新到数据库中;否则,丢弃接收到的反馈数据包。
在具体实现时,在查询数据包中通过Flag标识数据包的类型,如0标识查询数据包,1标识反馈数据包。
本步骤中确定该反馈数据包中是否携带所述虚拟机的IP地址,包括:
确定该反馈数据包的源IP地址,是否为查询数据包的目的IP地址,即是否为配置的IP地址的,如255.255.255.255;如果是,确定该反馈数据包中未携带所述虚拟机的IP地址;否则,确定该反馈数据包中携带所述虚拟机的IP地址。
服务器将反馈数据包中携带的虚拟机的IP地址更新到数据库中,具体包括:在数据库中查询该反馈数据包的源MAC地址,如果存在,更新数据库中所述源MAC地址对应的IP地址;如果不存在,则将该源MAC地址和IP地址绑定存储到数据库中。
在具体实现时,还可以为数据库中已绑定存储的源MAC地址和IP地址,设置老换时间,如果老化时间内还未更新该源MAC地址对应的IP地址,则将绑定存储的源MAC地址和IP地址删除。
通过上述实现,可见无论各虚拟机是否属于同一虚拟局域网,通过本发明提出的实现方法,都可以获得虚拟机通过DHCP动态获取的IP地址。服务器获取数据包之后,可以通过获取的IP地址来操作或使用虚拟机。
服务器还可以周期性地在所述配置文件中获取所有虚拟机的MAC地址,根据各虚拟机的MAC地址分别生成查询数据包并发送。
客户端监听到服务器发送的查询数据包时,根据监听到的各查询数据包分别生成反馈数据包,并发送给所述服务器。
服务器接收到所述客户端发送的各反馈数据包时,遍历接收到反馈数据包,对于任一反馈数据包确定其是否携带对应的虚拟机的IP地址,如果是,更新到数据库中;否则,丢弃接收到的反馈数据包。
这种采用心跳包的方式来更新服务器数据库中的内容,资源占用小,无需人工维护。
可见,本发明具体实施时,可以在需要获取某个虚拟机的IP地址时,进行查询获取,也可以周期性地获取所有的虚拟机的IP地址,并更新到数据库中,以保证数据库中存储的IP地址的准确性。
基于同样的发明构思,本申请还提出一种系统。参见图3,图3为本发明具体实施例中应用于上述技术的系统示意图。该系统包括服务器和客户端。
服务器,用于在客户端上配置虚拟机,并存储配置文件,配置的各虚拟机不都属于同一虚拟局域网;在所述配置文件中获取需要查询IP地址的虚拟机的MAC地址,生成查询数据包并发送,其中,所述查询数据包用于查询所述虚拟机的IP地址;接收到所述客户端发送的反馈数据包时,确定接收到的反馈数据包中是否携带所述虚拟机的IP地址,如果是,更新到数据库中;否则,丢弃接收到的反馈数据包。
客户端,用于启动监听端口,监听到服务器发送的查询数据包时,根据该查询数据包生成反馈数据包,并发送给服务器。
较佳地,
所述查询数据包的源IP地址为所述服务器的IP地址,目的IP为配置的用于查询虚拟机IP地址的IP地址,源MAC地址为所述服务器的MAC地址、目的MAC地址为所述虚拟机的MAC地址;
若所述虚拟机已获得动态IP地址,反馈数据包的源IP地址为该虚拟机获得的动态IP地址;若所述虚拟机未获得动态IP地址,反馈数据包的源IP地址为所述查询数据包的目的IP地址;反馈数据包的目的IP为所述服务器的IP地址、源MAC地址为所述虚拟机的MAC地址、目的MAC地址为所述服务器的MAC地址。
较佳地,
服务器,用于确定该反馈数据包中是否携带所述虚拟机的IP地址时,具体用于确定该反馈数据包的源IP地址,是否为查询数据包的目的IP地址,如果是,确定该反馈数据包中未携带所述虚拟机的IP地址;否则,确定该反馈数据包中携带所述虚拟机的IP地址。
较佳地,
服务器,进一步用于周期性地在所述配置文件中获取所有虚拟机的MAC地址,根据各虚拟机的MAC地址分别生成查询数据包并发送;接收到所述客户端发送的各反馈数据包时,遍历接收到反馈数据包,对于任一反馈数据包确定其是否携带对应的虚拟机的IP地址,如果是,更新到数据库中;否则,丢弃所述反馈数据包;
客户端,进一步用于监听到所述服务器发送的查询数据包时,根据监听到的各查询数据包分别生成反馈数据包,并发送给所述服务器。
综上所述,本发明中服务器根据存储的属于不同虚拟局域网中的虚拟机的配置信息中的MAC地址,向客户端发送查询数据包,用于查询虚拟机的IP地址;服务器接收到客户端响应的反馈数据包时,获取虚拟机动态获取的IP地址。通过本发明的技术方案能够使服务器获得不同虚拟局域网络中虚拟机的IP地址,并通过获得的IP地址对虚拟机进行操作和使用。
本发明具体实施时,可以在需要获取某个虚拟机的IP地址时,进行查询获取,也可以周期性地获取所有的虚拟机的IP地址,并更新到数据库中,以保证数据库中存储的IP地址的准确性。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种获取虚拟机的因特网协议IP地址的方法,应用包括客户端和服务器的网络中,所述服务器在所述客户端上配置虚拟机,并存储配置文件,配置的各虚拟机不都属于同一虚拟局域网;其特征在于,所述方法包括:
所述服务器在所述配置文件中获取需要查询IP地址的虚拟机的媒质访问控制MAC地址,生成查询数据包并发送,其中,所述查询数据包用于查询所述虚拟机的IP地址;
所述客户端启动监听端口,监听到服务器发送的查询数据包时,根据该查询数据包生成反馈数据包,并发送给所述服务器;
所述服务器接收到所述客户端发送的反馈数据包时,确定接收到的反馈数据包中是否携带所述虚拟机的IP地址,如果是,更新到数据库中;否则,丢弃接收到的反馈数据包;
其中,所述查询数据包的源IP地址为所述服务器的IP地址,目的IP为配置的用于查询虚拟机IP地址的IP地址,源MAC地址为所述服务器的MAC地址、目的MAC地址为所述虚拟机的MAC地址;
若所述虚拟机已获得动态IP地址,反馈数据包的源IP地址为该虚拟机获得的动态IP地址;若所述虚拟机未获得动态IP地址,反馈数据包的源IP地址为所述查询数据包的目的IP地址;反馈数据包的目的IP为所述服务器的IP地址、源MAC地址为所述虚拟机的MAC地址、目的MAC地址为所述服务器的MAC地址。
2.根据权利要求1所述的方法,其特征在于,所述确定该反馈数据包中是否携带所述虚拟机的IP地址,包括:
确定该反馈数据包的源IP地址,是否为查询数据包的目的IP地址,如果是,确定该反馈数据包中未携带所述虚拟机的IP地址;否则,确定该反馈数据包中携带所述虚拟机的IP地址。
3.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:
所述服务器周期性地在所述配置文件中获取所有虚拟机的MAC地址,根据各虚拟机的MAC地址分别生成查询数据包并发送;
所述客户端监听到服务器发送的查询数据包时,根据监听到的各查询数据包分别生成反馈数据包,并发送给所述服务器;
所述服务器接收到所述客户端发送的各反馈数据包时,遍历接收到反馈数据包,对于任一反馈数据包确定其是否携带对应的虚拟机的IP地址,如果是,更新到数据库中;否则,丢弃接收到的反馈数据包。
4.一种系统,其特征在于,所述系统包括服务器和客户端;
所述服务器,用于在所述客户端上配置虚拟机,并存储配置文件,配置的各虚拟机不都属于同一虚拟局域网;在所述配置文件中获取需要查询因特网协议IP地址的虚拟机的媒质访问控制MAC地址,生成查询数据包并发送,其中,所述查询数据包用于查询所述虚拟机的IP地址;接收到所述客户端发送的反馈数据包时,确定接收到的反馈数据包中是否携带所述虚拟机的IP地址,如果是,更新到数据库中;否则,丢弃接收到的反馈数据包;
所述客户端,用于启动监听端口,监听到服务器发送的查询数据包时,根据该查询数据包生成反馈数据包,并发送给所述服务器;
其中,
所述查询数据包的源IP地址为所述服务器的IP地址,目的IP为配置的用于查询虚拟机IP地址的IP地址,源MAC地址为所述服务器的MAC地址、目的MAC地址为所述虚拟机的MAC地址;
若所述虚拟机已获得动态IP地址,反馈数据包的源IP地址为该虚拟机获得的动态IP地址;若所述虚拟机未获得动态IP地址,反馈数据包的源IP地址为所述查询数据包的目的IP地址;反馈数据包的目的IP为所述服务器的IP地址、源MAC地址为所述虚拟机的MAC地址、目的MAC地址为所述服务器的MAC地址。
5.根据权利要求4所述的系统,其特征在于,
所述服务器,用于确定该反馈数据包中是否携带所述虚拟机的IP地址时,具体用于确定该反馈数据包的源IP地址,是否为查询数据包的目的IP地址,如果是,确定该反馈数据包中未携带所述虚拟机的IP地址;否则,确定该反馈数据包中携带所述虚拟机的IP地址。
6.根据权利要求4或5所述的系统,其特征在于,
所述服务器,进一步用于周期性地在所述配置文件中获取所有虚拟机的MAC地址,根据各虚拟机的MAC地址分别生成查询数据包并发送;接收到所述客户端发送的各反馈数据包时,遍历接收到反馈数据包,对于任一反馈数据包确定其是否携带对应的虚拟机的IP地址,如果是,更新到数据库中;否则,丢弃所述反馈数据包;
所述客户端,进一步用于监听到所述服务器发送的查询数据包时,根据监听到的各查询数据包分别生成反馈数据包,并发送给所述服务器。
CN201310627538.0A 2013-11-29 2013-11-29 一种获取虚拟机的因特网协议地址的方法和系统 Active CN104683491B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310627538.0A CN104683491B (zh) 2013-11-29 2013-11-29 一种获取虚拟机的因特网协议地址的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310627538.0A CN104683491B (zh) 2013-11-29 2013-11-29 一种获取虚拟机的因特网协议地址的方法和系统

Publications (2)

Publication Number Publication Date
CN104683491A CN104683491A (zh) 2015-06-03
CN104683491B true CN104683491B (zh) 2018-03-20

Family

ID=53318057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310627538.0A Active CN104683491B (zh) 2013-11-29 2013-11-29 一种获取虚拟机的因特网协议地址的方法和系统

Country Status (1)

Country Link
CN (1) CN104683491B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106911779A (zh) * 2017-02-27 2017-06-30 郑州云海信息技术有限公司 一种云平台虚拟机获取ip方法及装置
CN107332945A (zh) * 2017-07-02 2017-11-07 郑州云海信息技术有限公司 一种虚拟机ip地址获取方法及装置
CN114500452B (zh) * 2022-01-27 2024-03-22 洛阳市众信佳智能网络科技有限公司 桥接模式下的虚拟系统ip地址的确定方法、装置和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591671A (zh) * 2011-01-14 2012-07-18 鸿富锦精密工业(深圳)有限公司 在虚拟环境中启动应用程序的方法
CN102710814A (zh) * 2012-06-21 2012-10-03 奇智软件(北京)有限公司 虚拟机ip地址的控制方法及装置
CN103024028A (zh) * 2012-12-07 2013-04-03 武汉邮电科学研究院 一种云计算中虚拟机ip地址探测系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2418326B (en) * 2004-09-17 2007-04-11 Hewlett Packard Development Co Network vitrualization
US8929377B2 (en) * 2011-03-15 2015-01-06 Futurewei Technologies, Inc. Systems and methods for automatic rack detection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591671A (zh) * 2011-01-14 2012-07-18 鸿富锦精密工业(深圳)有限公司 在虚拟环境中启动应用程序的方法
CN102710814A (zh) * 2012-06-21 2012-10-03 奇智软件(北京)有限公司 虚拟机ip地址的控制方法及装置
CN103024028A (zh) * 2012-12-07 2013-04-03 武汉邮电科学研究院 一种云计算中虚拟机ip地址探测系统及方法

Also Published As

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

Similar Documents

Publication Publication Date Title
US11895154B2 (en) Method and system for virtual machine aware policy management
CN107733670B (zh) 一种转发策略配置方法和装置
EP3070887B1 (en) Communication method, device and system for virtual extensible local area network
CN107070691B (zh) Docker容器的跨主机通信方法和系统
US8767737B2 (en) Data center network system and packet forwarding method thereof
CN107733799B (zh) 一种报文传输方法和装置
JP5855630B2 (ja) 仮想ローカルエリアネットワークのクラウドアプライアンスを管理するための管理サーバおよびその管理方法
US8886775B2 (en) Dynamic learning by a server in a network environment
CN104427010A (zh) 应用于动态虚拟专用网络的网络地址转换方法和装置
WO2014089799A1 (zh) 一种确定虚拟机漂移的方法和装置
CN108259356B (zh) 路由控制方法和装置
US10382391B2 (en) Systems and methods for managing network address information
WO2014142258A1 (ja) 通信システム、制御装置、アドレス割当方法及びプログラム
WO2016202016A1 (zh) 设备管理方法、装置及系统
CN107070719B (zh) 一种设备管理方法和装置
CN104683491B (zh) 一种获取虚拟机的因特网协议地址的方法和系统
US11929851B2 (en) Gateway selection method, device, and system
EP3503484B1 (en) Message transmission methods and devices
CN112994928B (zh) 一种虚拟机的管理方法、装置及系统
CN111147345B (zh) 云环境网络隔离装置、方法及云系统
KR20050054003A (ko) 동일한 아이피 서브넷에 속하는 가상 근거리 통신망 간의데이터 스위칭 시스템 및 방법
Liu et al. Dynamic configuration for IPv4/IPv6 address mapping in 4over6 technology
US8046445B2 (en) Methods and systems for managing network elements
CN105991321A (zh) 管理数据中心服务器的方法及装置
EP2860920B1 (en) Method and device for generating forwarding table

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