【技术实现步骤摘要】
【国外来华专利技术】虚拟机的数据交换方法、装置和系统
本专利技术涉及通信
,具体涉及一种虚拟机的数据交换方法、装置和系统。
技术介绍
在虚拟化技术产生以后,多个虚拟机(VM,VirtualMachine)共存于一个主机(Host,后文亦称为物理主机)内部,虚拟机对用户呈现好似一个正常的物理机,因此,除了虚拟机之间有数据交换需求之外,虚拟机与外界网络也有通信的需求。现在主流的虚拟机数据交换方案有软交换和硬交换两种,其中,软件交换指的是用软件模仿一个物理交换机的行为,实现较为繁琐;而硬交换指的是在网卡芯片上或利用物理交换机来实现一个交换逻辑的行为,也就是说,虚拟机对外的数据交换发生在硬件上,例如,具体可以使用硬件直通技术,将物理网卡接口直接分配给虚拟机,或者使用SR-IOV(单根I/O虚拟技术,SingleRootI/OVirtualization)网卡生成的VF(virtualfunction,SR-IOV设备模拟出来的虚拟设备),使得虚拟机能直接使用网卡,这样,数据交换就可以发生在物理交换机或网卡上的交换逻辑模块上。该方案可以消除虚拟机使用网络对主机的消耗,性能较好,而且网卡内部的第二层交换机(L2switch,Layer2switch)是查询内部VF的媒体接入层(MAC,MediaAccessControl)转发,逻辑上没有环路,可以避免生成树协议(STP,SpanningTreeProtocol)的开销,实现较为灵活。在对现有技术的研究和实践过程中,本专利技术的专利技术人发现,虽然现有的这种硬交换方案相对于软交换而言,性能和灵活性都有所提高,但其数据交换效率并不够高 ...
【技术保护点】
一种虚拟机的数据交换方法,其特征在于,包括:获取物理主机内需要发送给目的节点的数据,所述数据中携带目的节点的媒体接入层地址;根据所述数据中携带的目的节点的媒体接入层地址确定目的节点为本物理主机内的节点还是本物理主机外的节点;若为本物理主机内的节点,则确定目的虚拟网卡接口,通过所述目的虚拟网卡接口对应的目的虚拟网卡将所述数据发给对应的目的虚拟机;若为本物理主机外的节点,则确定物理网卡接口,通过所述物理网卡接口对应的物理网卡将所述数据发送至所述物理主机外。
【技术特征摘要】
【国外来华专利技术】1.一种虚拟机的数据交换方法,其特征在于,包括:获取物理主机内需要发送给目的节点的数据,所述数据中携带目的节点的媒体接入层地址;根据所述数据中携带的目的节点的媒体接入层地址确定目的节点为本物理主机内的节点还是本物理主机外的节点;若为本物理主机内的节点,则确定目的虚拟网卡接口,通过所述目的虚拟网卡接口对应的目的虚拟网卡将所述数据发给对应的目的虚拟机;若为本物理主机外的节点,则确定物理网卡接口,通过所述物理网卡接口对应的物理网卡将所述数据发送至所述物理主机外;其中,所述确定物理网卡接口,通过所述物理网卡接口对应的物理网卡将所述数据发送至所述物理主机外,包括:获取接收所述数据时所使用的虚拟网卡接口;根据所述虚拟网卡接口从第二映射表中查找得到与所述虚拟网卡接口对应的物理网卡接口,所述第二映射表包括虚拟网卡接口和物理网卡接口的对应关系;通过所述物理网卡接口对应的物理网卡将所述数据发送至所述物理主机外。2.根据权利要求1所述的方法,其特征在于,所述根据所述数据中携带的目的节点的媒体接入层地址确定目的节点为本物理主机内的节点还是本物理主机外的节点,包括:确定第一映射表中是否存在所述数据中携带的目的节点的媒体接入层地址,所述第一映射表包括媒体接入层地址和虚拟网卡接口的对应关系;若所述第一映射表中存在所述数据中携带的目的节点的媒体接入层地址,则确定目的节点为本物理主机内的节点;若所述第一映射表中不存在所述数据中携带的目的节点的媒体接入层地址,则确定目的节点为本物理主机外的节点。3.根据权利要求2所述的方法,其特征在于,所述确定目的虚拟网卡接口,通过所述目的虚拟网卡接口对应的目的虚拟网卡将所述数据发给对应的目的虚拟机,包括:根据所述数据中携带的目的节点的媒体接入层地址从第一映射表中查找与所述媒体接入层地址对应的虚拟网卡接口,所述与所述媒体接入层地址对应的虚拟网卡接口为目的虚拟网卡接口;通过所述目的虚拟网卡接口对应的目的虚拟网卡将所述数据发给对应的目的虚拟机。4.根据权利要求1所述的方法,其特征在于,所述根据所述数据中携带的目的节点的媒体接入层地址确定目的节点为本物理主机内的节点还是本物理主机外的节点,包括:根据所述数据中携带的目的节点的媒体接入层地址从第一映射表中查找与所述媒体接入层地址对应的虚拟网卡接口,所述第一映射表包括媒体接入层地址和虚拟网卡接口的对应关系;若查找到与所述媒体接入层地址对应的虚拟网卡接口,则确定目的节点为本物理主机内的节点;若查找不到与所述媒体接入层地址对应的虚拟网卡接口,则确定目的节点为本物理主机外的节点;其中,所述确定目的虚拟网卡接口为:确定所述查找到的与所述媒体接入层地址对应的虚拟网卡接口为所述目的虚拟网卡接口。5.根据权利要求2至4任一项所述的方法,其特征在于,还包括:检测到后端虚拟网卡接入本物理主机时,生成对应的虚拟网卡接口,并在所述第一映射表中添加对应于指定的媒体接入层地址的所述虚拟网卡接口;以及,检测到所述后端虚拟网卡从本物理主机上移除时,在所述第一映射表中删除对应于所述指定的媒体接入层地址的所述虚拟网卡接口。6.根据权利要求1项所述的方法,其特征在于,还包括:通过物理网卡接收来自物理主机外的数据,该来自物理主机外的数据中携带目的节点的媒体接入层地址;根据所述来自物理主机外的数据中携带的目的节点的媒体接入层地址确定对应的目的虚拟网卡接口;通过所述目的虚拟网卡接口对应的目的虚拟网卡将所述来自物理主机外的数据发送给对应的目的虚拟机。7.根据权利要求6所述的方法,其特征在于,所述根据所述来自物理主机外的数据中携带的目的节点的媒体接入层地址确定对应的目的虚拟网卡接口,包括:根据所述来自物理主机外的数据中携带的目的节点的媒体接入层地址,从第一映射表中查找与所述媒体接入层地址对应的虚拟网卡接口,所述与所述媒体接入层地址对应的虚拟网卡接口为目的虚拟网卡接口,所述第一映射表包括媒体接入层地址和虚拟网卡接口的对应关系。8.根据权利要求7所述的方法,其特征在于,所述通过物理网卡接收来自物理主机外的数据之后,还包括:根据所述来自物理主机外的数据中携带的目的节点的媒体接入层地址,从所述第一映射表中查找不到与所述媒体接入层地址对应的虚拟网卡接口时,丢弃所述来自物理主机外的数据。9.一种虚拟机的数据交换装置,其特征在于,包括:获取单元,用于获取物理主机内需要发送给目的节点的数据,所述数据中携带目的节点的媒体接入层地址;判断单元,用于根据所述数据中携带的目的节点的媒体接入层地址确定目的节点为本物理主机内的节点还是本物理主机外的节点;第一处理单元,用于在所述判断单元确定目的节点为本物理主机内的节点时,确定目的虚拟网卡接口,通过所述目的虚拟网卡接口对应的目的虚拟网卡将所述数据发给对应的目的虚拟机;第二处理单元,用于在所述判断单元确定目的节点为本物理主机外的节点时,确定物理网卡接口,通过所述物理网卡接口对应的物理网卡将所述数据发送至所述物理主机外;其中,所述第二处理单元,具体用于在所述判断单元确定目的节点为本物理主机外的节点时,获取接收述数据时所使用的虚拟网卡接口,根据所述虚拟网卡接口从第二映射表中查找得到与所述虚拟网卡接口对应的物理网卡接口,通过所述物理网卡接口对应的物理网卡将所述数据发送至所述物理主机外;所述第二映射表包括虚拟网卡接口和物理网卡接口的对应关系。10.根据权利要求9所述的虚拟机的数据交换装置,其特征在于,所述判断单元,具体用于确定第一映射表中是否存在所述数据中携带的目的节点的媒体接入层地址,若存在所述数据中携带的目的节点的媒体接入层地址,则确定目的节点为本物理主机内的节点,若不存在所述数据中携带的目的节点的媒体接入层地址,则确定目的节点为本物理主机外的节点;所述第一映射表包括媒体接入层地址和虚拟网卡接口的对应关系。11.根据权利要求10所述的虚拟机的数据交换装置,其特征在于,所述第一处理单元,具体用于在判断单元确定目的节点为本物理主机内的节点时,根据所述数据中携带的目的节点的媒体接入层地址从第一映射表中查找与所述媒体接入层地址对应的虚拟网卡接口,所述与所述媒体接入层地址对应的虚拟网卡接口为目的虚拟网卡接口,通过所述目的虚拟网卡接口对应的目的虚拟网卡将所述数据发给对应的目的虚拟机。12.根据权利要求9所述的虚拟机的数据交换装置,其特征在于,所述判断单元,具体用于根据所述数据中携带的目的节点的媒体接入层地址从第一映射表中查找与所述媒体接入层地址对应的虚拟网卡接口;若查找到与所述媒体接入层地址对应的虚拟网卡接口,则确定目的节点为本物理主机内的节点;若查找不到与所述媒体接入层地址对应的虚拟网卡接口,则确定目的节点为本物理主机外的节点,所述第一映射表包括媒体接入层地址和虚拟网卡接口的对应关系;则所述第一处理单元,具体用于在判断单元确定目的节点为本物理主机内的节点时,确定所述查找到的与所述媒体接入层地址对应的虚拟网卡接口为所述目的虚拟网卡接口。13.根据权利要求10至12任一项所述的虚拟机的数据交换装置,其特征在于,还包括检测单元;检测单元,用于检测到后端虚拟网卡接入本物理主机时,生成对应的虚拟网卡接口,并在所述第一映射表中添加对应于指定的媒体接入层地址的所述虚拟网卡接口;以及,检测到所述后端虚拟网卡从本物理主机上移除时,在所述第一映射表中删除对应于所述指定的媒体接入层地址的所述虚拟网卡接口。14.根据权利要求9所述的虚拟机的数据交换装置,其特征在于,还包括接收单元、确定单元和发送单元;接收单元,用于通过物理网卡接收来自物理主机外的数据,该来自物理主机外的数据中携带目的节点的媒体接入层地址;确定单元,用于根据所述来自物理主...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。