CN103503413B - 传输网络信息的方法及装置 - Google Patents
传输网络信息的方法及装置 Download PDFInfo
- Publication number
- CN103503413B CN103503413B CN201280005724.4A CN201280005724A CN103503413B CN 103503413 B CN103503413 B CN 103503413B CN 201280005724 A CN201280005724 A CN 201280005724A CN 103503413 B CN103503413 B CN 103503413B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- address
- virtual
- mac address
- physical equipment
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明实施例公开了一种传输网络信息的方法及装置,涉及云计算技术领域,能够降低构建大规模虚拟网络的成本。本发明的方法包括:信息服务器获取虚拟网络中虚拟机的地址信息,地址信息包括:虚拟机的IP和MAC、虚拟机所在的物理设备的IP和MAC,虚拟网络的VNI号;接收第一虚拟机所在的物理设备根据第一虚拟机的请求生成的查询请求消息,根据查询请求消息获取第二虚拟机的地址信息,其中,查询请求消息包括第二虚拟机的IP;通过第一虚拟机所在的物理设备向第一虚拟机反馈第二虚拟机的地址信息。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种传输网络信息的方法及装置。
背景技术
随着电子信息技术的发展,许多物理网络都需要生成虚拟机来构建虚拟网络,以满足各种各样业务的需求。
现有技术中,常用的虚拟网络技术有虚拟扩展局域网(Virtual eXtensibleLocal Area Network,简称VXLAN),即在现有的物理三层网络上构建跨越多个服务器的虚拟化二层网络。在实际应用中,VXLAN需要通过占用物理交换机的密集模式协议无关组播(PIM Dense Mode,简称PIM-DM)来进行虚拟机的介质访问控制(Media Access Control,简称MAC)地址学习和隧道端点网络之间互连的协议(Internet Protocol,简称IP)地址的学习。
目前,物理交换机所容纳的PIM-DM都比较少,普遍在500-2000个组左右。而在物理交换机上运行的虚拟网络的规模越大,需要占用的PIM-DM越多,并且在同一个物理交换机上可能同时运行多个虚拟网络,从而在实际应用中常常造成物理交换机中的PIM-DM不够用,使得物理交换机难以支持更大规模虚拟网络。而若要增加PIM-DM以使物理交换机能够支持更大规模虚拟网络,则需要增加很多成本来给物理交换机增设额外的运算设备和存储设备,或是使用具有更多PIM-DM的大容量物理交换机,但是这类大容量物理交换机的价格普遍较高,从而使得现有技术中构建大规模虚拟网络的成本较高,限制了虚拟网络技术的应用。
发明内容
本发明的实施例提供一种传输网络信息的方法及装置,能够在避免使用物理交换机的PIM-DM的情况下进行虚拟机的MAC地址学习和隧道端点IP地址的学习,从而降低构建大规模虚拟网络的成本,扩大虚拟网络的应用范围。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供一种传输网络信息的方法,包括:
信息服务器获取虚拟网络中虚拟机的地址信息,所述地址信息包括:所述虚拟机的IP地址和介质访问控制MAC地址、所述虚拟机所在的物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的虚拟网络标识VNI号;
接收第一虚拟机所在的物理设备根据所述第一虚拟机的请求生成的查询请求消息,根据所述查询请求消息获取第二虚拟机的地址信息,其中,所述查询请求消息包括所述第二虚拟机的IP地址;
通过所述第一虚拟机所在的物理设备向所述第一虚拟机反馈所述第二虚拟机的地址信息。
结合第一方面,在第一方面的第一种可能的实现方式中,所述信息服务器获取虚拟网络中虚拟机的地址信息,包括:
所述虚拟机所在的物理设备获取所述虚拟机的IP地址和MAC地址,并将获取的所述虚拟机的IP地址和MAC地址、所述物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的VNI号发送至所述信息服务器。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述虚拟机所在的物理设备获取所述虚拟机的IP地址和MAC地址,包括:
所述虚拟网络中的虚拟机启动后,所述虚拟机所在的物理设备截获动态主机配置协议DHCP服务器发送给所述虚拟机的DHCP消息,所述DHCP消息包括所述虚拟机的IP地址和MAC地址;
所述虚拟机所在的物理设备从所述DHCP消息中获取所述虚拟机的IP地址和MAC地址。
结合第一方面,在第一方面的第三种可能的实现方式中,所述第一虚拟机的请求为所述第一虚拟机发送的地址解析协议ARP请求,所述ARP请求中包括所述第二虚拟机的IP地址。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述接收第一虚拟机所在的物理设备根据所述第一虚拟机的请求生成的查询请求消息,根据所述查询请求消息获取第二虚拟机的地址信息,包括:
所述第一虚拟机所在的物理设备接收所述第一虚拟机发送的ARP请求,从所述ARP请求中提取所述第二虚拟机的IP地址,根据所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号生成所述查询请求消息并将所述查询请求消息发送给所述信息服务器;
所述信息服务器根据所述查询请求消息中的所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号,获取所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址。
结合第一方面,以及第一方面的任意一种可能的实现方式,在第五种可能的实现方式中,所述通过所述第一虚拟机所在的物理设备向所述第一虚拟机反馈所述第二虚拟机的地址信息,包括:
将所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址发送至所述第一虚拟机所在的物理设备,以便所述第一虚拟机所在的物理设备将所述第二虚拟机的MAC地址发送至所述第一虚拟机。
第二方面,本发明的实施例提供一种传输网络信息的装置,包括:信息获取模块,用于获取虚拟网络中虚拟机的地址信息,所述地址信息包括:所述虚拟机的IP地址和介质访问控制MAC地址、所述虚拟机所在的物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的虚拟网络标识VNI号;
请求接收模块,用于接收第一虚拟机所在的物理设备根据所述第一虚拟机的请求生成的查询请求消息,根据所述查询请求消息获取第二虚拟机的地址信息,其中,所述查询请求消息包括所述第二虚拟机的IP地址;
信息反馈模块,用于通过所述第一虚拟机所在的物理设备向所述第一虚拟机反馈所述第二虚拟机的地址信息。
结合第二方面,在第二方面的第一种可能的实现方式中,所述信息获取模块,具体用于接收所述虚拟机所在的物理设备发送的所述虚拟机的IP地址和MAC地址、所述物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的VNI号,其中,所述虚拟机的IP地址和MAC地址是由所述虚拟机所在的物理设备在所述虚拟网络中的虚拟机启动后,通过截获动态主机配置协议DHCP服务器发送给所述虚拟机的DHCP消息获取的,所述DHCP消息包括所述虚拟机的IP地址和MAC地址。
结合第二方面,在第二方面的第二种可能的实现方式中,所述第一虚拟机的请求为所述第一虚拟机发送的地址解析协议ARP请求,所述ARP请求中包括所述第二虚拟机的IP地址。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述请求接收模块,具体用于接收所述第一虚拟机所在的物理设备根据所述第一虚拟机发送的ARP请求生成的所述查询请求消息,所述查询请求消息包括所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号;根据所述查询请求消息中的所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号,获取所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址。
结合第二方面,以及第二方面的任意一种可能的实现方式,在第四种可能的实现方式中,所述信息反馈模块,具体用于将所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址发送至所述第一虚拟机所在的物理设备,以便所述第一虚拟机所在的物理设备将所述第二虚拟机的MAC地址发送至所述第一虚拟机。
第三方面,本发明的实施例提供一种传输网络信息的信息服务器,包括:处理器、通信接口、存储器、总线,所述处理器、所述通信接口和所述存储器通过所述总线完成相互间的通信,其中,所述处理器用于:
通过所述通信接口,获取虚拟网络中虚拟机的地址信息并储存在所述存储器中,所述地址信息包括:所述虚拟机的IP地址和介质访问控制MAC地址、所述虚拟机所在的物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的虚拟网络标识VNI号;
通过所述通信接口,接收第一虚拟机所在的物理设备根据所述第一虚拟机的请求生成的查询请求消息,根据所述查询请求消息获取第二虚拟机的地址信息,其中,所述查询请求消息包括所述第二虚拟机的IP地址;
通过所述通信接口,通过所述第一虚拟机所在的物理设备向所述第一虚拟机反馈所述第二虚拟机的地址信息。
结合第三方面,在第三方面的第一种可能的实现方式中,所述处理器,具体用于通过所述通信接口,接收所述虚拟机所在的物理设备发送的所述虚拟机的IP地址和MAC地址、所述物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的VNI号,其中,所述虚拟机的IP地址和MAC地址是由所述虚拟机所在的物理设备在所述虚拟网络中的虚拟机启动后,通过截获动态主机配置协议DHCP服务器发送给所述虚拟机的DHCP消息获取的,所述DHCP消息包括所述虚拟机的IP地址和MAC地址。
结合第三方面,在第三方面的第二种可能的实现方式中,所述第一虚拟机的请求为所述第一虚拟机发送的地址解析协议ARP请求,所述ARP请求中包括所述第二虚拟机的IP地址。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器,具体用于通过所述通信接口,接收所述第一虚拟机所在的物理设备根据所述第一虚拟机发送的ARP请求生成的所述查询请求消息,所述查询请求消息包括所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号;根据所述查询请求消息中的所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号,获取储存在所述存储器中的所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址。
结合第三方面,以及第三方面的任意一种可能的实现方式,在第四种可能的实现方式中,所述处理器,具体用于通过所述通信接口,将所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址发送至所述第一虚拟机所在的物理设备,以便所述第一虚拟机所在的物理设备将所述第二虚拟机的MAC地址发送至所述第一虚拟机。
本发明实施例提供的传输网络信息的方法及装置,能够通过在网络中设置专门的服务器来记录网络中的虚拟机的地址信息,并在虚拟机运行过程中根据虚拟机所发出的请求反馈所需的地址信息,从而在虚拟机的运行过程中不必再使用现有技术中所采用的物理交换机及PIM-DM技术,避免了在支持更大规模虚拟网络时为了增加物理交换机的PIM-DM容量所需的成本,从而降低了构建大规模虚拟网络的成本,扩大了虚拟网络技术的应用范围。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明实施例提供的一种传输网络信息的方法的流程图;
图2a为本发明实施例提供的另一种传输网络信息的方法的流程图;
图2b为本发明实施例提供的另一种传输网络信息的方法的一种具体实例的信令交互图;
图2c为本发明实施例提供的另一种传输网络信息的方法的另一种具体实例的信令交互图;
图2d为本发明实施例提供的另一种传输网络信息的方法的再一种具体实例的信令交互图;
图3为本发明实施例提供的一种传输网络信息的装置的结构示意图;
图4为本发明实施例提供的一种传输网络信息的信息服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供一种传输网络信息的方法,如图1所示,包括以下步骤:
101,信息服务器获取虚拟网络中的虚拟机的地址信息。
需要说明的是,本实施例所述的方法可以由信息服务器执行,信息服务器为一种具备计算和存储功能的、用于记录虚拟机的地址信息的设备,例如:服务器、移动工作站、终端设备等。进一步的,信息服务器可以是一个专门的硬件设备,例如:在物理层面上,服务器1和服务器2分别用于承载虚拟机的运行,而作为信息服务器的服务器3则用于在服务器1和服务器2上的虚拟机进行数据交互时,执行本实施例所述的方法;可选的,信息服务器也可以由一个硬件设备所划分出的部分运算/存储资源构成,例如:在物理层面上,服务器1和服务器2分别用于承载虚拟机的运行,同时服务器1还分出了一部分的运算/存储资源来承担本实施例中信息服务器的功能,即服务器1还用于执行本实施例所述的方法,因此本领域技术人员可以通过时分复用等技术手段实现一个服务器同时承载虚拟机的运行并执行本实施例所述的方法。
进一步的,所述地址信息包括:所述虚拟机的IP地址和MAC地址、所述虚拟机所在的物理设备的IP地址和MAC地址和所述虚拟机所在的虚拟网络的虚拟网络标识(VirtualNetwork Identifier,简称VNI)号。在本发明实施例的实际应用中,虚拟机发出的数据包包括了用于表示该虚拟机的IP地址和MAC地址,当该虚拟机发出的数据到达了该虚拟机所在的物理设备后,可以由物理设备对该虚拟机发出的数据进行重新封装,并添加该虚拟机所在的物理设备的IP地址和MAC地址以及该虚拟机所在的虚拟网络的VNI号。
在本实施例中,信息服务器可以在虚拟网络中的虚拟机启动时,通过所述虚拟机所在的物理设备获取所述虚拟机的IP地址和MAC地址,并将获取的所述虚拟机的IP地址和MAC地址、所述物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的VNI号发送至所述信息服务器。
具体的,信息服务器可以通过现有的技术手段获取并储存虚拟网络中的各个虚拟机的IP地址和MAC地址、虚拟机所在的诸如服务器等物理设备的IP地址和MAC地址,以及虚拟机所在的虚拟网络的VNI号等地址信息。其中,信息服务器获取地址信息的具体方式可以有多种,例如:虚拟机在启动时可以自动发起动态主机配置协议(Dynamic HostConfiguration Protocol,简称DHCP)进程,以便于虚拟机所在的物理服务器通过执行该进程,可以截获由DHCP服务器发送至所述虚拟机的用于给所述虚拟机分配IP地址和MAC地址的DHCP消息,并从中获取所述虚拟机的IP地址和MAC地址;然后,所述物理服务器再将自身的IP地址和MAC地址,以及所述虚拟机所在的虚拟网络的VNI号等信息,同所述虚拟机的IP地址和MAC地址一起发送至信息服务器。需要说明的是,当虚拟网络运行时,物理层面上的物理设备可以获取本物理设备上承载的虚拟网络的VNI号,具体实现方式可以是本领域技术人员所熟知的任意方式,在此不再赘述。
102,接收第一虚拟机所在的物理设备根据所述第一虚拟机的请求生成的查询请求消息,根据所述查询请求消息获取第二虚拟机的地址信息。
其中,所述请求消息中包括用于识别第二虚拟机的信息。例如:当第一虚拟机发出的请求消息为地址解析协议(Address Resolution Protocol,简称ARP)请求时,ARP请求中包括的用于识别第二虚拟机的信息为第二虚拟机的IP地址。需要说明的是,第一虚拟机获取第二虚拟机的IP地址的具体实现方式可以是本领域技术人员所熟知的任意方式,在此不再赘述。
在实际应用中,作为本地虚拟机的第一虚拟机若要与目的虚拟机实现数据交互,则需要获取作为目的虚拟机的第二虚拟机的MAC地址。同时,本地虚拟机所在的物理设备需要获取目的虚拟机所在的物理设备的IP地址和MAC地址。
在本实施例中,信息服务器接收到第一虚拟机发出的请求消息,该请求消息表示第一虚拟机需要与第二虚拟机进行数据交互,信息服务器可以根据所述请求消息中包含的第二虚拟机的IP地址在已获取的虚拟机的地址信息中查找该第二虚拟机对应的MAC地址、第二虚拟机所在物理设备的IP地址和MAC地址等地址信息,并将查找到的第二虚拟机的MAC地址、第二虚拟机所在物理设备的IP地址和MAC地址等地址信息发送至第一虚拟机,以便第一虚拟机使用所述地址信息与第二虚拟机进行数据交互。
103,通过所述第一虚拟机所在的物理设备向所述第一虚拟机反馈所述第二虚拟机的地址信息。
本发明实施例提供的传输网络信息的方法,能够通过在网络中设置专门的服务器来记录网络中的虚拟机的地址信息,并在虚拟机运行过程中根据虚拟机所发出的请求反馈所需的地址信息,从而在虚拟机的运行过程中不必再使用现有技术采用的物理交换机及PIM-DM技术,避免了在支持更大规模虚拟网络时为了增加物理交换机的PIM-DM容量所需的成本,从而降低了构建大规模虚拟网络的成本,扩大了虚拟网络技术的应用范围。
如图2a所示,为本发明实施例提供的另一种传输网络信息的方法的流程图,包括以下步骤:
201,虚拟网络中的虚拟机启动后,信息服务器获取虚拟机的MAC地址和IP地址、所述虚拟机所在的物理设备的MAC地址和IP地址以及所述虚拟机所在的虚拟网络的VNI号。
其中,虚拟机的MAC地址和IP地址是由虚拟机所在的物理设备通过截获DHCP服务器发送至虚拟机的DHCP消息获取的,所述DHCP消息包括虚拟机的IP地址和MAC地址。进而,虚拟机所在的物理设备将所述虚拟机的MAC地址和IP地址、虚拟机所在的物理设备的MAC地址和IP地址以及所述虚拟机所在的虚拟网络的VNI号发送至所述信息服务器。在本实施例中,DHCP消息的具体传输过程可以与现有技术中常用的DHCP技术的具体实施过程相同。
例如:在实际应用中,虚拟机是由具体的物理设备承载的,由虚拟机发出/接收的数据需要通过物理设备进行传输。如图2b所示,第一虚拟机和第二虚拟机可以分别由不同的物理设备承载,在所述虚拟网络中的虚拟机启动后,第一虚拟机和第二虚拟机都可以发起DHCP流程,并接收DHCP服务器发送的DHCP消息。比如:第二虚拟机启动后发起DHCP流程,物理设备2可以截获DHCP服务器发送给第二虚拟机的DHCP消息,在所述DHCP消息中包括DHCP服务器分配给第二虚拟机的IP地址和MAC地址,物理设备2可以获取DHCP消息中的IP地址和MAC地址,并连同物理设备2的IP地址和MAC地址,第二虚拟机所在的虚拟网络的VNI号发送至信息服务器。通过相同的方式,物理设备1可以获取第一虚拟机的IP地址和MAC地址,并连同物理设备1的IP地址和MAC地址,第一虚拟机所在的虚拟网络的VNI号发送至信息服务器。从而实现虚拟机在启动时向信息服务器上报地址信息的过程,以使信息服务器能够获取并保存虚拟网络中所有启动的虚拟机的地址信息。
202,所述第一虚拟机所在的物理设备接收所述第一虚拟机发送的ARP请求,从所述ARP请求中提取所述第二虚拟机的IP地址,根据所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号生成所述查询请求消息并将所述查询请求消息发送给所述信息服务器。
在本实施例中,作为本地虚拟机的第一虚拟机发出的请求消息可以是ARP请求,该ARP请求中包含用于识别目的虚拟机(本实施例中为了和作为本地虚拟机的第一虚拟机相区别,可以称之为第二虚拟机)的信息(即,第二虚拟机的IP地址)。所述查询请求消息由物理设备根据所述第一虚拟机发送的ARP请求生成,并且所述查询请求消息包括了:第二虚拟机的IP地址。例如:
在实际应用中,第一虚拟机若要与第二虚拟机实现数据交互,则需要获取第二虚拟机的MAC地址。如图2c所示,第一虚拟机可以发出指向第二虚拟机的ARP请求,在该ARP请求中的指定字符段包括了第二虚拟机的IP地址,第一虚拟机所在的物理设备1在截获第一虚拟机发送的ARP请求后,可以从ARP请求中提取出用于识别第二虚拟机的信息(即,第二虚拟机的IP地址),并根据第一虚拟机所在的虚拟网络的VNI号生成查询请求消息,再将查询请求消息发送至信息服务器。需要说明的是:只有同一虚拟网络中不同的虚拟机之间才能进行数据交互,因此,能和第一虚拟机进行数据交互的第二虚拟机,只能是和第一虚拟机处于同一个虚拟网络中的虚拟机。因此,第二虚拟机所在的虚拟网络的VNI号和第一虚拟机所在的虚拟网络的VNI号相同。
203,根据所述查询请求消息中的所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号,获取所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址。
具体的,信息服务器可以根据查询请求消息中包含的第二虚拟机的IP地址和第二虚拟机所在的虚拟网络的VNI号,从在201中由各个虚拟机启动时所上报的地址信息中查询到对应的第二虚拟机的MAC地址,和所述第二虚拟机所在的物理设备的IP地址和MAC地址。
204,将所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址发送至所述第一虚拟机所在的物理设备,第一虚拟机所在的物理设备将第二虚拟机的MAC地址发送至第一虚拟机。
在本实施例中,如图2c所示,信息服务器可以将第二虚拟机的MAC地址,和所述第二虚拟机所在的物理设备的IP地址和MAC地址发送至物理设备1,再由物理设备1将第二虚拟机的MAC地址传输至第一虚拟机。
进一步的,在本实施例中,信息服务器通过执行201-204后,第一虚拟机可以根据第二虚拟机的IP地址、MAC地址,实现与第二虚拟机的数据交互,例如:在图2c的基础上,如图2d所示,
第一虚拟机向第二虚拟机发送通信报文,通信报文中包括了第二虚拟机的IP地址、MAC地址;
第一虚拟机所在的物理设备1可以截获通信报文,并在通信报文中添加第一虚拟机所属虚拟网络的VNI以及外层隧道封装。其中,外层隧道封装中的外层源IP地址和MAC地址为物理设备1的IP地址和MAC地址,外层目的IP地址和MAC地址为物理设备2的IP地址和MAC地址,其中物理设备2的IP地址和MAC地址已在204中由信息服务器发送至物理设备1;
物理设备1将通信报文通过网络发送到第二虚拟机所在的物理设备2;
第二虚拟机所在的物理设备2在将第一虚拟机所在的物理设备1发送的通信报文解封装后,再传输至第二虚拟机。
本发明实施例提供的传输网络信息的方法,能够通过在网络中设置专门的服务器来记录网络中的虚拟机的地址信息,并在虚拟机运行过程中根据虚拟机所发出的请求反馈所需的地址信息,从而在虚拟机的运行过程中不必再使用现有技术中所采用的物理交换机及PIM-DM技术,避免了在支持更大规模虚拟网络时为了增加物理交换机的PIM-DM容量所需的成本,从而降低了构建大规模虚拟网络的成本,扩大了虚拟网络技术的应用范围。
本发明实施例还提供一种传输网络信息的装置,如图3所示,包括:
信息获取模块31,用于获取虚拟网络中虚拟机的地址信息。
其中,地址信息包括:所述虚拟机的IP地址和介质访问控制MAC地址、所述虚拟机所在的物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的虚拟网络标识VNI号。
请求接收模块32,用于接收第一虚拟机所在的物理设备根据所述第一虚拟机的请求生成的查询请求消息,根据所述查询请求消息获取第二虚拟机的地址信息。
其中,查询请求消息包括所述第二虚拟机的IP地址。
信息反馈模块33,通过所述第一虚拟机所在的物理设备向所述第一虚拟机反馈所述第二虚拟机的地址信息。
可选的,所述信息获取模块31,具体用于接收所述虚拟机所在的物理设备发送的所述虚拟机的IP地址和MAC地址、所述物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的VNI号,其中,所述虚拟机的IP地址和MAC地址是由所述虚拟机所在的物理设备在所述虚拟网络中的虚拟机启动后,通过截获动态主机配置协议DHCP服务器发送给所述虚拟机的DHCP消息获取的,所述DHCP消息包括所述虚拟机的IP地址和MAC地址。
可选的,所述第一虚拟机的请求为所述第一虚拟机发送的地址解析协议ARP请求,所述ARP请求中包括所述第二虚拟机的IP地址。
可选的,所述请求接收模块32,具体用于接收所述第一虚拟机所在的物理设备根据所述第一虚拟机发送的ARP请求生成的所述查询请求消息,所述查询请求消息包括所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号;根据所述查询请求消息中的所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号,获取所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址。
进一步可选的,所述信息反馈模块33,具体用于将所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址发送至所述第一虚拟机所在的物理设备,以便所述第一虚拟机所在的物理设备将所述第二虚拟机的MAC地址发送至所述第一虚拟机。
本发明实施例提供的传输网络信息的装置,能够通过在网络中设置专门的服务器来记录网络中的虚拟机的地址信息,并在虚拟机运行过程中根据虚拟机所发出的请求反馈所需的地址信息,从而在虚拟机的运行过程中不必再使用现有技术中所采用的物理交换机及PIM-DM技术,避免了在支持更大规模虚拟网络时为了增加物理交换机的PIM-DM容量所需的成本,从而降低了构建大规模虚拟网络的成本,扩大了虚拟网络技术的应用范围。
本发明实施例又提供一种传输网络信息的信息服务器,如图4所示,包括:处理器41、通信接口42、存储器43、总线44,所述处理器41、所述通信接口42和所述存储器43通过所述总线44完成相互间的通信,其中:
所述处理器41,用于通过通信接口42,获取虚拟网络中虚拟机的地址信息并储存在所述存储器43中,所述地址信息包括:所述虚拟机的IP地址和介质访问控制MAC地址、所述虚拟机所在的物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的虚拟网络标识VNI号。
所述处理器41,还用于通过所述通信接口42,接收第一虚拟机所在的物理设备根据所述第一虚拟机的请求生成的查询请求消息,根据所述查询请求消息获取第二虚拟机的地址信息,其中,所述查询请求消息包括所述第二虚拟机的IP地址。
所述处理器41,还用于通过所述通信接口42,通过所述第一虚拟机所在的物理设备向所述第一虚拟机反馈所述第二虚拟机的地址信息。
可选的,所述处理器41,具体用于通过所述通信接口42,接收所述虚拟机所在的物理设备发送的所述虚拟机的IP地址和MAC地址、所述物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的VNI号,其中,所述虚拟机的IP地址和MAC地址是由所述虚拟机所在的物理设备在所述虚拟网络中的虚拟机启动后,通过截获动态主机配置协议DHCP服务器发送给所述虚拟机的DHCP消息获取的,所述DHCP消息包括所述虚拟机的IP地址和MAC地址。
进一步可选的,所述处理器41,具体用于通过所述通信接口42,接收所述第一虚拟机所在的物理设备根据所述第一虚拟机发送的ARP请求生成的所述查询请求消息,所述查询请求消息包括所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号;根据所述查询请求消息中的所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号,获取储存在所述存储器中的所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址。
其中,所述第一虚拟机的请求为所述第一虚拟机发送的地址解析协议ARP请求,所述ARP请求中包括所述第二虚拟机的IP地址。
再进一步可选的,所述处理器41,具体用于通过所述通信接口42,将所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址发送至所述第一虚拟机所在的物理设备,以便所述第一虚拟机所在的物理设备将所述第二虚拟机的MAC地址发送至所述第一虚拟机。
本发明实施例提供的传输网络信息的信息服务器,能够通过在网络中设置专门的服务器来记录网络中的虚拟机的地址信息,并在虚拟机运行过程中根据虚拟机所发出的请求反馈所需的地址信息,从而在虚拟机的运行过程中不必再使用现有技术中所采用的物理交换机及PIM-DM技术。与现有技术相比,由于本发明实施例提供了除了物理交换机及PIM-DM技术以外的支持虚拟机的运行的方案,避免了在支持更大规模虚拟网络时为了增加物理交换机的PIM-DM容量所需的成本,从而降低了构建大规模虚拟网络的成本,扩大了虚拟网络技术的应用范围。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (9)
1.一种传输网络信息的方法,其特征在于,包括:
信息服务器获取虚拟网络中虚拟机的地址信息,所述地址信息包括:所述虚拟机的IP地址和介质访问控制MAC地址、所述虚拟机所在的物理设备的IP地址以及所述虚拟机所在的虚拟网络的虚拟网络标识VNI号;
所述信息服务器接收第一虚拟机所在的物理设备根据所述第一虚拟机发送的ARP请求生成的查询请求消息,所述ARP请求中包括第二虚拟机的IP地址,所述查询请求消息包括所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号,其中,所述第一虚拟机所在的虚拟网络的VNI号与所述第二虚拟机所在的虚拟网络的VNI号相同;
所述信息服务器根据所述查询请求消息中的所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号,获取所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址;
所述信息服务器将所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址发送至所述第一虚拟机所在的物理设备,以便所述第一虚拟机所在的物理设备将所述第二虚拟机的MAC地址发送至所述第一虚拟机。
2.根据权利要求1所述的传输网络信息的方法,其特征在于,所述信息服务器获取虚拟网络中虚拟机的地址信息,包括:
所述虚拟机所在的物理设备获取所述虚拟机的IP地址和MAC地址,并将获取的所述虚拟机的IP地址和MAC地址、所述物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的VNI号发送至所述信息服务器。
3.根据权利要求2所述的传输网络信息的方法,其特征在于,所述虚拟机所在的物理设备获取所述虚拟机的IP地址和MAC地址,包括:
所述虚拟网络中的所述虚拟机启动后,所述虚拟机所在的物理设备截获动态主机配置协议DHCP服务器发送给所述虚拟机的DHCP消息,所述DHCP消息包括所述虚拟机的IP地址和MAC地址;
所述虚拟机所在的物理设备从所述DHCP消息中获取所述虚拟机的IP地址和MAC地址。
4.一种传输网络信息的装置,其特征在于,包括:
信息获取模块,用于获取虚拟网络中虚拟机的地址信息,所述地址信息包括:所述虚拟机的IP地址和介质访问控制MAC地址、所述虚拟机所在的物理设备的IP地址以及所述虚拟机所在的虚拟网络的虚拟网络标识VNI号;
请求接收模块,用于接收第一虚拟机所在的物理设备根据所述第一虚拟机发送的ARP请求生成的查询请求消息,所述ARP请求中包括第二虚拟机的IP地址,所述查询请求消息包括所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号,其中,所述第一虚拟机所在的虚拟网络的VNI号与所述第二虚拟机所在的虚拟网络的VNI号相同,还用于根据所述查询请求消息中的所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号,获取所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址;
信息反馈模块,用于将所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址发送至所述第一虚拟机所在的物理设备,以便所述第一虚拟机所在的物理设备将所述第二虚拟机的MAC地址发送至所述第一虚拟机。
5.根据权利要求4所述的传输网络信息的装置,其特征在于,所述信息获取模块,具体用于接收所述虚拟机所在的物理设备发送的所述虚拟机的IP地址和MAC地址、所述物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的VNI号,其中,所述虚拟机的IP地址和MAC地址是由所述虚拟机所在的物理设备在所述虚拟网络中的所述虚拟机启动后,通过截获动态主机配置协议DHCP服务器发送给所述虚拟机的DHCP消息获取的,所述DHCP消息包括所述虚拟机的IP地址和MAC地址。
6.根据权利要求4或5所述的传输网络信息的装置,其特征在于,所述信息反馈模块,具体用于将所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址发送至所述第一虚拟机所在的物理设备,以便所述第一虚拟机所在的物理设备将所述第二虚拟机的MAC地址发送至所述第一虚拟机。
7.一种传输网络信息的信息服务器,其特征在于,包括:处理器、通信接口、存储器、总线,所述处理器、所述通信接口和所述存储器通过所述总线完成相互间的通信,其中,所述处理器用于:
通过所述通信接口,获取虚拟网络中虚拟机的地址信息并储存在所述存储器中,所述地址信息包括:所述虚拟机的IP地址和介质访问控制MAC地址、所述虚拟机所在的物理设备的IP地址以及所述虚拟机所在的虚拟网络的虚拟网络标识VNI号;
通过所述通信接口,接收第一虚拟机所在的物理设备根据所述第一虚拟机发送的ARP请求生成的查询请求消息,所述ARP请求中包括第二虚拟机的IP地址,所述查询请求消息包括所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号,其中,所述第一虚拟机所在的虚拟网络的VNI号与所述第二虚拟机所在的虚拟网络的VNI号相同,根据所述查询请求消息中的所述第二虚拟机的IP地址和所述第一虚拟机所在的虚拟网络的VNI号,获取所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址;
通过所述通信接口,将所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址发送至所述第一虚拟机所在的物理设备,以便所述第一虚拟机所在的物理设备将所述第二虚拟机的MAC地址发送至所述第一虚拟机。
8.根据权利要求7所述的传输网络信息的信息服务器,其特征在于,所述处理器,具体用于通过所述通信接口,接收所述虚拟机所在的物理设备发送的所述虚拟机的IP地址和MAC地址、所述物理设备的IP地址和MAC地址以及所述虚拟机所在的虚拟网络的VNI号,其中,所述虚拟机的IP地址和MAC地址是由所述虚拟机所在的物理设备在所述虚拟网络中的所述虚拟机启动后,通过截获动态主机配置协议DHCP服务器发送给所述虚拟机的DHCP消息获取的,所述DHCP消息包括所述虚拟机的IP地址和MAC地址。
9.根据权利要求7或8所述的传输网络信息的信息服务器,其特征在于,所述处理器,具体用于通过所述通信接口,将所述第二虚拟机的MAC地址以及所述第二虚拟机所在的物理设备的IP地址和MAC地址发送至所述第一虚拟机所在的物理设备,以便所述第一虚拟机所在的物理设备将所述第二虚拟机的MAC地址发送至所述第一虚拟机。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/087923 WO2014101145A1 (zh) | 2012-12-28 | 2012-12-28 | 传输网络信息的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103503413A CN103503413A (zh) | 2014-01-08 |
CN103503413B true CN103503413B (zh) | 2017-02-22 |
Family
ID=49866756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280005724.4A Active CN103503413B (zh) | 2012-12-28 | 2012-12-28 | 传输网络信息的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103503413B (zh) |
WO (1) | WO2014101145A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104104747B (zh) * | 2014-07-28 | 2017-08-08 | 新华三技术有限公司 | 报文传输方法及装置 |
CN104243318B (zh) | 2014-09-29 | 2018-10-09 | 新华三技术有限公司 | Vxlan网络中的mac地址学习方法及装置 |
CN104935516B (zh) * | 2015-06-17 | 2018-05-11 | 武汉邮电科学研究院 | 基于软件定义网络的通信系统及方法 |
CN106888198B (zh) * | 2015-12-16 | 2019-08-20 | 华为技术有限公司 | 一种数据包过滤规则的配置方法、装置及系统 |
CN106230727B (zh) * | 2016-07-20 | 2019-09-17 | 新华三技术有限公司 | 报文转发方法及装置 |
CN109040160A (zh) * | 2017-06-12 | 2018-12-18 | 中兴通讯股份有限公司 | 标识获取方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594358A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 三层交换方法、装置、系统和宿主机 |
CN101605084A (zh) * | 2009-06-29 | 2009-12-16 | 北京航空航天大学 | 基于虚拟机的虚拟网络报文处理方法和系统 |
CN102457583A (zh) * | 2010-10-19 | 2012-05-16 | 中兴通讯股份有限公司 | 一种虚拟机移动性的实现方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459618B (zh) * | 2009-01-06 | 2011-01-19 | 北京航空航天大学 | 虚拟机网络的数据包转发方法和装置 |
US8019837B2 (en) * | 2009-01-14 | 2011-09-13 | International Business Machines Corporation | Providing network identity for virtual machines |
US8532108B2 (en) * | 2009-09-30 | 2013-09-10 | Alcatel Lucent | Layer 2 seamless site extension of enterprises in cloud computing |
CN102136931B (zh) * | 2010-09-20 | 2013-12-04 | 华为技术有限公司 | 虚端口网络策略配置方法、一种网络管理中心和相关设备 |
-
2012
- 2012-12-28 CN CN201280005724.4A patent/CN103503413B/zh active Active
- 2012-12-28 WO PCT/CN2012/087923 patent/WO2014101145A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594358A (zh) * | 2009-06-29 | 2009-12-02 | 北京航空航天大学 | 三层交换方法、装置、系统和宿主机 |
CN101605084A (zh) * | 2009-06-29 | 2009-12-16 | 北京航空航天大学 | 基于虚拟机的虚拟网络报文处理方法和系统 |
CN102457583A (zh) * | 2010-10-19 | 2012-05-16 | 中兴通讯股份有限公司 | 一种虚拟机移动性的实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2014101145A1 (zh) | 2014-07-03 |
CN103503413A (zh) | 2014-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103503413B (zh) | 传输网络信息的方法及装置 | |
CN102801599B (zh) | 一种通信方法和系统 | |
CN102457586B (zh) | 一种实现二层网络的扩展方法及扩展的二层网络 | |
CN102549983B (zh) | 分布式数据中心接入交换机 | |
CN102447748B (zh) | 在nat穿越中分配外网互联网协议ip地址的方法及设备、系统 | |
CN102869059B (zh) | 一种无线接入控制器切换方法和无线接入点 | |
CN102404418B (zh) | 为用户终端分配ip地址的方法、装置和系统 | |
CN104040964B (zh) | 跨服务区通信的方法、装置和数据中心网络 | |
CN104468368B (zh) | 配置bgp邻居的方法及装置 | |
CN107547242B (zh) | Vm配置信息的获取方法及装置 | |
CN102845123A (zh) | 虚拟私云的连接方法及隧道代理服务器 | |
CN102739541A (zh) | 一种路由功能启动及数据传输的方法、设备和系统 | |
CN104780232B (zh) | 一种资源分配方法、控制器及系统 | |
CN105359458A (zh) | 网络设备通信方法及网络设备 | |
CN103262480A (zh) | 一种虚拟集群建立的方法及网络设备 | |
CN102724101A (zh) | 报文转发方法及系统与中继代理设备 | |
CN101873320B (zh) | 一种基于DHCPv6中继的客户端信息确认方法及其装置 | |
CN106452873A (zh) | 软件定义网络中的控制方法,控制设备和处理器 | |
CN102394948A (zh) | Dhcp地址分配方法及dhcp服务器 | |
CN102394947A (zh) | IPv4与IPv6的地址翻译方法、装置、系统及ALG设备 | |
CN101159611A (zh) | 一种批量系统部署方法和部署装置 | |
CN102572012B (zh) | 一种消息处理方法、交换机及系统 | |
CN104253878A (zh) | Dhcp relay终结子接口的vlan信息管理系统及方法 | |
CN117118886A (zh) | 报文转发方法、头端设备、控制器、设备及存储介质 | |
CN104104749B (zh) | 一种隧道ip地址的分配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |