多租户云平台架构的制作方法

文档序号:9380036阅读:978来源:国知局
多租户云平台架构的制作方法
【技术领域】
[0001]本发明涉及云计算网络,更具体地,涉及多租户云平台架构。
【背景技术】
[0002]随着互联网和云计算技术的快速发展,很多IT公司都面临着如何高效管理自身硬件资源的问题。特别对于云计算大型机房的网络管理而言,一方面物理网络架构由于无法随意变动,无法很好适配上层业务发展的需求;另一方面,面对云计算多租户场景的需求,纯粹通过物理设备实现网络隔离和划分则费时费力。例如,在现有技术方案中,主要通过VLAN方式实现不同租户之间的网络通信隔离,并且通过机房物理网络设备实现对网络数据的全部控制。然而,网络架构与硬件设备高度耦合,无法随意改变,在扩展性上不够灵活。特别是无法满足多租户场景对网络的多样需求,并且机房运维工作量大,运维人员需要拿出较多的时间维护网络硬件设定。

【发明内容】

[0003]为了解决物理网络设备无法灵活变动的问题,软件定义网络(SDN)和网络虚拟化(NFV)近几年蓬勃发展起来,NFV基于目前广泛应用的x86平台实现网络数据包的转发和控制功能,SDN是网络虚拟化的一种实现方式,其核心技术是通过OpenFlow等协议将网络设备控制面与数据面分离开来,并且是未来网络发展的重要方向。本发明提出了基于SDN实现的一种云计算多租户场景整体网络解决方案。
[0004]在本发明的第一方面,提出了一种云平台架构中的宿主机,包括:
[0005]至少一个云主机,被配置为:如果所述云主机不具有数据包的目的媒体访问控制MAC地址,则所述云主机通过内部交换机向地址解析协议ARP响应代理发送ARP广播,通过所述内部交换机从所述ARP响应代理接收与数据包的目的互联网协议IP地址相匹配的目的MAC地址,用所接收的目的MAC地址封装所述数据包,并且将所述数据包发送到所述内部交换机;
[0006]所述ARP响应代理,被配置为在从内部交换机接收到来自云主机的ARP广播时,向管理服务器发送所接收的ARP广播中的数据包的目的IP地址,从所述管理服务器接收与数据包的目的IP地址相匹配的目的MAC地址,并且通过所述内部交换机向所述云主机发送所述目的MAC地址;
[0007]所述内部交换机,被配置为从所述云主机接收数据包,如果从所述云主机接收的数据包的目的MAC地址不是虚拟路由器的第一网关的MAC地址,则向软件定义网络SDN控制器发送所接收的数据包的源MAC地址和目的MAC地址以请求所述SDN控制器确定与所述源MAC地址相对应的云主机和与所述目的MAC地址相对应的云主机是否具备通信权限以及所述源MAC地址和所述目的MAC地址是否在同一个宿主机内,当从所述SDN控制器接收到指示与所述源MAC地址相对应的云主机和与所述目的MAC地址相对应的云主机具备通信权限并且所述源MAC地址和所述目的MAC地址不在同一个宿主机内的消息时,将所述数据包发送到外部交换机;
[0008]虚拟路由器,具有第一网关和第二网关;以及
[0009]所述外部交换机,被配置为在从所述内部交换机接收到数据包时,通过网络隧道将所述数据包发送到另一个宿主机。
[0010]优选地,所述云主机被进一步配置为:如果未从所述ARP响应代理接收到所述数据包的目的MAC地址,则不发送数据包。
[0011]优选地,所述内部交换机被进一步配置为:如果从所述云主机接收的数据包的目的MAC地址是所述虚拟路由器的第一网关的MAC地址,则直接通过第一网关将所述数据包转发给所述虚拟路由器;
[0012]其中,所述虚拟路由器被配置为:通过第一网关从所述内部交换机接收到所述数据包,根据路由表找到与所述数据包的目的IP地址相匹配的第二网关,将所述数据包的目的MAC地址改变为与所述目的IP地址相对应的目的MAC地址,将所述数据包的源MAC地址改变为所述第二网关的MAC地址,并且通过所述第二网关将所述数据包发送到所述内部交换机;以及
[0013]所述内部交换机被进一步配置为:从所述虚拟路由器接收所述数据包,向所述SDN控制器发送所接收的数据包的源MAC地址和目的MAC地址以请求所述SDN控制器确定与所述源MAC地址相对应的云主机和与所述目的MAC地址相对应的云主机是否具备通信权限以及所述源MAC地址和所述目的MAC地址是否在同一个宿主机内,当从所述SDN控制器接收到指示与所述源MAC地址相对应的云主机和与所述目的MAC地址相对应的云主机具备通信权限并且所述源MAC地址和所述目的MAC地址不在同一个宿主机内的消息时,将所述数据包发送到所述外部交换机。
[0014]优选地,所述虚拟路由器被进一步配置为:如果根据路由表未找到与所述数据包的目的IP地址相匹配的第二网关,则不发送所述数据包。
[0015]优选地,所述内部交换机被进一步配置为:如果在从所述虚拟路由器接收到所述数据包之后未从所述SDN控制器接收到指示所述源MAC地址和所述目的MAC地址的转发指令或接收到消息丢弃指令,则不发送所述数据包。
[0016]优选地,所述内部交换机被进一步配置为:当从所述SDN控制器接收到指示与所述源MAC地址相对应的云主机和与所述目的MAC地址相对应的云主机具备通信权限并且所述源MAC地址和所述目的MAC地址在同一个宿主机内的消息时,将所述数据包发送到与所述目的MAC地址相匹配的第二云主机。
[0017]优选地,所述内部交换机被进一步配置为:当从所述SDN控制器接收到指示与所述源MAC地址相对应的云主机和与所述目的MAC地址相对应的云主机不具备通信权限的消息时,不转发所述数据包。
[0018]优选地,所述虚拟路由器是通过Linux命名空间机制来建立的。
[0019]优选地,在所述虚拟路由器中实现了防火墙保护。
[0020]优选地,在所述虚拟路由器中实现了网络地址转换NAT功能。
[0021]在本发明的第二方面,提出了一种用于在云平台架构中的宿主机中路由数据包的方法,包括:
[0022]如果至少一个云主机不具有数据包的目的媒体访问控制MAC地址,则所述云主机通过内部交换机向地址解析协议ARP响应代理发送ARP广播;
[0023]所述ARP响应代理在从内部交换机接收到来自云主机的ARP广播时,向管理服务器发送所接收的ARP广播中的数据包的目的IP地址,从所述管理服务器接收与数据包的目的互联网协议IP地址相匹配的目的MAC地址,并且通过所述内部交换机向所述云主机发送所述目的MAC地址;
[0024]所述云主机通过所述内部交换机从所述ARP响应代理接收与数据包的IP地址相匹配的目的MAC地址,用所接收的目的MAC地址封装所述数据包,并且将所述数据包发送到所述内部交换机;
[0025]所述内部交换机从所述云主机接收所述数据包,如果从所述云主机接收的数据包的目的MAC地址不是虚拟路由器的第一网关的MAC地址,则向软件定义网络SDN控制器发送所接收的数据包的源MAC地址和目的MAC地址以请求所述SDN控制器确定与所述源MAC地址相对应的云主机和与所述目的MAC地址相对应的云主机是否具备通信权限以及所述源MAC地址和所述目的MAC地址是否在同一个宿主机内,当从所述SDN控制器接收到指示与所述源MAC地址相对应的云主机和与所述目的MAC地址相对应的云主机具备通信权限并且所述源MAC地址和所述目的MAC地址不在同一个宿主机内的消息时,将所述数据包发送到外部交换机;以及
[0026]所述外部交换机从所述内部交换机接收所述数据包,并且通过网络隧道将所述数据包发送到另一个宿主机。
[0027]优选地,所述方法还包括:如果所述云主机未从所述ARP响应代理接收到所述数据包的目的MAC地址,则所述云主机不发送数据包。
[0028]优选地,所述方法还包括:
[0029]如果所述内部交换机从所述云主机接收的数据包的目的MAC地址是所述虚拟路由器的第一网关的MAC地址,则直接通过第一网关将所述数据包转发给所述虚拟路由器;
[0030]所述虚拟路由器通过第一网关从所述内部交换机接收所述数据包,根据路由表找到与所述数据包的目的IP地址相匹配的第二网关,将所述数据包的目的MAC地址改变为与所述目的IP地址相对应的目的MAC地址,将所述数据包的源MAC地址改变为所述第二网关的MAC地址,并且通过所述第二网关将所述数据包发送到所述内部交换机;
[0031]所述内部交换机从所述虚拟路由器接收所述数据包,向所述SDN控制器发送所接收的数据包的源MAC地址和目的MAC地址以请求所述SDN控制器确定与所述源MAC地址相对应的云主机和与所述目的MAC地址相对应的云主机是否具备通信权限以及所述源MAC地址和所述目的MAC地址是否在同一个宿主机内,当从所述SDN控制器接收到指示与所述源MAC地址相对应的云主机和与所述目的MAC地址相对应的云主机具备通信权限并且所述源MAC地址和所述目的MAC地址不在同一个宿主机内的消息时,将所述数据包发送到外部交换机;以及
[0032]所述外部交换机从所述内部交换机接收所述数据包,并且通过网络隧道将所述数据包发送到另一个宿主机。
[0033]优选地,所述方法还包括:如果所述虚拟路由器根据路由表未找到与所述数据包的目的IP地址相匹配的第二网关,则所述虚拟路由器不发送所述
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1