【技术实现步骤摘要】
一种面向虚拟机的多级流表管控方法及系统
本专利技术属于网络通信设备领域,尤其是一种面向虚拟机的多级流表管控方法及系统。
技术介绍
遵循OpenFlow标准的OpenFlow交换机,内置了多级流表处理逻辑,而每一级流表包含有多个流表规则。F多级流表是按照数字顺序排列的,起始索引号从0开始,任何进入到OpenFlow交换机的报文都会从Table0开始处理,根据Openflow标准协议Openflow交换机FlowTableID可用范围是0-253,共254个FlowTable。当报文进入流表处理时,报文会被逐次地依据Priority(优先级)与该流表里的所有流表规则进行匹配,当发现匹配成功的流表规则时,该流表规则相关联的InstructionsSet将会被执行,Instructions可以通过GotoTable指令将该报文转发到后续的其他流表处理,或者通过Drop指令将报文转发,或者通过Setfield指令修改报文内容,或通过outputport指令将报文转发至指定网口,或者封装成packet-in消息发送给SDN控制器。假若报文在一个流表里没有发现能够匹配成功的流表规则,那么这叫作一次TableMiss,至于发生TableMiss后的动作取决于这个流表的配置:1)直接丢弃,2)继续转发给后续的流表,3)封装成packet-in消息发送给SDN控制器。如图1所示,根据Openflow标准的多级流表逻辑特性,结合云计算虚拟网络的业务特性,通过对多级流表的管理,可有效提升Openflow执行效率以及管 ...
【技术保护点】
1.一种面向虚拟机的多级流表管控方法,其特征在于,包括:/nSDN控制器的静态流表管理引擎根据虚拟机的Mac地址信息和端口号,生成port-mac绑定流表规则,并下发至流表0;/nSDN控制器的静态流表管理引擎根据虚拟机的Mac地址信息、端口号和IP地址,生成多级流表分发规则,并下发至流表1;/n根据虚拟机的Mac地址信息查询数据库中虚拟机的IP地址信息和表资源池,注册空闲的流表N,并将所述port-mac绑定流表规则下发至所述流表N,其中,N为自然数并且N为2-252;/n当报文进入Openflow交换机时,根据所述流表0的port-mac绑定流表规则确定该报文为虚拟机发出时,根据所述流表0的port-mac绑定流表规则获取虚拟机的网络入口端口号、源虚拟机的MAC地址、目标虚拟机的MAC地址、源虚拟机的IP地址和目标虚拟机的IP地址;然后根据流表1的多级流表分发规则将所述报文的流表转发至对应的流表N;/n如果所述流表N的处理流表规则匹配所述报文,则将所述报文根据流表N的处理流表规则完成响应处理。/n
【技术特征摘要】
1.一种面向虚拟机的多级流表管控方法,其特征在于,包括:
SDN控制器的静态流表管理引擎根据虚拟机的Mac地址信息和端口号,生成port-mac绑定流表规则,并下发至流表0;
SDN控制器的静态流表管理引擎根据虚拟机的Mac地址信息、端口号和IP地址,生成多级流表分发规则,并下发至流表1;
根据虚拟机的Mac地址信息查询数据库中虚拟机的IP地址信息和表资源池,注册空闲的流表N,并将所述port-mac绑定流表规则下发至所述流表N,其中,N为自然数并且N为2-252;
当报文进入Openflow交换机时,根据所述流表0的port-mac绑定流表规则确定该报文为虚拟机发出时,根据所述流表0的port-mac绑定流表规则获取虚拟机的网络入口端口号、源虚拟机的MAC地址、目标虚拟机的MAC地址、源虚拟机的IP地址和目标虚拟机的IP地址;然后根据流表1的多级流表分发规则将所述报文的流表转发至对应的流表N;
如果所述流表N的处理流表规则匹配所述报文,则将所述报文根据流表N的处理流表规则完成响应处理。
2.如权利要求1所述的面向虚拟机的多级流表管控方法,其特征在于,在将所述报文的流表转发至对应的流表N之后,还包括:
如果所述流表N的处理流表规则未匹配所述报文,则Openflow交换机将报文通过Openflow协议的OFPT_PACKET_IN消息发送至SDN控制器;
SDN控制器解析OFPT_PACKET_IN消息的报文内容以提取源目标Mac地址以及查询FlowTable资源池,从而获取该报文所需经过流表号;
SDN控制器分析OFPT_PACKET_IN消息的报文内容,根据云网络的组网逻辑,生成对应的处理流表规则,并下发所述处理流表规则至所述流表号对应的流表N;
将所述报文根据下发的处理流表规则完成响应处理。
3.如权利要求2所述的面向虚拟机的多级流表管控方法,其特征在于,SDN控制器的静态流表管理引擎生成port-mac绑定流表规则之前,还包括:
云平台创建虚拟机,通过预设的转换规则,将虚拟机Mac地址与虚拟网卡Mac地址进行初始化设置,并将将虚拟网卡接入Openflow交换机;
Openflow交换机将网卡接入的变更事件,通过Openflow协议的OFP_PORT_STATUS消息发送至SDN控制器;
SDN控制器的静态流表管理引擎接收到该OFP_PORT_STATUS消息,提取虚拟网卡名称,根据虚拟机接入网卡定义规则,利用该虚拟网卡名称判断是否为虚拟机网卡;
如果虚拟网卡名称不是虚拟机网卡,则下发流表规则,将匹配该网络入口的报文转发至所述流表1;如果虚拟网卡是虚拟机接入网卡,则提取虚拟网卡的Mac地址信息,通过预设转换规则,将虚拟网卡的Mac地址转换为虚拟机的Mac地址。
4.如权利要求3所述的面向虚拟机的多级流表管控方法,其特征在于,所述OFP_PORT_STATUS消息包含了虚拟网卡的名称、Mac地址、端口号。
5.如权利要求4所述的面向虚拟机的多级流表管控方法,其特征在于,所述port-mac绑定流表规则包括:
匹配报文的网络入口端口号为虚拟机接入网卡的端口号、源Mac地址为虚拟机的Mac地址,执行动作为转发至发至流表1;
如果匹配命中,则转发至发至流表1;
如果匹配不命中,则执行下一跳流表规则,匹配报文的网络入口端口号为虚拟机接入网卡的端口号,执行动作为丢弃。
6.如权利要求5所述的面向虚拟机的多级流表管控方法,其特征在于,在下发多级流表分发规则至流表N时,配置TableMiss的执行动作为封装成OFPT_PACKET_IN消息发送给SDN控制器。
7.如权利要求6所述的面向虚拟机的多级流表管控方法,其特征在于,所述...
【专利技术属性】
技术研发人员:刘忻,林冬艺,
申请(专利权)人:广州市品高软件股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。