CN109710423A - 一种用于虚拟机间通信的方法及设备 - Google Patents

一种用于虚拟机间通信的方法及设备 Download PDF

Info

Publication number
CN109710423A
CN109710423A CN201811513714.7A CN201811513714A CN109710423A CN 109710423 A CN109710423 A CN 109710423A CN 201811513714 A CN201811513714 A CN 201811513714A CN 109710423 A CN109710423 A CN 109710423A
Authority
CN
China
Prior art keywords
virtual machine
state
host
agent
information
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
CN201811513714.7A
Other languages
English (en)
Other versions
CN109710423B (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.)
Shanghai Axis Mdt Infotech Ltd
Original Assignee
Shanghai Axis Mdt Infotech 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 Shanghai Axis Mdt Infotech Ltd filed Critical Shanghai Axis Mdt Infotech Ltd
Priority to CN201811513714.7A priority Critical patent/CN109710423B/zh
Publication of CN109710423A publication Critical patent/CN109710423A/zh
Application granted granted Critical
Publication of CN109710423B publication Critical patent/CN109710423B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请的目的是提供一种用于虚拟机间通信的方法及设备,本申请通过云路由对应的主代理检查源主机和目的主机的配置信息;所述主代理根据所述配置信息确定所述源主机上第一代理和所述目的主机上第二代理的存活状态;所述主代理根据所述存活状态向所述源主机上的第一虚拟机和所述目的主机上的第二虚拟机按照预设协议格式发送报文指令信息;所述第一代理和所述第二代理分别监听所述报文指令信息,以使所述源主机和所述目的主机根据所述报文指令信息建立所述第一虚拟机和所述第二虚拟机之间的通信连接。具有较低的延时,不依赖于数据库,提高了网络的可靠性。以及使用预设协议格式,降低了延迟,减少了解析时间以及降低了自动部署难度。

Description

一种用于虚拟机间通信的方法及设备
技术领域
本申请涉及计算机领域,尤其涉及一种用于虚拟机间通信的方法及设备。
背景技术
随着互联网技术的快速发展及用户对互联网的不断增加的需求,建立了具有各种各样能力的更大的数据中心以满足需求。其中,虚拟化技术的发展使得可以在数据中心中实现大量虚拟机(Virtual Machine,VM),这些虚拟机实质上可以作为物理机操作,并执行诸如Web服务器或数据库服务器的各种功能。属于不同网络上两个虚拟机(VM)分别属于不同网段时,无法直接通信。目前的不同网络之间的虚拟机之间的通信方式存在降低了网络可用性,配置复杂带来网络代码漏洞率、网络可靠性大大降低等问题。另外,还有些通信方式使用分布式路由、路由上网络代理计算节点网络代理的机制,分布式路由的信息都保存在数据库中,由管理节点统一下发到各个计算节点,如图1所示的架构示意图,其中,消息队列一般是RabbitMQ或类似的消息队列,使用这种消息队列存在以下几个缺点:消息队列成为一个集中故障域,消息队列一般有一个集中的处理服务器,当消息队列失效时会导致分布式路由也无法配置;转发延迟高,从管理节点到计算节点需要中间的消息队列转发,增大了延迟,而且消息队列一般运行在TCP(Transmission Control Protocol,传输控制协议)上,通过AMQP(Advanced Message Queuing Protocol,高级消息队列协议)等协议格式来承载内容,增大了解析时间;消息传递需要事先监听,每个网络代理需要提前配置好消息队列服务器的地址、端口、消息主题和队列,增大了自动部署难度。
发明内容
本申请的一个目的是提供一种的方法及设备,现有技术中引入网关欺骗、通过路由器转发产生较高延时、网络可靠性低,以及分布式路由配置不受消息队列有效性的限制、解析时间长、自动部署难的问题。
根据本申请的一个方面,提供了一种用于虚拟机间通信的方法,该方法包括:
云路由对应的主代理检查源主机和目的主机的配置信息;
所述主代理根据所述配置信息确定所述源主机上第一代理和所述目的主机上第二代理的存活状态;
所述主代理根据所述存活状态向所述源主机上的第一虚拟机和所述目的主机上的第二虚拟机按照预设协议格式发送报文指令信息;
所述第一代理和所述第二代理分别监听所述报文指令信息,以使所述源主机和所述目的主机根据所述报文指令信息建立所述第一虚拟机和所述第二虚拟机之间的通信连接。
进一步地,云路由对应的主代理检查源主机和目的主机的配置信息,包括:
云路由对应的主代理获取所述云路由中的连接跟踪表,确定所述连接跟踪表中待优化连接目标;
将所述待优化连接目标记录在状态表中作为状态条目;
通过状态机控制所述状态条目,以确定所述状态条目对应的源主机和目的主机的配置信息。
进一步地,通过状态机控制所述状态条目,以确定所述状态条目对应的源主机和目的主机的配置信息,包括:
所述状态机对所述源主机和目的主机发送检查信息;
所述主代理根据所述检查信息对所述状态表中状态条目的状态进行修改,得到修改结果;
所述状态机根据所述修改结果确定源主机的配置信息和目的主机的配置信息。
进一步地,所述主代理根据所述检查信息对所述状态表中状态条目的状态进行修改,包括:
所述主代理根据所述检查信息确定所述待优化连接目标中的一方的回复结果,其中,所述回复结果包括成功回复、回复失败及回复超时;
所述主代理根据所述回复结果修改所述状态表中状态条目的状态。
进一步地,所述方法包括:
当所述回复结果为回复失败时,通过所述状态机将所述回复失败的时间超过第一预设时间的状态条目进行删除。
进一步地,所述方法包括:
当所述回复结果为成功回复时,通过所述状态机将所述成功回复的时间超过第二预设时间的状态条目进行删除。
进一步地,所述预设协议格式包括协议版本、消息类型及代码、头长度、全长度、源二层网络类型、源网络标识、目的二层网络类型、目的网络标识、源IP地址、目的IP地址、源MAC地址和目的MAC地址中的任几种组合。
进一步地,所述第一代理和所述第二代理分别监听所述报文指令信息,包括:
所述第一代理根据所述预设协议格式捕获所述第一虚拟机接收到的报文指令信息;
所述第二代理根据所述预设协议格式捕获所述第二虚拟机接收到的报文指令信息。
进一步地,所述源主机和所述目的主机根据所述报文指令信息建立所述第一虚拟机和所述第二虚拟机之间的通信连接,包括:
所述源主机根据所述第一代理捕获的报文指令信息将所述第一虚拟机的相关信息修改为所述第二虚拟机的相关信息,得到所述第一虚拟机的修改结果;
所述目的主机根据所述第二代理捕获的报文指令信息将所述第二虚拟机的相关信息修改为所述第一虚拟机的相关信息,得到所述第二虚拟机的修改结果;
根据所述第一虚拟机的修改结果和所述第二虚拟机的修改结果建立所述第一虚拟机和所述第二虚拟机之间的通信连接。
根据本申请再一个方面,还提供了一种用于虚拟机间通信的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行前述的方法的操作。
根据本申请另一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种用于虚拟机间通信的方法。
与现有技术相比,本申请通过云路由对应的主代理检查源主机和目的主机的配置信息;所述主代理根据所述配置信息确定所述源主机上第一代理和所述目的主机上第二代理的存活状态;所述主代理根据所述存活状态向所述源主机上的第一虚拟机和所述目的主机上的第二虚拟机按照预设协议格式发送报文指令信息;所述第一代理和所述第二代理分别监听所述报文指令信息,以使所述源主机和所述目的主机根据所述报文指令信息建立所述第一虚拟机和所述第二虚拟机之间的通信连接。具有较低的延时,不依赖于数据库,任何情况下优先保证了用户业务不受影响;即使其中的某个代理挂掉也只会降到原有路径,而不会流量中断,提高了网络的可靠性。另一方面,主代理进行下发报文指令信息,以及计算节点上网络代理捕获该报文指令信息时,依赖于预设协议格式,该预设协议格式降低了延迟,减少了解析时间以及降低了自动部署难度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出现有技术中使用消息队列实现由管理节点下发信息至计算节点的架构示意图;
图2示出根据本申请的一个方面提供的一种用于虚拟机间通信的方法流程示意图;
图3示出本申请一实施例中不同网络上两个虚拟机之间通信的原理示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图2示出根据本申请的一个方面提供的一种用于虚拟机间通信的方法流程示意图,该方法包括:步骤S11~步骤S14,
在步骤S11中,云路由对应的主代理检查源主机和目的主机的配置信息;在此,主代理Agent为路由器网络代理,可以将控制命令发送到虚拟机,位于虚拟机所在物理机上的网络代理(计算机节点网络代理)捕获该控制命令,计算节点网络代理回复信息到路由器网络代理。在SDN网络中,云路由为分布式路由。源主机为发送报文的主机,目的主机为接收报文的主机。在分别位于源主机和目的主机上的虚拟机之间进行通信时,可走优化路径,即通过与云路由位于同一主机上的主代理捕获第一个报文的路由信息后,检查源主机和目的主机的配置信息,其中,配置信息包括源主机和目的主机上的网络代理的存活状态。
在步骤S12中,所述主代理根据所述配置信息确定所述源主机上第一代理和所述目的主机上第二代理的存活状态;在此,根据检查的结果分别确定源主机的配置信息和目的主机的配置信息后,确定源主机上的第一代理是否存活,以及目的主机上的第二代理是否存活,以便根据存活状态确定是否通过报文的优化路径建立虚拟机之间的通信连接。
接着,在步骤S13中,所述主代理根据所述存活状态向所述源主机上的第一虚拟机和所述目的主机上的第二虚拟机按照预设协议格式发送报文指令信息;在此,主代理、第一代理和第二代理为网络代理;当位于源主机上的第一代理和位于目的主机上的第二代理均处于存活状态时,主代理向位于源主机上的第一虚拟机和位于目的主机上的第二虚拟机发送报文指令信息,其中,发送报文指令信息时按照预设协议格式进行,从而降低延迟,减少解析时间以及避免每个代理要提前配置好消息队列服务器的地址、端口、消息主题和队列等,降低了自动部署的难度。
随后,在步骤S14中,所述第一代理和所述第二代理分别监听所述报文指令信息,以使所述源主机和所述目的主机根据所述报文指令信息建立所述第一虚拟机和所述第二虚拟机之间的通信连接。在此,计算节点上的第一代理和第二代理分别监听虚拟机接收到的主代理发送的报文指令信息,以使源主机和目的主机根据报文指令信息通过三层交换法交换虚拟机的相关信息,从而建立位于不同网络中的第一虚拟机和第二虚拟机间的通信连接。在本申请实施例中,预设协议格式基于IP协议,计算节点上的网络代理监听进入计算节点的为预设协议格式的全部流量,路由器上的网络代理监听进入路由器的为预设协议格式的全部流量,从而路由器上的网络代理只需要向需要优化流量的虚拟机发送预设协议格式的报文,报文在物理机上被拦截和解析,从而达到将控制指令通过预设协议格式在不知道虚拟机所在计算节点的前提下发送到正确的计算节点,而且这种正确性由网络底层的运行来保障,因此不会有数据库信息错误、过时等风险。其中,计算节点为分布式网络中的源主机和目的主机。
在本申请一实施例中,在步骤S11中,云路由对应的主代理获取所述云路由中的连接跟踪表,确定所述连接跟踪表中待优化连接目标;将所述待优化连接目标记录在状态表中作为状态条目;通过状态机控制所述状态条目,以确定所述状态条目对应的源主机和目的主机的配置信息。在此,与云路由位于同一主机上的主代理检查云路由中的连接跟踪表,所述连接跟踪表记录了从源主机发送报文经过云路由转发至目的主机这一路径的报文相关信息和路由相关信息。通过从源主机发送的第一报文经过云路由转发至目的主机的这一路径的通路状态,确定是否优化后续报文发送的路径,当第一报文所走的路径为通路状态时,确定发送后续报文的源主机和接收后续报文的目的主机为待优化连接目标,比如虚拟机VM1向虚拟机VM2发送第一报文的路径正常,则需要优化VM1到VM2的报文路径,将需要优化且不存在于状态表的连接记录加入到该状态表中,即将待优化连接目标中的VM1和VM2之间的优化报文路径作为状态表中的状态条目,从而针对该状态条目先进行检查VM1和VM2的配置信息。
在本申请一实施例中,通过状态机控制所述状态条目,以确定所述状态条目对应的源主机和目的主机的配置信息,可以通过以下方式实现:所述状态机对所述源主机和目的主机发送检查信息;所述主代理根据所述检查信息对所述状态表中状态条目的状态进行修改,得到修改结果;所述状态机根据所述修改结果确定源主机的配置信息和目的主机的配置信息。
在此,主代理检查连接跟踪表,将需要优化且不存在于状态表的连接记录加入状态表中,标记为新状态(比如标记为“New”),交由状态机控制。状态机对新状态条目发送对源主机和目的主机的检查信息,将条目标记为已发送检查状态(比如标记为“check_sent”状态);当有检查的反馈消息被主代理收到时,检查状态表,修改条目状态;根据修改的结果确定源主机的配置信息和目的主机的配置信息,如修改条目的状态为“全部已检查”时,发送对源主机的配置信息,当收到源主机的配置信息反馈时,检查状态表,修改状态,根据修改的结果发送对目的主机的配置信息。
进一步地,所述主代理根据所述检查信息对所述状态表中状态条目的状态进行修改时,具体实现如下:所述主代理根据所述检查信息确定所述待优化连接目标中的一方的回复结果,其中,所述回复结果包括成功回复、回复失败及回复超时;所述主代理根据所述回复结果修改所述状态表中状态条目的状态。在此,当有检查的反馈消息被主代理收到时,检查状态表,修改条目状态:如果回复为成功,则标记为“源主机已检查”或“目的主机已检查”;如果此时状态已经为源主机已检查或目的主机已检查且新回复与之互补,则标记为“全部已检查”;如果收到回复为失败,则标记为“失败”;如果回复超时则标记为“失败”。
进一步地,当所述回复结果为回复失败时,通过所述状态机将所述回复失败的时间超过第一预设时间的状态条目进行删除。当所述回复结果为成功回复时,通过所述状态机将所述成功回复的时间超过第二预设时间的状态条目进行删除。在此,状态机会对标记为“失败”的状态超过第一预设时间(比如10min)的条目进行删除,对目的主机的配置信息的检查为成功的回复超时第二预设时间(比如5min)的条目进行删除。
在本申请一优选实施例中,云路由对应的主代理(Agent)检查云路由中的连接跟踪表,将需要优化且不存在协议状态表的连接记录加入状态表中,标记为New状态,交由状态机控制。状态机对New状态条目发送对源主机和目的主机的检查消息,将条目标记为“check_sent”状态。当有check_rsp消息被主代理收到时,检查状态表,修改条目状态:如果回复为成功,标记为“src_checked”或“dst_checked”;如果此时状态已经为“src_checked”或“dst_checked”且新回复与之互补,则标记为“all_checked”;如果收到回复为失败,标记为“failed”;如果回复超时(比如10s),标记为“failed”。状态机对“all_checked”条目发送对源主机的配置消息,标记为“sec_sent”;当config srcrsp被主代理收到,检查状态表,修改状态:如果回复为成功,标记为“src_succ”;如果回复为失败或超时(比如10s),标记为“failed”。状态机对“src_succ”条目发送对目的主机的配置消息,标记为“dst_sent”;当config dstrsp被收到,检查状态表,修改状态:如果回复为成功,标记为“dst_succ”;如果回复失败或超时(比如10s),标记为“failed”。状态机对“failed”超时(比如10min)的条目删除,状态机对“dst_succ”超时(比如5min)的条目删除。需要说明的是,config srcrsp为发送对源主机的配置消息的配置反馈,config dstrsp为发送对目的主机的配置消息的配置反馈。
在本申请一实施例中,所述预设协议格式包括协议版本、消息类型及代码、头长度、全长度、源二层网络类型、源网络标识、目的二层网络类型、目的网络标识、源IP地址、目的IP地址、源MAC地址和目的MAC地址中的任几种组合。在此,预设协议运行在IP协议上,预设协议格式由若干字段组成,字段在传输时均使用网络字节序,其中,协议版本为供未来协议升级使用;消息类型、消息代码,如消息类型为1、消息代码为0时表示检查源主机可配置消息,消息类型为2、消息代码为0时表示检查源主机可配置回复,成功。头长度为从版本到tlv(type-length-value,类型-长度-值)结束的长度;全长度为从版本到数据(data)结束的长度,即头长度加上数据的长度;源二层网络类型包括支持无vlan接口、vlan接口及vxlan接口。另外,字段还可以包括tlv字段和数据。
在本申请一实施例中,在步骤S14中,所述第一代理根据所述预设协议格式捕获所述第一虚拟机接收到的报文指令信息;所述第二代理根据所述预设协议格式捕获所述第二虚拟机接收到的报文指令信息。在此,如图3所示,第一代理(Agent1)与第一虚拟机VM1位于源主机(host1)上,第二代理(Agent2)与第二虚拟机VM2位于目的主机(host2),主代理向第一报文关联的虚拟机(源主机和目的主机)反馈报文指令信息,进而第一代理(Agent1)和第二代理(Agent2)进行监听网口以捕获该报文指令信息;具体地,Agent1和Agent2通过监听相关的报文协议和格式,收到和拦截该报文指令信息,从而接收到由主代理Agent下达的报文指令信息,该报文指令信息为从VM1发送至VM2的报文走第二报文路径。第二报文路径为通过主代理(Agent)、第一代理(Agent1)和第二代理(Agent2)相互配合,主代理向第一报文关联的虚拟机反馈报文指令信息,进而第一代理(Agent1)和第二代理(Agent2)进行监听该报文指令信息,实现在主机上根据所述报文指令信息交换所述第一虚拟机和所述第二虚拟机的相关信息,以进行所述第一虚拟机与所述第二虚拟机之间的通信。需要说明的是,第一报文走过的路径为第一路径,根据第一路径确定路由信息,进而分析该路由信息,确定第一路径是否为通路状态,若是,则触发主代理向虚拟机下发报文指令信息。
在本申请一实施例中,在步骤S14中,所述源主机根据所述第一代理捕获的报文指令信息将所述第一虚拟机的相关信息修改为所述第二虚拟机的相关信息,得到所述第一虚拟机的修改结果;所述目的主机根据所述第二代理捕获的报文指令信息将所述第二虚拟机的相关信息修改为所述第一虚拟机的相关信息,得到所述第二虚拟机的修改结果;根据所述第一虚拟机的修改结果和所述第二虚拟机的修改结果建立所述第一虚拟机和所述第二虚拟机之间的通信连接。其中,所述相关信息包括源MAC地址、目的MAC地址及生存时间(TTL)。
在此,主代理Agent通过IP层协议向第一虚拟机和第二虚拟机发送报文指令信息时,IP层目的地址分别为第一虚拟机的IP地址和第二虚拟机的IP地址,MAC层地址分别为第一虚拟机的MAC地址和第二虚拟机的MAC地址。当host1上的第一代理Agent1获得VM2的相关信息,host2上的第二代理Agent2获得VM1的相关信息后,直接修改源、目的MAC地址和TTL以进行三层交换,建立VM1和VM2的通信。
通过本申请所述的用于虚拟机间通信的方法,具有较低的延时,不依赖于数据库,任何情况下优先保证了用户业务不受影响;即使其中的某个代理挂掉也只会降到原有路径,而不会流量中断,提高了网络的可靠性。另一方面,主代理进行下发报文指令信息,以及计算节点上网络代理捕获该报文指令信息时,依赖于预设协议格式,该预设协议格式降低了延迟,减少了解析时间以及降低了自动部署难度。
本申请所述的实施例基于SDN网络,其中,SDN网络为软件定义网络(SoftwareDefined Network)是一种新型的网络创新架构,其通过将网络设备控制面与数据面进行解耦,从而实现了对网络流量的灵活控制。
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述用于虚拟机间通信的方法。
根据本申请再一个方面,还提供了一种用于虚拟机间通信的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行前述的方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:
云路由对应的主代理检查源主机和目的主机的配置信息;
所述主代理根据所述配置信息确定所述源主机上第一代理和所述目的主机上第二代理的存活状态;
所述主代理根据所述存活状态向所述源主机上的第一虚拟机和所述目的主机上的第二虚拟机按照预设协议格式发送报文指令信息;
所述第一代理和所述第二代理分别监听所述报文指令信息,以使所述源主机和所述目的主机根据所述报文指令信息建立所述第一虚拟机和所述第二虚拟机之间的通信连接。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (11)

1.一种用于虚拟机间通信的方法,其中,所述方法包括:
云路由对应的主代理检查源主机和目的主机的配置信息;
所述主代理根据所述配置信息确定所述源主机上第一代理和所述目的主机上第二代理的存活状态;
所述主代理根据所述存活状态向所述源主机上的第一虚拟机和所述目的主机上的第二虚拟机按照预设协议格式发送报文指令信息;
所述第一代理和所述第二代理分别监听所述报文指令信息,以使所述源主机和所述目的主机根据所述报文指令信息建立所述第一虚拟机和所述第二虚拟机之间的通信连接。
2.根据权利要求1所述的方法,其中,云路由对应的主代理检查源主机和目的主机的配置信息,包括:
云路由对应的主代理获取所述云路由中的连接跟踪表,确定所述连接跟踪表中待优化连接目标;
将所述待优化连接目标记录在状态表中作为状态条目;
通过状态机控制所述状态条目,以确定所述状态条目对应的源主机和目的主机的配置信息。
3.根据权利要求2所述的方法,其中,通过状态机控制所述状态条目,以确定所述状态条目对应的源主机和目的主机的配置信息,包括:
所述状态机对所述源主机和目的主机发送检查信息;
所述主代理根据所述检查信息对所述状态表中状态条目的状态进行修改,得到修改结果;
所述状态机根据所述修改结果确定源主机的配置信息和目的主机的配置信息。
4.根据权利要求3所述的方法,其中,所述主代理根据所述检查信息对所述状态表中状态条目的状态进行修改,包括:
所述主代理根据所述检查信息确定所述待优化连接目标中的一方的回复结果,其中,所述回复结果包括成功回复、回复失败及回复超时;
所述主代理根据所述回复结果修改所述状态表中状态条目的状态。
5.根据权利要求4所述的方法,其中,所述方法包括:
当所述回复结果为回复失败时,通过所述状态机将所述回复失败的时间超过第一预设时间的状态条目进行删除。
6.根据权利要求4所述的方法,其中,所述方法包括:
当所述回复结果为成功回复时,通过所述状态机将所述成功回复的时间超过第二预设时间的状态条目进行删除。
7.根据权利要求1所述的方法,其中,所述预设协议格式包括协议版本、消息类型及代码、头长度、全长度、源二层网络类型、源网络标识、目的二层网络类型、目的网络标识、源IP地址、目的IP地址、源MAC地址和目的MAC地址中的任几种组合。
8.根据权利要求1所述的方法,其中,所述第一代理和所述第二代理分别监听所述报文指令信息,包括:
所述第一代理根据所述预设协议格式捕获所述第一虚拟机接收到的报文指令信息;
所述第二代理根据所述预设协议格式捕获所述第二虚拟机接收到的报文指令信息。
9.根据权利要求1所述的方法,其中,所述源主机和所述目的主机根据所述报文指令信息建立所述第一虚拟机和所述第二虚拟机之间的通信连接,包括:
所述源主机根据所述第一代理捕获的报文指令信息将所述第一虚拟机的相关信息修改为所述第二虚拟机的相关信息,得到所述第一虚拟机的修改结果;
所述目的主机根据所述第二代理捕获的报文指令信息将所述第二虚拟机的相关信息修改为所述第一虚拟机的相关信息,得到所述第二虚拟机的修改结果;
根据所述第一虚拟机的修改结果和所述第二虚拟机的修改结果建立所述第一虚拟机和所述第二虚拟机之间的通信连接。
10.一种用于虚拟机间通信的设备,其中,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至9中任一项所述方法的操作。
11.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至9中任一项所述的方法。
CN201811513714.7A 2018-12-11 2018-12-11 一种用于虚拟机间通信的方法及设备 Active CN109710423B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811513714.7A CN109710423B (zh) 2018-12-11 2018-12-11 一种用于虚拟机间通信的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811513714.7A CN109710423B (zh) 2018-12-11 2018-12-11 一种用于虚拟机间通信的方法及设备

Publications (2)

Publication Number Publication Date
CN109710423A true CN109710423A (zh) 2019-05-03
CN109710423B CN109710423B (zh) 2020-11-03

Family

ID=66255613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811513714.7A Active CN109710423B (zh) 2018-12-11 2018-12-11 一种用于虚拟机间通信的方法及设备

Country Status (1)

Country Link
CN (1) CN109710423B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024880A (zh) * 2022-01-10 2022-02-08 南京赛宁信息技术有限公司 基于代理ip与流表的网络靶场探针采集方法与***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1474564A (zh) * 2002-08-05 2004-02-11 ��Ϊ�������޹�˾ 一种虚拟局域网之间的通信方法
CN102549977A (zh) * 2009-09-24 2012-07-04 日本电气株式会社 虚拟服务器间通信识别***和虚拟服务器间通信识别方法
US20130031549A1 (en) * 2010-05-24 2013-01-31 Roger Frederick Osmond Virtual access to network services
CN104468775A (zh) * 2014-12-05 2015-03-25 国云科技股份有限公司 一种适用于云计算的分布式路由器实现方法
CN106656719A (zh) * 2016-09-26 2017-05-10 华为技术有限公司 云间通信方法及相关设备、云间通信配置方法及相关设备
CN107181681A (zh) * 2016-03-10 2017-09-19 中兴通讯股份有限公司 Sdn二层转发方法及***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1474564A (zh) * 2002-08-05 2004-02-11 ��Ϊ�������޹�˾ 一种虚拟局域网之间的通信方法
CN102549977A (zh) * 2009-09-24 2012-07-04 日本电气株式会社 虚拟服务器间通信识别***和虚拟服务器间通信识别方法
US20130031549A1 (en) * 2010-05-24 2013-01-31 Roger Frederick Osmond Virtual access to network services
CN104468775A (zh) * 2014-12-05 2015-03-25 国云科技股份有限公司 一种适用于云计算的分布式路由器实现方法
CN107181681A (zh) * 2016-03-10 2017-09-19 中兴通讯股份有限公司 Sdn二层转发方法及***
CN106656719A (zh) * 2016-09-26 2017-05-10 华为技术有限公司 云间通信方法及相关设备、云间通信配置方法及相关设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024880A (zh) * 2022-01-10 2022-02-08 南京赛宁信息技术有限公司 基于代理ip与流表的网络靶场探针采集方法与***

Also Published As

Publication number Publication date
CN109710423B (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
US10911331B2 (en) Service configuration method and apparatus for network service
US20210152443A1 (en) Technologies for annotating process and user information for network flows
JP6834033B2 (ja) ネットワークスライス管理方法、ユニット、及びシステム
US9710762B2 (en) Dynamic logging
CN109714238B (zh) 一种用于实现虚拟机间通信的方法及设备
CN110784400B (zh) N:1有状态应用网关冗余方法、***和备用服务网关
US10091073B2 (en) Large-scale passive network monitoring using multiple tiers of ordinary network switches
US20220278925A1 (en) Method for Delivering OAM Configuration Information and Control Node
WO2018137520A1 (zh) 一种业务恢复方法及装置
US11838176B1 (en) Provisioning and deploying RAN applications in a RAN system
KR102020049B1 (ko) 멀티 테넌트 클라우드 서비스의 서비스 품질을 보장하기 위한 스위치, 방법 및 상기 스위치를 포함하는 시스템
US12021735B2 (en) Systems and methods for implementing multi-part virtual network functions
US10313180B2 (en) Systems and methods for managing switching devices in an information handling system
CN110971540B (zh) 一种数据信息的传输方法、装置、交换机及控制器
CN112532714B (zh) 一种数据处理方法、处理装置、服务器及存储介质
CN109710423A (zh) 一种用于虚拟机间通信的方法及设备
KR102651239B1 (ko) 가상화 기술을 이용한 통신 방법 및 이를 수행하는 전자 장치
CN109450794B (zh) 一种基于sdn网络的通信方法及设备
CN116264538A (zh) 数据处理方法、装置、设备及计算机存储介质
JP7450072B2 (ja) 仮想化ネットワーク・サービス配備方法及び装置
US20220174013A1 (en) Communication Method and Apparatus
WO2024021976A1 (zh) 一种报文处理的方法及相关设备
US20240098004A1 (en) Packet forwarding method and apparatus, and communication network
US20230224245A1 (en) Packet Transmission Method and Apparatus
CN117081811A (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