一种基于SDN的虚拟租户网络隔离方法及系统技术方案

技术编号:20592955 阅读:72 留言:0更新日期:2019-03-16 09:07
本发明专利技术公开一种基于SDN的虚拟租户网络隔离方法及系统,所述隔离系统为面向的云平台包括SDN控制器、虚拟交换机、虚拟机;其中,所述SDN控制器包含拓扑管理模块、初始化模块、流表管理模块、租户网络映射模块;所述虚拟交换机根据SDN控制器下发的流表完成数据包的转发,且每个物理主机即节点上只配置一个虚拟交换机;所述虚拟机通过虚拟网络接口连接到虚拟交换机上,虚拟交换机两两之间均通过隧道连接。该方法通过设计虚拟交换机的流表实现了租户网络的隔离,隔离的实现不依赖租户虚拟机的MAC、虚拟机所属VLAN的标签、vxlan编号或者GRE隧道编号等信息,允许租户MAC自由使用,满足租户灵活构建虚拟网络的需求。

A Virtual Tenant Network Isolation Method and System Based on SDN

The invention discloses a method and system of virtual tenant network isolation based on SDN. The isolation system is a cloud platform oriented to SDN controller, virtual switch and virtual machine. The SDN controller includes a topology management module, an initialization module, a flow table management module and a tenant network mapping module. The virtual switch completes the number according to the flow table issued by the SDN controller. Packets are forwarded, and only one virtual switch is configured on each physical host, i.e. node; the virtual machine is connected to the virtual switch through a virtual network interface, and the virtual switch is connected through a tunnel between the two. This method realizes the isolation of tenant network by designing flow tables of virtual switches. The isolation does not depend on the information of MAC of tenant virtual machine, label of VLAN, vxlan number or GRE tunnel number of tenant virtual machine. It allows tenant MAC to be used freely and meets the needs of tenant to construct virtual network flexibly.

【技术实现步骤摘要】
一种基于SDN的虚拟租户网络隔离方法及系统
本专利技术属于云管理领域,具体涉及一种基于SDN的虚拟租户网络隔离方法。
技术介绍
租户网络隔离是实施云计算服务的一项非常重要的要求,在保证租户网络和租户虚拟机安全的前提下,云平台还要尽量不降低网络管理和配置的效率。在云平台环境中,同一租户至少使用一个虚拟机,同一租户至少存在一个租户网络,单个虚拟机至少配置一个网卡;租户的虚拟机既可被用作普通业务处理设备,也可被用户配置为网络设备,例如网桥、路由器、应用网关等,用于实现自定义的网络。为了满足各种不同的用户需求,需要对租户网络进行隔离,以模拟真实的网络环境。在OpenStack环境中,Neutron管理的实体中的网络,是隔离的L2广播域,一般是创建它的用户所有,用户可以拥有多个Neutron中的网络。为了实现租户网络的隔离,Neutron采用vlantag(vlan标签)、gre隧道、vxlan-id等的转换完成数据包的传递和隔离。这种方法需要多次转换,不利于理解。SDN交换机,现在用的比较多的是OpenFlow交换机,分离了控制层面和转发层面,FIB表可以在本地进行配置,也可以在控制器远程进行修改。OpenvSwitch即开放虚拟交换标准,利用虚拟平台,通过软件的方式形成交换机部件。利用虚拟交换的可编程,可以基于端口、用户信息等制订流表转发策略。在云计算环境中,SDN控制器可以从全网的角度对每一个虚拟交换机的流表通过修改流表的方式进行配置,在不修改与用户相关的信息的情况下,实现租户网络的创建和管理。当前一种基于SDN的流表来隔离的方法是依据MAC地址来进行隔离。依据虚拟机的MAC地址进行隔离,该方法限制了租户的MAC地址使用自由。当前还有一种实现多租户需求的SDN的方法将物理网络划分为多个逻辑网络,从而满足多租户的需求。其利用一种定义的网络切片,不同的用户分属不同的网络切片,根据报文是否属于该租户网络切片来决定是否转发,从而实现不同租户的隔离。这种方法只能简单地管理流空间,所有的切片共享同一的流和地址空间,且每个切片的流空间不允许重叠。当前还有一种利用网络虚拟化平台进行租户网络的隔离,通过流空间的虚拟化实现了租户的虚拟网络,即翻译OpenFlow消息以及数据包,实现了虚拟网络和物理网络的映射。用户可以使用任意的地址空间,可以重复。但是主机发出数据包时,系统将数据包的虚拟MAC和IP地址替换为物理MAC和IP地址;接收报文时,系统将物理MAC和IP地址转换为虚拟MAC和IP地址。该方法需要确切的物理MAC或IP地址来隔离不同租户的网络流量,不支持通配匹配和大规模流量的洪泛。当前还有一种利用虚拟MAC进行租户网络隔离,该方法先对虚拟机的MAC地址和全局唯一的虚拟的MAC地址进行某种一一映射,利用全局唯一的虚拟MAC地址进行隔离。该方法允许租户的虚拟机自由使用MAC地址,但是该方法需要额外增加ARP代理,并且当存在多网卡或者采用虚拟机模拟交换设备时会出现一一映射问题。
技术实现思路
针对上述技术问题,本专利技术旨在提供一种基于SDN的虚拟租户网络隔离方法,通过设计虚拟交换机的流表实现了租户网络的隔离,隔离的实现不依赖租户虚拟机的MAC、虚拟机所属VLAN的标签、vxlan编号或者GRE隧道编号等信息,允许租户MAC自由使用,满足租户灵活构建虚拟网络的需求。本专利技术的技术方法是:一种基于SDN的虚拟租户网络隔离方法面向的云平台包含了SDN控制器、虚拟交换机、虚拟机;系统架构如图1所示,所述SDN控制器包含拓扑管理模块、初始化模块、流表管理模块;所述虚拟交换机根据SDN控制器下发的流表完成数据包的转发,且每个物理主机(节点)上只需要配置一个虚拟交换机;所述虚拟机通过虚拟网络接口连接到虚拟交换机上,虚拟交换机两两之间均通过隧道连接;所述的拓扑管理模块,是基于LLDP协议发现虚拟交换机之间的拓扑连接关系,确定虚拟交换机之间的端口(隧道口)连接关系;所述的初始化模块,是根据拓扑管理模块发现的拓扑数据,生成虚拟交换机初始化流表;所述的租户网络映射模块,是根据租户的网络需求,生成租户网络映射流表,满足租户网络隔离和租户网络内部正常运行的需求;所述的流表管理模块,是下发初始化流表和租户网络映射流表,更新虚拟交换机的流表信息;所述的基于SDN的虚拟租户网络隔离方法的执行步骤如下:步骤1,虚拟交换机拓扑发现过程,控制器连接所有虚拟交换机,所述的拓扑管理模块利用LLDP协议计算虚拟交换机之间的连接关系;步骤2,虚拟交换机流表初始化过程,所述的初始化模块根据拓扑管理模块发现的拓扑信息,产生虚拟交换机的初始化流表,并下发初始化流表至各个虚拟交换机;所述的虚拟交换机初始化流表包括:Table0:如果是从隧道口过来的包,设置寄存器reg0的值为2,然后跳转到Table40处理;Table10:添加默认drop规则;Table20:节点本地的虚拟机MAC地址学习,用于生成返程流表;生成规则:根据数据包in_port、源MAC(dl_src)、虚拟网络标识VNI值(metadata),生成返程流表,返程流表匹配条件包括VNI值(metadata)、目的MAC(dl_dst),动作为从ip_port发出,保存返程流表到Table100,然后跳转到Table30处理;Table30:判断是单播包还是多播包,单播包跳转到Table100处理,多播跳转到Table130处理;Table40:添加默认drop规则;Table50:节点外部的虚拟机MAC地址学习,用于生成返程流表;生成规则:根据数据包in_port、源MAC(dl_src)、VNI值(metadata),生成返程流表,返程流表匹配条件包括VNI值(metadata)、目的MAC(dl_dst),动作为添加tunnel号并从当前数据包的ip_port发出,保存返程流表到Table110,然后跳转到Table60处理;Table60:判断是单播包还是多播包,单播包跳转到Table100处理,多播跳转到Table130处理;Table100:如果是虚拟机过来的数据包,即reg0=1,跳转到Table110处理;如果是隧道口过来的包,即reg0=2,默认drop处理;Table110:添加默认规则,跳转到Table120处理;Table120:添加默认drop规则;Table130:添加默认drop规则;步骤3,云平台创建租户网络和虚拟机后,所述的租户网络映射模块根据租户网络的运行信息生成与租户网络相关的租户网络映射流表,并将租户网络映射流表添加至各个虚拟交换机;所述的租户网络映射流表包括:Table0:根据入端口号(in_port)判断,从虚拟机端口过来的包,设置寄存器reg0为1,并设置metadata为端口所在网络的VNI值,然后跳到Table10处理;Table10:进行虚拟机端口安全性控制;如果对应虚拟机端口启动端口安全性控制,匹配数据包in_port、源MAC(dl_src)、源IP(nw_src)是否与平台预分配信息一致,一致则跳转Table20处理;如果对应虚拟机端口未启动端口安全性控制,匹配数据包in_port后跳转Table20处理;Table40:匹配数据包Tunnel号,并设置本文档来自技高网
...

【技术保护点】
1.一种基于SDN的虚拟租户网络隔离系统,其特征在于,所述隔离系统为面向的云平台,所述云平台包括SDN控制器、虚拟交换机、虚拟机;其中,所述SDN控制器包含拓扑管理模块、初始化模块、流表管理模块、租户网络映射模块;所述虚拟交换机根据SDN控制器下发的流表完成数据包的转发,且每个物理主机即节点上只配置一个虚拟交换机;所述虚拟机通过虚拟网络接口连接到虚拟交换机上,虚拟交换机两两之间均通过隧道连接。

【技术特征摘要】
1.一种基于SDN的虚拟租户网络隔离系统,其特征在于,所述隔离系统为面向的云平台,所述云平台包括SDN控制器、虚拟交换机、虚拟机;其中,所述SDN控制器包含拓扑管理模块、初始化模块、流表管理模块、租户网络映射模块;所述虚拟交换机根据SDN控制器下发的流表完成数据包的转发,且每个物理主机即节点上只配置一个虚拟交换机;所述虚拟机通过虚拟网络接口连接到虚拟交换机上,虚拟交换机两两之间均通过隧道连接。2.根据权利要求1所述的一种基于SDN的虚拟租户网络隔离系统,其特征在于,所述的拓扑管理模块,是基于LLDP协议发现虚拟交换机之间的拓扑连接关系,确定虚拟交换机之间的端口即隧道口连接关系;所述的初始化模块,根据拓扑管理模块获取到的拓扑数据,生成虚拟交换机初始化流表;所述的租户网络映射模块,是根据租户的网络需求,生成租户网络映射流表,满足租户网络隔离和租户网络内部正常运行的需求;所述的流表管理模块,是下发初始化流表和租户网络映射流表,更新虚拟交换机的流表信息。3.一种基于SDN的虚拟租户网络隔离方法,其特征在于,所述方法的执行步骤如下:步骤1,虚拟交换机拓扑发现过程,控制器连接所有虚拟交换机,所述的拓扑管理模块利用LLDP协议计算虚拟交换机之间的连接关系;步骤2,虚拟交换机流表初始化过程,所述的初始化模块根据拓扑管理模块发现的拓扑信息,产生虚拟交换机的初始化流表,并下发初始化流表至各个虚拟交换机;步骤3,云平台创建租户网络和虚拟机后,所述的租户网络映射模块根据租户网络的运行信息生成与租户网络相关的租户网络映射流表,并将租户网络映射流表添加至各个虚拟交换机。4.根据权利要求3所述的一种基于SDN的虚拟租户网络隔离方法,其特征在于,所述步骤2中,虚拟交换机的初始化流表包括:Table0:如果是从隧道口过来的数据包,设置寄存器reg0的值为2,然后跳转到Table40处理;Table10:添加默认drop规则;Table20:节点本地的虚拟机MAC地址学习,用于生成返程流表;生成规则:根据数据包in_port、源MACdl_src、虚拟网络标识VNI值metadata,生成返程流表,返程流表匹配条件包括VNI值metadata、目的MACdl_dst,动作为从ip_port发出,保存返程流表到Table100,然后跳转到Table30处理;Table30:判断是单播数据包还是多播数据包,单播...

【专利技术属性】
技术研发人员:黄韬魏亮檀朝红陈俊霞
申请(专利权)人:南京优速网络科技有限公司
类型:发明
国别省市:江苏,32

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

1