跨数据中心的虚拟机通信方法及装置与流程

文档序号:11878324阅读:287来源:国知局
跨数据中心的虚拟机通信方法及装置与流程

本发明涉及通信技术领域,尤指一种跨数据中心的虚拟机通信方法及装置。



背景技术:

早期建立数据中心时,由于数据中心的规模较小,为了满足虚拟机(Virtual Machine,VM)迁移后互联网协议(Internet Protocol,IP)地址不变、且依然能够通讯,通常将数据中心的所有服务器分配在同一个大二层网络中,数据中心中的网关只有一个。后来随着需求增大,需要对数据中心进行扩建,增加至少一个数据中心。

下面以增加一个数据中心为例进行说明。如图1所示为大二层网络下的两个数据中心A、B的网络架构图,P1、P2、P3、P4为服务器,VM1-VM11运行在各个服务器下,S1、S2、S3、S4为服务器的接入设备,S5和S6为网关,S7、S8为大二层网络的出口设备(图中用一个网络设备表示),S5和S6的IP地址相同,P1、P2、P3、P4所在的网段、虚拟局域网(Virtual Local Area Network,VLAN)也都是同一个。

两个数据中心的VM可以通过S5或S6实现对外通讯,例如,VM1的报文通过S5、S7转发出去,回程的报文可以通过S7、S5应答给VM1,这样就可以实现大二层网络中所有虚拟机对外通信,但是,如果两个数据中心之间的虚拟机无法通信。因此,目前亟需一种跨数据中心的虚拟机通信方法。



技术实现要素:

本发明实施例提供一种跨数据中心的虚拟机通信方法及装置,用以解决现有技术中存在的跨数据中心的虚拟机无法通信的问题。

根据本发明实施例,提供一种跨数据中心的虚拟机通信方法,多个数据中心位于同一个大二层网络,每个数据中心的网关与对应的虚拟可扩展局域网VXLAN设备通信连接,所述大二层网络中的两两VXLAN设备之间建立VXLAN隧道,所述方法包括:

所述VXLAN设备确定对应的网关转发的数据报文的类型;

若所述数据报文为互联网协议IP报文,则确定所述IP报文的目的媒体访问控制MAC地址是否是所述VXLAN设备的MAC地址;

若所述IP报文的目的MAC地址是所述VXLAN设备的MAC地址,则确定所述IP报文的目的IP地址是否是所述VXLAN设备的IP地址;

若确定所述IP报文的目的IP地址是所述VXLAN设备的IP地址,则确定所述IP报文是所述大二层网络中的其他VXLAN设备发送的VXLAN报文,解封装所述VXLAN报文,根据第一虚拟机信息表将解封装后的所述VXLAN报文转发给所述VXLAN设备所在的数据中心的第一虚拟机;

若确定所述IP报文的目的IP地址不是所述VXLAN设备的IP地址,则根据所述IP报文的目的MAC地址、目的IP地址和所述第一虚拟机信息表确定所述IP报文的目的VXLAN设备,将所述IP报文发送给所述目的VXLAN设备,以使所述目的VXLAN设备将所述IP报文转发给所述目的VXLAN设备所在的数据中心的第二虚拟机。

具体的,根据第一虚拟机信息表将解封装后的所述VXLAN报文转发给所述VXLAN设备所在的数据中心的第一虚拟机,具体包括:

在所述第一虚拟机信息表中查找解封装后的所述VXLAN报文的目的IP地址和目的MAC地址;

若在所述第一虚拟机信息表中查找到解封装后的所述VXLAN报文的目的IP地址和目的MAC地址,则从所述第一虚拟机信息表中获取包括解封装后的所述VXLAN报文的目的IP地址和目的MAC地址的第一表项;

若所述第一表项包括的VXLAN设备标识是所述VXLAN设备的标识,则将解封装后的所述VXLAN报文转发给解封装后的所述VXLAN报文的目的IP地址和目的MAC地址对应的第一虚拟机。

具体的,根据所述IP报文的目的MAC地址、目的IP地址和所述第一虚拟机信息表确定所述IP报文的目的VXLAN设备,具体包括:

在所述第一虚拟机信息表中查找所述IP报文的目的IP地址和目的MAC地址;

若在所述第一虚拟机信息表中查找到所述IP报文的目的IP地址和目的MAC地址,则在所述第一虚拟机信息表中获取包括所述IP报文的目的IP地址和目的MAC地址的第二表项;

将所述第二表项包括的VXLAN设备的标识对应的VXLAN设备作为所述IP报文的目的VXLAN设备。

可选的,还包括:

若所述数据报文为地址解析协议ARP请求报文,则根据所述ARP请求报文的目的IP地址和所述第一虚拟机信息表确定发送所述ARP请求报文的第三虚拟机请求的MAC地址;

将所述第三虚拟机请求的MAC地址应答给所述第三虚拟机。

具体的,根据所述ARP请求报文的目的IP地址和所述第一虚拟机信息表确定发送所述ARP请求报文的第三虚拟机请求的MAC地址,具体包括:

在所述第一虚拟机信息表中查找所述ARP请求报文的目的IP地址;

若在所述第一虚拟机信息表中查找到所述ARP请求报文的目的IP地址,则从所述第一虚拟机信息表中获取包括所述ARP请求报文的目的IP地址的第三表项;

确定所述第三表项包括的VXLAN设备的标识是否是所述VXLAN设备的标识;

若所述第三表项包括的VXLAN设备的标识不是所述VXLAN设备的标识,则将所述VXLAN设备的MAC地址作为所述第三虚拟机请求的MAC地址。

可选的,还包括:

接收对应的网关镜像转发的报文后,获取所述报文的源IP地址和源MAC地址,所述报文是所述VXLAN设备所在的数据中心的第四虚拟机发送的;

确定所述第一虚拟机信息表中是否保存所述报文的源IP地址和源MAC地址;

若所述第一虚拟机信息表中未保存所述报文的源IP地址和源MAC地址,则在所述第一虚拟机信息表中建立第四表项,所述第四表项包括所述报文的源IP地址、源MAC地址和所述VXLAN设备的标识;以及,

将所述第四表项同步给所述大二层网络中的其他VXLAN设备,以使所述大二层网络中的其他VXLAN设备在自身的第二虚拟机信息表中保存所述第四表项。

可选的,还包括:

接收所述大二层网络中的其他VXLAN设备发送的第五表项,所述第五表项包括IP地址、MAC地址和对应的其他VXLAN设备的标识;

在所述第一虚拟机信息表中查找所述第五表项包括的IP地址和MAC地址;

若在所述第一虚拟机信息表中查找到所述第五表项包括的IP地址和MAC地址,则在所述第一虚拟机信息表中删除所述第五表项包括的IP地址和MAC地址对应的表项,并在所述第一虚拟机信息表中保存所述第五表项;

若在所述第一虚拟机信息表中未查找到所述第五表项包括的IP地址和MAC地址,则在所述第一虚拟机信息表中保存所述第五表项。

根据本发明实施例,还提供一种跨数据中心的虚拟机通信装置,多个数据中心位于同一个大二层网络,每个数据中心的网关与对应的虚拟可扩展局域网VXLAN设备通信连接,所述大二层网络中的两两VXLAN设备之间建立VXLAN隧道,所述装置包括:

第一确定模块,用于确定对应的网关转发的数据报文的类型;

第二确定模块,用于若所述数据报文为互联网协议IP报文,则确定所述IP报文的目的媒体访问控制MAC地址是否是所述VXLAN设备的MAC地址;

第三确定模块,用于若所述IP报文的目的MAC地址是所述VXLAN设备的MAC地址,则确定所述IP报文的目的IP地址是否是所述VXLAN设备的IP地址;

转发模块,用于若确定所述IP报文的目的IP地址是所述VXLAN设备的IP地址,则确定所述IP报文是所述大二层网络中的其他VXLAN设备发送的VXLAN报文,解封装所述VXLAN报文,根据第一虚拟机信息表将解封装后的所述VXLAN报文转发给所述VXLAN设备所在的数据中心的第一虚拟机;若确定所述IP报文的目的IP地址不是所述VXLAN设备的IP地址,则根据所述IP报文的目的MAC地址、目的IP地址和所述第一虚拟机信息表确定所述IP报文的目的VXLAN设备,将所述IP报文发送给所述目的VXLAN设备,以使所述目的VXLAN设备将所述IP报文转发给所述目的VXLAN设备所在的数据中心的第二虚拟机。

具体的,所述转发模块,用于根据第一虚拟机信息表将解封装后的所述VXLAN报文转发给所述VXLAN设备所在的数据中心的第一虚拟机,具体用于:

在所述第一虚拟机信息表中查找解封装后的所述VXLAN报文的目的IP地址和目的MAC地址;

若在所述第一虚拟机信息表中查找到解封装后的所述VXLAN报文的目的IP地址和目的MAC地址,则从所述第一虚拟机信息表中获取包括解封装后的所述VXLAN报文的目的IP地址和目的MAC地址的第一表项;

若所述第一表项包括的VXLAN设备标识是所述VXLAN设备的标识,则将解封装后的所述VXLAN报文转发给解封装后的所述VXLAN报文的目的IP地址和目的MAC地址对应的第一虚拟机。

具体的,所述转发模块,用于根据所述IP报文的目的MAC地址、目的IP地址和所述第一虚拟机信息表确定所述IP报文的目的VXLAN设备,具体用于:

在所述第一虚拟机信息表中查找所述IP报文的目的IP地址和目的MAC地址;

若在所述第一虚拟机信息表中查找到所述IP报文的目的IP地址和目的MAC地址,则在所述第一虚拟机信息表中获取包括所述IP报文的目的IP地址和目的MAC地址的第二表项;

将所述第二表项包括的VXLAN设备的标识对应的VXLAN设备作为所述IP报文的目的VXLAN设备。

可选的,还包括:

第四确定模块,用于若所述数据报文为地址解析协议ARP请求报文,则根据所述ARP请求报文的目的IP地址和所述第一虚拟机信息表确定发送所述ARP请求报文的第三虚拟机请求的MAC地址;

应答模块,用于将所述第三虚拟机请求的MAC地址应答给所述第三虚拟机。

具体的,所述第四确定模块,用于根据所述ARP请求报文的目的IP地址和所述第一虚拟机信息表确定发送所述ARP请求报文的第三虚拟机请求的MAC地址,具体用于:

在所述第一虚拟机信息表中查找所述ARP请求报文的目的IP地址;

若在所述第一虚拟机信息表中查找到所述ARP请求报文的目的IP地址,则从所述第一虚拟机信息表中获取包括所述ARP请求报文的目的IP地址的第三表项;

确定所述第三表项包括的VXLAN设备的标识是否是所述VXLAN设备的标识;

若所述第三表项包括的VXLAN设备的标识不是所述VXLAN设备的标识,则将所述VXLAN设备的MAC地址作为所述第三虚拟机请求的MAC地址。

可选的,还包括:

获取模块,用于接收对应的网关镜像转发的报文后,获取所述报文的源IP地址和源MAC地址,所述报文是所述VXLAN设备所在的数据中心的第四虚拟机发送的;

第五确定模块,用于确定所述第一虚拟机信息表中是否保存所述报文的源IP地址和源MAC地址;

第一同步模块,用于若所述第一虚拟机信息表中未保存所述报文的源IP地址和源MAC地址,则在所述第一虚拟机信息表中建立第四表项,所述第四表项包括所述报文的源IP地址、源MAC地址和所述VXLAN设备的标识;以及,将所述第四表项同步给所述大二层网络中的其他VXLAN设备,以使所述大二层网络中的其他VXLAN设备在自身的第二虚拟机信息表中保存所述第四表项。

可选的,还包括:

接收模块,用于接收所述大二层网络中的其他VXLAN设备发送的第五表项,所述第五表项包括IP地址、MAC地址和对应的其他VXLAN设备的标识;

查找模块,用于在所述第一虚拟机信息表中查找所述第五表项包括的IP地址和MAC地址;

第二同步模块,用于若在所述第一虚拟机信息表中查找到所述第五表项包括的IP地址和MAC地址,则在所述第一虚拟机信息表中删除所述第五表项包括的IP地址和MAC地址对应的表项,并在所述第一虚拟机信息表中保存所述第五表项;若在所述第一虚拟机信息表中未查找到所述第五表项包括的IP地址和MAC地址,则在所述第一虚拟机信息表中保存所述第五表项。

本发明有益效果如下:

本发明实施例提供一种跨数据中心的虚拟机通信方法及装置,所述VXLAN设备确定对应的网关转发的数据报文的类型;若所述数据报文为IP报文,则确定所述IP报文的目的MAC地址是否是所述VXLAN设备的MAC地址;若所述IP报文的目的MAC地址是所述VXLAN设备的MAC地址,则确定所述IP报文的目的IP地址是否是所述VXLAN设备的IP地址;若确定所述IP报文的目的IP地址是所述VXLAN设备的IP地址,则确定所述IP报文是所述大二层网络中的其他VXLAN设备发送的VXLAN报文,解封装所述VXLAN报文,根据第一虚拟机信息表将解封装后的所述VXLAN报文转发给所述VXLAN设备所在的数据中心的第一虚拟机;若确定所述IP报文的目的IP地址不是所述VXLAN设备的IP地址,则根据所述IP报文的目的MAC地址、目的IP地址和所述第一虚拟机信息表确定所述IP报文的目的VXLAN设备,将所述IP报文发送给所述目的VXLAN设备,以使所述目的VXLAN设备将所述IP报文转发给所述目的VXLAN设备所在的数据中心的第二虚拟机。该方案中,无需改变原有数据中心的架构,只需要在每个数据中心的网关旁挂一个VXLAN设备,该VXLAN设备可以实现在两个数据中心的虚拟机之间的报文转发,从而可以实现两个数据中心之间的虚拟机通信。

附图说明

图1为现有技术中两个数据中心的网络架构图;

图2为本发明实施例中两个数据中心的网络架构图;

图3为本发明实施例中跨数据中心的虚拟机通信方法的流程图;

图4为本发明实施例中S34的流程图;

图5为本发明实施例中S35的流程图;

图6为本发明实施例中第一种虚拟机信息同步方法的流程图;

图7为本发明实施例中第二种虚拟机信息同步方法的流程图;

图8为本发明实施例中跨数据中心的虚拟机通信装置的结构示意图。

具体实施方式

针对现有技术中存在的跨数据中心的虚拟机无法通信的问题,本发明实施例提供一种跨数据中心的虚拟机通信方法,多个数据中心位于同一个大二层网络,每个数据中心的网关与对应的VXLAN设备通信连接,大二层网络中的两两VXLAN设备之间建立VXLAN隧道,如图2所示为大二层网络包括两个数据中心的架构图,S9和S10为A、B两个数据中心的VXLAN设备,分别旁挂在S5、S6旁。该方法的执行主体为每个数据中心的VXLAN设备,流程如图3所示,执行步骤如下:

S31:确定对应的网关转发的数据报文的类型。

在本发明中,每个数据中心的网关还会继续转发VM对外通信的报文,这里不再赘述。对于几类数据报文,网关会转给旁挂的VXLAN设备,例如:广播报文、未知名报文和知名单播报文等等,可以设置专门的数据转发链路来转发这些数据报文。不同的数据报文有不同的处理方法,因此,VXLAN设备接收到网关转发的数据报文后,需要先确定数据报文的类型。

S32:若数据报文为IP报文,则确定IP报文的目的媒体访问控制(Media Access Control,MAC)地址是否是VXLAN设备的MAC地址。

当数据报文是IP报文时,这有可能是跨数据中心的虚拟机通信的报文,因此,需要进一步确定IP的目的MAC地址是否是VXLAN设备的MAC地址。

S33:若IP报文的目的MAC地址是VXLAN设备的MAC地址,则确定IP报文的目的IP地址是否是VXLAN设备的IP地址;若确定IP报文的目的IP地址是VXLAN设备的IP地址,执行S34;若确定IP报文的目的IP地址不是VXLAN设备的IP地址,执行S35。

若IP报文的目的MAC地址是VXLAN设备的MAC地址,则进一步确定IP报文的目的IP地址是否是VXLAN设备的IP地址;若IP报文的目的MAC地址不是VXLAN设备的MAC地址,则直接丢弃,VXLAN设备无需处理。

S34:确定IP报文是大二层网络中的其他VXLAN设备发送的VXLAN报文,解封装VXLAN报文,根据第一虚拟机信息表将解封装后的VXLAN报文转发给VXLAN设备所在的数据中心的第一虚拟机。

其中,第一虚拟机信息表中保存的是大二层网络中每个VM的IP地址、MAC地址和所属VXLAN设备的标识。

通过该步骤可以实现将大二层网络中的其他数据中心的VM发送的IP报文转发给VXLAN设备所在的数据中心的VM,也就是实现接收其他数据中心的VM的报文。

S35:根据IP报文的目的MAC地址、目的IP地址和第一虚拟机信息表确定IP报文的目的VXLAN设备,将IP报文发送给目的VXLAN设备,以使目的VXLAN设备将IP报文转发给目的VXLAN设备所在的数据中心的第二虚拟机。

通过该步骤可以实现将VXLAN设备所在的数据中心的VM发送的IP报文转发给大二层网络中的其他数据中心的VM,也就是实现向其他数据中心的VM发送IP报文。

该方案中,无需改变原有数据中心的架构,只需要在每个数据中心的网关旁挂一个VXLAN设备,该VXLAN设备可以实现在两个数据中心的虚拟机之间的报文转发,从而可以实现两个数据中心之间的虚拟机通信。

具体的,上述S34中根据第一虚拟机信息表将解封装后的VXLAN报文转发给VXLAN设备所在的数据中心的第一虚拟机的实现过程,如图4所示,具体包括以下步骤:

S341:在第一虚拟机信息表中查找解封装后的VXLAN报文的目的IP地址和目的MAC地址。

S342:若在第一虚拟机信息表中查找到解封装后的VXLAN报文的目的IP地址和目的MAC地址,则从第一虚拟机信息表中获取包括解封装后的VXLAN报文的目的IP地址和目的MAC地址的第一表项。

若第一虚拟机信息表中未查找到解封装后的VXLAN报文的目的IP地址和目的MAC地址,说明解封装后的VXLAN报文的目的IP地址和目的MAC地址对应的虚拟机不在大二层网络中,VXLAN设备无需处理该报文,丢弃即可;若第一虚拟机信息表中查找到解封装后的VXLAN报文的目的IP地址和目的MAC地址,说明解封装后的VXLAN报文的目的IP地址和目的MAC地址对应的虚拟机是在大二层网络中,可以进一步确定该虚拟机所属的VXLAN设备,具体可以从第一虚拟机信息表中获取包括解封装后的VXLAN报文的目的IP地址和目的MAC地址的第一表项。

S343:若第一表项包括的VXLAN设备标识是VXLAN设备的标识,则将解封装后的VXLAN报文转发给解封装后的VXLAN报文的目的IP地址和目的MAC地址对应的第一虚拟机。

若第一表项包括的VXLAN设备标识是VXLAN设备的标识,说明解封装后的VXLAN报文的目的IP地址和目的MAC地址对应的第一虚拟机是在本数据中心,可以将解封装后的VXLAN报文转发给第一虚拟机,从而实现其他数据中心的虚拟机向本数据中心的虚拟机发送IP报文。

具体的,上述S35中的根据IP报文的目的MAC地址、目的IP地址和第一虚拟机信息表确定IP报文的目的VXLAN设备的实现过程,如图5所示,具体包括:

S351:在第一虚拟机信息表中查找IP报文的目的IP地址和目的MAC地址。

S352:若在第一虚拟机信息表中查找到IP报文的目的IP地址和目的MAC地址,则在第一虚拟机信息表中获取包括IP报文的目的IP地址和目的MAC地址的第二表项。

若第一虚拟机信息表中未查找到IP报文的目的IP地址和目的MAC地址,说明IP报文的目的IP地址和目的MAC地址对应的虚拟机不在大二层网络中,VXLAN设备无需处理该报文,丢弃即可;若第一虚拟机信息表中查找到IP报文的目的IP地址和目的MAC地址,说明IP报文的目的IP地址和目的MAC地址对应的虚拟机是在大二层网络中,可以进一步确定该虚拟机所述的VXLAN设备,具体可以从第一虚拟机信息表中获取包括IP报文的目的IP地址和目的MAC地址的第二表项。

S353:将第二表项包括的VXLAN设备的标识对应的VXLAN设备作为IP报文的目的VXLAN设备。

通过S351-S353可以确定IP报文的目的VXLAN设备,从而可以确保将本数据中心的虚拟机发送的IP报文发送给其他数据中心的虚拟机。

以上说明的是VXLAN设备确定数据报文是IP报文时的处理过程,在虚拟机发送IP报文之前,通常需要发送地址解析协议(Address Resolution Protocol,ARP)请求报文请求MAC地址,下面介绍VXLAN设备接收到ARP请求报文的处理过程,具体过程包括:若数据报文为ARP请求报文,则根据ARP请求报文的目的IP地址和第一虚拟机信息表确定发送ARP请求报文的第三虚拟机请求的MAC地址;将第三虚拟机请求的MAC地址应答给第三虚拟机。

其中,根据ARP请求报文的目的IP地址和第一虚拟机信息表确定发送ARP请求报文的第三虚拟机请求的MAC地址,具体包括:在第一虚拟机信息表中查找ARP请求报文的目的IP地址;若在第一虚拟机信息表中查找到ARP请求报文的目的IP地址,则从第一虚拟机信息表中获取包括ARP请求报文的目的IP地址的第三表项;确定第三表项包括的VXLAN设备的标识是否是VXLAN设备的标识;若第三表项包括的VXLAN设备的标识不是VXLAN设备的标识,则将VXLAN设备的MAC地址作为第三虚拟机请求的MAC地址。

需要说明的是,若在第一虚拟机信息表中未查找到ARP请求报文的目的IP地址或者第三表象包括的VXLAN设备的标识是该VXLAN设备的标识,则该VXLAN无需处理该ARP请求报文,丢弃即可。

为了实现跨数据中心的虚拟机通信,每个VXLAN设备需要获知大二层网络中所有的虚拟机信息,因此,每个VXLAN设备需要获取本数据中心的虚拟机信息并同步给大二层网络中的其他VXLAN设备,同时还需要获取其他数据中心的虚拟机信息,下面分别介绍这两种情况。

第一种情况的实现过程如图6所示,具体包括以下步骤:

S61:接收对应的网关镜像转发的报文后,获取报文的源IP地址和源MAC地址,报文是VXLAN设备所在的数据中心的第四虚拟机发送的。

S62:确定第一虚拟机信息表中是否保存报文的源IP地址和源MAC地址。

S63:若第一虚拟机信息表中未保存报文的源IP地址和源MAC地址,则在第一虚拟机信息表中建立第四表项,第四表项包括报文的源IP地址、源MAC地址和VXLAN设备的标识。

S64:将第四表项同步给大二层网络中的其他VXLAN设备,以使大二层网络中的其他VXLAN设备在自身的第二虚拟机信息表中保存第四表项。

镜像转发是网关将接收到的来自本数据中心的虚拟机的所有报文同步给VXLAN设备,具体可以在网关与VXLAN设备之间设置专门的数据分析链路,然后网关通过数据分析链路将VXLAN所在的数据中心的虚拟机发送的所有报文同步给VXLAN设备,从而实现镜像转发。VXLAN设备根据网关镜像转发的报文获取本数据中心的虚拟机信息,并同步给大二层网络中的其他VXLAN设备。由于虚拟机在数据中心之间发生迁移后,会发送免费ARP报文等等,这些报文网关同样会转给旁挂的VXLAN设备,即使虚拟机在数据中心之间发生迁移,VXLAN设备上的虚拟机信息表也能获取最准确的虚拟机信息,从而确保准确地在跨数据中心的虚拟机之间转发报文,实现跨数据中心的虚拟机通信。

第二种情况的实现过程如图7所示,具体包括以下步骤:

S71:接收大二层网络中的其他VXLAN设备发送的第五表项,第五表项包括IP地址、MAC地址和对应的其他VXLAN设备的标识。

S72:在第一虚拟机信息表中查找第五表项包括的IP地址和MAC地址,若在第一虚拟机信息表中查找到第五表项包括的IP地址和MAC地址,执行S73;若在第一虚拟机信息表中未查找到第五表项包括的IP地址和MAC地址,执行S74。

S73:在第一虚拟机信息表中删除第五表项包括的IP地址和MAC地址对应的表项,并在第一虚拟机信息表中保存第五表项。

S74:在第一虚拟机信息表中保存第五表项。

通过S71-S75可以实现将大二层网络中的其他VXLAN设备保存的虚拟机信息通过给本VXLAN设备。

基于同一发明构思,本发明实施例提供一种跨数据中心的虚拟机通信装置,多个数据中心位于同一个大二层网络,每个数据中心的网关与对应的VXLAN设备通信连接,大二层网络中的两两VXLAN设备之间建立VXLAN隧道,该装置的结构如图8所示,包括:

第一确定模块81,用于确定对应的网关转发的数据报文的类型;

第二确定模块82,用于若数据报文为IP报文,则确定IP报文的目的MAC地址是否是VXLAN设备的MAC地址;

第三确定模块83,用于若IP报文的目的MAC地址是VXLAN设备的MAC地址,则确定IP报文的目的IP地址是否是VXLAN设备的IP地址;

转发模块84,用于若确定IP报文的目的IP地址是VXLAN设备的IP地址,则确定IP报文是大二层网络中的其他VXLAN设备发送的VXLAN报文,解封装VXLAN报文,根据第一虚拟机信息表将解封装后的VXLAN报文转发给VXLAN设备所在的数据中心的第一虚拟机;若确定IP报文的目的IP地址不是VXLAN设备的IP地址,则根据IP报文的目的MAC地址、目的IP地址和第一虚拟机信息表确定IP报文的目的VXLAN设备,将IP报文发送给目的VXLAN设备,以使目的VXLAN设备将IP报文转发给目的VXLAN设备所在的数据中心的第二虚拟机。

该方案中,无需改变原有数据中心的架构,只需要在每个数据中心的网关旁挂一个VXLAN设备,该VXLAN设备可以实现在两个数据中心的虚拟机之间的报文转发,从而可以实现两个数据中心之间的虚拟机通信。

具体的,转发模块84,用于根据第一虚拟机信息表将解封装后的VXLAN报文转发给VXLAN设备所在的数据中心的第一虚拟机,具体用于:

在第一虚拟机信息表中查找解封装后的VXLAN报文的目的IP地址和目的MAC地址;

若在第一虚拟机信息表中查找到解封装后的VXLAN报文的目的IP地址和目的MAC地址,则从第一虚拟机信息表中获取包括解封装后的VXLAN报文的目的IP地址和目的MAC地址的第一表项;

若第一表项包括的VXLAN设备标识是VXLAN设备的标识,则将解封装后的VXLAN报文转发给解封装后的VXLAN报文的目的IP地址和目的MAC地址对应的第一虚拟机。

具体的,转发模块84,用于根据IP报文的目的MAC地址、目的IP地址和第一虚拟机信息表确定IP报文的目的VXLAN设备,具体用于:

在第一虚拟机信息表中查找IP报文的目的IP地址和目的MAC地址;

若在第一虚拟机信息表中查找到IP报文的目的IP地址和目的MAC地址,则在第一虚拟机信息表中获取包括IP报文的目的IP地址和目的MAC地址的第二表项;

将第二表项包括的VXLAN设备的标识对应的VXLAN设备作为IP报文的目的VXLAN设备。

可选的,还包括:

第四确定模块,用于若数据报文为ARP请求报文,则根据ARP请求报文的目的IP地址和第一虚拟机信息表确定发送ARP请求报文的第三虚拟机请求的MAC地址;

应答模块,用于将第三虚拟机请求的MAC地址应答给第三虚拟机。

具体的,第四确定模块,用于根据ARP请求报文的目的IP地址和第一虚拟机信息表确定发送ARP请求报文的第三虚拟机请求的MAC地址,具体用于:

在第一虚拟机信息表中查找ARP请求报文的目的IP地址;

若在第一虚拟机信息表中查找到ARP请求报文的目的IP地址,则从第一虚拟机信息表中获取包括ARP请求报文的目的IP地址的第三表项;

确定第三表项包括的VXLAN设备的标识是否是VXLAN设备的标识;

若第三表项包括的VXLAN设备的标识不是VXLAN设备的标识,则将VXLAN设备的MAC地址作为第三虚拟机请求的MAC地址。

可选的,还包括:

获取模块,用于接收对应的网关镜像转发的报文后,获取报文的源IP地址和源MAC地址,报文是VXLAN设备所在的数据中心的第四虚拟机发送的;

第五确定模块,用于确定第一虚拟机信息表中是否保存报文的源IP地址和源MAC地址;

第一同步模块,用于若第一虚拟机信息表中未保存报文的源IP地址和源MAC地址,则在第一虚拟机信息表中建立第四表项,第四表项包括报文的源IP地址、源MAC地址和VXLAN设备的标识;以及,将第四表项同步给大二层网络中的其他VXLAN设备,以使大二层网络中的其他VXLAN设备在自身的第二虚拟机信息表中保存第四表项。

可选的,还包括:

接收模块,用于接收大二层网络中的其他VXLAN设备发送的第五表项,第五表项包括IP地址、MAC地址和对应的其他VXLAN设备的标识;

查找模块,用于在第一虚拟机信息表中查找第五表项包括的IP地址和MAC地址;

第二同步模块,用于若在第一虚拟机信息表中查找到第五表项包括的IP地址和MAC地址,则在第一虚拟机信息表中删除第五表项包括的IP地址和MAC地址对应的表项,并在第一虚拟机信息表中保存第五表项;若在第一虚拟机信息表中未查找到第五表项包括的IP地址和MAC地址,则在第一虚拟机信息表中保存第五表项。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1