logo好方法网

一种基于可编程数据平面的防火墙设计方法


技术摘要:
本发明公开了一种基于可编程数据平面的防火墙设计方法,该方法包括以下步骤:1)将可编程网卡的硬件固件文件、流水线处理配置文件、用户规则配置文件发送到带有可编程网卡的服务器端;2)服务器端接收到用户规则配置文件后,删除原先的用户规则配置文件并进行重新配置,  全部
背景技术:
防火墙是一种网络安全设备,它允许对入站和出站的流量进行监控,使用一组预 先定义的安全规则来同意或拒绝事件。传统的软件防火墙应用程序有Linux  IP-Chains、 Snort和ClamAV等免费开源工具。这些软件防火墙的共同特点都是在网络堆栈层过滤通信 数据包,包过滤模块直接集成到操作系统的内核中,拦截每一个传入和传出的数据包并进 行过滤,根据用户自定义的安全策略对数据包进行评估,然后执行丢弃或允许访问受保护 的计算机等操作。通常采用的Snort、IP-Chains等工具通过libpcap或netfilter模块来获 取数据包的方法数据处理效率低,尤其当数据量变大时,会频繁的触发系统软中断来获取 数据,引入巨大的中断开销,导致系统无法承受。此外,当用户态程序需要数据时,需要将数 据包从内核缓冲区拷贝到用户缓冲区,带来系统调用和数据包复制开销,这会严重制约其 报文处理性能。 为了更好的利用系统资源,节省网络开销并提高数据处理效率,英特尔开发了数 据平面开发套件(Data  Plane  Development  Kit,简称DPDK),为网络功能开发人员提供了 一套用于构建高速数据平面应用程序的工具。DPDK包含一组用于快速数据包处理的库和兼 容DPDK的网卡的驱动程序,它基于轮询模式的PMD(Poll  Mode  Drivers)驱动方式进行数据 包处理,而不是默认的系统中断模式。轮询模式采用忙等待技术,不断检查网络接口中的状 态变化,允许网络应用程序直接从/向主机的网卡提取和推送数据。这有效的减少了数据包 处理产生的I/O中断和从内核到用户内存的数据包复制次数,从而加快了数据包的处理速 度。DPDK由于上述特性,目前成为了主流软件防火墙程序的首选。但是,DPDK技术还是在用 户态进行数据包处理,依然会消耗较多的CPU资源。
技术实现要素:
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于可编程数据 平面的防火墙设计方法。 本发明解决其技术问题所采用的技术方案是:一种基于可编程数据平面的防火墙 设计方法,包括以下步骤: 1)将可编程网卡的硬件固件文件、流水线处理配置文件、用户规则配置文件发送 到带有可编程网卡的服务器端; 2)服务器端接收到用户规则配置文件后,删除原先的用户规则配置文件并进行重 新配置,配置完成后,重新运行配置后的防火墙功能; 3)当可编程网卡运行时,在可编程数据平面实现防火墙应用,具体如下: 3.1)数据平面根据控制器下发的用户规则配置文件,使能本地防火墙功能,并配 3 CN 111600852 A 说 明 书 2/3 页 置相应的转发规则; 3.2)当数据平面收到数据包时,根据流水线处理配置文件对数据包进行解析,提 取出包头中的有用信息; 3.3)根据包头中的有用信息中的匹配项,将数据包匹配相应转发规则进行网络地 址的转换并决定转发端口; 3.4)数据包进入防火墙模块,防火墙模块先根据连接状态表对该数据包进行连接 状态检查,如果检查结果为已建立连接的流的数据包,则跳过接下来的过滤规则检查,将该 数据记录到连接状态表中,并更新连接状态信息,否则将包头中的匹配项与过滤规则表进 行匹配,如果命中,就丢弃该数据包,如果没命中,允许转发并更新连接状态表;所述连接状 态表用于数据包连接状态的记录; 3.5)根据相应的转发决策对数据包进行转发; 4)允许转发的数据包经过与网卡相连的PCI总线传入主机系统,供内部应用程序 使用。 本发明产生的有益效果是: 本发明在将防火墙功能迁移到可编程数据平面上时,需要在保护内部网络安全的 同时也不降低网络的I/O性能,实现对数据包的线速处理的同时,将防火墙功能部署到可编 程数据平面上,不影响数据平面的数据分组处理速度,从而获得大幅性能提升。 在交换机本地及时获取数据包信息,并根据信息进行快速的处理,提升全网的稳 定性,保障通信的安全性; 通过将防火墙功能迁移到可编程数据平面,在网络内部减少了发往服务器的流 量,缓解了服务器进行数据处理的压力,提高服务吞吐量。 附图说明 下面将结合附图及实施例对本发明作进一步说明,附图中: 图1是本发明实施例的基于可编程数据平面的防火墙设计框架示意图; 图2是本发明实施例的总体工作流程图; 图3是本发明实施例的数据平面防火墙逻辑示意图。
下载此资料需消耗2积分,
分享到:
收藏