[发明专利]一种SDN防火墙系统及实现方法有效
申请号: | 201610029674.3 | 申请日: | 2016-01-15 |
公开(公告)号: | CN105681305B | 公开(公告)日: | 2019-08-09 |
发明(设计)人: | 田雨;刘静;赖英旭 | 申请(专利权)人: | 北京工业大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种SDN防火墙系统及实现方法,该系统及方法对防火墙的管控都集中在控制器,利用控制器对全网的统一管理,为SDN网络提供更加安全和便捷的服务。为了将内网和公网分开,检查出入防火墙的数据包,决定拦截或是放行哪些数据包。用户可以填写自己的访问策略决定是否允许访问某些网站。本项目防火墙模块运用二层转发。本系统为一种基于OpenFlow协议1.3的SDN防火墙系统,本系统使用python语言在ubuntu系统上编写,在ubuntu系统上正常运行;本系统及方法能够很好的实现跨平台移植,该系统具有非常重要的应用价值。 | ||
搜索关键词: | 一种 sdn 防火墙 系统 实现 方法 | ||
【主权项】:
1.一种SDN防火墙系统,该系统为一种基于OpenFlow协议1.3的SDN防火墙系统,本系统使用python语言在ubuntu系统上编写,在ubuntu系统上正常运行;通过对数据包的解析,分析数据包的状态并结合数据包与规则表文件中填写的五元组进行比较,决定数据包由哪个端口转发出去,满足规则表条件的数据包则从相应的端口转发出去或者packet‑in到OpenFlow控制器,不满足规则表条件的数据包则丢掉,不允许通过OpenFlow控制器,其特征在于:该系统包括数据包分析模块、防火墙规则表rule_table模块、定时器Timer模块、防火墙连接表conn_table模块、防火墙MAC地址表模块、OpenFlow控制器、OpenFlow交换机;OpenFlow控制器通过OpenFlow协议与OpenFlow交换机通信,启动OpenFlow控制器的同时运行防火墙模块,OpenFlow交换机连接了不同的终端,从一个终端发送数据包给另一个终端需要匹配流表,OpenFlow控制器结合防火墙模块来对OpenFlow交换机进行控制,从而确保数据包的转发与否;1)防火墙连接表模块中的防火墙规则表包括ip_src,ip_dst,src_port,dst_port,protocol,act字段;ip_src和ip_dst都能够填写网段,这使得所有网段内的ip地址都满足条件;当ip_dst填写的是0.0.0.0/0时,表示源ip能够访问所有网段的网址;act动作分drop和pass,状态为drop时数据包不允许通过;2)防火墙连接表模块中的防火墙连接表包括src_ip,dst_ip,src_port,dst_port,state,org_count正向数据包数量,rep_count反向数据包数量,bk_rep_count,bk_org_count,proto;org_count统计的是正向数据包计数,rep_count统计的是反向数据包计数,bk_rep_count统计的是前一次正向数据包计数,bk_org_count统计的是前一次反向数据包计数;state记录了传来的数据包解析后的不同状态;3)根据MAC地址表中的填写的INPORT_MAC和OUTPORT_MAC获取到入出端口号,找到数据包是从哪个端口转发到哪个端口;4)定时器模块在响应features消息时开始启动,并每隔一段时间启动一次定时器;定时器模块的作用是在一定时间内查看数据包计数字段是否改变,如果改变,说明这段时间有数据包通过OpenFlow交换机,连接存在;如果没有改变,则会删除对应此连接的两条双向流表项,并同时删掉对应的连接表项;5)数据包分析模块对获取的数据包进行分析,数据包能够来自OpenFlow交换机、路由器,也能够来自主机和其他通信终端,符合packet‑in的数据包则会上传到OpenFlow控制器进行相应的操作;6)OpenFLow控制器具有全局的拓扑,并控制转发路径,通过安全通道与OpenFlow交换机进行信息交互并完成连接,所有的信息必须按照OpenFlow协议规定的格式来执行;OpenFlow控制器收集OpenFlow交换机配置信息、通信链路信息,并负责控制OpenFlow交换机中的流表,包括对Flow Entry的添加、修改以及删除基本操作;流表由很多个Flow Entry组成,每个流表项就是一个转发规则;本系统中使用的是RYU控制器,OpenFlow交换机通过安全通道向OpenFlow控制器packet‑in数据包;7)OpenFlow交换机主要管理数据层的转发,当交换机接收到数据包后,首先在本地的流表上查找转发目标端口,如果流表中没有匹配条目,OpenFlow交换机会将数据包封装在packet‑in消息中发送给OpenFlow控制器处理,由控制层决定转发端口,如果找到匹配的流表项,则根据流表目标端口把数据包转发出去;该SDN防火墙系统的核心库包括python中的time,os,struct,threading,csv函数库,这些函数库能够在所有支持python的OpenFlow控制器中运行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610029674.3/,转载请声明来源钻瓜专利网。
- 上一篇:一种信息交互系统及方法
- 下一篇:一种建立临时通话的方法、服务器及系统