[发明专利]一种基于SDN的多租户虚拟网络隔离方法有效
申请号: | 201710561244.0 | 申请日: | 2017-07-11 |
公开(公告)号: | CN107395532B | 公开(公告)日: | 2020-08-11 |
发明(设计)人: | 沃天宇;李博;孙杰;刘品;秦晶杰 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | H04L12/947 | 分类号: | H04L12/947;H04L12/935;H04L12/931;H04L29/12 |
代理公司: | 北京中创阳光知识产权代理有限责任公司 11003 | 代理人: | 尹振启 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sdn 租户 虚拟 网络 隔离 方法 | ||
1.一种基于SDN的多租户虚拟网络隔离方法,包括:获取网络的拓扑信息后,当虚拟机相互通信时,虚拟机发送数据包的源MAC为虚拟机的虚拟MAC,目的MAC为目的主机的物理MAC,当报文进入发送方的接入交换机时,交换机根据匹配规则将源MAC替换成对应的物理地址;进入接收方的接入交换机时,将报文的目的物理MAC替换成目的主机的虚拟MAC,而在其他非接入交换机的传输过程中源地址、目的地址均使用虚拟机的物理MAC,并根据流表的匹配来决定是否转发报文,所述物理MAC由租户的ID和虚拟机的ID生成,在匹配的过程中通过匹配源MAC和目的MAC的租户标识是否相同判定通信主机是否属于同一租户,进而决定转发或者丢弃报文;
获取网络的拓扑信息后,为了保证网络的连通性,控制器中的路径决策模块计算出转发路径,然后流表管理模块根据转发路径下发相应的流表从而实现租户网络的连通;
所述路径决策模块计算出转发路径的过程为,路径决策模块将拓扑发现模块获取的全网的链路信息构成一个有向图,利用最短路径算法从有向图中获取从源端到目的端的通路,向通路的中间节点的交换机下发相应的流表实现租户网络的连通;
当两个租户的主机相互通信时,ARP代理直接回复租户虚拟机的ARP请求,所述回复的是虚拟机的物理MAC地址。
2.如权利要求1所述的方法,其特征在于,为获取网络的拓扑信息,当有交换机接入控制器时,控制器首先向交换机下发流表,所有不匹配的报文将会转发给控制器,然后控制器向交换机汇报的所有openflow端口发送LLDP报文。
3.如权利要求2所述的方法,其特征在于,所述LLDP报文从对应的端口到达邻居交换机后转发给控制器,控制器从openflow消息中获取邻居交换机的标识和端口号in_port,再解析LLDP报文便得到一条链路的完整信息。
4.如权利要求3所述的方法,其特征在于,处理ARP请求的过程如下:步骤S1.虚拟机发送ARP请求;步骤S2.交换机收到ARP请求,产生PacketIn消息转发给控制器;步骤S3.控制器解析PacketIn消息,判断报文是否为ARP请求,如果不是则丢弃,如果是,则根据源MAC地址获得源虚拟机的租户信息,并转入步骤S4;步骤S4.判断租户虚拟机信息表中是否存在所述租户,如果不存在则丢弃,如果存在则查找所述租户下目的IP为ARP请求主机IP的虚拟机,并转入步骤S5;步骤S5.查找所述租户的虚拟机列表中是否存在目标主机,如果存在则回复目的主机的物理MAC地址,如果不存在则丢弃。
5.如果权利要求4所述的方法,其特征在于,在系统中获取交换机S1、交换机S2链路通路的步骤为:
步骤(1):启动控制器,开始监听;
步骤(2):交换机S1接入SDN网络,并向控制器汇报此交换机的信息,所述信息包括交换机的标识dpid,交换机的端口信息;
步骤(3):控制器向交换机下发table-miss表项,所述table-miss表项通配所有流量并转发给控制器且该table-miss表项优先级最低,只有找不到其他匹配表项时才会匹配此表项;
步骤(4):控制器拓扑发现模块根据交换机S1的dpid和汇报的端口号构造LLDP报文,一个端口配一个LLDP报文,LLDP报文的Chassis ID TLV和Port ID TLV分别设置为该交换机的dpid和端口号,所述Chassis ID TLV和Port ID TLV为LLDP报文的字段,控制器将所有构造的LLDP报文分别以PacketOut消息发送给交换机S1,所述PacketOut消息为附加了交换机应从对应端口转发的命令;
步骤(5):交换机S1收到控制器的LLDP报文后,执行转发动作,由交换机S1的dpid和端口Port1构造的LLDP报文从端口Port1进行转发,到达交换机S2;
步骤(6):交换机S2收到交换机S1发送过来的LLDP报文后,没有其他流表规则与其匹配,则匹配table-miss表项,以PacketIn消息将所述LLDP报文发送给控制器,所述PacketIn消息为携带了交换机S2的相关信息,所述相关信息包括交换机S2的标识dpid以及该LLDP报文进入交换机S2的端口号Port3;
步骤(7):控制器收到交换机S2的PacketIn消息后,拓扑发现模块通过解析LLDP报文获取到交换机S1的标识dpid和端口号Port1,再通过交换机S2的PacketIn消息获取交换机S2的标识dpid和端口号Port3,于是便得到了交换机交换机S1到交换机S2的通信链路。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710561244.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型网络交换机
- 下一篇:移动性管理的方法和设备