【技术实现步骤摘要】
基于OpenFlow的云计算分布式网络实现方法、系统
本专利技术涉及云计算技术及OpenFlow技术,尤其涉及一种基于OpenFlow的云计算分布式网络实现方法、系统。
技术介绍
云计算(CloudComputing)是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。云计算网络是云计算的重要组成部分,云计算网络的基本核心包括虚拟2层交换机、虚拟路由器、安全组以及虚拟防火墙等,需要能够为租户虚拟网络提供互相隔离、安全功能、以及按照要求实现2、3层互通的功能。云计算网络上的虚拟设备是基于底层真实物理设备虚拟出来的;目前底层物理分为2种:一种是通过网络节点服务器上的系统自带的模块来实现的,如ip表(iptables)、ip路由(iproute)、ip命名空间(ipnamespace)等;另一种是通过把报文转发到专用的外部物理设备来实现的,如能够提供虚拟化的交换机、路由器。对于外部物理设备,目前大多数支持虚拟化的交换机、路由器的方式是基于传统交换机。传统交换机的报文转发功能和转发策略在同一台硬件上,并且每台交换机各自为政,不是统一管理。开流(OpenFlow)技术将传统交换机上的报文转发和转发策略分离开来,用专门的一台控制器(controller),一般为服务器通过网线和交换机连接。这样,原来同在一台交换机设备上的报文转发功能(硬件芯片实现)和报文转发策略(各种软件协议)被分开到了不同的硬件设备上。而一台控制器还可以控制多台OpenFlow交换机,从而实现了统一的转发控制端,更有效地控制了网络。目前,涉及到云计算分布 ...
【技术保护点】
一种基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述方法包括:云计算网络平台将消息通知发送给虚拟交换机和/或OpenFlow交换机;当计算节点或网络节点上的所述虚拟交换机收到所述消息通知时,下发用于指示虚拟机流量进出的流表;当所述OpenFlow交换机收到所述消息通知时,根据配置数据下发以下7张流表:用于处理广播报文的流表、用于识别网络的流表、用于生成2层转发信息的流表、用于安全组过滤的流表、用于生成3层分布式转发信息的流表、用于防火墙过滤的流表、用于转发的流表。
【技术特征摘要】
1.一种基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述方法包括:云计算网络平台将消息通知发送给虚拟交换机和/或OpenFlow交换机;当计算节点或网络节点上的所述虚拟交换机收到所述消息通知时,下发用于指示虚拟机流量进出的流表;当所述OpenFlow交换机收到所述消息通知时,根据配置数据下发以下7张流表:用于处理广播报文的流表、用于识别网络的流表、用于生成2层转发信息的流表、用于安全组过滤的流表、用于生成3层分布式转发信息的流表、用于防火墙过滤的流表、用于转发的流表。2.根据权利要求1所述的基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述方法还包括:所述云计算网络平台将获得的配置数据发送给所述OpenFlow交换机;其中,所述配置数据包括:所述云计算网络平台根据下联的OpenFlow交换机个数,为各交换机建立逻辑上的全网状隧道;当配置虚拟网络时,为每个计算节点上分配本地有效的虚拟网络ID:VLAN_ID,以及为虚拟网络分配全局唯一的隧道ID:TUN_ID,并保存各节点上的本地VLAN_ID和全局TUN_ID之间的映射关系;为每个计算节点分配标识符:HOST_ID,该标识符全局有效;为每个虚拟机分配标识符:VM_ID,该标识符本HOST主机有效,并保存虚拟机和网口的映射关系;为每个虚拟路由器分配标识符:ROUTER_ID,该标识符全局有效;虚拟机所属的计算节点、虚拟机网口的物理mac地址和名称、以及对应的OpenFlow端口号、虚拟机属于哪个网络和子网的无类别域间路由CIDR信息;虚拟路由器的配置、连接的子网、接口IP地址信息、以及连接的外部网络接口信息;交换机和计算节点的连接关系。3.根据权利要求1所述的基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述虚拟交换机收到所述消息通知时,下发用于指示虚拟机流量进出的流表,包括:所述虚拟交换机收到用于创建虚拟机的消息通知时,下发用于指示虚拟机流量进出的流表;其中,所述流表包括:表项1:优先级32768,匹配:虚拟机网口,动作:添加VLAN标签,配置vlanid为所述分配的本地VLAN_ID,转发到连接OpenFlow交换机的端口;表项2:优先级32767,匹配:连接OpenFlow交换机的端口,虚拟机MAC_DA地址,动作:剥除VLAN标签,发送给虚拟机网口;表项3:优先级0,匹配:任意报文,动作:丢弃。4.根据权利要求1所述的基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述用于处理广播报文的流表,包括:表项1:优先级32768,匹配:MAC_DA为FF:FF:FF:FF:FF:FF,DL_TYPE为0x0806,ARP_OP=1,动作:设置ARP_OP=2,复制MAC_SA到MAC_DA,复制ARP_SHA字段到ARP_THA字段,复制ARP_SPA字段到ARP_TPA字段,复制ARP_TPA字段到ARP_SPA,通过PACKET_IN消息上送所述OpenFlow交换机;表项2:优先级32767,匹配:MAC_DA为FF:FF:FF:FF:FF:FF,且UDP端口号为67的广播报文,动作:通过PACKET_IN消息上送所述OpenFlow交换机;表项3:优先级1,匹配:MAC_DA地址为FF:FF:FF:FF:FF:FF的广播报文,动作:丢弃;表项4:优先级0,匹配:任意报文,动作:跳转到用于识别网络的流表。5.根据权利要求1所述的基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述用于识别网络的流表,包括:表项1:优先级32768,匹配:VLANID,动作:设置METADATA值为HOST_ID和VLAN_ID的拼接:HOST_ID<<13|VLAN_ID;表项2:优先级32767,匹配:TUN_ID,动作:剥除TUNNEL头,根据映射关系,添加VLAN标签,配置本地VLAN_ID,设置METADATA值为HOST_ID和VLAN_ID的拼接:HOST_ID<<13|VLAN_ID;表项3:优先级0,匹配:任意报文,动作:跳转到用于生成2层转发信息的流表。6.根据权利要求1所述的基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述用于生成2层转发信息的流表,包括:表项1:优先级32768,匹配MAC_DA为交换机直连节点的虚拟机MAC地址,动作:根据查找出的映射关系,设置METADATA的VM_ID字段;根据连接虚拟机所在节点的交换机端口号,设置METADATA的OUT_PORT字段,跳转到用于安全组过滤的流表;表项2:优先级32767,匹配MAC_DA为交换机跨机架连接的虚拟机MAC地址,动作:剥除VLAN标签,并根据映射关系设置对应的TUN_ID,发送给跨机架虚拟机所在节点的隧道端口;表项3:优先级0,匹配:任意报文,动作:跳转到用于安全组过滤的流表。7.根据权利要求1所述的基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述用于安全组过滤的流表,包括:表项1:优先级32768,匹配:通过掩码匹配出METADATA的VM_ID为虚拟机ID,匹配安全组表项的各过滤字段,动作:丢弃;表项2:优先级0,匹配:任意报文,动作:跳转到用于生成3层分布式转发信息的流表。8.根据权利要求1所述的基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述用于生成3层分布式转发信息的流表,包括:表项1:优先级32768,匹配:IP_DA为本交换机直连节点上的虚拟机,动作:配置METADATA中的ROUTER_ID字段为虚拟机所连的虚拟路由器的ID;设置MAC_DA为目的虚拟机的MAC地址;根据连接虚拟机所在节点的交换机端口号,设置METADATA的OUT_PORT字段;表项2:优先级32767,匹配:IP_DA为跨机架连接的节点上的虚拟机,动作:设置METADATA中的ROUTER_ID字段为虚拟机所连的虚拟路由器的ID;配置MAC_DA为目的虚拟机的MAC地址;剥除VLAN标签,根据映射关系设置对应的TUN_ID,发送给跨机架目的虚拟机所在节点的隧道端口。表项3:优先级0,匹配:任意报文,动作:跳转到用于防火墙过滤的流表。9.根据权利要求1所述的基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述用于防火墙过滤的流表,包括:表项1:优先级32768,匹配:通过掩码匹配出METADATA的ROUTER_ID字段为防火墙绑定的虚拟路由器,匹配防火墙规则的各过滤字段,动作:丢弃;表项2:优先级0,匹配:任意报文,动作:跳转到用于转发的流表。10.根据权利要求1所述的基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述用于转发的流表,包括:表项1:优先级32768,匹配:通过掩码匹配出METADATA的OUT_PORT字段不为0,动作:转发到OUT_PORT字段所表示的端口;表项2:优先级0,匹配:任意报文,动作:丢弃。11.根据权利要求4所述的基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述方法还包括:当所述OpenFlow交换机收到PACKET_IN消息时,从所述云计算网络平台获得如下信息:网络节点上DHCP服务的端口MAC地址、OpenFlow端口、网络节点是否和所述OpenFlow交换机在同个机架上、以及端口连接关系。12.根据权利要求11所述的基于OpenFlow的云计算分布式网络实现方法,其特征在于,所述方法还包括:当收到DHCP报文时,将MAC_DA改为网络节点上DHCP服务端口的MAC地址;当网络节点和所述OpenFlow交换机在同个机架上时,通过PACKET_OUT消息把该报文发送到和网络节点相连接的端口上;当网络节点和所述OpenFlow交换机在不同机架上时,剥除VLAN标签,打上对应的TUN_ID,通过PACKET_OUT消息发送到和网络节点相连接的隧道端口上;当收到ARP报文时,通过ARP_SPA查找到对应端口的MAC地址,并配置到报文的MAC_SA和ARP_SHA中,发送该报文到OpenFlow虚拟端口IN_PORT。13.一种基于OpenFl...
【专利技术属性】
技术研发人员:赵怡,
申请(专利权)人:中移苏州软件技术有限公司,中国移动通信集团公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。