一种云数据中心异构网络互联系统及方法
技术领域
本发明涉及计算机网络技术领域,具体提供一种云数据中心异构网络互联系统及方法。
背景技术
云计算的核心是计算能力的虚拟化,通过虚拟化,将分散在各个物理服务器中的计算能力整合到一起,以一个统一的资源池的形式向所有用户提供服务。计算能力的虚拟化带动着数据中心其他资源的虚拟化,数据中心的网络所要连接的对象从相对固定的服务器与存储器,演变为不断变化中的虚拟机与存储设备。这为传统的网络技术带来了新的挑战。
传统数据中心网络架构类似普通园区网络,由二层+三层构成,二层通常使用VLAN和STP协议,三层使用路由技术进行部署。随着虚拟化技术的不断演进,数据中心的虚拟机数据呈指数式增长,给传统VLAN技术带来以下问题:
1、网络设备表项规格达到上限,虚机的MAC数量呈指数增加,给接入侧网络设备带来巨大的压力,一旦接入侧网络设备表项达到最大规格,将不再学习新的MAC地址,或频繁刷新MAC表,导致网络不稳定,甚至不可用;
2、在拥有大量租户的数据中心,通过VLAN技术隔离的方式带来可扩展性的问题,由于VLAN数量受限,无法满足规模化云服务平台的需求;
3、为了保证虚机的动态迁移,需要提供大二层网络技术支持。
由于以上因素制约,基于VLAN技术的二层网络,可容纳的主机数量,通常无法超过1千,到了一定规模,就必须使用大二层的各种技术如虚拟机接入感知(VEPA/802.1Qbg)、数据中心二层网络扩(IRF/vPC/TRILL/FabricPath)、数据中心间二层技术(OTV/EVI/TRILL)等来进行支撑。而当服务器规模达到万台服务器或者几万台服务器规模时,任何一种纯大二层技术已不能完全满足规模化的扩展需求,需要更大范围的技术革新来消除这些限制,以满足云计算虚拟化的网络能力需求。
在此驱动力基础上,逐步演化出Overlay的虚拟化网络技术趋势。
目前在Overlay技术领域有三大技术路线:VXLAN、NVGRE、STT,其中最流行的就是VxLAN技术,包括VMware、Cisco、H3C、华为等多个虚拟化以及传统网络厂商,都是以VxLAN技术来构建自己的网络解决方案。此外,云服务的规模交付如同流水线方式的制造虚拟机,管理成本体现在供应链的能力、交付能力等等。网络的弹性能力也成为了刚性需求,如何做到网络的自动交付和变更,是扩展性之外的第二大需求。
最后一个需求是面向异构云、混合云的互联互通问题。在云平台中,有的物理服务器不能或不允许虚拟化,有的要求采用VMware的管理平台,有的采用OpenStack管理平台,这些物理服务器和各个云平台之间都要求连通,这也是一个很刚性的需求。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种能动态配置的大规模网络隔离能力和灵活的大二层网络架构,解决不同网络类型的互联互通问题的云数据中心异构网络互联系统。
本发明进一步的技术任务是提供一种云数据中心异构网络互联方法。
为实现上述目的,本发明提供了如下技术方案:
一种云数据中心异构网络互联系统,包括VmWare平台、Openstack平台、SDN控制器、云平台和代理节点,所述代理节点一侧连接VmWare平台,另一侧连接Openstack平台,SDN控制器接管代理节点和Openstack平台,向代理节点和Openstack平台下发流量转发流表。
对于未支持NSX组件的VMware平台和OpenStack平台,要实现这两个异构云平台之间的同租户网络互联互通,必须进行网络控制层模块开发,这里提出了一个代理节点作为异构云平台流量转发的节点,所述代理节点为proxy代理节点。
该异构网络互联系统的内部结构包括三个层面:配置协同层、网络控制层和转发数据层。
配置协同层实现业务与网络资源的关联,与云平台之间通过REST/RPC连接,获取云平台上用户的配置信息。即用户直接在云平台进行VxLAN/VLAN的创建、维护和删除等操作,直接会通知配置协同层的变化,从而触发网络控制层进行网络资源的管理与维护。
网络控制层包括多个子功能:如维护VNI与VLANID的映射关系、TUNNEL的创建、ARP代答等,通过接收配置协同层的配置信息,生成相应的配置表项,并通过SDN控制器使用YANG Model作为控制器与VTEP设备的交互语言,根据YANG Model自动匹配VxLAN业务模型,生成NETCONF报文或OVSDB配置命令,并下发到相应的VTEP设备,VTEP设备接收配置命令并基于VxLAN业务模型解析出具体的配置消息或数据流表,完成端到端VxLAN/VLAN网络的创建。同时,网络控制层与多个模块进行交互,集中式获取全局MAC、IP及VM(业务)之间的对应关系,通过拦截ARP信息,并创建相应的流表实现ARP代答,避免ARP广播,减轻数据链路负担,并实现快速响应。
转发数据层负责与不同厂家、不同协议的交换设备的交互,例如OpenStack平台的OVS以及VMware平台的物理交换机,通过设备类型和协议类型区分采用相应的南向接口对转发规则进行配置(例如向OVS下发流表),实现VxLAN/VLAN之间的互通。
作为优选,所述VmWare平台运行在物理服务器或虚拟机上,提供一个或多个vlan网络,用于运行虚拟机;Openstack平台运行在物理服务器或虚拟机上,提供一个或多个vxlan网络,用于运行虚拟机;SDN控制器运行在物理服务器或虚拟机上;代理节点运行在物理服务器或虚拟机上,被SDN控制器接管;云平台运行在物理服务器或虚拟机上,用于用户配置要连通的vlan虚拟机与vxlan虚拟机对应关系。
作为优选,所述Openstack平台包括计算节点、网络节点和控制节点,其中虚拟机运行在计算节点中。
作为优选,SDN控制器中设置有代理节点插件,SDN控制器中的代理节点插件向代理节点下发流量转发流表。
一种云数据中心异构网络互联方法,SDN控制器中的代理节点插件启动后,自动在代理节点上建立ovs-bridge,自动与Openstack平台的计算节点上的ovs-bridge建立vxlan隧道,同时代理节点与VmWare平台的核心交换机的Trunk口相连,保证VmWare平台的虚拟机发出的数据包到达代理节点,用户在云平台前端界面或云平台的数据库配置vlan-vxlan的对应关系,触发的SDN控制器的代理节点插件向代理节点和Openstack平台的计算节点下发转发流表,实现VmWare平台中的vlan中的虚拟机与Openstack平台中的vxlan中的虚拟机互通。
作为优选,VWare平台Vlan网络虚拟机连通OpenSatck平台vxlan网络虚拟机过程包括:
1)、SDN控制器的代理节点插件向代理节点下发arp代答流表;
2)、SDN控制器的代理节点插件向代理节点下发vlan网络指向vxlan网络的转发流表;
3)、SDN控制器的代理节点插件向计算节点下发vlan网络指向vxlan网络中的虚机的转发流表。
作为优选,OpenSatck平台vxlan网络虚拟机连通VmWare平台Vlan网络虚拟机过程包括:
1)、SDN控制器的代理节点插件向计算节点下发vxlan网络指向vlan网络的虚转发流表;
2)、SDN控制器的代理节点插件向计算节点下发vlan网络中的虚机的代答流表;
3)、SDN控制器的代理节点插件向代理节点下发vxlan网络指向vlan网络的转发流表。
作为优选,若用户配置了VmWare平台或Openstack平台的新增加虚拟机、虚拟机删除、虚拟机迁移,用户在云台上配置虚机的增加、删除、迁移,触发云平台向SDN控制器发送RPC请求,SDN控制器收到虚拟机变化请求,触发代理节点插件的更新流表操作,更新流表过程包括删除流表和下发流表。
与现有技术相比,本发明的云数据中心异构网络互联方法具有以下突出的有益效果:所述云数据中心异构网络互联方法可支持虚机上线、虚机删除、虚机迁移的自适应跟随,可由SDN控制器主动监听虚机事件或者第三方用户管理平台主动向SDN控制器发送虚机事件消息,SDN控制器向代理节点和OpenStack计算节点分别下发ARP代答流表和转发流表,能动态配置的大规模网络隔离能力和灵活的大二层网络架构,解决不同网络类型的互联互通问题,具有良好的推广应用价值。
附图说明
图1是本发明所述云数据中心异构网络互联系统的拓扑图;
图2是本发明所述云数据中心异构网络互联的内部结构示意图。
具体实施方式
下面将结合附图和实施例,对本发明的云数据中心异构网络互联系统及方法作进一步详细说明。
实施例
如图1所示,本发明的云数据中心异构网络互联系统,包括VmWare平台、Openstack平台、SDN控制器、云平台和代理节点。代理节点一侧连接VmWare平台,另一侧连接Openstack平台,SDN控制器接管代理节点和Openstack平台,向代理节点和Openstack平台下发流量转发流表。
VmWare平台运行在物理服务器或虚拟机上,提供一个或多个vlan网络,用于运行虚拟机。
Openstack平台包括计算节点、网络节点和控制节点,其中虚拟机运行在计算节点中。Openstack平台运行在物理服务器或虚拟机上,提供一个或多个vxlan网络,用于运行虚拟机。
SDN控制器中设置有代理节点插件,SDN控制器中的代理节点插件向代理节点下发流量转发流表。SDN控制器运行在物理服务器或虚拟机上。
代理节点运行在物理服务器或虚拟机上,被SDN控制器接管;云平台运行在物理服务器或虚拟机上,用于用户配置要连通的vlan虚拟机与vxlan虚拟机对应关系。
如图2所示该异构网络互联系统的内部结构包括三个层面:配置协同层、网络控制层和转发数据层。
配置协同层实现业务与网络资源的关联,与云平台之间通过REST/RPC连接,获取云平台上用户的配置信息。即用户直接在云平台进行VxLAN/VLAN的创建、维护和删除等操作,直接会通知配置协同层的变化,从而触发网络控制层进行网络资源的管理与维护。
网络控制层包括多个子功能:如维护VNI与VLANID的映射关系、TUNNEL的创建、ARP代答等,通过接收配置协同层的配置信息,生成相应的配置表项,并通过SDN控制器使用YANG Model作为控制器与VTEP设备的交互语言,根据YANG Model自动匹配VxLAN业务模型,生成NETCONF报文或OVSDB配置命令,并下发到相应的VTEP设备,VTEP设备接收配置命令并基于VxLAN业务模型解析出具体的配置消息或数据流表,完成端到端VxLAN/VLAN网络的创建。同时,网络控制层与多个模块进行交互,集中式获取全局MAC、IP及VM(业务)之间的对应关系,通过拦截ARP信息,并创建相应的流表实现ARP代答,避免ARP广播,减轻数据链路负担,并实现快速响应。
转发数据层负责与不同厂家、不同协议的交换设备的交互,例如OpenStack平台的OVS以及VMware平台的物理交换机,通过设备类型和协议类型区分采用相应的南向接口对转发规则进行配置(例如向OVS下发流表),实现VxLAN/VLAN之间的互通。
一种云数据中心异构网络互联方法,SDN控制器中的代理节点插件启动后,自动在代理节点上建立ovs-bridge,自动与Openstack平台的计算节点上的ovs-bridge建立vxlan隧道,同时代理节点与VmWare平台的核心交换机的Trunk口相连,保证VmWare平台的虚拟机发出的数据包到达代理节点,用户在云平台前端界面或云平台的数据库配置vlan-vxlan的对应关系,触发的SDN控制器的代理节点插件向代理节点和Openstack平台的计算节点下发转发流表,实现VmWare平台中的vlan中的虚拟机与Openstack平台中的vxlan中的虚拟机互通。
作为优选,VWare平台Vlan网络虚拟机连通OpenSatck平台vxlan网络虚拟机过程包括:
1)、SDN控制器的代理节点插件向代理节点下发arp代答流表。
首先,代理节点插件通过Rest接口获取云平台的用户的配置,从而SDN控制器得知vlan网络和vxlan网络中的所有虚机的ip和mac,再根据从代理节点获取到的数据包分析,如果虚机的数据包方向是的从vlan网络指向vxlan网络,说明此虚机是vlan网络中的,则代答vxlan网络中的虚机的mac;如果虚机的数据包的方向是的从vxlan网络指向vlan网络,说明此虚机是vxlan网络中的,HNI插件在代理节点上会生成并下发ARP代答流表,代答vlan网络中的虚机的mac,从而使从vlan网络来的数据包到达代理节点之后能够继续向前发送。
2)、SDN控制器的代理节点插件向代理节点下发vlan网络指向vxlan网络的转发流表。
首先代理节点插件通过Rest接口获取云平台的用户的配置,从而SDN控制器得知vxlan-计算节点ip对应关系和vlan-vxlan对应关系。再根据从代理节点获取到的数据包分析,如果虚机的数据包方向是从vlan网络指向vxlan网络中,获取数据包中的源vlan,再根据云平台的用户的配置的vlan-vxlan对应关系和vxlan-计算节点ip对应关系,找到目的vxlan,再找到计算节点ip,代理节点插件在代理节点上会生成并下发流表,流表会指导数据包从代理节点上的和目的计算节点相连的隧道端口发送出去,从而使数据包从代理节点顺利到达OpenStack的计算节点。
3)、SDN控制器的代理节点插件向计算节点下发vlan网络指向vxlan网络中的虚机的转发流表。
首先代理节点插件通过Rest接口获取云平台的用户的配置,从而SDN控制器得知vlan-vxlan对应关系和所有vxlan网络中的所有虚机ip和mac。再根据从计算节点获取到的数据包分析,如果虚机的数据包方向是从vlan网络指向vxlan网络,获取数据包中的源vlan,再根据云平台的用户的配置的vlan-vxlan对应关系和所有vxlan网络中的所有虚机ip和mac,找到这个数据包想要到达的目的vxlan的虚拟机的mac,代理节点在计算节点上会生成并下发流表,匹配vxlan网络中的虚机mac,转发至虚机即可,从而使数据包到达vxlan网络中的虚机。
OpenSatck平台vxlan网络虚拟机连通VmWare平台Vlan网络虚拟机过程包括:
1)、SDN控制器的代理节点插件向计算节点下发vxlan网络指向vlan网络的虚转发流表。
首先代理节点插件通过Rest接口获取云平台的用户的配置,从而SDN控制器得知vlan-vxlan对应关系和所有vlan网络中的所有虚机ip和mac。再根据从计算节点获取到的数据包分析,如果虚机的数据包方向是从vxlan网络指向vlan网络,获取数据包中的源vxlan和目的vlan的虚拟机的mac,代理节点在计算节点上会生成并下发流表,流表会指导数据包从vxlan虚机流向计算节点与代理节点连接的隧道端口。
2)、SDN控制器的代理节点插件向计算节点下发vlan网络中的虚机的代答流表。
首先代理节点插件通过Rest接口获取云平台的用户的配置,从而SDN控制器得知vlan-vxlan对应关系和所有vlan网络中的所有虚机ip和mac。再根据从计算节点获取到的数据包分析,如果虚机的数据包方向是从vxlan网络指向vlan网络,获取数据包中的源vxlan,再根据云平台的用户的配置的vlan-vxlan对应关系和所有vlan网络中的所有虚机ip和mac,找到这个数据包想要到达的目的vlan的虚拟机的mac,代理节点在计算节点上会生成并下发ARP代答流表,流表会指导数据包从计算节点流向代理节点。
3)、SDN控制器的代理节点插件向代理节点下发vxlan网络指向vlan网络的转发流表。
首先代理节点插件通过Rest接口获取云平台的用户的配置,从而SDN控制器得知vxlan-计算节点的ip的对应关系和vxlan-vlan对应关系。再根据从代理节点获取到的数据包分析,如果虚机的数据包方向是从vxlan网络指向vlan网络,获取数据包中的源vxlan,再根据云平台的用户的配置的vxlan-vlan对应关系,找到目的vlan,在代理节点上会生成并下发流表,流表会指导数据包从代理节点上的与Vmware平台相连的核心交换机trunk口相连的口发出去,从而使vxlan网络指向vlan网络的数据包从代理节点顺利发送到核心交换机trunk口,从而到达Vmware平台的vlan网络。
代理节点使vlan-vxlan连通之后,如果用户又配置了任何一方的新增加虚拟机、虚机删除、虚机迁移,我们也应该使其与对方网络联通,即自适应跟随。
用户可以在云平台上配置虚机的变化(增加、删除、迁移),从而又触发了云平台向SDN控制器发送RPC请求,SDN控制器接收到虚机变化请求,触发代理节点插件的更新流表操作,更新流表的过程包括删除流表和下发流表,其中下发流表使vlan-vxlan网络连通的过程与上述流程一致,删除流表即使用流表的ID或匹配项删除即可。从而实现了自适应跟随。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。