虚拟机之间的数据交换方法和系统的制作方法

文档序号:7988429阅读:583来源:国知局
虚拟机之间的数据交换方法和系统的制作方法
【专利摘要】本发明实施例公开了一种虚拟机之间的数据交换方法和系统,其中,方法包括:物理网卡接收虚拟机发送的数据报文后,判断发送方地址和/或接收方地址是否在该物理网卡的管理范围内;若不在该物理网卡的管理范围内,拒绝转发数据报文;否则,识别接收方地址是否为物理服务器内部的虚拟机的地址;若是物理服务器内部的虚拟机的地址,直接将数据报文转发给接收方地址对应的虚拟机;否则,若不是物理服务器内部的虚拟机的地址,将数据报文转发给物理网卡直接连接的以太网交换机。本发明实施例可以解决现有技术中存在的网络带宽开销大、交换机软件需要升级、修改STP的技术问题,从而提供同一物理服务器内的虚拟机之间高速流量交换。
【专利说明】虚拟机之间的数据交换方法和系统
【技术领域】
[0001]本发明涉及通信技术,尤其是一种虚拟机之间的数据交换方法和系统。
【背景技术】
[0002]虚拟化服务器是使用虚拟化软件(如VMWare ESX、CitrixXEN)在一台物理服务器上虚拟出一台或多台虚拟机(VirtualMachine,VM),安装在服务器上的虚拟化软件被称为虚拟机管理器(Virtual Machine Monitor, VMM)。虚拟机运行在一个隔离环境中,是具有完整硬件功能的逻辑服务器,每个虚拟机具有自己的操作系统和应用程序。一台服务器上的多个虚拟机可以互不影响的同时运行,并复用物理机资源。虚拟化软件为虚拟机提供一套虚拟的硬件环境,包括虚拟的中央处理器(CPU)、内存、存储设备、输入/输出(I/O)设备(如网卡)以及虚拟交换机等。
[0003]在虚拟化运行环境中,VMM为每个虚拟机创建一个虚拟网卡,对于在VMM中运行的虚拟交换机(VSwitch),每个虚拟机的虚拟网卡对应到VSwitch的一个逻辑端口上,物理服务器的物理网卡对应于VSwitch与外部物理交换机相连的端口。多个虚拟机可以共享一个物理网卡与外部通信。同一主机的不同虚拟机之间的流量也通过外部交换机转发,即使同一台服务器的虚拟机间流量,也发往外部物理交换机进行转发处理。由于将所有流量都引向外部交换机,因此与虚拟机相关的流量监管、控制策略和管理可扩展性问题得以很好的解决。
[0004]但是,在实现本发明的过程中,发明人发现上述现有技术至少存在以下问题:
[0005]由于流量被从虚拟机上引入到外部网络,带来了更多网络带宽开销、交换机软件需要升级、修改生成树(Spanning Tree Protocol, STP)协议等问题。

【发明内容】

[0006]本发明实施例所要解决的技术问题是:提供一种虚拟机之间的数据交换方法和系统,解决现有技术中存在的网络带宽开销大、交换机软件需要升级、修改STP的技术问题,从而提供同一物理服务器内的虚拟机之间高速流量交换。
[0007]本发明实施例提供的一种虚拟机之间的数据交换方法,包括:
[0008]物理服务器上的物理网卡接收所述物理服务器上的虚拟机发送的数据报文,所述数据报文中包括发送方地址与接收方地址,所述发送方地址与接收方地址包括互联网协议IP地址或源虚拟局域网VLAN标签;
[0009]物理网卡查询预先设置的访问控制列表ACL,判断所述发送方地址和/或接收方地址是否在该物理网卡的管理范围内,所述ACL中包括源/目的IP地址访问规则,或源/目的VLAN访问规则;
[0010]响应于所述发送方地址或接收方地址不在该物理网卡的管理范围内,物理网卡拒绝转发所述数据报文;
[0011]响应于所述发送方地址与接收方地址在该物理网卡的管理范围内,物理网卡根据预先配置的所述物理服务器内部的虚拟机的地址信息,识别所述接收方地址是否为所述物理服务器内部的虚拟机的地址;
[0012]若所述接收方地址为所述物理服务器内部的虚拟机的地址,所述物理网卡直接将所述数据报文转发给所述接收方地址对应的虚拟机;
[0013]若所述接收方地址不是所述物理服务器内部的虚拟机的地址,所述物理网卡将所述数据报文转发给所述物理网卡直接连接的以太网交换机。
[0014]上述方法的一个具体实施例中,所述物理网卡直接将所述数据报文转发给所述接收方地址对应的物理机包括:
[0015]所述物理网卡查询预先设置的服务质量QoS控制策略,获取所述发送方地址和/或接收方地址对应的QoS控制信息,按照所述QoS控制信息直接将所述数据报文转发给所述接收方地址对应的物理机;所述QoS控制策略包括各发送方地址和/或接收方地址对应的QoS控制信息,所述QoS控制信息包括传输带宽与传输时延;
[0016]所述物理网卡将所述数据报文转发给所述物理网卡直接连接的以太网交换机包括:
[0017]所述物理网卡查询预先设置的服务质量QoS控制策略,获取所述发送方地址和/或接收方地址对应的QoS控制信息,按照所述QoS控制信息将所述数据报文转发给所述物理网卡直接连接的以太网交换机。
[0018]上述方法的一个具体实施例中,还包括:
[0019]网管平台通过所述物理网卡上设置的远程配置接口,向所述物理网卡配置ACL与QoS控制策略。
[0020]上述方法的一个具体实施例中,还包括:
[0021]网管平台通过所述物理网卡上设置的远程配置接口,查询所述物理网卡上配置的ACL与QoS控制策略,或者进一步对所述物理网卡上配置的ACL与QoS控制策略进行修改。
[0022]本发明实施例提供的一种虚拟机之间的数据交换系统,包括:位于同一个物理服务器上的物理网卡、虚拟机管理器、多个虚拟机,以及所述物理网卡直接连接的以太网交换机;
[0023]所述物理网卡,用于接收所述虚拟机发送的数据报文,所述数据报文中包括发送方地址与接收方地址,所述发送方地址与接收方地址包括互联网协议IP地址或源虚拟局域网VLAN标签;查询预先设置的访问控制列表ACL,判断所述发送方地址和/或接收方地址是否在该物理网卡的管理范围内,所述ACL中包括源/目的IP地址访问规则,或源/目的VLAN访问规则;响应于所述发送方地址或接收方地址不在该物理网卡的管理范围内,拒绝转发所述数据报文;
[0024]响应于所述发送方地址与接收方地址在该物理网卡的管理范围内,根据预先配置的所述物理服务器内部的虚拟机的地址信息,识别所述接收方地址是否为所述物理服务器内部的虚拟机的地址;
[0025]若所述接收方地址为所述物理服务器内部的虚拟机的地址,直接将所述数据报文转发给所述接收方地址对应的虚拟机;
[0026] 若所述接收方地址不是所述物理服务器内部的虚拟机的地址,将所述数据报文转发给所述物理网卡直接连接的以太网交换机。[0027]上述系统的一个具体实施例中,所述物理网卡直接将所述数据报文转发给所述接收方地址对应的虚拟机时,具体查询预先设置的服务质量QoS控制策略,获取所述发送方地址和/或接收方地址对应的QoS控制信息,按照所述QoS控制信息直接将所述数据报文转发给所述接收方地址对应的虚拟机;所述QoS控制策略包括各发送方地址和/或接收方地址对应的QoS控制信息,所述QoS控制信息包括传输带宽与传输时延;
[0028]所述物理网卡将所述数据报文转发给所述物理网卡直接连接的以太网交换机时,具体查询预先设置的服务质量QoS控制策略,获取所述发送方地址和/或接收方地址对应的QoS控制信息,按照所述QoS控制信息将所述数据报文转发给所述物理网卡直接连接的以太网交换机。
[0029]上述系统的一个具体实施例中,还包括:
[0030]网管平台,用于通过所述物理网卡上设置的远程配置接口,向所述物理网卡配置ACL与QoS控制策略。
[0031]上述系统的一个具体实施例中,所述网管平台,还用于通过所述物理网卡上设置的远程配置接口,查询所述物理网卡上配置的ACL与QoS控制策略,或者进一步对所述物理网卡上配置的ACL与QoS控制策略进行修改。
[0032]基于本发明上述实施例提供的虚拟机之间的数据交换方法和系统,物理服务器上的物理网卡接收物理服务器上的虚拟机发送的数据报文后查询预先设置的ACL,判断发送方地址和/或接收方地址是否在该物理网卡的管理范围内,响应于发送方地址或接收方地址不在该物理网卡的管理范围内,物理网卡拒绝转发数据报文;响应于发送方地址与接收方地址在该物理网卡的管理范 围内,物理网卡根据预先配置的物理服务器内部的虚拟机的地址信息,识别接收方地址是否为物理服务器内部的虚拟机的地址;若接收方地址为物理服务器内部的虚拟机的地址,物理网卡直接将数据报文转发给接收方地址对应的虚拟机;若接收方地址不是物理服务器内部的虚拟机的地址,物理网卡将数据报文转发给物理网卡直接连接的以太网交换机。与现有技术相比,本发明实施例物理服务器内部的虚拟机之间的流量在物理服务器内部之间实现转发,而不通过外部交换机转发,与现有技术相比,不需要修改传统以太网交换机的软硬件,即不需要修改STP,不需要交换机升级软件,并且减少了数据中心的网络流量,也大大降低了服务器网卡的出口流量,解决了现有技术中存在的网络带宽开销大、交换机软件需要升级、修改STP的技术问题,从而提供同一物理服务器内的虚拟机之间高速流量交换。
[0033]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【专利附图】

【附图说明】
[0034]构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
[0035]参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
[0036]图1为现有技术基于VEPA技术实现虚拟机之间数据交换的系统结构示意图。
[0037]图2为本发明虚拟机之间的数据交换方法一个实施例的流程图。
[0038]图3为本发明虚拟机之间的数据交换系统一个实施例的结构示意图。【具体实施方式】
[0039]现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0040]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0041]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0042]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0043]在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0044]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0045]图1为现有技术基于VEPA技术实现虚拟机之间数据交换的系统结构示意图。如图1所示,同一个物理服务器上的多个虚拟机之间进行数据交换时,目前一种很重要的技术是基于虚拟以太网端口汇聚器(Virtual Ethernet Port Aggregator,VEPA)技术来实现。其核心思想是,将虚拟机产 生的网络流量全部交由与该物理服务器相连的物理交换机(即:以太网交换机)进行处理,即使同一台物理服务器上虚拟机之间流量,也发往外部物理交换机进行转发处理。IEEE802.1工作组在VEPA技术基础实现ffiEE802.1Qbg EVB标准。
[0046]VEPA会将物理服务器上虚拟机生成的所有流量转移到外部的网络交换机(即:以太网交换机)上。外部网络交换机接下来会为同一台物理服务器上的虚拟机和基础设施的其它部分提供连接。实现这一功能的方法是将一种新型转发模式融入物理交换机中,使流量能够从来时的端口“原路返回”,从而简化同一物理服务器上虚拟机之间的通信。“原路返回”模式(或称“反射中继”)可以在需要时将数据包的单一副本反向发送至同一台物理服务器上的目的地或目标虚拟机。对于广播或组播流量,VEPA能够以本地方式向物理服务器上的虚拟机提供数据包复制能力。传统上,多数网络交换机都不支持这种“原路返回”模式行为,因为它可能会在非虚拟世界中造成环路和广播风暴。然而,许多网络厂商都开始支持这种行为,目的就是解决虚拟机交换的问题,而且使用简单的软件或固件升级即可实现。
[0047]但是,由于流量被从虚拟机上引入到外部网络,VEPA技术也带来了更多网络带宽开销的问题。例如,从一个虚拟机到另一个虚拟机的报文,占用的网络带宽是传统方式的两倍,其中一半带宽用于从源虚拟机向外网交换机传输,另一半带宽用于从外部交换机向目的虚拟机传输。
[0048]尽管基于VEPA的方法能够带来许多好处,但在实现本发明的过程中,发明人发现,在某些环境下,虚拟机间流量的交换最好还是留在服务器内部。例如,在有些环境下物理服务器要承担虚拟机的巨大负荷,而且这些虚拟机之间的通信非常频繁,因此为了将延迟降至最低程度以及减少数据中心的内部交换流量,最好的方法是将虚拟机之间的流量留在物理服务器内部。因此,现有的VEPA技术至少存着以下问题:
[0049]第一,虽然现有的VEPA技术能实现同一物理服务器内虚拟机之间流量交换,但是,基于VEPA技术数据转发行为违反了 STP的一项重要原则,即:数据帧不能发往收到这个帧的端口,而目前虚拟接入环境基本是一个大二层,因此,在接入层,不可能使用路由来实现这个功能,这就造成了 VEPA的机制与STP之间的矛盾。但是VEPA没有虚拟路径连接(virtual path connection, vPC),在接入层还是要跑STP,因此就需要重写STP,或者说在下联端口上强制进行反射数据帧的行为,需要交换机升级软件;
[0050]第二,现有的VEPA技术对同一物理服务器内虚拟机之间的通信流量也必须发送到网络上,这样一进一出流量翻倍,除增加数据中心网络压力,还占用物理服务器的网络流量;
[0051]第三,对于一些应用需要在同一物理服务器内虚拟机之间的频繁通信,将增加延迟。
[0052]图2为本发明虚拟机之间的数据交换方法一个实施例的流程图。如图2所示,该实施例虚拟机之间的数据交换方法包括:
[0053]210,物理服务器上的物理网卡接收物理服务器上的虚拟机发送的数据报文,该数据报文中包括发送方地址与接收方地址,发送方地址与接收方地址包括互联网协议(IP)地址或源虚拟局域网(Virtual LocalArea Network, VLAN)标签。其中的VLAN标签用于唯一标识一个VLAN。
[0054]220,物理网卡查询预先设置的访问控制列表(Access ControlList, ACL),判断数据报文中的发送方地址和/或接收方地址是否在该物理网卡的管理范围内。其中的ACL中包括源/目的IP地址访问规则,或源/目的VLAN访问规则。
[0055]响应于发送方地址或接收方地址不在该物理网卡的管理范围内,执行230的操作。否则,响应于发送方地址与接收方地址在该物理网卡的管理范围内,执行240的操作。
[0056]230,物理网卡拒绝转发该数据报文。
[0057]240,物理网卡根据预先配置的物理服务器内部的虚拟机的地址信息,识别数据报文中的接收方地址是否为物理服务器内部的虚拟机的地址。
[0058]若接收方地址为物理服务器内部的虚拟机的地址,执行250的操作。否则,若接收方地址不是物理服务器内部的虚拟机的地址,执行260的操作。
[0059]250,物理网卡直接将该数据报文转发给接收方地址对应的虚拟机。
[0060]260,物理网卡将该数据报文转发给物理网卡直接连接的以太网交换机,由以太网交换机基于数据报文中的接收方地址进行后续转发。
[0061]本发明上述实施例提供的虚拟机之间的数据交换方法物理服务器上的物理网卡接收物理服务器上的虚拟机发送的数据报文后查询预先设置的ACL,判断发送方地址和/或接收方地址是否在该物理网卡的管理范围内,响应于发送方地址或接收方地址不在该物理网卡的管理范围内,物理网卡拒绝转发数据报文;响应于发送方地址与接收方地址在该物理网卡的管理范围内,物理网卡根据预先配置的物理服务器内部的虚拟机的地址信息,识别接收方地址是否为物理服务器内部的虚拟机的地址;若接收方地址为物理服务器内部的虚拟机的地址,物理网卡直接将数据报文转发给接收方地址对应的虚拟机;若接收方地址不是物理服务器内部的虚拟机的地址,物理网卡将数据报文转发给物理网卡直接连接的以太网交换机。与现有技术相比,本发明实施例物理服务器内部的虚拟机之间的流量在物理服务器内部之间实现转发,而不通过外部交换机转发,与现有技术相比,不需要修改传统以太网交换机的软硬件,即不需要修改STP,不需要交换机升级软件,并且减少了数据中心的网络流量,也大大降低了服务器网卡的出口流量,解决了现有技术中存在的网络带宽开销大、交换机软件需要升级、修改STP的技术问题,从而提供同一物理服务器内的虚拟机之间高速流量交换。
[0062]根据本发明虚拟机之间的数据交换方法的另一个实施例,操作250中,物理网卡直接将该数据报文转发给接收方地址对应的虚拟机具体可以包括:
[0063]物理网卡查询预先设置的服务质量(QoS)控制策略,获取数据报文中的发送方地址和/或接收方地址对应的QoS控制信息,按照QoS控制信息直接将数据报文转发给接收方地址对应的物理机;其中的QoS控制策略包括各发送方地址和/或接收方地址对应的QoS控制信息,该QoS控制信息包括传输带宽与传输时延。
[0064]根据本发明虚拟机之间的数据交换方法的又一个实施例,操作260中,物理网卡将数据报文转发给物理网卡直接连接的以太网交换机具体可以包括:
[0065]物理网卡查询预先设置的服务质量QoS控制策略,获取数据报文中的发送方地址和/或接收方地址对应的QoS控制信息,按照QoS控制信息将数据报文转发给物理网卡直接连接的以太网交换机。
[0066]根据本发明虚拟机之间的数据交换方法的再一个实施例,还可以由网管平台通过物理网卡上设置的远程配置接口,向物理网卡配置ACL与QoS控制策略。
[0067]进一步示例性地,网管平台还可以通过物理网卡上设置的远程配置接口,查询物理网卡上配置的ACL与QoS控制策略,或者进一步对物理网卡上配置的ACL与QoS控制策略进行修改。
[0068]图3为本发明虚拟机之间的数据交换系统一个实施例的结构示意图。该实施例的数据交换系统可用于实现本发明上述各数据交换方法流程。如图3所示,其包括位于同一个物理服务器上的物理网卡、VMM、多个VM,以及物理网卡直接连接的以太网交换机。
[0069]其中,物理网卡,用于接收VM发送的数据报文,该数据报文中包括发送方地址与接收方地址,发送方地址与接收方地址包括IP地址或源VLAN标签;查询预先设置的ACL,判断数据报文中的发送方地址和/或接收方地址是否在该物理网卡的管理范围内,其中的ACL中包括源/目的IP地址访问规则,或源/目的VLAN访问规贝U。响应于该发送方地址或接收方地址不在该物理网卡的管理范围内,拒绝转发数据报文。响应于该发送方地址与接收方地址在该物理网卡的管理范围内,根据预先配置的物理服务器内部的VM的地址信息,识别接收方地址是否为物理服务器内部的VM的地址。若接收方地址为物理服务器内部的VM的地址,直接将数据报文转发给接收方地址对应的VM。若接收方地址不是物理服务器内部的VM的地址,将数据报文转发给物理网卡直接连接的以太网交换机。
[0070]VM 有虚拟网卡(Virtual Network Interface Card, vNIC),有媒体访问控制(Media Access Control,MAC)地址,能添加VLAN标签,本发明实施例中不需要修改。本发明实施例中也不需要修改VMM。
[0071]以太网交换机为传统的以太网二层或三层交换机,本发明实施例中不需要修改,也不需要实现在VPEA技术下的修改STP。
[0072]本发明上述实施例提供的虚拟机之间的数据交换系统,物理服务器上的物理网卡接收物理服务器上的虚拟 机发送的数据报文后查询预先设置的ACL,判断发送方地址和/或接收方地址是否在该物理网卡的管理范围内,响应于发送方地址或接收方地址不在该物理网卡的管理范围内,物理网卡拒绝转发数据报文;响应于发送方地址与接收方地址在该物理网卡的管理范围内,物理网卡根据预先配置的物理服务器内部的虚拟机的地址信息,识别接收方地址是否为物理服务器内部的虚拟机的地址;若接收方地址为物理服务器内部的虚拟机的地址,物理网卡直接将数据报文转发给接收方地址对应的虚拟机;若接收方地址不是物理服务器内部的虚拟机的地址,物理网卡将数据报文转发给物理网卡直接连接的以太网交换机。与现有技术相比,本发明实施例物理服务器内部的虚拟机之间的流量在物理服务器内部之间实现转发,而不通过外部交换机转发,与现有技术相比,不需要修改传统以太网交换机的软硬件,即不需要修改STP,不需要交换机升级软件,并且减少了数据中心的网络流量,也大大降低了服务器网卡的出口流量,解决了现有技术中存在的网络带宽开销大、交换机软件需要升级、修改STP的技术问题,从而提供同一物理服务器内的虚拟机之间高速流量交换。
[0073] 根据本发明虚拟机之间的数据交换系统的另一个实施例,物理网卡直接将数据报文转发给接收方地址对应的VM时,具体查询预先设置的QoS控制策略,获取数据报文中的发送方地址和/或接收方地址对应的QoS控制信息,按照QoS控制信息直接将数据报文转发给接收方地址对应的VM ;QoS控制策略包括各发送方地址和/或接收方地址对应的QoS控制信息,QoS控制信息包括传输带宽与传输时延。
[0074]根据本发明虚拟机之间的数据交换系统的又一个实施例,物理网卡将数据报文转发给物理网卡直接连接的以太网交换机时,具体查询预先设置的QoS控制策略,获取数据报文中的发送方地址和/或接收方地址对应的QoS控制信息,按照QoS控制信息将数据报文转发给物理网卡直接连接的以太网交换机。
[0075]再参见图3,在本发明虚拟机之间的数据交换系统的再一个实施例中,还包括网管平台,用于通过物理网卡上设置的远程配置接口,向物理网卡配置ACL与QoS控制策略。进一步示例性地,该网管平台还可以用于通过物理网卡上设置的远程配置接口,查询物理网卡上配置的ACL与QoS控制策略,或者进一步对物理网卡上配置的ACL与QoS控制策略进行修改。
[0076]再参见图3,根据本发明虚拟机之间的数据交换系统的一个具体示例而非限制,具体可以通过在物理网卡上增加一个数据交换模块,来实现本发明上述各实施例中物理网卡的功能,同一物理服务器内的虚拟机之间高速流量交换,解决传统技术中存在的网络带宽开销大、交换机软件需要升级、修改STP等问题,从而提供同一物理服务器内的虚拟机之间
高速流量交换。
[0077]即:本发明实施例中,数据交换模块实现上述基本的三层交换功能、ACL访问控制、QoS控制功能,提供远程配置接口,网管平台可查询或修改ACL、QoS控制策略。传统的以太网交换机不需要修改,也不影响STP。数据交换模块按照配置的ACL决定是否转发内部虚拟机之间的数据报文。内部虚拟机之间数据交互在物理网卡处实现,不会转发到外部网络。ACL可以是根据源、目的IP地址加服务端口的方式配置,也可以是根据源、目的VLAN的方式配置。数据交换模块提供远程配置接口,网管平台可查询或修改ACL、QoS控制策略。
[0078]以图3所示的具体示例为例对本发明实施例进行进一步详细说明。虚拟机VMl和VM2在同一物理服务器内,并且都通过相同的物理网卡接入到外部网络。网管平台配置物理网卡上数据交换模块的ACL,即:源/目的IP地址访问规则,或源/目的VLAN访问规则。之后,执行以下操作:
[0079]VMl发送数据报文到数据交换模块,数据接收方是VM2,即:接收方地址为VM2的IP地址或VLAN标签;
[0080]数据交换模块判断接收方地址VM2是否在本物理网卡的管理范围内,即:根据ACL配置的IP地址或VLAN标签查询本地存储的ACL,若不在该物理网卡的管理范围内,不允许转发,则拒绝该数据报文转发请求;
[0081]若发送方地址与接收方地址在该物理网卡的管理范围内,VMl到VM2的数据交换是允许的,且接收方地址为物理服务器内部的虚拟机的地址,物理网卡直接将数据报文转发到VM2,另根据QoS控制策略,控制VMl到VM2数据报文的传输带宽和时延;
[0082]从内部VM发出的数据,若接收方地址不是物理服务器内部的虚拟机的地址,VLAN标签不属于内部数据报文转发范围,即目的IP地址或VLAN标签不属于物理服务器的内部转发范围,则物理网卡将数据报文转发到与它直连的外部以太网交换机。
[0083]本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0084]可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
[0085]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0086]本发明实施例相对于现有技术具有以下有益技术效果:
[0087]本发明实施例不需要修改传统交换机的软硬件,即不需要修改STP,不需要交换机升级软件;
[0088]本发明实施例同一物理服务器上虚拟机之间的数据流量全在服务器内部实现转发,减少了数据中心的网络流量,也大大降低了服务器网卡的出口流量;
[0089]数据交换模块提供远程配置接口,网管平台可查询或配置ACL、QoS控制策略。
[0090]本发明实施例的物理网卡可适用于各种类型的物理网卡;
[0091]本发明实施例的物理服务器可适用于云计算服务提供商对外提供的任意云主机 产品[0092]本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发 明从而设计适于特定用途的带有各种修改的各种实施例。
【权利要求】
1.一种虚拟机之间的数据交换方法,其特征在于,包括: 物理服务器上的物理网卡接收所述物理服务器上的虚拟机发送的数据报文,所述数据报文中包括发送方地址与接收方地址,所述发送方地址与接收方地址包括互联网协议IP地址或源虚拟局域网VLAN标签; 物理网卡查询预先设置的访问控制列表ACL,判断所述发送方地址和/或接收方地址是否在该物理网卡的管理范围内,所述ACL中包括源/目的IP地址访问规则,或源/目的VLAN访问规则; 响应于所述发送方地址或接收方地址不在该物理网卡的管理范围内,物理网卡拒绝转发所述数据报文; 响应于所述发送方地址与接收方地址在该物理网卡的管理范围内,物理网卡根据预先配置的所述物理服务器内部的虚拟机的地址信息,识别所述接收方地址是否为所述物理服务器内部的虚拟机的地址; 若所述接收方地址为所述物理服务器内部的虚拟机的地址,所述物理网卡直接将所述数据报文转发给所述接收方地址对应的虚拟机; 若所述接收方地址不是所述物理服务器内部的虚拟机的地址,所述物理网卡将所述数据报文转发给所述物理网卡直接连接的以太网交换机。
2.根据权利要求1所述的方法,其特征在于,所述物理网卡直接将所述数据报文转发给所述接收方地址对应 的物理机包括: 所述物理网卡查询预先设置的服务质量QoS控制策略,获取所述发送方地址和/或接收方地址对应的QoS控制信息,按照所述QoS控制信息直接将所述数据报文转发给所述接收方地址对应的物理机;所述QoS控制策略包括各发送方地址和/或接收方地址对应的QoS控制信息,所述QoS控制信息包括传输带宽与传输时延; 所述物理网卡将所述数据报文转发给所述物理网卡直接连接的以太网交换机包括: 所述物理网卡查询预先设置的服务质量QoS控制策略,获取所述发送方地址和/或接收方地址对应的QoS控制信息,按照所述QoS控制信息将所述数据报文转发给所述物理网卡直接连接的以太网交换机。
3.根据权利要求2所述的方法,其特征在于,还包括: 网管平台通过所述物理网卡上设置的远程配置接口,向所述物理网卡配置ACL与QoS控制策略。
4.根据权利要求3所述的方法,其特征在于,还包括: 网管平台通过所述物理网卡上设置的远程配置接口,查询所述物理网卡上配置的ACL与QoS控制策略,或者进一步对所述物理网卡上配置的ACL与QoS控制策略进行修改。
5.一种虚拟机之间的数据交换系统,其特征在于,包括位于同一个物理服务器上的物理网卡、虚拟机管理器、多个虚拟机,以及所述物理网卡直接连接的以太网交换机; 所述物理网卡,用于接收所述虚拟机发送的数据报文,所述数据报文中包括发送方地址与接收方地址,所述发送方地址与接收方地址包括互联网协议IP地址或源虚拟局域网VLAN标签;查询预先设置的访问控制列表ACL,判断所述发送方地址和/或接收方地址是否在该物理网卡的管理范围内,所述ACL中包括源/目的IP地址访问规则,或源/目的VLAN访问规则;响应于所述发送方地址或接收方地址不在该物理网卡的管理范围内,拒绝转发所述数据报文; 响应于所述发送方地址与接收方地址在该物理网卡的管理范围内,根据预先配置的所述物理服务器内部的虚拟机的地址信息,识别所述接收方地址是否为所述物理服务器内部的虚拟机的地址; 若所述接收方地址为所述物理服务器内部的虚拟机的地址,直接将所述数据报文转发给所述接收方地址对应的虚拟机; 若所述接收方地址不是所述物理服务器内部的虚拟机的地址,将所述数据报文转发给所述物理网卡直接连接的以太网交换机。
6.根据权利要求5所述的系统,其特征在于,所述物理网卡直接将所述数据报文转发给所述接收方地址对应的虚拟机时,具体查询预先设置的服务质量QoS控制策略,获取所述发送方地址和/或接收方地址对应的QoS控制信息,按照所述QoS控制信息直接将所述数据报文转发给所述接收方地址对应的虚拟机;所述QoS控制策略包括各发送方地址和/或接收方地址对应的QoS控制信息,所述QoS控制信息包括传输带宽与传输时延; 所述物理网卡将所述数据报文转发给所述物理网卡直接连接的以太网交换机时,具体查询预先设置的服务质量QoS控制策略,获取所述发送方地址和/或接收方地址对应的QoS控制信息,按照所述QoS控制信息将所述数据报文转发给所述物理网卡直接连接的以太网交换机。
7.根据权利要求6所述的系统,其特征在于,还包括: 网管平台,用于通过所述物理网 卡上设置的远程配置接口,向所述物理网卡配置ACL与QoS控制策略。
8.根据权利要求7所述的系统,其特征在于,所述网管平台,还用于通过所述物理网卡上设置的远程配置接口,查询所述物理网卡上配置的ACL与QoS控制策略,或者进一步对所述物理网卡上配置的ACL与QoS控制策略进行修改。
【文档编号】H04L12/24GK103905309SQ201210583665
【公开日】2014年7月2日 申请日期:2012年12月28日 优先权日:2012年12月28日
【发明者】司伟 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1