[发明专利]一种用户态流水线架构防火墙系统有效
申请号: | 202010359781.9 | 申请日: | 2020-04-29 |
公开(公告)号: | CN111614631B | 公开(公告)日: | 2022-06-03 |
发明(设计)人: | 王传林 | 申请(专利权)人: | 江苏深网科技有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;G06F13/32;G06F9/50;G06F9/54 |
代理公司: | 上海海颂知识产权代理事务所(普通合伙) 31258 | 代理人: | 任益 |
地址: | 214001 江苏省无锡市新吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用户 流水线 架构 防火墙 系统 | ||
1.一种用户态流水线架构防火墙系统实现报文过滤的方法,防火墙系统包含控制平面和数据平面,控制平面负责系统的管理和控制功能,将从管理口发送过来的报文重新定向到内核协议栈,数据平面负责系统的主要业务功能,数据平面工作在用户态,可以绕过复杂的Linux内核协议栈直接从网卡获取报文,数据平面将防火墙功能软件分解为多个功能模块,每个功能模块分别绑定至一个独立的CPU核上,使用其中一个CPU核作为主核,负责接收报文,采用轮询方式实现数据包收发,形成流水线或管道架构,数据平面针对报文转发过滤功能进行多核并行处理优化,主核根据一定的分流算法进行报文分发,分发给不同的核进行处理,其他不常用或对性能要求不高的功能放在主核上处理,驱动在收到数据包后,将数据包存入内存,应用层程序直接从内存读取数据包,其特征在于,防火墙核心功能报文过滤在主核之外的CPU核上完成,包含以下步骤:
S1:IP报文重组模块从输入队列中读取报文,进行报文重组;
S2:IPMAC模块实现IP-mac的绑定功能,提供一个hash表,IP地址是key,查找到之后匹配表象的mac地址,如果匹配则通过,继续下一步处理,否则丢弃;
S3:连接跟踪模块conntrack实现连接状态跟踪功能,报文进入后,首先查找连接表,如果能够查到,则直接发送到路由模块处理;如果查不到,对于TCP报文但不是TCP SYN,则丢弃;如果是其他情况进入下一阶段处理;
S4:目的地址转换DNAT模块收到报文后,查找DNAT表,如果查到,则发送控制消息,更新连接状态表,同时更新报文的目的IP,并将报文发送到下一模块处理;
S5:包过滤模块收到报文后,查找filter表,根据filter表的action域,判断是“接受”还是“放弃”,如果是“放弃”则丢弃,同时发送控制消息给连接跟踪模块,放弃新建连接表;如果是“接受”,则进入下一阶段处理;
S6:源地址转换SNAT模块收到报文后,查找SNAT表,如果成功,则发送控制消息给连接跟踪模块conntrack,新建连接表项,其他情况进入下一阶段处理;
S7:路由跟踪模块,进入该阶段表示报文将被发送出去,这时首先发一个控制消息给连接跟踪模块conntrack,表明前面新建连接表项这一事务得到确认,然后查找路由表,如果查到则得到下一跳地址,如果没查到,则根据默认情况进行路由,根据下一跳的地址查找ARP表,更新报文的目的MAC地址,然后发往下一模块处理;
S8:IP分片模块按照MTU与实际报文的大小进行IP分片处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏深网科技有限公司,未经江苏深网科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010359781.9/1.html,转载请声明来源钻瓜专利网。