[发明专利]一种应用于软件定义网络的防火墙实现方法在审
申请号: | 201510905978.7 | 申请日: | 2015-12-09 |
公开(公告)号: | CN105338003A | 公开(公告)日: | 2016-02-17 |
发明(设计)人: | 张平;许道峰;田少鹏;王鹏;顾宪锋;雷明涛 | 申请(专利权)人: | 中国电子科技集团公司第二十八研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/741 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 胡建华 |
地址: | 210007 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种应用于软件定义网络的防火墙实现方法,包括:启动SDN控制器,SDN控制器与要注册到SDN控制器的交换机互发openflow协议报文,获取所有交换机的ID;SDN控制器启动已注册交换机的防火墙功能,防火墙的初始化模块写初始流表项到对应的交换机,丢弃所有经过交换机的报文;SDN控制器下发防火墙规则到某个已注册交换机,防火墙的报文过滤模块根据规则的类型下发不同的流表项到对应交换机来实现规则,SDN控制器删除某个已注册交换机的某条防火墙规则,防火墙的报文处理模块删除对应交换机的相应流表项。本方法适用于所有种类SDN交换机的防火墙实现,实现了防火墙规则的下发和删除,通用性强。 | ||
搜索关键词: | 一种 应用于 软件 定义 网络 防火墙 实现 方法 | ||
【主权项】:
1.一种应用于软件定义网络的防火墙实现方法,其特征在于:所述防火墙包括初始化模块、报文过滤模块和报文处理模块;对于不支持openflow1.3及以上的版本的交换机,即不支持多级流表的交换机,采用单级流表实现防火墙功能,步骤如下:步骤1-1,启动SDN控制器,SDN控制器与要注册到SDN控制器的交换机互发openflow协议报文,获取所有交换机的信息,交换机的信息包括交换机ID;步骤1-2,SDN控制器启动已注册交换机的防火墙功能,防火墙的初始化模块写一条优先级最低,即优先级为0的流表项到相应交换机,作为查不到流表的默认匹配选项tablemiss,该流表项的数据包匹配特征为全匹配,即匹配所有报文,动作为丢弃所有经过相应交换机的报文;步骤1-3,SDN控制器下发防火墙规则到已注册交换机,防火墙的报文过滤模块和报文处理模块根据规则的类型进行相应的操作;对于支持openflow1.3及以上的版本的交换机,即支持多级流表的交换机,采用两级流表实现防火墙功能,步骤如下:步骤2-1,启动SDN控制器,SDN控制器与要注册到SDN控制器的交换机互发openflow协议报文,获取所有交换机的信息,交换机的信息包括交换机ID;步骤2-2,SDN控制器启动已注册交换机的防火墙功能,防火墙的初始化模块写一条优先级最低,即优先级为0的流表项到相应交换机的第一个流表table0,作为查不到流表的默认匹配选项table miss,该流表项的数据包匹配特征为全匹配,即匹配所有报文,动作为丢弃所有报文,然后写一条优先级最低,即优先级为0的流表项到相应交换机的第二个流表table1,作为查不到流表的默认匹配选项table miss,该流表项的数据包匹配特征为全匹配,即匹配所有报文,动作为上送到SDN控制器;步骤2-3,SDN控制器下发防火墙规则到已注册交换机,防火墙的报文过滤模块和报文处理模块根据规则的类型进行相应的操作;步骤1-3中,当所述SDN控制器下发防火墙规则为允许转发时,进行如下操作:步骤1-3-1,防火墙的报文过滤模块写一条上送SDN控制器的流表项到相应交换机,流表项优先级指定为(1,round(M/2)-1)的任意整数值,其中M表示交换机支持最大流表项数,round()表示取整;步骤1-3-2,交换机收到匹配上送流表项的报文后,将报文上送到SDN控制器进行处理,处理过程为:SDN控制器通过防火墙的报文处理模块对报文MAC地址进行学习和查找,然后生成转发流表项并将该转发流表项写入对应的交换机,后续报文匹配转发流表项进行转发,转发流表项的优先级写为round(M/2),转发流表项的硬超时设为1s;步骤1-3中,当所述SDN控制器下发防火墙规则为丢弃时,进行如下操作:步骤2-3-1,防火墙的报文过滤模块写一条丢弃的流表项到相应交换机,该丢弃流表项的优先级指定为除了round(M/2)外的任意不定于零的整数值;步骤2-3-2,若存在允许转发规则和该丢弃规则冲突,则判断二者优先级,若丢弃规则优先级更高,则报文匹配丢弃流表项后丢弃,若丢弃规则优先级更低,则报文按照如下流程处理:防火墙的报文过滤模块写一条上送SDN控制器的流表项到相应交换机,流表项优先级指定为(1,round(M/2)-1)的任意整数值,其中M表示交换机支持最大流表项数,round()表示取整;交换机收到匹配上送流表项的报文后,将报文上送到SDN控制器进行处理,处理过程为:SDN控制器通过防火墙的报文处理模块对报文MAC地址进行学习和查找,然后生成转发流表项并将该转发流表项写入对应的交换机,后续报文匹配转发流表项进行转发,转发流表项的优先级写为round(M/2),转发流表项的硬超时设为1s;步骤1-3中,当所述SDN控制器下发防火墙规则为删除时,进行如下操作:若删除的是丢弃规则,防火墙的报文过滤模块根据下发的规则信息到对应交换机上查询对应的丢弃流表项,查找到后删除该流表项,所述规则信息包括数据包匹配域、动作和交换机ID;若删除的是允许转发规则,防火墙的报文过滤模块根据下发的规则信息到对应交换机上查询对应的上送流表项,查找到后删除该流表项,步骤1-3-2中生成的转发流表项1s后消失,且不再生成;步骤2-3中,当所述SDN控制器下发防火墙规则为允许转发时,进行如下操作:步骤4-3-1,防火墙的报文过滤模块写一条上送SDN控制器的流表项到相应交换机的第一个流表table0,该流表项跳转到相应交换机的第二个流表table1;步骤4-3-2,交换机收到匹配上送流表项的报文后,将报文上送到SDN控制器进行处理,处理过程为:SDN控制器通过防火墙的报文处理模块对报文MAC地址进行学习和查找,然后生成转发流表项并将该转发流表项写入对应的交换机的第二个流表table1,后续报文匹配2级流表进行转发,即匹配对应的交换机的第一个流表table0的上送流表项和第二个流表table1的转发流表项,转发流表项的空闲超时设为1s;步骤2-3中,当所述SDN控制器下发防火墙规则为丢弃时,进行如下操作:步骤5-3-1,防火墙的报文处理模块写一条丢弃的流表项到相应交换机的第一个流表table0;步骤5-3-2,若允许转发规则和该丢弃规则冲突,判断二者优先级,若丢弃规则优先级更高,则报文匹配相应交换机的第一个流表table0的丢弃流表项后丢弃,步骤4-3-2中生成的相应交换机的第二个流表table1的转发流表项消失;若丢弃规则优先级更低,则报文根据以下流程处理:防火墙的报文处理模块写一条上送SDN控制器的流表项到相应交换机的第一个流表table0,该流表项跳转到相应交换机的第二个流表table1;交换机收到匹配上送流表项的报文后,将报文上送到SDN控制器进行处理,处理过程为:SDN控制器通过防火墙应用程序的报文处理模块对报文MAC地址进行学习和查找,然后生成转发流表项并将该转发流表项写入对应的交换机的第二个流表table1,后续报文匹配2级流表进行转发,即匹配对应的交换机的第一个流表table0的上送流表项和对应的交换机的第二个流表table1的转发流表项,转发流表项的空闲超时设为1s;步骤2-3中,当所述SDN控制器下发防火墙规则为删除时,进行如下操作:若删除的是丢弃规则,防火墙的报文过滤模块根据下发的规则信息到对应交换机的第一个流表table0上查询对应的丢弃流表项,查找到后删除该流表项;若删除的是允许转发规则,防火墙的报文过滤模块根据下发的规则信息到对应交换机的第一个流表table0上查询对应的上送流表项,查找到后删除该流表项,步骤4-3-2生成的对应交换机的第二个流表table1转发流表项假如没有报文匹配1s后消失,且不再生成。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十八研究所,未经中国电子科技集团公司第二十八研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510905978.7/,转载请声明来源钻瓜专利网。