一种实现虚拟机通信的方法和装置制造方法及图纸

技术编号:22501908 阅读:17 留言:0更新日期:2019-11-09 02:31
本发明专利技术实施例提供的方法和装置,第一交换机从SDN控制器接收ARP响应,所述ARP响应携带目的网关的MAC地址,所述第一交换机根据所述目的网关的MAC地址,获取所述目的网关的MAC地址对应的VTEP信息,所述VTEP信息对应的路由器位于所述第一数据中心;所述第一交换机根据所述VTEP信息,发送IP报文给所述VTEP信息对应的路由器,以使所述VTEP信息对应的路由器将所述IP报文通过所述路由器与所述第二交换机的隧道发送给所述第二虚拟机。因此SDN控制器代答,减少了广播报文对传输带宽的占用,并且只经过了第一数据中心的路由器,减少了报文在数据中心间的迂回。

A method and device of virtual machine communication

The method and device provided by the embodiment of the invention, the first switch receives the ARP response from the SDN controller, the ARP response carries the MAC address of the destination gateway, the first switch obtains the vtep information corresponding to the MAC address of the destination gateway according to the MAC address of the destination gateway, and the router corresponding to the vtep information is located in the first data center; the first switch According to the vtep information, an IP message is sent to the router corresponding to the vtep information so that the router corresponding to the vtep information transmits the IP message to the second virtual machine through the tunnel between the router and the second switch. Therefore, SDN controller reduces the occupation of broadcast message to transmission bandwidth, and only passes through the router of the first data center, reducing the detour of message between data centers.

【技术实现步骤摘要】
一种实现虚拟机通信的方法和装置
本专利技术实施例涉及网络通信领域,特别涉及一种实现虚拟机通信的方法和装置。
技术介绍
现有技术应用虚拟可扩展局域网(VxLAN,VirtualextensibleLAN)技术扩展网络虚拟化,用以得到足够数量的虚拟网络,来满足用户使用。每一个数据中心可能运行多个虚拟网络的虚拟机(VM,VirtualMachine)。当一个数据中心的VM与另一数据中心的VM通信时,它会向第一跳路由器发出广播地址解析协议(ARP,AddressResolutionProtocol)请求,以广播获取目的网关的MAC地址,然后ARP请求被广播到各VM。获取到目的网关的MAC地址后,通过目的网关的MAC地址,将报文发送到各个数据中心的路由器,然后到达目的VM,从而实现VM之间的通信。但是这种ARP广播到各VM的方式,会占用大量传输带宽;而且报文会通过各数据中心的路由器才能到达目的VM,在数据中心间迂回比较严重。
技术实现思路
本专利技术实施例提出了一种实现虚拟机通信的方法和装置,以减少广播报文对传输带宽的占用,和减少报文在数据中心间的迂回。第一方面,本专利技术实施例提出了一种实现虚拟机通信的方法,应用于至少包括第一虚拟机与第二虚拟机的系统,所述第一虚拟机位于第一数据中心的第一子网并且与第一交换机通信,所述第二虚拟机位于第二子网并且与第二交换机通信,所述第一交换机与所述第二交换机可以相同,也可以不同,该方法包括:所述第一交换机从所述第一虚拟机接收地址解析协议ARP请求,所述ARP请求携带目的网关的IP地址;所述第一交换机向所述第一数据中心的软件定义网络SDN控制器转发所述ARP请求;所述第一交换机从所述SDN控制器接收ARP响应,所述ARP响应携带所述目的网关的媒体接入控制MAC地址;所述第一交换机根据所述目的网关的MAC地址,获取所述目的网关的MAC地址对应的虚拟可扩展局域网隧道端点VTEP信息,所述VTEP信息对应的路由器位于所述第一数据中心;所述第一交换机根据所述VTEP信息,发送IP报文给所述VTEP信息对应的路由器,以使所述VTEP信息对应的路由器将所述IP报文通过所述路由器与所述第二交换机的隧道发送给所述第二虚拟机。结合第一方面,在第一种可能的实现方式中,所述第一交换机根据所述目的网关的MAC地址,获取所述目的网关的MAC地址对应的VTEP信息具体包括:所述第一交换机向所述SDN控制器发送请求,以请求获取所述目的网关的MAC地址对应的VTEP信息;接收所述SDN控制器发送的所述目的网关的MAC地址对应的VTEP信息。结合第一方面,在第二种可能的实现方式中,所述第一交换机根据所述目的网关的MAC地址,获取所述目的网关的MAC地址对应的VTEP信息具体包括:所述第一交换机根据所述目的网关的MAC地址,查询本地保存的流表,获取所述目的网关的MAC地址对应的VTEP信息。结合第一方面的第二种可能的实现方式中,在第三种可能的实现方式中,所述第一交换机查询本地保存的流表,获取所述目的网关的MAC地址对应的VTEP信息具体包括:所述第一交换机根据所述目的网关的MAC地址,查询本地保存的流表,获取两条或以上VTEP信息时,以位于所述第一数据中心的路由器的VTEP信息作为所述目的网关的MAC地址对应的VTEP信息。结合第一方面的第三种可能的实现方式中,在第四种可能的实现方式中,当所述第一交换机根据所述目的网关的MAC地址,查询本地保存的流表,获取了两条或以上位于所述第一数据中心的路由器的VTEP信息时,所述第一交换机根据以下至少之一:路由器的负载和调度策略,选择所述目的网关的MAC地址对应的VTEP信息。结合第一方面或者第一方面的第一种至第四种任意一种可能的实现方式,在第五种可能的实现方式中,所述第一交换机根据所述VTEP信息,发送IP报文给所述VTEP信息对应的路由器,以使所述VTEP信息对应的路由器将所述IP报文通过所述路由器与所述第二交换机的隧道发送给所述第二虚拟机具体包括:所述第一交换机对从所述第一虚拟机接收的IP报文进行虚拟可扩展局域网VxLAN封装,其中所述VxLAN封装的目的IP地址为获取的所述VTEP信息,虚拟网络标识VNI为所述第一子网的标识,所述IP报文的目的MAC地址为所述目的网关的MAC地址;所述VTEP信息对应的路由器,将目的IP地址改为所述第二交换机的IP地址,VNI改为所述第二子网的标识,目的MAC地址改为所述第二虚拟机的MAC地址,然后将改变VxLAN封装的IP报文,发送给所述第二交换机;所述第二交换机对接收的改变VxLAN封装的IP报文,进行VxLAN解封装后,发送给所述第二虚拟机。第二方面,本专利技术实施例提出了一种实现虚拟机通信的方法,应用于至少包括第一虚拟机与第二虚拟机的系统,所述第一虚拟机位于第一数据中心的第一子网并且与第一交换机通信,所述第二虚拟机位于第二子网并且与第二交换机通信,所述第一交换机与所述第二交换机可以相同,也可以不同,该方法包括:所述第一数据中心的软件定义网络SDN控制器从所述第一交换机接收地址解析协议ARP请求,所述ARP请求携带目的网关的IP地址;所述SDN控制器根据所述目的网关的IP地址,获取所述目的网关的媒体接入控制MAC地址,并向所述第一交换机发送ARP响应,所述ARP响应携带所述目的网关的MAC地址,以使所述第一交换机根据所述目的网关的MAC地址,获取所述目的网关的MAC地址对应的虚拟可扩展局域网隧道端点VTEP信息,所述VTEP信息对应的路由器位于所述第一数据中心,使所述VTEP信息对应的路由器将IP报文通过所述路由器与所述第二交换机的隧道发送给所述第二虚拟机。结合第二方面,在第一种可能的实现方式中,所述SDN控制器接收所述第一交换机发送的请求,以请求获取所述目的网关的MAC地址对应的VTEP信息;所述SDN控制器根据所述目的网关的MAC地址,查询本地保存的流表,获取所述目的网关的MAC地址对应的VTEP信息,并向所述第一交换机返回所述目的网关的MAC地址对应的VTEP信息。结合第二方面的第一种可能的实现方式中,在第二种可能的实现方式中,所述SDN控制器查询本地保存的流表,获取所述目的网关的MAC地址对应的VTEP信息具体包括:所述SDN控制器根据所述目的网关的MAC地址,查询本地保存的流表,获取两条或以上VTEP信息时,以位于所述第一数据中心的路由器的VTEP信息作为所述目的网关的MAC地址对应的VTEP信息。结合第二方面的第二种可能的实现方式中,在第三种可能的实现方式中,当所述SDN控制器根据所述目的网关的MAC地址,查询本地保存的流表,获取了两条或以上位于所述第一数据中心的路由器的VTEP信息时,所述SDN控制器根据以下至少之一:路由器的负载和调度策略,选择所述目的网关的MAC地址对应的VTEP信息。结合第二方面或者第二方面的第一种至第三种任意一种可能的实现方式,在第四种可能的实现方式中,若所述第二虚拟机位于第二数据中心,则还包括:所述第一数据中心的SDN控制器从所述第二数据中心的SDN控制器获取所述第二虚拟机的IP地址、MAC地址、所述第二子网的虚拟网络标识VNI,和所述第二交换机的VTEP信息,以在所述第一数据中心的SDN控制器的本文档来自技高网...

【技术保护点】
1.一种实现虚拟机通信的方法,应用于至少包括第一虚拟机、第二虚拟机和控制器的系统,所述第一虚拟机与第一交换机通信,所述第二虚拟机与第二交换机通信,其特征在于:所述控制器接收所述第一交换机发送的地址解析协议ARP请求,所述ARP请求携带所述第二虚拟机的IP地址;所述控制器根据所述第二虚拟机的IP地址,获取所述第二虚拟机的MAC地址;所述控制器获取虚拟可扩展局域网隧道端点VTEP地址,所述VTEP地址与所述第二虚拟机的MAC地址对应;所述控制器将所述VTEP地址发送至所述第一交换机。

【技术特征摘要】
2013.12.31 CN PCT/CN2013/0912021.一种实现虚拟机通信的方法,应用于至少包括第一虚拟机、第二虚拟机和控制器的系统,所述第一虚拟机与第一交换机通信,所述第二虚拟机与第二交换机通信,其特征在于:所述控制器接收所述第一交换机发送的地址解析协议ARP请求,所述ARP请求携带所述第二虚拟机的IP地址;所述控制器根据所述第二虚拟机的IP地址,获取所述第二虚拟机的MAC地址;所述控制器获取虚拟可扩展局域网隧道端点VTEP地址,所述VTEP地址与所述第二虚拟机的MAC地址对应;所述控制器将所述VTEP地址发送至所述第一交换机。2.如权利要求1所述的方法,其特征在于,所述控制器获取VTEP地址包括:所述控制器根据所述第二虚拟机的MAC地址查询存储的表项,获取所述VTEP地址。3.如权利要求1所述的方法,其特征在于,所述方法还包括:所述第一交换机接收所述第一虚拟机发出的第一IP报文;所述第一交换机为所述第一IP报文执行虚拟可扩展局域网VxLAN封装,其中所述VTEP地址为所述VxLAN封装的目的IP地址,且所述第一交换机的IP地址为所述VxLAN封装的源IP地址;所述第一交换机将所述封装后的第一IP报文发送出去。4.如权利要求1所述的方法,其特征在于,所述方法还包括:所述控制器接收所述第一交换机发出的第二IP报文;所述控制器为所述第二IP报文执行虚拟可扩展局域网VxLAN封装,其中所述VTEP地址为所述VxLAN封装的目的IP地址,且所述第一交换机的IP地址为所述VxLAN封装的源IP地址;所述控制器将所述封装后的第二IP报文发送出去。5.一种控制器,其特征在于,所述控制器应用于至少包括第一虚拟机、第二虚拟机和所述控制器的系统,所述第一虚拟机与第一交换机通信,所述第二虚拟机与第二交换机通信;所述控制器包括处理器和存储器,所述处理器执行所述存储器中的计算机执行指令以实现如下步骤:接收所述第一交换机发送的ARP请求,所述ARP请求携带所述第二虚拟机的IP地址;根据所述第二虚拟机的IP地址,获取所述第二虚拟机的MAC地址;获取虚拟可扩展局域网隧道端点VTEP地址,所述VTEP地址与所述第二虚拟机的MAC地址对应;将所述VTEP地址发送至所述第一交换机。6.如权利要求5所述的控制器,其特征在于,所述获取VTEP地址包括:根据所述第二虚拟机的MAC地址查询存储的表项,获取所述VTEP地址。7.如权利要求5所述的控制器,其特征在于,所述处理器执行所述存储器中的计算机执行指令还实现如下步骤:接收所述第一交换机发出的第二IP报文;为所述第二IP报文执行虚拟可扩展局域网VxLAN封装,其中所述VTEP地址为所述VxLAN封装的目的IP地址,且所述第一交换机的IP地址为所述VxLAN封装的源IP地址;将所述封装后的第二IP报文发送出去。8.一种非瞬态的可读存储介质,其特征在于,所述非瞬态的可读存储介质被控制...

【专利技术属性】
技术研发人员:吴天议
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1