CN102075537B - 一种实现虚拟机间数据传输的方法和*** - Google Patents

一种实现虚拟机间数据传输的方法和*** Download PDF

Info

Publication number
CN102075537B
CN102075537B CN2011100216892A CN201110021689A CN102075537B CN 102075537 B CN102075537 B CN 102075537B CN 2011100216892 A CN2011100216892 A CN 2011100216892A CN 201110021689 A CN201110021689 A CN 201110021689A CN 102075537 B CN102075537 B CN 102075537B
Authority
CN
China
Prior art keywords
virtual machine
data packet
proxy server
information
destination
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
CN2011100216892A
Other languages
English (en)
Other versions
CN102075537A (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.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2011100216892A priority Critical patent/CN102075537B/zh
Publication of CN102075537A publication Critical patent/CN102075537A/zh
Priority to PCT/CN2011/075359 priority patent/WO2011147371A1/zh
Application granted granted Critical
Publication of CN102075537B publication Critical patent/CN102075537B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种实现虚拟机间数据传输的方法和***,其中,所述方法包括:第一代理服务器接收源虚拟机发往目的虚拟机的数据包的信息,如果本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息时,则所述第一代理服务器向为所述目的虚拟机服务的第二代理服务器转发所述数据包;否则所述第一代理服务器不发送所述数据包;所述第二代理服务器接收所述数据包,根据目的虚拟机接收数据包的权限信息判断是否允许将所述数据包转发给所述目的虚拟机,如果允许,则由所述第二代理服务器将所述数据包转发至所述目的虚拟机,如果不允许,所述第二代理服务器不发送所述数据包。通过本发明实施例,可以避免虚拟机IP地址的变化对虚拟机间数据传输的影响。

Description

一种实现虚拟机间数据传输的方法和***
技术领域
本发明涉及网络数据传输领域,更具体地说,涉及一种实现虚拟机间数据传输的方法和***。
背景技术
随着虚拟化技术的产生和发展,用户可以在一台物理服务器上模拟出一个或者多个虚拟机(Virtual Machine,简称“VM”)。通常,物理机可以作为两个或更多虚拟机的主机。当虚拟机创建成功之后,用户可以任意启动虚拟机,还可以停止已启动的虚拟机,之后还可以重新启动之前停止的虚拟机算机。
在实际应用中,当用户重新启动已停止的虚拟机时,网络可以为该再次启动的虚拟机分配IP(Internet Protocol,网络之间互连的协议)地址。对于该虚拟机来说,其当前被分配的IP地址可能和停止之前该虚拟机分配到的IP地址不同。此外,在虚拟化的环境下,由于***管理、虚拟机迁移等原因,虚拟机的IP地址也随时可能发生变化。
然而,传统的防火墙的隔离配置是基于IP地址的,当传统的防火墙应用到虚拟化环境时,无法动态的根据虚拟机IP地址的变化重新调整配置,即传统防火墙无法满足虚拟化环境的需求。
发明内容
有鉴于此,本发明实施例提供一种实现虚拟机间数据传输的方法和***,以避免虚拟机IP地址的变化对虚拟机间数据传输的影响。
本发明实施例提供一种实现虚拟机间数据传输的方法,所述方法包括:
第一代理服务器接收源虚拟机发往目的虚拟机的数据包的信息,如果本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息时,则所述第一代理服务器向为所述目的虚拟机服务的第二代理服务器转发所述数据包;否则所述第一代理服务器不发送所述数据包;
所述第二代理服务器接收所述数据包,根据目的虚拟机接收数据包的权限信息判断是否允许将所述数据包转发给所述目的虚拟机,如果允许,则由所述第二代理服务器将所述数据包转发至所述目的虚拟机,如果不允许,所述第二代理服务器不发送所述数据包。
本发明实施例又提供了一种实现虚拟机间数据传输的***,所述***包括:第一代理服务器和第二代理服务器,
所述第一代理服务器,用于接收源虚拟机发往目的虚拟机的数据包的信息,如果本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息时,则向为所述目的虚拟机服务的第二代理服务器转发所述数据包;否则所述第一代理服务器不发送所述数据包;
所述第二代理服务器,用于接收所述数据包,根据目的虚拟机接收数据包的权限信息判断是否允许将所述数据包转发给所述目的虚拟机,如果允许,则将所述数据包转发至所述目的虚拟机,如果不允许,则不发送所述数据包。
同现有技术相比,本发明实施例中,代理服务器接收源虚拟机发往目的虚拟机的数据包的信息,当本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息时,将数据包转发给第二代理服务器,从而使得虚拟机间的数据通信权限基于实际的虚拟机进行,而非仅基于虚拟机的IP地址,避免虚拟机IP地址变化对虚拟机间数据传输的影响,在数据传输的过程中提供了虚拟机之间通信的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的实现虚拟机间数据传输的方法步骤流程示意图;
图2为本发明实施例提供的网络***架构图;
图3为本发明实施例提供的实现虚拟机间数据传输的完整流程示意图;
图4为本发明实施例提供的分属两个网络中的虚拟机间的数据传输流程示意图;
图5为本发明实施例提供的分属两个网络中的虚拟机间的另一种数据传输流程示意图;
图6为本发明实施例提供的实现虚拟机间数据传输的***结构示意图;
图7为本发明实施例提供的另一种实现虚拟机间数据传输的***的架构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了避免虚拟机IP地址的变化对虚拟机间数据传输的影响,本发明实施例提供了一种实现虚拟机间数据传输的方法。
本发明实施例提供了一种实现虚拟机间数据传输的方法,如图1所示,所述方法包括:
步骤101:第一代理服务器接收源虚拟机发往目的虚拟机的数据包的信息,如果本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息时,则所述第一代理服务器向为所述目的虚拟机服务的第二代理服务器转发所述数据包;否则所述第一代理服务器不发送所述数据包;
步骤102:所述第二代理服务器接收所述数据包,根据目的虚拟机接收数据包的权限信息判断是否允许将所述数据包转发给所述目的虚拟机,如果允许,则由所述第二代理服务器将所述数据包转发至所述目的虚拟机,如果不允许,所述第二代理服务器不发送所述数据包。
需要说明的是,步骤101中,第一代理服务器接收源虚拟机发往目的虚拟机的数据包的信息,所述数据包的信息包括以下至少一种:
源虚拟机发往目的虚拟机的数据包;
指示信息,所述指示信息用于向所述第一代理服务器指示所述源虚拟机向目的虚拟机发送数据包。
当所述数据包的信息为源虚拟机发往目的虚拟机的数据包,第一代理服务器可以获取数据包中携带的信息,根据本地是否存在不允许源虚拟机向目的虚拟机发送数据包的信息确定是否将所述数据包发送给第二代理服务器;
或者,
所述数据包的信息也可以为源侧发送过来的指示信息,该指示信息用于向所述第一代理服务器指示所述源虚拟机向目的虚拟机发送数据包,所述指示信息包括以下至少一种:源虚拟机的标识;目的虚拟机的标识;以及源虚拟机向目的虚拟机发送数据包的协议类型。例如,在某些具体场景下,第一代理服务器可能拒绝转发某源虚拟机发送的数据包、拒绝向某目的虚拟机发送数据包或者拒绝转发某种协议类型的数据包,即第一代理服务器可以根据上述指示信息包含内容的一个或多个判断是否转发数据包。
步骤102中,在第二代理服务器根据目的虚拟机接收数据包的权限信息判断是否允许将所述数据包转发给所述目的虚拟机之前,所述第二代理服务器获取本地存储的目的虚拟机接收数据包的权限信息;或者,所述第二代理服务器向授权服务器请求获取所述目的虚拟机接收数据包的权限信息。
步骤101中,在所述第一代理服务器判断本地是否存在不允许源虚拟机向目的虚拟机发送数据包的信息之前,本发明实施例还包括:所述第一代理服务器通过获取所述数据包的源地址确定源虚拟机,如果所述源虚拟机属于本地虚拟机,则确定所述数据包的类型属于本地发出的数据包。
步骤102中,在所述第二代理服务器判断是否将所述数据包转发给所述目的虚拟机之前,本发明实施例还包括:所述第二代理服务器通过获取所述数据包的目的地址确定目的虚拟机,如果所述目的虚拟机属于本地虚拟机,则确定所述数据包的类型属于本地接收的数据包。
进一步的,当步骤102中,第二代理服务器判断结果为不允许所述源虚拟机将所述数据包发送给所述目的虚拟机时,第二代理服务器还可以将不允许源虚拟机向目的虚拟机发送数据包的信息发送给第一代理服务器,指示第一代理服务器保存所述不允许源虚拟机向目的虚拟机发送数据包的信息,用于对第一代理服务收到的后续数据包进行过滤。第二代理服务器发送的不允许源虚拟机向目的虚拟机发送数据包的信息可以是本次判断结果中获取的,或者是由本次判断结果为不允许触发第二代理服务器将本地已存的过滤规则作为不允许源虚拟机向目的虚拟机发送数据包的信息。
步骤102中,所述目的虚拟机接收数据包的权限信息包括以下至少一种:源虚拟机的标识;目的虚拟机的标识;源虚拟机向目的虚拟机发送数据包的协议类型;不允许标志;允许标志。例如:权限信息为{不允许标志},用于表示该第二代理服务器拒绝所有数据包;权限信息为{源虚拟机的标识;不允许标志},用于表示拒绝接收该源虚拟机标识对应的虚拟机发送的数据包;权限信息为{源虚拟机的标识;允许标志},用于表示允许接收该源虚拟机标识对应的虚拟机发送的数据包;权限信息为{源虚拟机的标识;目的虚拟机的标识;允许标志},用于表示允许向该目的虚拟机标识对应的目的虚拟机转发该源虚拟机标识对应的虚拟机发送的数据包;本领域技术人员理解的是,本处权限信息的还有其他的合理的方式,本处未一一穷举。
其中,不允许源虚拟机向目的虚拟机发送数据包的信息包括以下至少一种:源虚拟机的标识;目的虚拟机的标识;源虚拟机向目的虚拟机发送数据包的协议类型;不允许标志。具体实施时,可以将不允许标志设置为:No(否)、Reject(拒绝)、Drop(丢弃)、Prohibit(禁止)、X(叉)等否定性的文字、缩写、或者符号形式。相应地,可以将允许数据包外发的允许标识设置为:Yes(是)、Allow(允许)、Accept(接受)、Approved(批准)、√(对勾)等肯定性的文字、缩写、或者符号形式。上述配置信息可以直接携带于数据包中,也可以预置在代理服务器本地。
本发明实施例中,源虚拟机标识和目的虚拟机标识指的是网络、应用、其他虚拟机,或者用户用来识别或者指定一个虚拟机的标志,例如源虚拟机标识和目的虚拟机标识可以是下列信息中的一种:IP地址、URI(UniformResource Identifier,通用资源标志符)或者是***为每一虚拟机分配的特定字符串或者数字串;数据包可以是任何协议的数据,例如数据包可以是下列一种或者多种协议类型的数据:UDP(User Datagram Protocol,用户数据包协议)、HTTP(HyperText Transfer Protocol,超文本传输协议)、SIP(Session InitiationProtocol,会话发起协议)。
如图2所示,为本发明实施例提供的应用的***环境架构图。
代理服务器截获控制范围内的物理机1至物理机n内的虚拟机发送和接收的数据流,并且根据授权信息(具体可以为不允许源虚拟机向目的虚拟机发送数据包的信息,或目的虚拟机接收数据包的权限信息)控制是否允许范围内的物理机1至物理机n内的虚拟机发送或者接收截获的数据流。
授权节点服务器保存虚拟机发送和接收数据流的授权信息,这些授权信息可以是用户的签约数据,也可以是用户动态设置到授权节点服务器上的数据。
授权节点服务器可以存储整个数据中心的虚拟机的授权信息,可以存储几个物理机内的虚拟机的授权信息,也可以存储一个物理机内的虚拟机的授权信息。
代理服务器可以管理整个数据中心的虚拟机发送和接收数据流,可以存储几个物理机内的虚拟机发送和接收的数据流,也可以存储一个物理机内的虚拟机发送和接收的数据流。
代理服务器可以位于物理机内部,授权节点服务器可以和代理服务器合设在同一个物理实体中。
当代理服务器接收到管理范围内的虚拟机向外发送的数据包时,代理查看本地是否存在不允许源虚拟机向目的虚拟机发送数据包的信息:
如果本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息:则将数据包发送到目的虚拟机所在的网络;
如果本地存在不允许源虚拟机向目的虚拟机发送数据包”的信息,则不发送该数据包,或者丢弃该数据包。
当代理服务器收到目的虚拟机为管理范围内的虚拟机的数据包时,代理服务器查看本地是否存在目的虚拟机接收数据包的权限信息:
如果本地不存在目的虚拟机接收数据包的权限信息,代理可以获取目的虚拟机接收数据包的权限信息,包括:
代理服务器向授权节点服务器请求目的虚拟机接收数据包的权限信息,当授权节点服务器向代理服务器反馈目的虚拟机接收数据包的权限信息时,则代理服务器可以将目的虚拟机接收数据包的权限信息保存在本地(如果代理服务器和授权节点服务器合设在一个物理实体中,该步骤将对外不可见);
如果代理服务器本地存在目的虚拟机接收数据包的权限信息,则查看目的虚拟机接收数据包的权限信息;
根据目的虚拟机接收数据包的权限信息进行判断,如果判断结果为允许源虚拟机向目的虚拟机发送数据包,则代理服务器将接收到的数据包发送给目的虚拟机;如果判断结果为不允许源虚拟机向目的虚拟机发送数据包,则不向目的虚拟机发送接收到的数据包,或者丢弃接收到的数据包,代理服务器还可以向源虚拟机所在的网络发送不允许源虚拟机向目的虚拟机发送数据包的信息,具体的可以将该信息发送给为源虚拟机服务的代理服务器,用于使得为源虚拟机服务的代理服务根据所述信息进行后续数据包的过滤。
可见,本发明实施例中,代理服务器接收源虚拟机发往目的虚拟机的数据包的信息,当本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息时,将数据包转发给为目的虚拟机服务器的代理服务器,为目的虚拟机服务的代理服务器根据目的虚拟机接收数据包的权限信息判断是否允许将该数据包转发到目的虚拟机,从而使得虚拟机间的数据通信权限基于实际的虚拟机进行,而非仅基于虚拟机的IP地址,避免虚拟机IP地址变化对虚拟机间数据传输的影响,在数据传输的过程中提供了虚拟机之间通信的安全性。。
为了便于对本发明实施例技术方案的充分理解,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。
如图3所示,为本发明实施例提供的一种实现虚拟机间数据传输的流程示意图,具体包括以下内容:
201:代理服务器(第一代理服务器)接收数据包:该数据包有可能是本地虚拟机发出的数据包,或者是发送到本地虚拟机的接收的数据包,或者是远端数据目的方发来的不允许源虚拟机向目的虚拟机发送数据包的信息。当接收到数据包时,执行步骤202进行数据包类型的判断,根据数据包的类型再进行相应的操作;
202:第一代理服务器判断数据包的类型:如果数据包是来自于本地网络的内部,或者数据包的源标识是本地虚拟机的标识,则数据包的类型为本地发出的数据包,执行步骤211;如果数据包是发送到本地网络内部的,或者数据包的目的标识是本地虚拟机的标识,则数据包的类型为本地接收的数据包,执行步骤221;如果数据包是远端数据目的方发来的,并且数据包中包含“不允许源虚拟机向目的虚拟机发送数据包”的信息,则数据包是不允许源虚拟机向目的虚拟机发送数据包的信息,执行步骤231;
211:第一代理服务器判断是否存在不允许源虚拟机向目的虚拟机发送数据包的信息:根据接收到的数据包中的属性信息查找是否存在匹配的不允许源虚拟机向目的虚拟机发送数据包的信息,如果不存在匹配的不允许源虚拟机向目的虚拟机发送数据包的信息则执行步骤212,如果存在,则执行步骤213;
其中根据接收到的数据包中的属性信息查找是否存在匹配的不允许源虚拟机向目的虚拟机发送数据包的信息,其中数据包中的属性信息包括以下至少一种:源虚拟机的标识;目的虚拟机的标识;源虚拟机向目的虚拟机发送数据包的类型。
212:第一代理服务器向目的虚拟机所在网络发送接收到的数据包;
213:第一代理服务器丢弃接收到的数据包;
221:为目的虚拟机服务的代理服务器(第二代理服务器)判断是否存在目的虚拟机接收数据包的权限信息:根据接收到的数据包中的属性信息查找匹配的目的虚拟机接收数据包的权限信息,如果不存在,则执行步骤222,如果存在,则执行步骤224;
222:第二代理服务器获取目的虚拟机接收数据包的权限信息,具体可以包括:第二代理服务器可以在本地查询目的虚拟机接收数据包的权限信息,还可以向授权节点服务器请求目的虚拟机接收数据包的权限信息;
其中向授权节点服务器请求目的虚拟机接收数据包的权限信息可以包含下列步骤:
222A:第二代理服务器向授权节点服务器发送目的虚拟机接收数据包的权限信息的请求消息;
221B:授权节点服务器反馈携带目的虚拟机接收数据包的权限信息的响应。
其中目的虚拟机接收数据包的权限信息的请求消息包括以下至少一种:源虚拟机的标识;目的虚拟机标识;源虚拟机向目的虚拟机发送数据包的类型;允许标识;不允许标识。
其中授权节点服务器中的目的虚拟机接收数据包的权限信息可以来自于用户的签约数据,或者用户通过网页等工具将目的虚拟机接收数据包的权限信息设置在授权节点服务器中。
223:第二代理服务器保存目的虚拟机接收数据包的权限信息;
224:根据目的虚拟机接收数据包的权限信息判断是否允许接收该数据包,例如:如果“目的虚拟机接收数据包的权限信息包含允许标识,则执行步骤225,如果目的虚拟机接收数据包的权限信息包含不允许标识则执行步骤226;
225:将接收到的数据包转发给目的虚拟机。
226:丢弃接收到的数据包;
227:向源虚拟机所在的网络发送携带不允许源虚拟机向目的虚拟机发送数据包的信息的消息,可以将源虚拟机标识作为所述消息的目的标识,或者将为源虚拟机服务传递的代理实体的标识(例如第一代理服务器的标识)作为所述消息的目的标识。
231:第一代理服务器保存不允许源虚拟机向目的虚拟机发送数据包的信息。
如图4所示,为本发明实施例提供的一种分属两个网络中的虚拟机间的数据传输流程示意图;
本实施例的前提条件:在本实施例中,虚拟机-1是源虚拟机,虚拟机-2是目的虚拟机,代理-1(即为第一代理服务器)控制虚拟机-1发送的数据包,代理-2(即为第二代理服务器)控制虚拟机-2接收的数据包,授权节点服务器是保存数据传递授权信息的服务器,代理-2可以向授权节点服务器查询目的虚拟机接收数据包的权限信息。需要说明的是:授权节点服务器可以和代理-2在同一个实体中,此时,代理-2和授权节点之间的交互过程可以对外不可见。
301:虚拟机-1发送数据包,数据包的源IP地址是虚拟机-1的IP地址,数据包的IP地址是虚拟机-2的IP地址;
302:代理-1接收到虚拟机-1发出的数据包,代理-1发现数据源IP是虚拟机-1的IP地址,并且数据包来自于代理-1控制的网络内,因此确定收到的数据包是本地发出的数据包,代理-1在本地查找和数据包源IP地址、目的IP地址、以及数据包协议类型匹配的不允许源虚拟机向目的虚拟机发送数据包的信息,查找结果为不存在数据包源IP地址、目的IP地址、以及数据包协议类型匹配的不允许源虚拟机向目的虚拟机发送数据包的信息;
需要说明的是,数据包源IP地址、目的IP地址、以及数据包协议类型均非查找的必要条件,可以根据其中的一项或多项进行查找。
303:代理-1向虚拟机-2所在的网络转发接收到的数据包;
304:代理-2发现数据包目的IP是虚拟机-2的IP地址,因此确定收到的数据包是本地接收的数据包,代理-2在本地查找和数据包源IP地址、目的IP地址、以及数据包协议类型匹配的目的虚拟机接收数据包的权限信息,查找结果为不存在和数据包源IP地址、目的IP地址、以及数据包协议类型匹配的目的虚拟机接收数据包的权限信息;
305:代理-2向授权节点服务器发送目的虚拟机接收数据包的权限信息的请求消息,其中包括数据包源IP地址、目的IP地址、以及数据包协议类型中的一项或多项;
306:授权节点服务器向代理-2发送目的虚拟机接收数据包的权限信息的响应消息,其中携带目的虚拟机接收数据包的权限信息,所述目的虚拟机接收数据包的权限信息可以包括允许源虚拟机向目的虚拟机发送数据包的标识:Allow;
需要说明的是,当授权节点服务器和代理-2在同一个实体中时,步骤305和步骤306可以是内部的函数调用或者数据库查询,步骤305和步骤306可以对外不可见。
307:代理-2保存接收到的目的虚拟机接收数据包的权限信息;
308:代理-2查看接收到的目的虚拟机接收数据包的权限信息,由于目的虚拟机接收数据包的权限信息包括允许源虚拟机向目的虚拟机发送数据包的标识Allow,因此代理-2允许虚拟机-2接收该数据包;
309:代理-2向虚拟机-2转发接收到的数据包。
如图5所示,为本发明实施例提供的分属两个网络中的虚拟机间的另一种数据传输流程示意图,包括以下步骤:
本实施例的前提条件与上一实施例相同。
401~403:同上一实施例的步骤301至步骤303;
404:代理-2发现数据目的IP是虚拟机-2的IP地址,并且数据包来自于代理-2控制的网络之外,因此确定收到的数据包是本地接收的数据包,代理-2在本地查找与数据包源IP地址、目的IP地址、以及数据包协议类型匹配的目的虚拟机接收数据包的权限信息,查找结果为存在和数据包源IP地址、目的IP地址、以及数据包协议类型匹配的目的虚拟机接收数据包的权限信息;
需要说明的是,代理-2本地不存在目的虚拟机接收数据包的权限信息的情况同上一实施例,可以参考实施例一中的步骤304至步骤306,只是步骤306反馈的目的虚拟机接收数据包的权限信息包括不允许源向目的发送数据包的标识:Reject。
405:代理-2查看目的虚拟机接收数据包的权限信息,目的虚拟机接收数据包的权限信息包括不允许源向目的发送数据包的标识Reject,因此代理-2拒绝虚拟机-2接收该数据包;
406:代理-2丢弃接收到的数据包;
407:代理-2向代理-1发送不允许源虚拟机向目的虚拟机发送数据包的信息,其中可以包含:源虚拟机IP地址、目的虚拟机IP地址、以及不允许标识,还可以包含不允许源虚拟机向目的虚拟机发送数据包的协议类型,例如:不允许源虚拟机向目的虚拟机发送HTTP数据包;
408:代理-1保存接收到的不允许源虚拟机向目的虚拟机发送数据包的信息。
通过上述实施例可见,第一代理服务器接收源虚拟机发往目的虚拟机的数据包的信息,当本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息时,将数据包转发给第二代理服务器,第二代理服务器根据目的虚拟机接收数据包的权限信息判断是否允许将接收到的数据包发送给目的虚拟机,进一步的,当结果为不允许时,可以将不允许源虚拟机向目的虚拟机发送数据包的信息发送给第一代理服务器,使得第一代理服务器可以根据该信息进行后续数据包的过滤。因此,本发明实施例给出的实现控制虚拟计算机数据传递的方法,能够有效的控制虚拟计算机能够发送和允许接收的数据流,使得虚拟机间的数据通信权限基于实际的虚拟机进行,而非仅基于虚拟机的IP地址,有效的避免了虚拟机数据通信权限设置随着虚拟计算机IP地址的变化而变化,在数据传输的过程中提供了虚拟机之间通信的安全性,避免了虚拟计算机受到网络风暴的攻击。
相应上述实现虚拟机间数据传输的方法实施例,本发明实施例还提供了一种实现虚拟机间数据传输的***,包括:第一代理服务器601和第二代理服务器602,
所述第一代理服务器601,用于接收源虚拟机发往目的虚拟机的数据包的信息,如果本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息时,则向为所述目的虚拟机服务的第二代理服务器602转发所述数据包;否则所述第一代理服务器601不发送所述数据包;
所述第二代理服务器602,用于接收所述数据包,根据目的虚拟机接收数据包的权限信息判断是否允许将所述数据包转发给所述目的虚拟机,如果允许,则将所述数据包转发至所述目的虚拟机,如果不允许,则不发送所述数据包。
其中,所述数据包的信息至少包括以下至少一种:
源虚拟机发往目的虚拟机的数据包;
指示信息,所述指示信息用于向所述第一代理服务器指示所述源虚拟机向目的虚拟机发送数据包。
所述指示信息包括以下至少一种:
源虚拟机的标识;目的虚拟机的标识;以及源虚拟机向目的虚拟机发送数据包的协议类型。
所述不允许源虚拟机向目的虚拟机发送数据包的信息包括以下至少一种:
源虚拟机的标识;目的虚拟机的标识;源虚拟机向目的虚拟机发送数据包的协议类型;不允许标志。
当所述第二代理服务器602的判断结果为不允许所述源虚拟机将所述数据包发送给所述目的虚拟机时,所述第二代理服务器602还用于向所述第一代理服务器601发送不允许源虚拟机向目的虚拟机发送数据包的信息,所述不允许源虚拟机向目的虚拟机发送数据包的信息包括以下至少一种:源虚拟机的标识;目的虚拟机的标识;源虚拟机向目的虚拟机发送数据包的协议类型;不允许标志;
所述第一代理服务器60 1还用于接收并保存所述第二代理服务器602发送的不允许源虚拟机向目的虚拟机发送数据包的信息。
进一步的,所述***还包括:
授权节点服务器603,用于根据所述第二代理服务器602的请求,向所述第二代理服务器602发送所述目的虚拟机接收数据包的权限信息。
授权节点服务器603用于保存虚拟机发送和接收数据包的权限信息,这些权限信息可以是用户的签约数据,也可以是用户通过网页等工具动态设置到授权节点服务器603上的数据。授权节点服务器603可以存储与之连接的物理机下所有虚拟机的权限信息,也可以存储一台物理机内若干虚拟机的权限信息。
授权节点服务器603可以是一***立于代理服务器的专用服务器,当然,也可以是代理服务器内的功能模块,由代理服务器兼具预置目的虚拟机接收数据包的权限信息的功能。
当代理服务器获取到授权节点服务器603中的目的虚拟机接收数据包的权限信息时,将从所述授权节点服务器中获得的所述权限信息存储于本地,便于后续再次接收到该源虚拟机发出的数据包的处理。
如图7所示,为本发明实施例提供的另一种实现虚拟机间数据传输的***的架构示意图,其中:
第一代理服务器601包括:第一数据接收模块701,第一选择模块702,发出数据控制模块703;
第二代理服务器602包括:接收数据控制模块704,第二数据接收模块705,  第二选择模块706。
第一数据接收模块701,用于接收源虚拟机发送给目的虚拟机的数据包;
第一选择模块702,用于判断接收到的数据包类型:
1:如果接收到的数据包是第一代理服务器管理范围内的虚拟机发出的数据或者该第一代理服务器管理范围内的虚拟机发出数据包的指示信息,则选择发出数据控制模块703处理该数据包;
2:如果接收到的数据包是不允许源虚拟机向目的虚拟机发送数据包的信息,则通过发出数据控制模块703中的第一信息存储模块将接收到的不允许源虚拟机向目的虚拟机发送数据包的信息保存在本地。
需要说明的是,在具体实现时,当第一代理服务器为目的虚拟机服务的代理服务器时,第一代理服务器还可以包括接收数据控制模块704,所述第一选择模块还可以:3:如果接收到的数据包是目的为第一代理服务器管理范围内的虚拟机的数据包或者目的为该第一代理服务器管理范围内的虚拟机的数据包的指示信息,则选择接收数据控制模块704处理该数据。
发送数据控制模块703控制管理范围内的虚拟机是否可以向目的发送数据,其中包括:第一信息查找模块7031,第一信息存储模块7032,发出数据转发模块7033,发出数据丢弃模块7034。
第一信息查找模块7031,用于查找本地是否存在不允许源虚拟机向目的虚拟机发送数据包的信息,如果本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息,则通过发出数据转发模块7033将接收到的数据包转发给目的虚拟机;如果本地存在不允许源虚拟机向目的虚拟机发送数据包的信息,则通过发出数据丢弃模块7034丢弃接收到的数据包。
第一信息存储模块7032,用于将接收到的不允许源虚拟机向目的虚拟机发送数据包的信息保存在本地。
第二数据接收模块705,用于接收第一代理服务器转发的数据包;
第二选择模块706,用于判断接收到的数据包类型,由于该数据包为第一代理服务器转发过来的数据包,因此,选择接收数据控制模块704处理该数据。
需要说明的是,第二代理服务器中的第二数据接收模块5和第二选择模块6与第一代理服务器相同,在某些场景下,第一代理服务器和第二代理服务器是可以相互转化的,即彼此都可以作为数据包的转发方和接收方。
接收数据控制模块704控制管理范围内的虚拟机是否可以接收源虚拟机发送的数据,其中包括:第二信息找模块7041,权限信息获取模块7042,第二信息存储模块7043,权限信息判断模块7044,接收数据转发模块7045,接收数据丢弃模块7046,  信息发送模块7047。
第二信息查找模块7041在本地查找是否存在目的虚拟机接收数据包的权限信息,如果不存在,则通过权限信息获取模块7042获取目的虚拟机接收数据包的权限信息。
权限信息获取模块7042向授权节点服务器603请求目的虚拟机接收数据包的权限信息,授权节点服务器603向第二信息获取模块7042反馈目的虚拟机接收数据包的权限信息,第二信息存储模块7043将授权节点服务器603反馈的目的虚拟机接收数据包的权限信息保存在本地。
权限信息判断模块7044用于判断是否允许源虚拟机向目的虚拟机发送数据包:
1:如果目的虚拟机接收数据包的权限信息为允许源虚拟机向目的虚拟机发送数据包,则通过接收数据转发模块7045将接收到的数据转发给目的虚拟机;
2:如果接收数据为不允许源虚拟机向目的虚拟机发送数据包,则通过接收数据丢弃模块7046丢弃接收到的数据,通过信息发送模块7047向源虚拟机所在的网络发送不允许源虚拟机向目的虚拟机发送数据包的信息。
本发明实施例提供了一种代理服务器,接收源虚拟机发往目的虚拟机的数据包的信息,当本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息时,将数据包转发给目的虚拟机,所述代理服务器还可以用于根据目的虚拟机接收数据包的权限信息判断是否允许将接收到的数据包发送给目的虚拟机。因此,本发明实施例给出的代理服务器能够有效的控制虚拟计算机能够发送和允许接收的数据流,使得虚拟机间的数据通信权限基于实际的虚拟机进行,而非仅基于虚拟机的IP地址,有效的避免了虚拟机数据通信权限设置随着虚拟计算机IP地址的变化而变化,在数据传输的过程中提供了虚拟机之间通信的安全性,避免了虚拟计算机受到网络风暴的攻击。
对于***实施例而言,由于其基本相应于方法和设备实施例,所以描述得比较简单,相关之处参见方法和设备实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明实施例的精神或范围的情况下,在其它实施例中实现。因此,本发明实施例将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (14)

1.一种实现虚拟机间数据传输的方法,其特征在于,所述方法包括:
第一代理服务器接收源虚拟机发往目的虚拟机的数据包的信息,如果本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息时,则所述第一代理服务器向为所述目的虚拟机服务的第二代理服务器转发所述数据包;否则所述第一代理服务器不发送所述数据包;
所述第二代理服务器接收所述数据包,根据目的虚拟机接收数据包的权限信息判断是否允许将所述数据包转发给所述目的虚拟机,如果允许,则由所述第二代理服务器将所述数据包转发至所述目的虚拟机,如果不允许,所述第二代理服务器不发送所述数据包;
所述不允许源虚拟机向目的虚拟机发送数据包的信息包括以下至少一种:源虚拟机的标识;目的虚拟机的标识;源虚拟机向目的虚拟机发送数据包的协议类型;不允许标志。
2.根据权利要求1所述的实现虚拟机间数据传输的方法,其特征在于,所述数据包的信息至少包括以下至少一种:
源虚拟机发往目的虚拟机的数据包;
指示信息,所述指示信息用于向所述第一代理服务器指示所述源虚拟机向目的虚拟机发送数据包。
3.根据权利要求2所述的实现虚拟机间数据传输的方法,其特征在于,所述指示信息包括以下至少一种:
源虚拟机的标识;目的虚拟机的标识;源虚拟机向目的虚拟机发送数据包的协议类型。
4.根据权利要求1所述的实现虚拟机间数据传输的方法,其特征在于,所述方法还包括:
所述第二代理服务器获取本地存储的目的虚拟机接收数据包的权限信息;或者,
所述第二代理服务器向授权服务器请求获取所述目的虚拟机接收数据包的权限信息。
5.根据权利要求1所述的实现虚拟机间数据传输的方法,其特征在于,在所述第一代理服务器判断本地是否存在不允许源虚拟机向目的虚拟机发送数据包的信息之前,所述方法还包括:
所述第一代理服务器通过获取所述数据包的源地址确定源虚拟机,如果所述源虚拟机属于本地虚拟机,则确定所述数据包的类型属于本地发出的数据包。
6.根据权利要求1所述的实现虚拟机间数据传输的方法,其特征在于,在所述第二代理服务器判断是否将所述数据包转发给所述目的虚拟机之前,所述方法还包括:
所述第二代理服务器通过获取所述数据包的目的地址确定目的虚拟机,如果所述目的虚拟机属于本地虚拟机,则确定所述数据包的类型属于本地接收的数据包。
7.根据权利要求3所述的实现虚拟机间数据传输的方法,其特征在于,在第二代理服务器判断是否将所述数据包转发给所述目的虚拟机之后,如果所述判断结果为不允许所述源虚拟机将所述数据包发送给所述目的虚拟机,则所述方法还包括:
所述第二代理服务器向所述第一代理服务器发送不允许源虚拟机向目的虚拟机发送数据包的信息,所述不允许源虚拟机向目的虚拟机发送数据包的信息包括以下至少一种:源虚拟机的标识;目的虚拟机的标识;源虚拟机向目的虚拟机发送数据包的协议类型;不允许标志。
8.根据权利要求7所述的实现虚拟机间数据传输的方法,其特征在于,所述方法还包括:
所述第一代理服务器接收并保存所述第二代理服务器发送的不允许源虚拟机向目的虚拟机发送数据包的信息。
9.根据权利要求1或4所述的实现虚拟机间数据传输的方法,其特征在于,所述目的虚拟机接收数据包的权限信息包括以下至少一种:
源虚拟机的标识;目的虚拟机的标识;源虚拟机向目的虚拟机发送数据包的协议类型;不允许标志;允许标志。
10.一种实现虚拟机间数据传输的***,其特征在于,所述***包括:第一代理服务器601和第二代理服务器602,
所述第一代理服务器601,用于接收源虚拟机发往目的虚拟机的数据包的信息,如果本地不存在不允许源虚拟机向目的虚拟机发送数据包的信息时,则向为所述目的虚拟机服务的第二代理服务器602转发所述数据包;否则所述第一代理服务器601不发送所述数据包;
所述第二代理服务器602,用于接收所述数据包,根据目的虚拟机接收数据包的权限信息判断是否允许将所述数据包转发给所述目的虚拟机,如果允许,则将所述数据包转发至所述目的虚拟机,如果不允许,则不发送所述数据包;
所述不允许源虚拟机向目的虚拟机发送数据包的信息包括以下至少一种:源虚拟机的标识;目的虚拟机的标识;源虚拟机向目的虚拟机发送数据包的协议类型;不允许标志。
11.根据权利要求10所述的实现虚拟机间数据传输的***,其特征在于,所述数据包的信息至少包括以下至少一种:
源虚拟机发往目的虚拟机的数据包;
指示信息,所述指示信息用于向所述第一代理服务器指示所述源虚拟机向目的虚拟机发送数据包。
12.根据权利要求11所述的实现虚拟机间数据传输的***,其特征在于,所述指示信息包括以下至少一种:
源虚拟机的标识;目的虚拟机的标识;以及源虚拟机向目的虚拟机发送数据包的协议类型。
13.根据权利要求10所述的实现虚拟机间数据传输的***,其特征在于,所述***还包括:
授权节点服务器603,用于根据所述第二代理服务器602的请求,向所述第二代理服务器602发送所述目的虚拟机接收数据包的权限信息。
14.根据权利要求10所述的实现虚拟机间数据传输的***,其特征在于,
当所述第二代理服务器602的判断结果为不允许所述源虚拟机将所述数据包发送给所述目的虚拟机时,所述第二代理服务器602还用于向所述第一代理服务器601发送不允许源虚拟机向目的虚拟机发送数据包的信息,所述不允许源虚拟机向目的虚拟机发送数据包的信息包括以下至少一种:源虚拟机的标识;目的虚拟机的标识;源虚拟机向目的虚拟机发送数据包的协议类型;不允许标志;
所述第一代理服务器601还用于接收并保存所述第二代理服务器602发送的不允许源虚拟机向目的虚拟机发送数据包的信息。
CN2011100216892A 2011-01-19 2011-01-19 一种实现虚拟机间数据传输的方法和*** Active CN102075537B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2011100216892A CN102075537B (zh) 2011-01-19 2011-01-19 一种实现虚拟机间数据传输的方法和***
PCT/CN2011/075359 WO2011147371A1 (zh) 2011-01-19 2011-06-03 一种实现虚拟机间数据传输的方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100216892A CN102075537B (zh) 2011-01-19 2011-01-19 一种实现虚拟机间数据传输的方法和***

Publications (2)

Publication Number Publication Date
CN102075537A CN102075537A (zh) 2011-05-25
CN102075537B true CN102075537B (zh) 2013-12-04

Family

ID=44033881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100216892A Active CN102075537B (zh) 2011-01-19 2011-01-19 一种实现虚拟机间数据传输的方法和***

Country Status (2)

Country Link
CN (1) CN102075537B (zh)
WO (1) WO2011147371A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075537B (zh) * 2011-01-19 2013-12-04 华为技术有限公司 一种实现虚拟机间数据传输的方法和***
CN102739795A (zh) * 2012-07-04 2012-10-17 深圳市京华科讯科技有限公司 应用于虚拟化环境的网络代理数据转发***及方法
CN103795752A (zh) * 2012-10-31 2014-05-14 鸿富锦精密工业(深圳)有限公司 虚拟机分享***及方法
CN103856460A (zh) * 2012-12-04 2014-06-11 华为技术有限公司 一种访问控制的方法、装置及***
CN104219260B (zh) * 2013-05-30 2017-12-12 中国电信股份有限公司 同一物理机内虚拟机间数据交换的方法、***与物理主机
CN103458003B (zh) * 2013-08-15 2016-11-16 中电长城网际***应用有限公司 一种自适应云计算环境虚拟安全域访问控制方法和***
CN104601428B (zh) * 2014-12-23 2018-10-09 广州亦云信息技术有限公司 虚拟机之间的通信方法
CN105721487B (zh) * 2016-03-07 2019-07-26 联想(北京)有限公司 信息处理方法及电子设备
WO2018018640A1 (zh) * 2016-07-29 2018-02-01 华为技术有限公司 信息交互方法、装置及***
CN111262901B (zh) * 2019-07-29 2021-03-26 深圳百灵声学有限公司 多对多通信***及其运行方法
CN112104744B (zh) * 2020-03-30 2022-09-09 厦门网宿有限公司 流量代理方法、服务器及存储介质
CN114356474A (zh) * 2021-12-16 2022-04-15 西安万像电子科技有限公司 数据传输方法、第一虚拟机、虚拟桌面管理服务器和***
CN115913824B (zh) * 2023-02-10 2023-07-25 中航金网(北京)电子商务有限公司 跨vpc的虚拟服务器通信方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867511A (zh) * 2009-04-20 2010-10-20 华为技术有限公司 流控帧发送方法、相关设备及***
CN101867571A (zh) * 2010-05-12 2010-10-20 上海电机学院 基于协同多个移动代理的智能网络入侵防御***
CN102598591A (zh) * 2009-11-06 2012-07-18 微软公司 采用用于保护跨网络的连接的覆盖

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636442B2 (en) * 2005-05-13 2009-12-22 Intel Corporation Method and apparatus for migrating software-based security coprocessors
CN101031141B (zh) * 2006-02-28 2011-11-09 华为技术有限公司 安全通信方法
CN101207604B (zh) * 2006-12-20 2012-03-28 联想(北京)有限公司 一种虚拟机***及其通信处理方法
CN101631110B (zh) * 2008-07-15 2013-01-02 国际商业机器公司 基于相对位置动态确定连接建立机制的装置和方法
TW201007574A (en) * 2008-08-13 2010-02-16 Inventec Corp Internet server system and method of constructing and starting a virtual machine
CN101668022B (zh) * 2009-09-14 2012-09-12 陈博东 一种建立在虚拟机上的虚拟网络隔离***及实现方法
CN102075537B (zh) * 2011-01-19 2013-12-04 华为技术有限公司 一种实现虚拟机间数据传输的方法和***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867511A (zh) * 2009-04-20 2010-10-20 华为技术有限公司 流控帧发送方法、相关设备及***
CN102598591A (zh) * 2009-11-06 2012-07-18 微软公司 采用用于保护跨网络的连接的覆盖
CN101867571A (zh) * 2010-05-12 2010-10-20 上海电机学院 基于协同多个移动代理的智能网络入侵防御***

Also Published As

Publication number Publication date
CN102075537A (zh) 2011-05-25
WO2011147371A1 (zh) 2011-12-01

Similar Documents

Publication Publication Date Title
CN102075537B (zh) 一种实现虚拟机间数据传输的方法和***
CN108616490B (zh) 一种网络访问控制方法、装置及***
US10805268B2 (en) Method and apparatuses for enabling routing of data packets between a wireless device and a service provider based in the local service cloud
CN109565500B (zh) 按需安全性架构
US20220070095A1 (en) Data transmission method and apparatus, network adapter, and storage medium
US9215237B2 (en) Communication system, control device, communication method, and program
EP1924929B1 (en) Method and computer program product for sharing a port with multiple processes
CN110311929B (zh) 一种访问控制方法、装置及电子设备和存储介质
CN108322467B (zh) 基于ovs的虚拟防火墙配置方法、电子设备及存储介质
US11671363B2 (en) Method and apparatus for cross-service-zone communication, and data center network
CN109067937B (zh) 终端准入控制方法、装置、设备、***及存储介质
JP2003525557A (ja) 迅速なパケット・フィルタリング及びパケット・プロセシングのためのシステム、デバイス及び方法
CN106878343B (zh) 一种云计算环境下提供网络安全即服务的***
KR102044642B1 (ko) 서비스 레이어에서 인루트 리소스 발견을 가능하게 하기 위한 방법들
US10693785B2 (en) Method and system for forwarding data, virtual load balancer, and readable storage medium
JP2020017809A (ja) 通信装置及び通信システム
CN112615810B (zh) 一种访问控制方法及装置
EP4049425B1 (en) Email security in a multi-tenant email service
CN109413001B (zh) 对云计算***内的交互数据进行安全保护的方法及装置
JP4550145B2 (ja) アクセス制御のための方法、装置、およびコンピュータ・プログラム
CN107547680B (zh) 一种数据处理方法及装置
CN108259420B (zh) 一种报文处理方法及装置
EP4047885A1 (en) Method and system for processing network service, and gateway device
CN112737850A (zh) 一种互斥访问的方法及装置
CN106506410A (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211223

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: xFusion Digital Technologies Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right