CN109714238B - 一种用于实现虚拟机间通信的方法及设备 - Google Patents
一种用于实现虚拟机间通信的方法及设备 Download PDFInfo
- Publication number
- CN109714238B CN109714238B CN201811513715.1A CN201811513715A CN109714238B CN 109714238 B CN109714238 B CN 109714238B CN 201811513715 A CN201811513715 A CN 201811513715A CN 109714238 B CN109714238 B CN 109714238B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- message
- information
- bridge
- routing
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请的目的是提供一种用于实现虚拟机间通信的方法及设备,本申请通过与虚拟机位于同一主机上的代理捕获主代理向所述虚拟机发送的优化报文信息;基于所述优化报文信息创建用于连接第一虚拟局域网接口网桥和第二虚拟局域网接口网桥的路由网桥,其中,所述虚拟机包括第一虚拟机和第二虚拟机;确定流量由所述路由网桥进行转发的地址转换规则及导流规则,其中,所述流量包括报文和报文反馈信息;根据所述地址转换规则及导流规则完成所述虚拟机间的通信。可以减少出错的概率,提高网络可靠性,同时不干扰传统路由,传统设备可以方便的接入。另外,具有较低的延时,不依赖于数据库,任何情况下优先保证了用户业务不受影响。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种用于实现虚拟机间通信的方法及设备。
背景技术
随着互联网技术的快速发展及用户对互联网的不断增加的需求,建立了具有各种各样能力的更大的数据中心以满足需求。其中,虚拟化技术的发展使得可以在数据中心中实现大量虚拟机(Virtual Machine,VM),这些虚拟机实质上可以作为物理机操作,并执行诸如Web服务器或数据库服务器的各种功能。属于不同网络上两个虚拟机(VM)分别属于不同网段时,无法直接通信。传统的实现方式是两个虚拟机间的直接流量必须经过中间的云路由进行路由才可以完成,但当云路由连接大量虚拟机、上面有大流量时,云路由将会成为瓶颈,当云路由相关链路抖动时,会导致所有连接的虚拟机网络不正常,路由转发也增加了延时。现有技术中,可采用OpenStack方式,但该方式路径、逻辑复杂导致出错率高,每个计算节点上对每个三层网络都要实现一个虚拟路由器,增加了很多负载,无论是否有通信需求都会将所有规则、虚拟路由建立好,增加了浪费,另外,由于没有集中路由导致虚拟机与非云平台资源通信,一旦分布式路由出现问题,报文无法被送到集中式路由,降低了网络可用性等问题。
发明内容
本申请的一个目的是提供一种用于实现虚拟机间通信的方法及设备,解决现有技术中使用路由进行转发导致增加了延时,路径的逻辑复杂导致出错率高以及网络可用性低等问题。
根据本申请的一个方面,提供了一种用于实现虚拟机间通信的方法,该方法包括:
与虚拟机位于同一主机上的代理捕获主代理向所述虚拟机发送的优化报文信息;
基于所述优化报文信息创建用于连接第一虚拟局域网接口网桥和第二虚拟局域网接口网桥的路由网桥,其中,所述虚拟机包括第一虚拟机和第二虚拟机;
确定流量由所述路由网桥进行转发的地址转换规则及导流规则,其中,所述流量包括报文和报文反馈信息;
根据所述地址转换规则及导流规则完成所述虚拟机间的通信。
进一步地,所述地址转换规则包括:
当所述第一虚拟机向所述第二虚拟机发送报文时,将所述报文的目的MAC地址由所述第一虚拟机对应的路由网关的MAC地址修改为所述第二虚拟机的MAC地址;
当所述第二虚拟机向所述第一虚拟机发送报文反馈信息时,将所述报文反馈信息的目的MAC地址由所述第二虚拟机对应的路由网关的MAC地址修改为所述第一虚拟机的MAC地址。
进一步地,所述导流规则包括:
当所述第一虚拟机向所述第二虚拟机发送报文时,由所述第一虚拟局域网接口网桥通过所述路由网桥转发后至所述第二虚拟局域网接口网桥;
当所述第二虚拟机向所述第一虚拟机发送报文反馈信息时,由所述第二虚拟局域网接口网桥通过所述路由网桥转发后至所述第一虚拟局域网接口网桥。
进一步地,所述优化报文信息由所述主代理根据第一报文的路由信息确定。
进一步地,与虚拟机位于同一主机上的代理捕获主代理向所述虚拟机发送的优化报文信息之前,包括:
通过所述主代理捕获所述第一报文的路由信息,其中,所述主代理与所述第一报文经过的路由位于同一主机上,所述路由将所述第一报文的路由信息记录在连接跟踪表中。
进一步地,所述第一报文的路由信息包括:所述第一报文的发送路由信息和所述第一报文的反馈路由信息,
其中,所述第一报文的发送路由信息包括由所述第一虚拟机将所述第一报文发送至所述第一虚拟局域网接口,经所述路由的网关转发后从所述第二虚拟局域网接口至所述第二虚拟机的通路状态信息;
所述第一报文的反馈路由信息包括由所述第二虚拟机将接收到所述第一报文确定的反馈信息发送至所述第二虚拟局域网接口,经所述路由的网关转发后从所述第一虚拟局域网接口至所述第一虚拟机的通路状态信息。
进一步地,基于所述优化报文信息创建用于连接第一虚拟局域网接口网桥和第二虚拟局域网接口网桥的路由网桥之后,包括:
在发送流量的虚拟局域网接口网桥上识别所述流量,以将所述流量导流至所述路由网桥;
通过所述路由网桥进行MAC地址和端口的匹配,将所述流量转发至接收流量的虚拟局域网接口网桥上。
进一步地,所述优化报文信息由所述主代理根据第一报文的路由信息确定,包括:
所述主代理基于所述第一报文的路由信息及预设的触发条件向确定优化报文信息。
进一步地,所述触发条件包括以下任一项:
所述第一报文的发送路由信息中的通路状态信息和所述第一报文的反馈路由信息中的通路状态信息均为互通状态;
所述第一虚拟机和所述第二虚拟机之间的流量发生降级。
进一步地,基于所述优化报文信息创建用于连接第一虚拟局域网接口网桥和第二虚拟局域网接口网桥的路由网桥之前,包括:
所述主代理基于所述第一报文的路由信息向所述虚拟机发送检查指令信息;
与所述虚拟机位于同一主机上的代理捕获所述检查指令信息,并根据所述检查指令信息向所述主代理反馈检查结果;
所述主代理根据所述检查结果向所述虚拟机按照预设协议格式发送优化报文信息。
根据本申请另一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种用于实现虚拟机间通信的方法。
根据本申请再一个方面,还提供了一种用于实现虚拟机间通信的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行前述所述的用于实现虚拟机间通信的方法的操作。
与现有技术相比,本申请通过与虚拟机位于同一主机上的代理捕获主代理向所述虚拟机发送的优化报文信息;基于所述优化报文信息创建用于连接第一虚拟局域网接口网桥和第二虚拟局域网接口网桥的路由网桥,其中,所述虚拟机包括第一虚拟机和第二虚拟机;确定流量由所述路由网桥进行转发的地址转换规则及导流规则,其中,所述流量包括报文和报文反馈信息;根据所述地址转换规则及导流规则完成所述虚拟机间的通信。规则和配置相对现有方式少,从而可以减少出错的概率;当分布式路由的规则失效或发生问题时,流量可以被降级到传统路径,保证网络可用,同时不干扰传统路由,传统设备可以方便的接入。另外,具有较低的延时,不依赖于数据库,任何情况下优先保证了用户业务不受影响。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出本申请的一个方面提供的一种用于实现虚拟机间通信的方法流程示意图;
图2示出本申请一实施例中用于实现虚拟机间通信的路径的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出本申请的一个方面提供的一种用于实现虚拟机间通信的方法流程示意图,该方法包括:步骤S11~步骤S14,
在步骤S11中,与虚拟机位于同一主机上的代理捕获主代理向所述虚拟机发送的优化报文信息;在此,主代理Agent为路由器网络代理,可以将控制命令发送到虚拟机,位于虚拟机所在物理机上的网络代理(计算机节点网络代理)捕获该控制命令,计算节点网络代理回复信息到路由器网络代理。在SDN网络中,云路由为分布式路由。主代理向虚拟机发送优化报文信息,与虚拟机上位于同一主机上的代理捕获该优化报文信息。
接着,在步骤S12中,基于所述优化报文信息创建用于连接第一虚拟局域网接口网桥和第二虚拟局域网接口网桥的路由网桥,其中,所述虚拟机包括第一虚拟机和第二虚拟机;在此,与虚拟机位于同一主机上的代理捕获到优化报文信息后,创建路由网桥,该路由网桥连接第一虚拟机局域网接口网桥和第二虚拟局域网接口网桥,其中,第一虚拟局域网接口网桥(VLAN1网桥)为第一虚拟机的虚拟局域网接口网桥,第二虚拟局域网接口网桥(VLAN2网桥)为第二虚拟机的虚拟局域网接口网桥。
在步骤S13中,确定流量由所述路由网桥进行转发的地址转换规则及导流规则,其中,所述流量包括报文和报文反馈信息;在此,创建路由网桥后,确定虚拟机的直接流量经路由网桥进行转发时的地址转换规则及导流规则,其中,当第一虚拟机向第二虚拟机发送报文时,流量为报文,当第二虚拟机根据接收到的报文向第一虚拟机发送报文反馈信息时,流量为报文反馈信息,地址转换规则用于修改发送流量的虚拟机与接收流量的虚拟机的地址(比如MAC地址),以方便通过建立好的路由网桥进行转发流量,导流规则用于将流量引入路由网桥,通过路由网桥实现流量在虚拟机之间的传输。
在步骤S14中,根据所述地址转换规则及导流规则完成所述虚拟机间的通信。在此,根据确定的地址转换规则和导流规则建立起虚拟机之间的报文路径,从第一虚拟机向第二虚拟机发送的报文按照该报文路径到达第二虚拟机,避免通过云路由进行转发,且匹配规则和配置少,减少了出错的概率。
具体地,所述地址转换规则包括:当所述第一虚拟机向所述第二虚拟机发送报文时,将所述报文的目的MAC地址由所述第一虚拟机对应的路由网关的MAC地址修改为所述第二虚拟机的MAC地址;当所述第二虚拟机向所述第一虚拟机发送报文反馈信息时,将所述报文反馈信息的目的MAC地址由所述第二虚拟机对应的路由网关的MAC地址修改为所述第一虚拟机的MAC地址。在此,当第一虚拟机(VM1)向第二虚拟机(VM2)发送报文时,下发地址转换规则将VM1往VM2的流量的目的MAC地址由第一虚拟机对应的云路由网关的MAC地址修改为虚拟机VM2的MAC地址;当第二虚拟机VM2返回报文的反馈信息时,地址转换规则将VM2往VM1的流量的目的MAC地址由第二虚拟机对应的云路由网关的MAC地址修改为虚拟机VM1的MAC地址,比如,第一虚拟机位于10.0.1.0/24的网络上,第二虚拟机位于10.0.2.0/24的网络上,第一虚拟机向第二虚拟机发送报文时,走的传统路径是通过云路由转发,云路由上包括网关10.0.1.1和网关10.0.2.1,其中,网关10.0.1.1为第一虚拟机向第二虚拟机发送报文时的目的MAC地址,网关10.0.2.1为第二虚拟机向第一虚拟机返回信息时的目的MAC地址,则当建立起路由网桥后,第一虚拟机向第二虚拟机发送后续报文时,需要将从第一虚拟机向第二虚拟机的流量的目的MAC地址由网关10.0.1.1修改为第二虚拟机的MAC地址,同样,在第二虚拟机返回信息时,需要将从第二虚拟机向第一虚拟机的流量的目的MAC地址由网关10.0.2.1修改为第一虚拟机的MAC地址。
具体地,所述导流规则包括:当所述第一虚拟机向所述第二虚拟机发送报文时,由所述第一虚拟局域网接口网桥通过所述路由网桥转发后至所述第二虚拟局域网接口网桥;当所述第二虚拟机向所述第一虚拟机发送报文反馈信息时,由所述第二虚拟局域网接口网桥通过所述路由网桥转发后至所述第一虚拟局域网接口网桥。在此,当第一虚拟机VM1向第二虚拟机VM2发送报文时,需要将该报文流量从VLAN1网桥导流到路由网桥,通过路由网桥转发至VLAN2网桥。当第二虚拟机VM2向第一虚拟机VM1返回信息时,将该返回信息的流量从VLAN2网桥导流到路由网桥,通过路由网桥转发至VLAN1网桥。
在本申请一实施例中,所述优化报文信息由所述主代理根据第一报文的路由信息确定。具体地:通过所述主代理捕获所述第一报文的路由信息,其中,所述主代理与所述第一报文经过的路由位于同一主机上,所述路由将所述第一报文的路由信息记录在连接跟踪表中。在此,第一报文为位于不同网络中的虚拟机之间进行通信时发送的第一个报文,虚拟机发送第一报文时因无法找到对方虚拟机的MAC地址,需要通过云路由进行转发,第一报文经过云路由进行转发时发生了路由,与第一报文经过的云路由位于同一主机上的主代理(Agent)捕获该路由过程,得到路由信息。云路由将第一报文的路由信息记录在连接跟踪表中。
在本申请一实施例中,所述第一报文的路由信息包括:所述第一报文的发送路由信息和所述第一报文的反馈路由信息,其中,所述第一报文的发送路由信息包括由所述第一虚拟机将所述第一报文发送至所述第一虚拟局域网接口,经所述路由的网关转发后从所述第二虚拟局域网接口至所述第二虚拟机的通路状态信息;所述第一报文的反馈路由信息包括由所述第二虚拟机将接收到所述第一报文确定的反馈信息发送至所述第二虚拟局域网接口,经所述路由的网关转发后从所述第一虚拟局域网接口至所述第一虚拟机的通路状态信息。在此,如图2所示,虚拟机1位于物理机1上,虚拟机2位于物理机2上,云路由位于物理机3上,位于网络10.0.1.11/24的虚拟机1向位于网络10.0.2.12/24的虚拟机2发送报文时,第一个报文走的路径为从虚拟网卡依次经过VLAN1网桥、VLAN子接口至物理机1上的第一物理网卡,经过物理机3上的第三物理网卡到VLAN1子接口、VLAN网桥、虚拟网卡到达云路由上的网关10.0.1.1,通过云路由上的网关10.0.2.1转发,依次经过虚拟机网卡、VLAN2网桥、VLAN子接口到第三物理网卡,通过第三物理网卡到达虚拟机2上的物理机2上的物理网卡(第二物理网卡),经过VLAN2子接口、VLAN网桥到达虚拟网卡后再到虚拟机2,通过云路由进行转发的这一路径被记录在连接跟踪表中;同样的,从虚拟机2返回的信息到虚拟机1时,同样经过云路由转发,返回的路径也被记录在连接跟踪表中。主代理判断捕获到从虚拟机1向虚拟机2的流量经过云路由转发的这一路径是否为通路状态以及从虚拟机2返回虚拟机1的流量经过云路由转发的这一路径是否为通路状态,当都为通路状态时,可以向虚拟机下发后续报文走优化路径(第二报文路径)的指令,建立后续报文走的优化路径,其中,优化路径为通过建立路由网桥以及确定的地址转换规则、导流规则确的路径。
在本申请一实施例中,基于主代理向虚拟机发送的优化报文信息创建用于连接第一虚拟局域网接口网桥和第二虚拟局域网接口网桥的路由网桥之后,在发送流量的虚拟局域网接口网桥上识别所述流量,以将所述流量导流至所述路由网桥;通过所述路由网桥进行MAC地址和网桥接口的匹配,将所述流量转发至接收流量的虚拟局域网接口网桥上。在此,当VM1向VM2发送报文时,VM1为发送流量的虚拟机,则VLAN1网桥为发送流量的虚拟局域网接口网桥,VM2为接收流量的虚拟机,则VLAN2网桥为接收流量的虚拟局域网接口网桥,在VLAN1网桥上识别到该流量后,将该流量从VLAN1网桥导流到路由网桥中,路由网桥通过MAC地址和端口匹配,将该流量转发至VLAN2网桥。同样的,当VM2向VM1返回信息时,VM2的VLAN2网桥为发送流量的虚拟局域网接口网桥,返回路径为通过路由网桥的MAC地址及网桥接口匹配转发至VLAN1网桥上。
在本申请一实施例中,所述主代理基于所述第一报文的路由信息及预设的触发条件向确定优化报文信息。其中,所述触发条件包括以下任一项:所述第一报文的发送路由信息中的通路状态信息和所述第一报文的反馈路由信息中的通路状态信息均为互通状态;所述第一虚拟机和所述第二虚拟机之间的流量发生降级。
在此,第一报文走过的路径为第一路径,根据第一路径确定路由信息,进而分析该路由信息,确定第一路径是否正常,若正常,满足预设的触发条件,触发后续的报文走第二报文路径,其中,第二报文路径为不通过路由器的路径,而是通过主代理向第一报文关联的虚拟机反馈优化报文信息,创建路由网桥,通过路由网桥进行转发,以进行所述第一虚拟机与第二虚拟机之间的通信。本申请所述的实施例中以旁路的方式获取报文的信息,不依赖于数据库,从而在任何情况下优先保证用户业务不受影响,其中,旁路的方式为通过代理监听的方式。触发条件还包括所述第一虚拟机和第二虚拟机之间的流量发生降级的情况,当发生流量降级后,报文所走路径降为走第一路径,若第一虚拟机和第二虚拟机之间的流量仍为活跃状态,则将再次触发报文走优化路径。进而满足只对活跃连接优化,不做非必要的优化动作,且在最差网络情况下只会引起流量降级而不会中断虚拟机之间的通信链路。需要说明的是,当所述第一报文的通路状态信息为不通状态时,虚拟机关机或进行安全组隔离。
在本申请一实施例中,所述方法包括:步骤S10,所述主代理基于所述第一报文的路由信息向所述虚拟机发送检查指令信息;与所述虚拟机位于同一主机上的代理捕获所述检查指令信息,并根据所述检查指令信息向所述主代理反馈检查结果;所述主代理根据所述检查结果向所述虚拟机按照预设协议格式发送优化报文信息。在此,云路由上的主代理发送检查指令到计算节点上,以检查各计算节点是否正常,计算节点上的网络代理是否存活,计算节点上的网络代理通过截获的方式捕获到该检查指令,检查是否正常后回复检查结果,当检查结果为正常时,主代理按照预设协议格式向虚拟机发送优化报文信息。其中,预设协议格式基于IP协议,计算节点上的网络代理监听进入计算节点的为预设协议格式的全部流量,路由器上的网络代理监听进入路由器的为预设协议格式的全部流量,从而路由器上的网络代理只需要向需要优化流量的虚拟机发送预设协议格式的报文,报文在物理机上被拦截和解析,从而达到将控制指令通过预设协议格式在不知道虚拟机所在计算节点的前提下发送到正确的计算节点,而且这种正确性由网络底层的运行来保障,因此不会有数据库信息错误、过时等风险。其中,计算节点为分布式网络中的第一虚拟机所在的主机和第二虚拟机所在的主机。
在本申请一实施例中,继续参考图2,虚拟机1发送第一报文到虚拟机2,先通过VLAN1发到网关10.0.1.1,第一报文经过云路由转发至VLAN2从而到达虚拟机2,虚拟机2通过相同路径回复报文,云路由上的连接跟踪表记录该条连接。云路由上的网络代理(主代理)发送检查指令到计算节点上的虚拟机(虚拟机1和虚拟机2),以检查计算节点上的网络代理(网络代理1和网络代理2)是否存活,当存活时,主代理向虚拟机1和虚拟机2下发优化报文信息,网络代理1和网络代理2通过截获方式获得该优化报文信息的指令,从而虚拟机1所在的计算节点上的网络代理1会创建路由网桥,连接VLAN1网桥和VLAN2网桥,并下发地址转换规则将虚拟机1往VM2的流量的目的MAC地址由云路由10.0.1.1的MAC修改为虚拟机2的MAC地址,下发导流规则将虚拟机1发往虚拟机2的流量从VLAN1网桥导流到路由网桥,再转发到VLAN2网桥。同样在虚拟机2所在的计算节点上的网络代理2创建路由网桥以及根据地址转换规则及导流规则,建立起从虚拟机2发往虚拟机1的流量的路径。后续报文所走的路径为上述通过路由网桥进行转发的路径。
通过本申请所述的实现虚拟机间通信的方法,规则和配置少可以减少出错的概率,当分布式路由的规则失效或发生问题时,流量可以被降级到传统路径,保证网络可用,同时不干扰传统路由,传统设备可以方便的接入。另外,具有较低的延时,不依赖于数据库,任何情况下优先保证了用户业务不受影响。
本申请所述的实施例基于SDN网络,其中,SDN网络为软件定义网络(SoftwareDefined Network)是一种新型的网络创新架构,其通过将网络设备控制面与数据面进行解耦,从而实现了对网络流量的灵活控制。
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述所述的用于实现虚拟机间通信的方法。
根据本申请再一个方面,还提供了一种用于实现虚拟机间通信的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行前述所述方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:
与虚拟机位于同一主机上的代理捕获主代理向所述虚拟机发送的优化报文信息;
基于所述优化报文信息创建用于连接第一虚拟局域网接口网桥和第二虚拟局域网接口网桥的路由网桥,其中,所述虚拟机包括第一虚拟机和第二虚拟机;
确定流量由所述路由网桥进行转发的地址转换规则及导流规则,其中,所述流量包括报文和报文反馈信息;
根据所述地址转换规则及导流规则完成所述虚拟机间的通信。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (12)
1.一种用于实现虚拟机间通信的方法,其中,所述方法包括:
与虚拟机位于同一主机上的代理捕获主代理向所述虚拟机发送的优化报文信息;
基于所述优化报文信息创建用于连接第一虚拟局域网接口网桥和第二虚拟局域网接口网桥的路由网桥,其中,所述虚拟机包括第一虚拟机和第二虚拟机;
确定流量由所述路由网桥进行转发的地址转换规则及导流规则,其中,所述流量包括报文和报文反馈信息;
根据所述地址转换规则及导流规则完成所述虚拟机间的通信。
2.根据权利要求1所述的方法,其中,所述地址转换规则包括:
当所述第一虚拟机向所述第二虚拟机发送报文时,将所述报文的目的MAC地址由所述第一虚拟机对应的路由网关的MAC地址修改为所述第二虚拟机的MAC地址;
当所述第二虚拟机向所述第一虚拟机发送报文反馈信息时,将所述报文反馈信息的目的MAC地址由所述第二虚拟机对应的路由网关的MAC地址修改为所述第一虚拟机的MAC地址。
3.根据权利要求1所述的方法,其中,所述导流规则包括:
当所述第一虚拟机向所述第二虚拟机发送报文时,由所述第一虚拟局域网接口网桥通过所述路由网桥转发后至所述第二虚拟局域网接口网桥;
当所述第二虚拟机向所述第一虚拟机发送报文反馈信息时,由所述第二虚拟局域网接口网桥通过所述路由网桥转发后至所述第一虚拟局域网接口网桥。
4.根据权利要求1所述的方法,其中,所述优化报文信息由所述主代理根据第一报文的路由信息确定。
5.根据权利要求4所述的方法,其中,与虚拟机位于同一主机上的代理捕获主代理向所述虚拟机发送的优化报文信息之前,包括:
通过所述主代理捕获所述第一报文的路由信息,其中,所述主代理与所述第一报文经过的路由位于同一主机上,所述路由将所述第一报文的路由信息记录在连接跟踪表中。
6.根据权利要求5所述的方法,其中,所述第一报文的路由信息包括:所述第一报文的发送路由信息和所述第一报文的反馈路由信息,
其中,所述第一报文的发送路由信息包括由所述第一虚拟机将所述第一报文发送至所述第一虚拟局域网接口,经所述路由的网关转发后从所述第二虚拟局域网接口至所述第二虚拟机的通路状态信息;
所述第一报文的反馈路由信息包括由所述第二虚拟机将接收到所述第一报文确定的反馈信息发送至所述第二虚拟局域网接口,经所述路由的网关转发后从所述第一虚拟局域网接口至所述第一虚拟机的通路状态信息。
7.根据权利要求1所述的方法,其中,基于所述优化报文信息创建用于连接第一虚拟局域网接口网桥和第二虚拟局域网接口网桥的路由网桥之后,包括:
在发送流量的虚拟局域网接口网桥上识别所述流量,以将所述流量导流至所述路由网桥;
通过所述路由网桥进行MAC地址和网桥接口的匹配,将所述流量转发至接收流量的虚拟局域网接口网桥上。
8.根据权利要求4所述的方法,其中,所述优化报文信息由所述主代理根据第一报文的路由信息确定,包括:
所述主代理基于所述第一报文的路由信息及预设的触发条件向确定优化报文信息。
9.根据权利要求8所述的方法,其中,所述预设的触发条件包括以下任一项:
所述第一报文的发送路由信息中的通路状态信息和所述第一报文的反馈路由信息中的通路状态信息均为互通状态;
所述第一虚拟机和所述第二虚拟机之间的流量发生降级。
10.根据权利要求4所述的方法,其中,基于所述优化报文信息创建用于连接第一虚拟局域网接口网桥和第二虚拟局域网接口网桥的路由网桥之前,包括:
所述主代理基于所述第一报文的路由信息向所述虚拟机发送检查指令信息;
与所述虚拟机位于同一主机上的代理捕获所述检查指令信息,并根据所述检查指令信息向所述主代理反馈检查结果;
所述主代理根据所述检查结果向所述虚拟机按照预设协议格式发送优化报文信息。
11.一种用于实现虚拟机间通信的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至10中任一项所述方法的操作。
12.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811513715.1A CN109714238B (zh) | 2018-12-11 | 2018-12-11 | 一种用于实现虚拟机间通信的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811513715.1A CN109714238B (zh) | 2018-12-11 | 2018-12-11 | 一种用于实现虚拟机间通信的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109714238A CN109714238A (zh) | 2019-05-03 |
CN109714238B true CN109714238B (zh) | 2021-08-10 |
Family
ID=66255599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811513715.1A Active CN109714238B (zh) | 2018-12-11 | 2018-12-11 | 一种用于实现虚拟机间通信的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109714238B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112468353B (zh) * | 2019-09-09 | 2023-11-21 | 华为数字技术(苏州)有限公司 | 一种网络可达性检测方法及装置 |
CN111367620B (zh) * | 2020-03-06 | 2024-04-23 | 联想(北京)有限公司 | 一种虚拟网络实现方法及电子设备 |
CN113709052B (zh) * | 2020-05-21 | 2024-02-27 | 中移(苏州)软件技术有限公司 | 一种网络报文的处理方法、装置、电子设备和存储介质 |
CN113709200B (zh) * | 2020-05-21 | 2023-11-28 | 阿里巴巴集团控股有限公司 | 一种建立通信连接的方法及装置 |
CN112217689B (zh) * | 2020-09-11 | 2022-05-31 | 苏州浪潮智能科技有限公司 | 一种基于OpenStack实现的网络报文跟踪方法及*** |
CN113612689A (zh) * | 2021-08-11 | 2021-11-05 | 优刻得科技股份有限公司 | 报文转发方法、***、设备和介质 |
CN114039811B (zh) * | 2021-10-18 | 2023-07-25 | 南京邮电大学 | 局域网内快速通信方法 |
CN115150327B (zh) * | 2022-06-29 | 2024-06-14 | 郑州浪潮数据技术有限公司 | 一种接口设置方法、装置、设备及介质 |
CN115396323B (zh) * | 2022-08-12 | 2024-03-12 | 徐州恒佳电子科技有限公司 | 一种基于有限状态机的端口实时数据流可视化方法及其*** |
CN116599901B (zh) * | 2023-06-13 | 2024-01-23 | 苏州浪潮智能科技有限公司 | 业务调度方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465863A (zh) * | 2009-01-14 | 2009-06-24 | 北京航空航天大学 | 一种内核虚拟机环境下高效网络i/o的实现方法 |
CN102075434A (zh) * | 2011-01-28 | 2011-05-25 | 华中科技大学 | 一种虚拟集群中的通信方法 |
CN102801599A (zh) * | 2012-07-26 | 2012-11-28 | 华为技术有限公司 | 一种通信方法和*** |
CN103780674A (zh) * | 2013-11-13 | 2014-05-07 | 南京中兴新软件有限责任公司 | 一种基于硬件模拟的虚拟机通信方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090296726A1 (en) * | 2008-06-03 | 2009-12-03 | Brocade Communications Systems, Inc. | ACCESS CONTROL LIST MANAGEMENT IN AN FCoE ENVIRONMENT |
-
2018
- 2018-12-11 CN CN201811513715.1A patent/CN109714238B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465863A (zh) * | 2009-01-14 | 2009-06-24 | 北京航空航天大学 | 一种内核虚拟机环境下高效网络i/o的实现方法 |
CN102075434A (zh) * | 2011-01-28 | 2011-05-25 | 华中科技大学 | 一种虚拟集群中的通信方法 |
CN102801599A (zh) * | 2012-07-26 | 2012-11-28 | 华为技术有限公司 | 一种通信方法和*** |
CN103780674A (zh) * | 2013-11-13 | 2014-05-07 | 南京中兴新软件有限责任公司 | 一种基于硬件模拟的虚拟机通信方法和装置 |
Non-Patent Citations (1)
Title |
---|
《虚拟机迁移***网络连接重定向技术》;温抿雄;《计算机应用研究》;20090515;第26卷(第5期);第1839-1843页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109714238A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714238B (zh) | 一种用于实现虚拟机间通信的方法及设备 | |
US11050586B2 (en) | Inter-cloud communication method and related device, and inter-cloud communication configuration method and related device | |
EP3482532B1 (en) | Automatic service function validation in a virtual network environment | |
RU2595540C9 (ru) | Базовые контроллеры для преобразования универсальных потоков | |
EP3437259B1 (en) | Interworking between physical network and virtual network | |
CN115699698A (zh) | 虚拟l2网络中的环路防止 | |
CN107646185A (zh) | 在覆盖数据中心环境中的操作、管理和处理(oam) | |
US11652743B2 (en) | Internet group management protocol (IGMP) of a layer-2 network in a virtualized cloud environment | |
CN105052113A (zh) | 针对网络设备的共同代理框架 | |
CN113326228A (zh) | 基于远程直接数据存储的报文转发方法、装置及设备 | |
CN111913782A (zh) | 一种基于隧道技术实现虚拟机流量镜像的方法与设备 | |
US20210176172A1 (en) | Packet forwarding method, device and apparatus, and storage medium | |
WO2021103657A1 (zh) | 网络操作方法、装置、设备和存储介质 | |
CN110519079B (zh) | 一种数据转发方法、装置、网板、网络设备和存储介质 | |
EP4029203A1 (en) | Determining connectivity between compute nodes in multi-hop paths | |
US20150301571A1 (en) | Methods and apparatus for dynamic mapping of power outlets | |
CN113489640A (zh) | 报文转发方法、装置及网关*** | |
US20230370371A1 (en) | Layer-2 networking storm control in a virtualized cloud environment | |
WO2020029928A1 (zh) | Bgp会话建立、发送接口地址和别名的方法及网络设备 | |
WO2020181733A1 (zh) | 一种基于vpc的多数据中心互通方法及相关设备 | |
WO2023093513A1 (zh) | 路径感知方法、装置及*** | |
CN109450794B (zh) | 一种基于sdn网络的通信方法及设备 | |
CN109710423B (zh) | 一种用于虚拟机间通信的方法及设备 | |
CN113839876B (zh) | 一种内部网络的传输路径优化方法及设备 | |
CN115904626A (zh) | 一种部署云资源池架构的方法及*** |
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 |