CN107819707A - 数据处理的方法、装置、物理机、虚拟交换机与系统 - Google Patents

数据处理的方法、装置、物理机、虚拟交换机与系统 Download PDF

Info

Publication number
CN107819707A
CN107819707A CN201610827565.6A CN201610827565A CN107819707A CN 107819707 A CN107819707 A CN 107819707A CN 201610827565 A CN201610827565 A CN 201610827565A CN 107819707 A CN107819707 A CN 107819707A
Authority
CN
China
Prior art keywords
packet
virtual
machine
physical machine
virtual machine
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
CN201610827565.6A
Other languages
English (en)
Other versions
CN107819707B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610827565.6A priority Critical patent/CN107819707B/zh
Publication of CN107819707A publication Critical patent/CN107819707A/zh
Application granted granted Critical
Publication of CN107819707B publication Critical patent/CN107819707B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种数据处理的方法、装置、物理机、虚拟交换机与系统,方法包括:生成物理机类型实例,物理机类型实例包括第一端口和第二端口,第一端口用于与第一虚拟交换机进行数据交互,第二端口用于与第一物理机的第一协议栈进行数据交互;通过第一端口接收第一虚拟交换机发送的第一数据包,数据包是第一虚拟机生成的,第一数据包中包括第一物理机的地址;通过第二端口向第一协议栈发送第一数据包。根据本发明,能够实现虚拟机与物理机之间的信息交互。

Description

数据处理的方法、装置、物理机、虚拟交换机与系统
技术领域
本发明涉及互联网技术,尤其涉及一种数据处理的方法、装置、物理机、虚拟交换机与系统。
背景技术
虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,可以在一台物理计算机(以下简称为物理机)上模拟出一台或者多台虚拟机。这些虚拟机完全像真正的计算机那样进行工作。例如,用户可以安装操作系统、安装应用、访问网络资源、利用其上安装的即时聊天软件进行交谈。对于用户而言,虚拟机只是运行在物理机上的一个应用,但对于在虚拟机中运行的应用而言,虚拟机就是一台真正的计算机。其中,不同虚拟机之间的交互是通过虚拟交换机完成的。
目前,在某些应用场景下,有虚拟机和物理机同时合作处理一件事物的需求,这样,就会涉及到虚拟机与物理机之间进行数据交互,那么如何实现虚拟机与物理机之间的数据交互成为了亟待解决的问题。
发明内容
本发明提供一种数据处理的方法、装置、物理机、虚拟交换机与系统,以实现虚拟机与物理机之间的数据交互。
一个方面,本发明提供一种数据处理的方法,包括:
生成物理机类型实例,所述物理机类型实例包括第一端口和第二端口,所述第一端口用于与第一虚拟交换机进行数据交互,所述第二端口用于与第一物理机的第一协议栈进行数据交互;
通过所述第一端口接收所述第一虚拟交换机发送的第一数据包,所述数据包是第一虚拟机生成的;
通过所述第二端口向所述第一协议栈发送所述第一数据包;
其中,所述第一虚拟交换机位于所述第一物理机中。
另一个方面,本发明提供一种数据处理的方法,包括:
获取所述第一虚拟机生成的第一数据包,并判断所述第一数据包中的地址是第一物理机的地址还是设置在第一物理机中的第二虚拟机的地址
若判断出所述第一数据包中包括第一物理机的地址,则向物理机类型实例发送所述第一数据包,以使所述物理机类型实例向所述第一物理机的第一协议栈发送所述第一数据包;
其中,所述物理机类型实例包括第一端口和第二端口,所述第一端口用于与第一虚拟交换机进行数据交互,所述第二端口用于与所述第一协议栈进行数据交互。
再一方面,本发明提供一种数据处理的装置,包括:
生成模块,用于生成物理机类型实例,所述物理机类型实例包括第一端口;
第一发送模块,用于通过所述第一端口接收第一交换机发送的第一数据包,所述第一数据包是第一虚拟机生成的且经过所述第一交换机进行处理的数据包;
第二发送模块,用于通过所述物理机类型实例,将所述第一数据包发送至所述物理机类型实例所在的第一物理机进行处理。
又一方面,本发明提供一种物理机,包括处理器、输入组件和输出组件;
所述处理器,耦合到所述输入组件和所述输出组件,用于生成物理机类型实例,所述物理机类型实例包括第一端口;
所述输入组件,用于通过所述第一端口接收第一交换机发送的第一数据包,所述第一数据包是第一虚拟机生成的且经过所述第一交换机进行处理的数据包;
所述输出组件,用于通过所述物理机类型实例,将所述第一数据包发送至所述物理机类型实例所在的第一物理机进行处理。
另一方面,本发明提供一种数据处理的装置,包括:
获取模块,用于获取所述第一虚拟机生成的第一数据包,并判断所述第一数据包中的地址是第一物理机的地址还是设置在第一物理机中的第二虚拟机的地址;
第三发送模块,用于若判断出所述第一数据包中包括第一物理机的地址,则向物理机类型实例发送所述第一数据包,以使所述物理机类型实例向所述第一物理机的第一协议栈发送所述第一数据包;
其中,所述物理机类型实例包括第一端口和第二端口,所述第一端口用于与第一虚拟交换机进行数据交互,所述第二端口用于与所述第一协议栈进行数据交互。
再一方面,本发明提供一种交换机,包括:处理器和输出组件;
所述处理器,耦合到所述输出组件,用于获取所述第一虚拟机生成的第一数据包,并判断所述第一数据包中的地址是第一物理机的地址还是设置在第一物理机中的第二虚拟机的地址;
输出组件,用于若判断出所述第一数据包中包括第一物理机的地址,则向物理机类型实例发送所述第一数据包,以使所述物理机类型实例向所述第一物理机的第一协议栈发送所述第一数据包;
其中,所述物理机类型实例包括第一端口和第二端口,所述第一端口用于与第一虚拟交换机进行数据交互,所述第二端口用于与所述第一协议栈进行数据交互。
又一方面,本发明提供一种数据处理的系统,包括上述任一项所述的物理机以及上述所述的交换机。
根据本发明,通过在物理机和第一虚拟交换机之间生成物理机类型实例,且该物理机类型实例中包括与虚拟机第一虚拟交换机之间用于数据交互的第一端口以及与物理机的协议栈进行数据交互的第二端口,进而实现物理机与虚拟交换机之间的数据交互,由于虚拟换机是与虚拟机进行数据交互的,这样就实现了物理机与虚拟机之间的数据交互。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A至图1E为本发明的几种可选的应用场景的示意图;
图2A为本发明一实施例提供的数据处理的方法的流程示意图;
图2B为本发明另一实施例提供的数据处理的方法的流程示意图;
图3为本发明再一实施例提供的数据处理的方法的流程示意图;
图4为本发明又一实施例提供的数据处理的方法的流程示意图;
图5为本发明另一实施例提供的数据处理的方法的流程示意图;
图6A为本发明再一实施例提供的数据处理的方法的流程示意图;
图6B为本发明又一实施例提供的数据处理的方法的流程示意图;
图7为本发明一实施例提供的数据处理的装置的结构示意图;
图8为本发明另一实施例提供的数据处理的装置的结构示意图;
图9为本发明再一实施例提供的数据处理的装置的结构示意图;
图10为本发明又一实施例提供的数据处理的装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
首先以举例的方式描述本发明的几个应用场景。下面所描述的物理机指的是实体计算机,虚拟机指的是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
如图1A至图1E所示,为数据处理的系统,该系统包括两台物理机,分别为物理机111和物理机112,物理机111包括虚拟交换机121、虚拟机131、虚拟机132、网卡161和协议栈171,物理机112包括虚拟交换机122、虚拟机133、虚拟机134、网卡162和协议栈172,其中物理机111中的Endpoint模块在接收到管控装置(图中未示出)发送的建立虚拟机类型实例的指令后,生成与虚拟机131对应的虚拟机类型实例113,物理机112中的Endpoint模块在接收到管控装置(图中未示出)发送的建立虚拟机类型实例的指令后,生成与与虚拟机132对应的虚拟机类型实例116,虚拟机133对应的虚拟机类型实例117,该各虚拟机类型实例113均包括端口A和B,其中端口A用于与虚拟交换机进行数据交互,端口B用于与所对应的虚拟机进行数据交互,物理机112中的Endpoint模块在接收到管控装置(图中未示出)建立物理机类型实例的指令后,生成物理实例114,该物理机类型实例114包括端口C和D,其中端口C用于与在同一物理机内的虚拟交换机进行数据交互,D用于物理机类型实例与所在的物理机的协议栈进行数据交互。
需指出的是,对于各类型实例,其处理数据包的方式是预先被配置好的,例如,对于虚拟机类型实例,从端口A接收的数据包就会从端口B发出,从端口B接收的数据包就会从端口A发出;对于物理机类型实例,从端口C接收的数据包就会从端口D发出,从端口D接收的数据包就会从端口C发出。
此外,虚拟机类型实例和物理机类型实例均还可以包括各自的标识,该标识用于表示该实例的类型,标识可以采用各种符号,例如数字、字母或者数字和字母的组合。即,物理机类型实例除了包括前述描述的端口A和端口B,还可以包括表示自身类型的标识,虚拟机类型实例除了包括前述描述的端口C和端口D,还包括表示自身类型的标识。当然,还可以根据实际需要设置其他结构,在此不再赘述。
本发明的端口是设备之间进行数据交换的出口。在本方案的一个实施例中,各个实例经由所包括的端口与其他设备或组件进行数据交互。在本发明的一个实施例中,端口是由软件功能模拟的出虚拟化端口。
本领域技术人员能理解到,计算机术语中的对象是具有共同性质的函数、变量、数据结构的总称。本方案中的实例是指对象的具体表示,且具有身份和属性值两个特征。操作可以作用于实例,实例可以有状态地存储操作结果。本发明的实例的表现形式可以是具有相应功能的一段程序语句,例如,只要能实现第一端口和第二端口的功能的任意程序语句均被认为是属于本实施例的实例的表现形式。现有技术中,具体采用何种编程语言来创建实例可以根据实际需要选择,在此不再赘述。
更为具体地,物理机类型实例是指能够在物理机系统和虚拟交换机之间进行数据传输的实例,虚拟机类型实例是指能够在虚拟机和虚拟交换机之间进行数据传输的实例。
本方案中的Endpoint模块是一种管理模块,具体地,其是一个能够生成、管理以及销毁所有的实例的管理模块,是独立完成上述功能的程序语句的集合。只要是具有能够生成、管理以及销毁所有的实例的模块都被认为是属于本实施例的Endpoint模块的表现和变形形式。
另外,本发明中,物理机可以被配置虚拟地址,该虚拟地址属于虚拟机的虚拟网络,这样,虚拟机与物理机就可以在同一虚拟网络中进行数据传输。即,需要与虚拟进行通信的物理机有两个地址,一个是在物理网络中的物理地址,另一个是在虚拟网络中的虚拟地址。虚拟机在向物理机发送数据包时,源地址是虚拟机在虚拟网络中的虚拟地址,目的地址是物理机在虚拟网络中的虚拟地址。物理机在向虚拟机发送数据包时,源地址是物理在虚拟网络中的虚拟地址,目的地址是虚拟机在虚拟网络中的虚拟地址。
其中,协议栈是指物理机的操作系统中处理数据包的软件系统(模块)。网卡是用于接收数据包和发送数据包的物理硬件。协议栈通过驱动程序与网卡交互(主要是收发数据包)。
其中,虚拟机类型实例113和物理机类型实例114均用于实现虚拟机131和物理机112之间的数据交互,具体流程如下:
如图1A所示,数据包的流程方向:虚拟机131→虚拟机类型实例113→虚拟交换机121→物理机112
虚拟机131生成带有物理机112的虚拟地址的第一数据包之后,向虚拟机类型实例113发送第一数据包,虚拟机类型实例113通过端口B接收到该第一数据包之后,则可以通过端口A将第一数据包发送至虚拟交换机121,虚拟交换机121根据虚拟地址识别出需将该第一数据包发送至物理机112中,对该第一数据包进行处理,即在第一数据包中添加物理网络150的地址段,例如物理机112在物理网络中的物理地址,生成第二数据包,这样,第二数据包就可以在物理网络150进行传输。第二数据包经过系统协议栈171进入网卡161,由网卡161将第二数据包通过物理网络150发送至物理机112,这样,第二数据包通过网卡162,并经由对应的系统协议172栈进入虚拟交换机122,虚拟交换机122对第二数据包进行处理,即去除第二数据包中物理网络150的地址段,获取第一数据包,并获取第一数据包中物理机112的虚拟地址,然后向物理机类型实例114的端口C发送第一数据包,由物理机类型实例114的端口D向协议栈172发送该第一数据包进行处理。这样,就实现了虚拟机131与物理机112之间的数据交互。
如图1B所示,数据包的流程方向:物理机112→物理机类型实例114→虚拟交换机122→虚拟交换机121→虚拟机131。
根据预先的设置,物理机112生成带有虚拟机131的虚拟地址的第三数据包。
接下来,物理机112的系统协议栈172向虚拟机类型实例116的端口D发送第三数据包,物理机类型实例114通过端口C向虚拟交换机122发送第三数据包,虚拟交换机根据第三数据包131中的虚拟地址识别出需向物理机111发送该第三数据包,则在第三数据包中添加物理网络150的地址段,例如,物理机111的物理地址,生成第四数据包。接着,该第四数据包再经过系统协议栈172进入网卡162,再由网卡162通过物理网络150发送第四数据包至虚拟交换机121,该虚拟交换机121接收到第四数据包后,去除物理网络150的地址段,获取第三数据包,并向虚拟机类型实例113的端口A发送第三数据包,再由虚拟机类型实例113将第三数据包发送至虚拟机131。
如图1C所示,流程方向:虚拟机133→虚拟机类型实例117→虚拟交换机121→虚拟机类型实例116→虚拟机132。
根据预先的设置,虚拟机133生成带有虚拟机132的虚拟地址的数据包P。
接下来,虚拟机133向虚拟机类型实例113的端口B发送数据包P,虚拟机类型实例117接收到该数据包P之后,通过端口A向虚拟交换机122发送数据包P,虚拟交换机122识别出虚拟机132位于物理机112内,则向虚拟机类型实例116发送数据包P,并经过虚拟机类型实例116到达虚拟机132。
如图1D所示,流程方向:虚拟机133→虚拟机类型实例117→虚拟交换机122→虚拟机类型实例113→虚拟机131。
根据预先的设置,虚拟机133生成带有虚拟机131的虚拟地址的数据包P。
接下来,虚拟机133向虚拟机类型实例117的端口B发送数据包P,虚拟机类型实例117接收到该数据包P之后,通过端口A向虚拟交换机121发送数据包P,虚拟交换机121识别出虚拟机131位于物理机111内,则对数据包P进行处理,在数据包P中添加物理网络150的地址段,例如,物理机111的物理地址,生成数据包Q,该数据包Q经过系统协议栈172到达网卡162,由网卡162通过物理网络150向网卡161发送数据包Q,数据包Q到达网卡161后,经过系统协议栈171到达虚拟交换机121,由虚拟交换机121进行处理,生成数据包P,再向虚拟机类型实例113的端口A发送数据包P,由虚拟机类型实例113通过端口B向虚拟机131发送数据包P。
如图1E所示,流程方向:虚拟机131→虚拟机类型实例113→虚拟交换机121→虚拟机类型实例116→虚拟机132。
根据预先的设置,虚拟机131生成带有虚拟机132的虚拟地址的数据包M。
接下来,虚拟机131向虚拟机类型实例113的端口B发送数据包M,虚拟机类型实例113接收到该数据包M之后,通过端口A向虚拟交换机121发送数据包M,虚拟交换机121识别出虚拟机131位于物理机112内,则对数据包M进行处理,在数据包M中添加物理网络150的地址段,例如,物理机112的物理地址,生成数据包N,该数据包N经过系统协议栈171到达网卡161,由网卡161通过物理网络150向网卡162发送数据包N,数据包N到达网卡162后,经过系统协议栈172到达虚拟交换机122,由虚拟交换机122进行处理,生成数据包M,再向虚拟机类型实例116的端口A发送数据包M,由虚拟机类型实例116通过端口B向虚拟机132发送数据包M。
各虚拟交换机具体如何获知需将数据包发送至目的地址的路径,具体可以通过管控装置来获取,也可以通过自学习来获取,例如若在物理机中创建一台虚拟机,则将该虚拟机的地址发送给数据处理的装置,这样,该数据处理的装置就能够获知该物理机中所有虚拟机的地址,对于物理机的地址,预先可以发送给虚拟交换机进行存储。此外,各虚拟交换机可以在接收到数据包之后,首先判断数据包中的地址是物理机的地址还是虚拟机的地址,如果是物理机的地址,则发送到物理机类型实例中,如果是虚拟机的地址,则发送到虚拟机类型实例中。
此外,对于各虚拟机,其所在的虚拟网络具有自己的虚拟网络地址段,各虚拟机都有相应虚拟网络地址段的IP地址,相应地,可以为物理机匹配虚拟网络地址段的IP地址,这样,在实现物理机与虚拟机进行数据交互的同时,也实现了物理机和虚拟机接入同一虚拟网络。为物理机匹配虚拟网络地址段的IP地址的方式可以具体为:
当物理机需要与虚拟机进行数据交互时,首先发起连接虚拟机的请求,管控装置接收到该请求后,根据该物理机试图所要连接的虚拟机所在的虚拟网络,为物理机分配该虚拟网络中的虚拟网络地址段的IP地址,虚拟交换机也需要存储在虚拟网络地址段的IP地址。
当然,还可以采用其它方式为物理机分配虚拟网络地址段的IP地址,例如,当各虚拟网络建立时,就为需要接入虚拟网络的物理机人工匹配虚拟网络地址段的IP地址,具体不再赘述。
实施例一
本实施例提供一种数据处理的方法,执行主体为数据处理的装置,该装置可以设置在物理机中。
如图2A所示,为根据本实施例的数据处理的方法的流程示意图。该方法包括:
步骤101,生成物理机类型实例,物理机类型实例包括第一端口和第二端口,第一端口用于与第一虚拟交换机进行数据交互,第二端口用于与第一协议栈进行数据交互。
该物理机类型实例是由数据处理的装置生成的用于接入物理机到虚拟机网络的功能实例。该物理机类型实例具体可以通过编程方式来实现。
举例来说,对于Linux系统,可以采用Linux内核通用的net_device结构体创建端口,例如,在物理机中创建net_device数据结构,并初始化net_device数据结构的接收函数,该接收函数可以看做是所创建的端口,接下来,首先注册该接收函数endpoint_dev_hard_start_xmit到虚拟交换机,以使虚拟交换机获知该调用哪一个函数来与该端口进行数据交互。第一端口和第二端口均可以采用该方式进行创建。
当然,对于其他操作系统来说,可以采用其它数据结构来创建端口,并注册接收函数到相应的虚拟交换机,以使虚拟交换机获知该调用哪一个接收函数来与该接口进行数据交互,当然还可以使用其他方式来创建端口,具体可以根据实际需要进行选择,在此不再赘述。
现有技术中,在物理机中没有配置有这样的物理机实例,物理机与虚拟交换机之间不进行数据交互。本实施例中,通过生成具有第一端口和第二端口的物理机实例,能够在物理机系统和虚拟交换机之间起到数据传输的作用,进而实现物理机与虚拟交换机之间的数据交互。现有技术中,由于虚拟交换机可以与虚拟机之间进行数据交互,这样就实现了虚拟机与物理机之间的数据交互。具体地,虚拟交换机和虚拟机之间通过网桥进行数据传输,至于如何在虚拟机交换机和虚拟机之间通过网桥进行数据传输属于现有技术,在此不再赘述。
可选地,在步骤101之前,还包括:
接收生成物理机类型实例的指令。
该指令可以由管控装置来发送,该管控装置用于控制装置所生成的实例的类型,例如生成虚拟机类型实例或生成物理机类型实例。这样,能够灵活地根据实际需要生成相应的实例。
相应地,该步骤101可以具体为根据该指令生成物理机类型实例。
生成该物理机类型实例之后,需向第一虚拟交换机发送该物理机类型实例的信息,例如发送物理机类型实例的第一端口的信息,以使第一虚拟交换机获知与该物理机类型实例进行数据交互的端口。
步骤102,通过第一端口接收第一虚拟交换机发送的第一数据包,数据包是第一虚拟机生成的。
其中,第一虚拟交换机位于第一物理机中。即一个物理机对应一个虚拟交换机。
当该第一虚拟交换机接收到第一虚拟机发送的第一数据包后,通过第一数据包中的地址可以识别出该数据包是需要发送至第一物理机进行处理的,例如通过第一数据包中的地址进行识别,识别出该第一数据包的源发送地址以及目的地址。
具体第一虚拟交换机在接收到数据包后,如何对数据包进行处理以获取第一数据包,与前述描述一致,在此不再赘述。
步骤103,通过第二端口向第一协议栈发送第一数据包。
第一协议栈接收到该第一数据包之后,就可以对该第一数据包进行处理,即采用物理机系统进行处理。
可选地,在步骤101之后,还包括:
删除物理机类型实例。
即,若物理机和虚拟机之间不需要再进行数据交互,则可以删除该物理机类型实例,以避免该物理机类型实例的存在占用第一物理机的资源。此外,删除物理机类型实例的操作可以在接收到管控装置发送的删除指令之后执行。
可选地,本实施例的物理机类型包括第一物理机的虚拟网络地址,第一物理机的虚拟网络地址与第一虚拟机的虚拟网络地址属于同一虚拟网络。这样,就能够实现物理机与虚拟机接入同一虚拟机网络。
根据本实施例,通过在物理机和第一虚拟交换机之间生成物理机类型实例,且该物理机类型实例中包括与虚拟机第一虚拟交换机之间用于数据交互的第一端口以及与物理机的协议栈进行数据交互的第二端口,进而实现物理机与虚拟交换机之间的数据交互,由于虚拟换机是与虚拟机进行数据交互的,这样就实现了物理机与虚拟机之间的数据交互。
实施例二
本实施例对实施例一数据处理的方法做进一步补充说明。本实施例主要对从物理机至虚拟机方向的数据处理的流程做说明。
如图2B所示,为根据本实施例的数据处理的方法的流程示意图。该方法包括:
步骤201,生成物理机类型实例,物理机类型实例包括第一端口和第二端口,第一端口用于与第一虚拟交换机进行数据交互,第二端口用于与第一物理机的第一协议栈进行数据交互。
该物理机类型实例是由数据处理的装置生成的用于接入物理机到虚拟机网络的功能实例。该物理机类型实例具体可以通过编程方式来实现。
可选地,在步骤201之前,还包括:
接收生成物理机类型实例的指令。
该指令可以由管控装置来发送,该管控装置用于控制装置所生成的实例的类型,例如生成虚拟机类型实例或生成物理机类型实例。这样,能够灵活地根据实际需要生成相应的实例。
相应地,该步骤201可以具体为根据该指令生成物理机类型实例。
生成该物理机类型实例之后,需向第一虚拟交换机发送该物理机类型实例的信息,例如发送物理机类型实例的第一端口的信息,以使第一虚拟交换机获知与该物理机类型实例进行数据交互的端口。
步骤202,通过第二端口接收第一协议栈发送的第二数据包,第二数据包中包括第一虚拟机的地址。
当第一物理机生成第二数据包并需要将该第二数据包发送至第一虚拟机时,通过物理机类型实例进行发送,这样,第一虚拟机所在的第二物理机中的第二虚拟交换机能够接收该第二数据包。
步骤203,通过第一端口向第一虚拟机发送第二数据包,以使第一虚拟机对第二数据包进行处理并发送至第一虚拟机。
该步骤具体可以包括,通过第一端口,向第一虚拟机所在的第二物理机中的第二虚拟交换机发送第二数据包,以通过第二虚拟交换机对第二数据包进行处理并发送至第一虚拟机。
可选地,在步骤201之后,还包括:
删除物理机类型实例。
即,若物理机和虚拟机之间不需要再进行数据交互,则可以删除该物理机类型实例,以避免该物理机类型实例的存在占用第一物理机的资源。此外,删除物理机类型实例的操作可以在接收到管控装置发送的删除指令之后执行。
可选地,本实施例的物理机类型包括第一物理机的虚拟网络地址,第一物理机的虚拟网络地址与第一虚拟机的虚拟网络地址属于同一虚拟网络。这样,就能够实现物理机与虚拟机接入同一虚拟机网络。
根据本实施例,通过在物理机和第一虚拟交换机之间生成物理机类型实例,且该物理机类型实例中包括与虚拟机第一虚拟交换机之间用于数据交互的第一端口以及与物理机的协议栈进行数据交互的第二端口,进而实现物理机与虚拟交换机之间的数据交互,由于虚拟换机是与虚拟机进行数据交互的,这样就实现了物理机与虚拟机之间的数据交互。
实施例三
本实例对实施例一数据处理的方法做进一步补充说明。本实施例主要对从第一物理机中的第二虚拟机至第二物理机中的第一虚拟机方向的数据处理的流程做说明。
如图3所示,为根据本实施例的方法的流程示意图。该方法包括:
步骤301,生成虚拟机类型实例,虚拟机类型实例包括第三端口和第四端口,第三端口用于与第一虚拟交换机进行数据交互,第四端口用于与第二虚拟机进行数据交互。
该虚拟机类型实例是由数据处理的装置生成的用于接入虚拟机到物理网络的功能实例。
可选地,在步骤301之前,还包括:
接收生成虚拟机类型实例的指令。
该指令可以由管控装置来发送,该管控装置用于控制装置所生成的实例的类型,例如生成虚拟机类型实例或生成物理机类型实例。这样,能够灵活地根据实际需要生成相应的实例。
相应地,该步骤301可以具体为根据该指令生成物理机类型实例。
生成该物理机类型实例之后,需向第一虚拟交换机发送该物理机类型实例的信息,例如发送物理机类型实例的第一端口的信息,以使第一虚拟交换机获知与该物理机类型实例进行数据交互的端口。
步骤302,通过虚拟机类型实例接收第二虚拟机生成的第三数据包,第二虚拟机位于第一物理机中,第三数据包中包括第二物理机的地址。
第二虚拟机生成第三数据包,并需要将该第三数据包发送至第一物理机中,此时,可以通过网桥将该第三数据包发送至虚拟机类型实例。
当该第二虚拟交换机接收到虚拟机类型实例发送的数据包后,识别出该数据包是需要发送至第二物理机进行处理的,例如通过数据包中的地址进行识别,识别出该数据包的源发送地址以及目的地址。
步骤303,通过虚拟机类型实例向第一虚拟交换机发送第三数据包,以使第一虚拟交换机向第二物理机发送第三数据包。
可选地,在步骤301之后,还包括:
删除虚拟机类型实例。
可选地,虚拟机类型实例与虚拟机一一对应,即一台虚拟机对应一台物理机,当某一虚拟机被删除后,相应地,需要删除虚拟机类型实例,进而避免无用的虚拟机类型实例占用第二物理机的资源。
可选地,本实施例的物理机类型包括第一物理机的虚拟网络地址,例如,上述第一物理机的地址可以是该虚拟网络地址,第一物理机的虚拟网络地址与第一虚拟机的虚拟网络地址属于同一虚拟网络。这样,就能够实现物理机与虚拟机接入同一虚拟机网络。
根据本实施例,通过在第一虚拟机和第二虚拟交换机之间生成虚拟机类型实例,且该虚拟机类型实例中包括虚拟机与虚拟交换机之间用于数据交互的第三端口,进而实现虚拟机与虚拟交换机之间的数据交互,由于虚拟换机能够通过物理机类型实例接收物理机发送的数据,这样就实现了物理机与虚拟机之间的数据交互。
实施例四
本实例对实施例一数据处理的方法做进一步补充说明。本实施例主要对从第二物理机中的第一虚拟机至第二物理机中的第一虚拟机方向的数据处理的流程做说明。
如图4所示,为根据本实施例的数据处理的方法的流程示意图。
步骤401,生成虚拟机类型实例,虚拟机类型实例包括第三端口和第四端口,第三端口用于与第一虚拟交换机进行数据交互,第四端口用于与第二虚拟机进行数据交互。
该虚拟机类型实例是由数据处理的装置生成的用于接入虚拟机到物理网络的功能实例。
可选地,在步骤401之前,还包括:
接收生成虚拟机类型实例的指令。
该指令可以由管控装置来发送,该管控装置用于控制装置所生成的实例的类型,例如生成虚拟机类型实例或生成物理机类型实例。这样,能够灵活地根据实际需要生成相应的实例。
相应地,该步骤401可以具体为根据该指令生成物理机类型实例。
生成该物理机类型实例之后,需向第一虚拟交换机发送该物理机类型实例的信息,例如发送物理机类型实例的第一端口的信息,以使第一虚拟交换机获知与该物理机类型实例进行数据交互的端口。
步骤402,通过虚拟机类型实例接收第一虚拟机生成的第四数据包,第一虚拟机位于第二物理机中,第四数据包中包括第一物理机的地址。
可以通过第一虚拟交换机发送该第四数据包,具体第一虚拟机如何获取该第四数据包与前述一致,在此不再赘述。
步骤403,通过虚拟机类型实例向虚拟机发送第四数据包。
可选地,在步骤401之后,还包括:
删除虚拟机类型实例。
可选地,虚拟机类型实例与虚拟机一一对应,即一台虚拟机对应一台物理机,当某一虚拟机被删除后,相应地,需要删除虚拟机类型实例,进而避免无用的虚拟机类型实例占用第二物理机的资源。
可选地,对于在同一物理机中的两台虚拟机之间的数据交互,均可以通过各自所对应的虚拟机类型实例以及虚拟交换机完成,具体地,一台虚拟机将数据包发送至所对应的虚拟机类型实例,然后由虚拟机类型实例将数据包发送至虚拟交换机,然后由虚拟交换机将数据包发送至另一台虚拟机所对应的虚拟机类型实例,最终到达另一台虚拟机。
可选地,本实施例的物理机类型包括第一物理机的虚拟网络地址,例如,上述第一物理机的地址可以是该虚拟网络的地址,第一物理机的虚拟网络地址与第一虚拟机的虚拟网络地址属于同一虚拟网络。这样,就能够实现物理机与虚拟机接入同一虚拟机网络。
根据本实施例,通过在虚拟机和虚拟交换机之间生成虚拟机类型实例,且该虚拟机类型实例中包括虚拟机与虚拟交换机之间用于数据交互的第三端口,进而实现虚拟机与虚拟交换机之间的数据交互,以便实现虚拟机与物理机或者其他虚拟机之间的数据交互。
实施例五
本实施例提供一种数据处理的方法,执行主体为数据处理的装置,该装置可以设置在虚拟交换机中。
如图5所示,为根据本实施例的数据处理的方法的流程示意图。该方法包括:
步骤501,获取第一虚拟机生成的第一数据包,并判断第一数据包中的地址是第一物理机的地址还是设置在第一物理机中的第二虚拟机的地址。
第一虚拟机如何生成第一数据包属于现有技术,在此不再赘述。数据处理的装置在接收到第一数据包时,首先判断第一数据包中的地址是第一物理机的地址还是第二虚拟机的地址,若是第一物理机的地址,则向物理机类型实例发送,若是第二虚拟机的地址,则向第二虚拟机对应的虚拟机类型实例发送。
该步骤501具体可以包括:
接收第二数据包;
对第二数据包进行处理,获取第一虚拟机生成的第一数据包。
该第二数据包可以是第二物理机中的第二虚拟交换机通过物理网络发送的,第二数据包是第二虚拟交换机根据第一虚拟机生成的第一数据包生成的。
可选地,第二数据包中还包括物理网络的地址段;
获取第一虚拟机生成的第一数据包包括:
去除第二数据包中物理网络的地址段,生成第一数据包;
获取第一数据包中的第一物理机的地址。
上述流程的具体操作与前述实施例一致,在此不再赘述。
步骤502,向物理机类型实例发送第一数据包,以使物理机类型实例向第一物理机的第一协议栈发送第一数据包。
其中,物理机类型实例包括第一端口和第二端口,第一端口用于与第一虚拟交换机进行数据交互,第二端口用于与第一协议栈进行数据交互。
该数据处理的装置可以根据第一数据包中的第一物理机的地址,获知需要将该第一数据包发送至第一物理机。
该物理机类型实例的实现方式以及作用与前述实施例一致,在此不再赘述。
可选地,在步骤502之前,还包括:
接收物理机类型实例的信息。
相应地,步骤502具体包括:
向物理机类型实例的第一端口发送第一数据包。
可选地,本实施例的物理机类型包括第一物理机的虚拟网络地址,例如,上述第一物理机的地址可以是该虚拟网络的地址,第一物理机的虚拟网络地址与第一虚拟机的虚拟网络地址属于同一虚拟网络。这样,就能够实现物理机与虚拟机接入同一虚拟机网络。
根据本实施例,通过在物理机和第一虚拟交换机之间生成物理机类型实例,且该物理机类型实例中包括与虚拟机第一虚拟交换机之间用于数据交互的第一端口以及与物理机的协议栈进行数据交互的第二端口,进而实现物理机与虚拟交换机之间的数据交互,由于虚拟换机是与虚拟机进行数据交互的,这样就实现了物理机与虚拟机之间的数据交互。
实施例六
本实施例对实施例五的数据处理的方法做进一步补充说明。本实施例的方法还可以包括以下流程。
如图6A所示,为根据本实施例的数据处理的方法的流程示意图。该方法包括:
步骤601,接收物理机类型实例转发的协议栈发送的第三数据包,第三数据包中包含第一虚拟机的地址。
协议栈所发送的第三数据包,即第一物理机所生成的数据包,该数据包中所包括的第一虚拟机的地址表明需要将该第三数据包发送至第一虚拟机。
举例来说,数据处理的装置中可以预先存储有该装置所在的物理机中所有虚拟机的地址信息,例如,若在物理机中创建一台虚拟机,则将该虚拟机的地址发送给数据处理的装置,这样,该数据处理的装置就能够获知该物理机中所有虚拟机的地址。
步骤602,在第三数据包中添加物理网络的地址,生成第四数据包。
数据处理的装置在识别出第一虚拟机并不在该装置所在的物理机中,因此,需要通过物理网络向第二物理机发送该第三数据包,此时,需要在第三数据包中添加物理网络的地址,生成第四数据包,以通过物理网络向第一虚拟机所在的第二物理机发送。
步骤603,通过物理网络向第一虚拟机发送第四数据包。
可选地,本实施例的物理机类型包括第一物理机的虚拟网络地址,例如,上述第一物理机的地址可以是该虚拟网络的地址,第一物理机的虚拟网络地址与第一虚拟机的虚拟网络地址属于同一虚拟网络。这样,就能够实现物理机与虚拟机接入同一虚拟机网络。
根据本实施例,通过在虚拟交换机和第一物理机的协议栈之间设置物理机类型实例,能够实现物理机与数据处理的装置之间的数据交互,由于数据处理的装置可以向虚拟机发送的数据,这样就实现了物理机与虚拟机之间的数据交互。
实施例七
本实施例对实施例五的数据处理的方法做进一步补充说明。本实施例的方法还可以包括以下流程。
如图6B所示,为根据本实施例的数据处理的方法的流程示意图。该方法包括:
步骤611,接收第二虚拟机发送的第五数据包,第五数据包中包括第三虚拟机的地址,第二虚拟机位于第一物理机中。
可选地,接收第二虚拟机发送的第五数据包包括:
接收第二虚拟机对应的虚拟机类型实例转发的第五数据包,第五数据包是第二虚拟机生成的,虚拟机类型实例包括第三端口和第四端口,第三端口用于与第一虚拟交换机进行数据交互,第四端口用于与第二虚拟机进行数据交互。
当虚拟机类型实例生成之后,需要向相应的虚拟交换机发送虚拟机类型实例的信息,以便使虚拟交换机获知应该与哪个端口进行数据交互。
步骤612,判断第三虚拟机是否位于第一物理机中,若判断结果为是,则执行步骤613,若判断结果为否,则执行步骤614。
步骤613,向第三虚拟机对应的虚拟实例发送第五数据包。
由于第三虚拟机同样位于第一物理机中,因此,装置可以通过网桥将第五数据包发送至第三虚拟机对应的虚拟机类型实例,再由该虚拟机类型实例发送至第三虚拟机中进行处理。
步骤614,在第五数据包中添加物理网络的地址段,并通过物理网络向第三虚拟机发送该第五数据包。
可选地,该方法还可以包括:
获取第一虚拟机生成的第六数据包,第一数据包中包括第二虚拟机的地址;
向第二虚拟机发送第六数据包。
其中,向第二虚拟机发送第六数据包包括:
向第二虚拟机对应的虚拟机类型实例发送第六数据包,以使虚拟机类型实例向第二虚拟机发送第六数据包。
具体方法与前述一致,在此不再赘述。
根据本实施例,通过在虚拟交换机和虚拟机之间设置虚拟机类型实例,能够实现虚拟交换机与虚拟机之间的数据交互,进而可以实现虚拟机与其他虚拟机之间的数据交互。
实施例八
本实施例提供一种数据处理的装置,用于执行实施例一至实施例四的数据处理的方法。
如图7所示,为根据本实施例的数据处理的装置的结构示意图,该装置包括生成模块701、第一发送模块702和第二发送模块703。
其中,生成模块701用于生成物理机类型实例,物理机类型实例包括第一端口和第二端口,第一端口用于与第一虚拟交换机进行数据交互,第二端口用于与第一物理机的第一协议栈进行数据交互;第一发送模块702用于通过第一端口接收第一虚拟交换机发送的第一数据包,数据包是第一虚拟机生成的;第二发送模块703用于用于通过第二端口向第一协议栈发送第一数据包。
其中,第一虚拟交换机位于第一物理机中。
可选地,本实施例的物理机类型包括第一物理机的虚拟网络地址,例如,上述第一物理机的地址可以是该虚拟网络的地址,第一物理机的虚拟网络地址与第一虚拟机的虚拟网络地址属于同一虚拟网络。这样,就能够实现物理机与虚拟机接入同一虚拟机网络。
本实施例的数据处理的装置的实现原理和技术效果与前述实施例一致,在此不再赘述。
实施例九
本实施例提供一种物理机,用于执行实施例一至实施例四的数据处理的方法。
如图8所示,为根据本实施例的物理机的结构示意图。该物理机包括处理器801、输入组件802和输出组件803。
其中,处理器801耦合到输入组件802和输出组件803,用于生成物理机类型实例,物理机类型实例包括第一端口和第二端口,第一端口用于与第一虚拟交换机进行数据交互,第二端口用于与第一物理机的第一协议栈进行数据交互;输入组件802用于通过第一端口接收第一虚拟交换机发送的第一数据包,数据包是第一虚拟机生成的;输出组件803用于通过第二端口向第一协议栈发送第一数据包。
其中,第一虚拟交换机位于第一物理机中。
可选地,输出组件803还用于:
向第一虚拟交换机发送物理机类型实例的信息。
可选地,输入组件802还用于:
接收生成物理机类型实例的指令。
可选地,输入组件802还用于:通过第二端口接收第一协议栈发送的第二数据包,第二数据包中包括第一虚拟机的地址;
输出组件803还用于:通过第一端口向第一虚拟机发送第二数据包,以使第一虚拟机对第二数据包进行处理并发送至第一虚拟机。
可选地,输出组件803还用于:
通过第一端口,向第一虚拟机所在的第二物理机中的第二虚拟交换机发送第二数据包,以通过第二虚拟交换机对第二数据包进行处理并发送至第一虚拟机。
可选地,处理器801还用于:删除物理机类型实例。
可选地,本实施例的物理机类型包括第一物理机的虚拟网络地址,即上述第一物理机的地址可以是虚拟网络地址,第一物理机的虚拟网络地址与第一虚拟机的虚拟网络地址属于同一虚拟网络。这样,就能够实现物理机与虚拟机接入同一虚拟机网络。
本实施例的物理机的实现原理和技术效果与前述实施例一致,在此不再赘述。
实施例十
本实施例提供一种数据处理的装置,用于执行实施例五至实施例七的数据处理的方法。
如图9所示,为根据本实施例的数据处理的装置的结构示意图。该装置包括获取模块901和第三发送模块902。
其中,获取模块901用于获取第一虚拟机生成的第一数据包,并判断第一数据包中的地址是第一物理机的地址还是设置在第一物理机中的第二虚拟机的地址,若判断出第一数据包中包括第一物理机的地址,则触发第三发送模块902;第三发送模块902用于向物理机类型实例发送第一数据包,以使物理机类型实例向第一物理机的第一协议栈发送第一数据包。
其中,物理机类型实例包括第一端口和第二端口,第一端口用于与第一虚拟交换机进行数据交互,第二端口用于与第一协议栈进行数据交互。
可选地,本实施例的物理机类型包括第一物理机的虚拟网络地址,第一物理机的虚拟网络地址与第一虚拟机的虚拟网络地址属于同一虚拟网络。这样,就能够实现物理机与虚拟机接入同一虚拟机网络。
本实施例的数据处理的装置的实现原理和技术效果与前述实施例一致,在此不再赘述。
实施例十一
本实施例提供一种虚拟交换机,用于执行实施例五至实施例七的数据处理的方法。
如图10所示,为根据本实施例的虚拟交换机的结构示意图,该虚拟交换机包括处理器1001和输出组件1002。
其中,处理器1001耦合到输出组件1002,用于获取第一虚拟机生成的第一数据包,并判断第一数据包中的地址是第一物理机的地址还是设置在第一物理机中的第二虚拟机的地址;输出组件1002用于若判断出第一数据包中包括第一物理机的地址,则向物理机类型实例发送第一数据包,以使物理机类型实例向第一物理机的第一协议栈发送第一数据包。
其中,物理机类型实例包括第一端口和第二端口,第一端口用于与第一虚拟交换机进行数据交互,第二端口用于与第一协议栈进行数据交互。
可选地,处理器1001还用于:
接收第二数据包;
对第二数据包进行处理,获取第一虚拟机生成的第一数据包。
可选地,处理器1001还用于:
接收第二虚拟交换机通过物理网络发送的第二数据包,第二数据包是第二虚拟交换机根据第一虚拟机生成的第一数据包生成的。
可选地,第二数据包中还包括物理网络的地址段;
处理器1001具体用于:
获取第一虚拟机生成的第一数据包包括:
去除第二数据包中物理网络的地址段,生成第一数据包;
获取第一数据包中的第一物理机的地址。
可选地,处理器1001还用于:接收物理机类型实例转发的协议栈发送的第三数据包,第三数据包中包含第一虚拟机的地址,在第三数据包中添加物理网络的地址,生成第四数据包;
输入组件1002还用于:通过物理网络向第一虚拟机发送第四数据包。
可选地,处理器1001还用于:
接收物理机类型实例的信息。
可选地,本实施例的物理机类型包括第一物理机的虚拟网络地址,第一物理机的虚拟网络地址与第一虚拟机的虚拟网络地址属于同一虚拟网络。这样,就能够实现物理机与虚拟机接入同一虚拟机网络。
本实施例的数据处理的装置的实现原理和技术效果与前述实施例一致,在此不再赘述。
本发明还提供一种物理机,包括实施例七或实施例八任意实施例的数据处理的装置。
本发明还提供一种虚拟交换机,包括实施例九或实施例十一任意实施例的数据处理的装置。
本发明还提供一种数据处理的系统,包括前述任意实施例的物理机和虚拟交换机。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (43)

1.一种数据处理的方法,其特征在于,包括:
生成物理机类型实例,所述物理机类型实例包括第一端口和第二端口,所述第一端口用于与第一虚拟交换机进行数据交互,所述第二端口用于与第一物理机的第一协议栈进行数据交互;
通过所述第一端口接收所述第一虚拟交换机发送的第一数据包,所述数据包是第一虚拟机生成的,所述第一数据包中包括第一物理机的地址;
通过所述第二端口向所述第一协议栈发送所述第一数据包;
其中,所述第一虚拟交换机位于所述第一物理机中。
2.根据权利要求1所述的方法,其特征在于,在生成物理机类型实例之后,且在通过所述第一端口接收第一虚拟交换机传输的数据包之前,还包括:
向所述第一虚拟交换机发送所述物理机类型实例的信息。
3.根据权利要求1所述的方法,其特征在于,在生成物理机类型实例之前,还包括:
接收生成物理机类型实例的指令。
4.根据权利要求1所述的方法,其特征在于,在生成物理机类型实例之后,还包括:
通过所述第二端口接收所述第一协议栈发送的第二数据包,所述第二数据包中包括第一虚拟机的地址;
通过所述第一端口向所述第一虚拟机发送所述第二数据包,以使所述第一虚拟机对所述第二数据包进行处理并发送至所述第一虚拟机。
5.根据权利要求4所述的方法,其特征在于,所述通过所述第一端口向所述第一虚拟机发送所述第二数据包包括:
通过所述第一端口,向所述第一虚拟机所在的第二物理机中的第二虚拟交换机发送所述第二数据包,以通过所述第二虚拟交换机对所述第二数据包进行处理并发送至所述第一虚拟机。
6.根据权利要求1所述的方法,其特征在于,在生成物理机类型实例之后,还包括:
删除所述物理机类型实例。
7.根据权利要求1-6中任一项所述的方法,其特征在于,还包括:
生成虚拟机类型实例,所述虚拟机类型实例包括第三端口和第四端口,所述第三端口用于与所述第一虚拟交换机进行数据交互,所述第四端口用于与所述第二虚拟机进行数据交互;
通过虚拟机类型实例接收第二虚拟机生成的第三数据包,所述第二虚拟机位于所述第一物理机中,所述第三数据包中包括第二物理机的地址;
通过所述虚拟机类型实例向所述第一虚拟交换机发送所述第三数据包,以使所述第一虚拟交换机向所述第二物理机发送第三数据包。
8.根据权利要求7所述的方法,其特征在于,在生成虚拟机类型实例之后,且在通过虚拟机类型实例接收第二虚拟机生成的第三数据包之前,还包括:
向所述第一虚拟交换机发送所述虚拟机类型实例的信息。
9.根据权利要求7所述的方法,其特征在于,还包括:在生成虚拟机类型实例之前,还包括:
接收生成虚拟机类型实例的指令。
10.根据权利要求7所述的方法,其特征在于,在生成虚拟机类型实例之后,还包括:
通过所述虚拟机类型实例接收所述第一虚拟机生成的第四数据包,所述第一虚拟机位于所述第二物理机中,所述第四数据包中包括第一物理机的地址;
通过所述虚拟机类型实例向所述虚拟机发送所述第四数据包。
11.根据权利要求7所述的方法,其特征在于,所述虚拟机类型实例与所述第二虚拟机一一对应。
12.根据权利要求7所述的方法,其特征在于,在生成虚拟机类型实例之后,还包括:
删除所述虚拟机类型实例。
13.根据权利要求1所述的方法,其特征在于,所述第一物理机的地址为虚拟网络地址,所述第一物理机的虚拟网络地址与所述第一虚拟机的虚拟网络地址属于同一虚拟网络。
14.一种数据处理的方法,其特征在于,包括:
获取所述第一虚拟机生成的第一数据包,并判断所述第一数据包中的地址是第一物理机的地址还是设置在第一物理机中的第二虚拟机的地址
若判断出所述第一数据包中包括第一物理机的地址,则向物理机类型实例发送所述第一数据包,以使所述物理机类型实例向所述第一物理机的第一协议栈发送所述第一数据包;
其中,所述物理机类型实例包括第一端口和第二端口,所述第一端口用于与第一虚拟交换机进行数据交互,所述第二端口用于与所述第一协议栈进行数据交互。
15.根据权利要求14所述的方法,其特征在于,所述获取所述第一虚拟机生成的第一数据包包括:
接收第二数据包;
对所述第二数据包进行处理,获取所述第一虚拟机生成的第一数据包。
16.根据权利要求14所述的方法,其特征在于,接收第一虚拟机生成的第一数据包包括:
接收第二虚拟交换机通过物理网络发送的第二数据包,所述第二数据包是所述第二虚拟交换机根据所述第一虚拟机生成的第一数据包生成的。
17.根据权利要求16所述的方法,其特征在于,所述第二数据包中还包括所述物理网络的地址段;
所述获取所述第一虚拟机生成的第一数据包包括:
去除所述第二数据包中物理网络的地址段,生成第一数据包;
获取所述第一数据包中的第一物理机的地址。
18.根据权利要求14所述的方法,其特征在于,还包括:
接收物理机类型实例转发的所述协议栈发送的第三数据包,所述第三数据包中包含所述第一虚拟机的地址;
在所述第三数据包中添加物理网络的地址,生成第四数据包;
通过所述物理网络向所述第一虚拟机发送所述第四数据包。
19.根据权利要求14所述的方法,其特征在于,在向物理机类型实例发送所述第二数据包之前,还包括:
接收所述物理机类型实例的信息。
20.根据权利要求14-18中任一项所述的方法,其特征在于,还包括:
接收第二虚拟机发送的第五数据包,所述第五数据包中包括第三虚拟机的地址,所述第二虚拟机位于所述第一物理机中;
判断所述第三虚拟机是否位于所述第一物理机中,若判断结果为否,则通过物理网络向所述第三虚拟机发送所述第五数据包。
21.根据权利要求20所述的方法,其特征在于,在判断出所述第三虚拟机不位于所述第一物理机中之后,且在通过物理网络向所述第三虚拟机发送所述第五数据包之前,还包括:
在所述第五数据包中添加所述物理网络的地址段。
22.根据权利要求21所述的方法,其特征在于,所述接收第二虚拟机发送的第五数据包包括:
接收所述第二虚拟机对应的虚拟机类型实例转发的第五数据包,所述第五数据包是所述第二虚拟机生成的,所述虚拟机类型实例包括第三端口和第四端口,所述第三端口用于与所述第一虚拟交换机进行数据交互,所述第四端口用于与所述第二虚拟机进行数据交互。
23.根据权利要求12所述的方法,其特征在于,还包括:
获取所述第一虚拟机生成的第六数据包,所述第一数据包中包括第二虚拟机的地址;
向第二虚拟机发送所述第六数据包。
24.根据权利要求14所述的方法,其特征在于,所述向第二虚拟机发送所述第六数据包包括:
向所述第二虚拟机对应的虚拟机类型实例发送所述第六数据包,以使所述虚拟机类型实例向所述第二虚拟机发送所述第六数据包。
25.根据权利要求20所述的方法,其特征在于,在接收所述第二虚拟机通过虚拟机类型实例发送的第五数据包之前,还包括:
接收所述虚拟机类型实例的信息。
26.根据权利要求14-18中任一项所述的方法,其特征在于,所述第一物理机的地址为虚拟网络地址,所述第一物理机的虚拟网络地址与所述第一虚拟机的虚拟网络地址属于同一虚拟网络。
27.一种数据处理的装置,其特征在于,包括:
生成模块,用于生成物理机类型实例,所述物理机类型实例包括第一端口和第二端口,所述第一端口用于与第一虚拟交换机进行数据交互,所述第二端口用于与第一物理机的第一协议栈进行数据交互;
第一发送模块,用于通过所述第一端口接收所述第一虚拟交换机发送的第一数据包,所述数据包是第一虚拟机生成的,所述第一数据包中包括第一物理机的地址;
第二发送模块,用于通过所述第二端口向所述第一协议栈发送所述第一数据包;
其中,所述第一虚拟交换机位于所述第一物理机中。
28.一种物理机,其特征在于,包括:处理器、输入组件和输出组件;
所述处理器,耦合到所述输入组件和所述输出组件,用于生成物理机类型实例,所述物理机类型实例包括第一端口和第二端口,所述第一端口用于与第一虚拟交换机进行数据交互,所述第二端口用于与第一物理机的第一协议栈进行数据交互;
所述输入组件,用于通过所述第一端口接收所述第一虚拟交换机发送的第一数据包,所述数据包是第一虚拟机生成的,所述第一数据包中包括第一物理机的地址;
所述输出组件,用于通过所述第二端口向所述第一协议栈发送所述第一数据包;
其中,所述第一虚拟交换机位于所述第一物理机中。
29.根据权利要求28所述的物理机,其特征在于,所述输出组件还用于:
向所述第一虚拟交换机发送所述物理机类型实例的信息。
30.根据权利要求28所述的物理机,其特征在于,所述输入组件还用于:
接收生成物理机类型实例的指令。
31.根据权利要求28所述的物理机,其特征在于,
所述输入组件还用于:通过所述第二端口接收所述第一协议栈发送的第二数据包,所述第二数据包中包括第一虚拟机的地址;
所述输出组件还用于:通过所述第一端口向所述第一虚拟机发送所述第二数据包,以使所述第一虚拟机对所述第二数据包进行处理并发送至所述第一虚拟机。
32.根据权利要求28所述的物理机,其特征在于,所述输出组件还用于:
通过所述第一端口,向所述第一虚拟机所在的第二物理机中的第二虚拟交换机发送所述第二数据包,以通过所述第二虚拟交换机对所述第二数据包进行处理并发送至所述第一虚拟机。
33.根据权利要求28-32中任一项所述的物理机,其特征在于,所述处理器还用于:
删除所述物理机类型实例。
34.根据权利要求28-32中任一项所述的物理机,其特征在于,所述第一物理机的地址为虚拟网络地址,所述第一物理机的虚拟网络地址与所述第一虚拟机的虚拟网络地址属于同一虚拟网络。
35.一种数据处理的装置,其特征在于,包括:
获取模块,用于获取所述第一虚拟机生成的第一数据包,并判断所述第一数据包中的地址是第一物理机的地址还是设置在第一物理机中的第二虚拟机的地址,若判断出所述第一数据包中包括第一物理机的地址,则触发第三发送模块;
所述第三发送模块,用于向物理机类型实例发送所述第一数据包,以使所述物理机类型实例向所述第一物理机的第一协议栈发送所述第一数据包;
其中,所述物理机类型实例包括第一端口和第二端口,所述第一端口用于与第一虚拟交换机进行数据交互,所述第二端口用于与所述第一协议栈进行数据交互。
36.一种虚拟交换机,其特征在于,包括:处理器和输出组件;
所述处理器,耦合到所述输出组件,用于获取所述第一虚拟机生成的第一数据包,并判断所述第一数据包中的地址是第一物理机的地址还是设置在第一物理机中的第二虚拟机的地址;
输出组件,用于若判断出所述第一数据包中包括第一物理机的地址,则向物理机类型实例发送所述第一数据包,以使所述物理机类型实例向所述第一物理机的第一协议栈发送所述第一数据包;
其中,所述物理机类型实例包括第一端口和第二端口,所述第一端口用于与第一虚拟交换机进行数据交互,所述第二端口用于与所述第一协议栈进行数据交互。
37.根据权利要求36所述的虚拟交换机,其特征在于,所述处理器具体用于:
接收第二数据包;
对所述第二数据包进行处理,获取所述第一虚拟机生成的第一数据包。
38.根据权利要求36所述的虚拟交换机,其特征在于,所述处理器具体用于:
接收第二虚拟交换机通过物理网络发送的第二数据包,所述第二数据包是所述第二虚拟交换机根据所述第一虚拟机生成的第一数据包生成的。
39.根据权利要求38所述的虚拟交换机,其特征在于,所述第二数据包中还包括所述物理网络的地址段;
所述处理器具体用于:
所述获取所述第一虚拟机生成的第一数据包包括:
去除所述第二数据包中物理网络的地址段,生成第一数据包;
获取所述第一数据包中的第一物理机的地址。
40.根据权利要求36所述的虚拟交换机,其特征在于,
所述处理器还用于:接收物理机类型实例转发的所述协议栈发送的第三数据包,所述第三数据包中包含所述第一虚拟机的地址,在所述第三数据包中添加物理网络的地址,生成第四数据包;
所述输入组件还用于:通过所述物理网络向所述第一虚拟机发送所述第四数据包。
41.根据权利要求36-40中任一项所述的虚拟交换机,其特征在于,所述处理器还用于:
接收所述物理机类型实例的信息。
42.根据权利要求36-40中任一项所述的虚拟交换机,其特征在于,所述第一物理机的地址为虚拟网络地址,所述第一物理机的地址为所述虚拟网络地址,所述虚拟网络地址的地址段与所述第一虚拟机的地址段相同。
43.一种数据处理的系统,其特征在于,包括权利要求28-34中任一项所述的物理机以及权利要求36-42中任一项所述的虚拟交换机。
CN201610827565.6A 2016-09-14 2016-09-14 数据处理的方法、装置、物理机、虚拟交换机与系统 Active CN107819707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610827565.6A CN107819707B (zh) 2016-09-14 2016-09-14 数据处理的方法、装置、物理机、虚拟交换机与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610827565.6A CN107819707B (zh) 2016-09-14 2016-09-14 数据处理的方法、装置、物理机、虚拟交换机与系统

Publications (2)

Publication Number Publication Date
CN107819707A true CN107819707A (zh) 2018-03-20
CN107819707B CN107819707B (zh) 2020-11-10

Family

ID=61601553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610827565.6A Active CN107819707B (zh) 2016-09-14 2016-09-14 数据处理的方法、装置、物理机、虚拟交换机与系统

Country Status (1)

Country Link
CN (1) CN107819707B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147344A (zh) * 2019-05-21 2019-08-20 优刻得科技股份有限公司 在多个物理机之间通信的方法、装置、存储介质和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102726007A (zh) * 2009-04-01 2012-10-10 Nicira网络公司 用于实现和管理虚拟交换机的方法和装置
CN103067242A (zh) * 2012-12-04 2013-04-24 中国电信股份有限公司云计算分公司 一种用于提供网络服务的虚拟机系统
CN103795621A (zh) * 2013-12-12 2014-05-14 华为技术有限公司 一种虚拟机的数据交换方法、装置及物理主机
EP2754030A1 (en) * 2011-09-09 2014-07-16 Microsoft Corporation Virtual switch extensibility
CN105162674A (zh) * 2015-10-16 2015-12-16 上海斐讯数据通信技术有限公司 一种物理机访问虚拟网络的方法及网卡

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102726007A (zh) * 2009-04-01 2012-10-10 Nicira网络公司 用于实现和管理虚拟交换机的方法和装置
EP2754030A1 (en) * 2011-09-09 2014-07-16 Microsoft Corporation Virtual switch extensibility
CN103067242A (zh) * 2012-12-04 2013-04-24 中国电信股份有限公司云计算分公司 一种用于提供网络服务的虚拟机系统
CN103795621A (zh) * 2013-12-12 2014-05-14 华为技术有限公司 一种虚拟机的数据交换方法、装置及物理主机
CN105162674A (zh) * 2015-10-16 2015-12-16 上海斐讯数据通信技术有限公司 一种物理机访问虚拟网络的方法及网卡

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147344A (zh) * 2019-05-21 2019-08-20 优刻得科技股份有限公司 在多个物理机之间通信的方法、装置、存储介质和系统

Also Published As

Publication number Publication date
CN107819707B (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
CN109802852B (zh) 应用于网络靶场的网络仿真拓扑的构建方法及系统
CN106301829B (zh) 一种网络业务扩容的方法和装置
CN103346981B (zh) 虚拟交换方法、相关装置和计算机系统
CN110232037A (zh) 主机系统及其方法和加速模块
CN110838954B (zh) 一种轻量级大规模自主网络协议功能测试方法
CN108768685A (zh) 大规模信息通信网络实时仿真模拟系统
CN102523302B (zh) 虚拟机集群的负载均衡方法、服务器及系统
CN104965700B (zh) VxWorks操作系统下实现驱动SPI设备的方法和系统
CN103534987B (zh) 用于配置虚拟网络配置的方法和系统
US20090307299A1 (en) System Analysis Modeling Apparatus and Method
CN104615489B (zh) 一种多节点数据交互的实现方法
CN105939284B (zh) 报文控制策略的匹配方法及装置
CN107959582A (zh) 一种切片实例的管理方法及装置
CN108989071A (zh) 虚拟服务提供方法、网关设备及存储介质
CN109525684A (zh) 报文转发方法和装置
CN107800626A (zh) 数据报文的处理方法、装置及设备
CN108494607A (zh) 基于容器的大二层网络架构的设计方法及系统
CN111522727A (zh) 一种模拟对象测试方法、设备和系统
CN109936505B (zh) 以数据为中心的软件定义网络中的方法和装置
CN108351798A (zh) 用于虚拟机的可扩展寻址机制
JP5750175B1 (ja) ネットワークシミュレータおよびネットワークシミュレーション方法
CN107819707A (zh) 数据处理的方法、装置、物理机、虚拟交换机与系统
CN110380930B (zh) 一种测试方法、装置及服务器、计算机存储介质
CN108353017A (zh) 单个操作系统上的多网关操作
CN104104594B (zh) Vsu的协议报文发送与接收方法、设备及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant