为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于国产龙芯CPU的高性能防火墙转发性能的研究与实现

2017-11-08 6页 doc 18KB 12阅读

用户头像

is_348501

暂无简介

举报
基于国产龙芯CPU的高性能防火墙转发性能的研究与实现基于国产龙芯CPU的高性能防火墙转发性能的研究与实现 摘要:防火墙作为网络安全产品中必不可少的设备,广泛应用于网络环境中,但目前国内信息安全厂商普遍采用国外核心芯片,软件OEM国外产品并不鲜见,大量充斥的“伪安全”产品无法达到真正的安全,核心技术和关键装备主要依赖进口,信息安全问题严重威胁我国政治、经济和国防安全。该文设计基于龙芯CPU的防火墙系统,采用国产CPU为核心,即满足网络安全需求也符合国家自主创新政策。该文首先对龙芯CPU和防火墙的基本概念与原理进行介绍,通过对龙芯防火墙报文转发引擎核心Netfilter框架的详细...
基于国产龙芯CPU的高性能防火墙转发性能的研究与实现
基于国产龙芯CPU的高性能防火墙转发性能的研究与实现 摘要:防火墙作为网络安全产品中必不可少的设备,广泛应用于网络环境中,但目前国内信息安全厂商普遍采用国外核心芯片,软件OEM国外产品并不鲜见,大量充斥的“伪安全”产品无法达到真正的安全,核心技术和关键装备主要依赖进口,信息安全问严重威胁我国政治、经济和国防安全。该文设计基于龙芯CPU的防火墙系统,采用国产CPU为核心,即满足网络安全需求也符合国家自主创新政策。该文首先对龙芯CPU和防火墙的基本概念与原理进行介绍,通过对龙芯防火墙报文转发引擎核心Netfilter框架的详细分析与研究之后,提出了基于软件预取和减少TLB失效技术提高转发性能,同时提出基于龙芯多核与硬件加速的高性能防火墙解决。 关键词: 龙芯;防火墙;转发性能;Netfilter;硬件加速 中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)20-4588-04 1 龙芯防火墙转发性能研究与实现 1.1龙芯防火墙平台简介 1.1.1系统整体架构 基于龙芯CPU的防火墙是一款具有百/千兆流量处理的系统,具有4个100/1000M自适应端口、一个串行管理接口、两个USB接口,支持一个Honeypot分析联动口,可供蜜罐或入侵检测系统在线分析网络信息,与防火墙联动实现入侵收敛。同时,提供完善的路由协议(支持IPv4协议栈、L2/L3层交换及路由协议)、VLAN控制、流量控制、QoS(服务质量)保证等机制,提供完备的业务控制和用户管理能力,基于硬件实现深度包检测(DPI)和状态流检测(DFI)等技术感知应用层协议。为校园网、企业网、政府网、行业网、金融网、中小企业等提供边界安全服务。 产品符合IEEE 802.3(u、ab) Ethernet、以太网,符合国家《信息安全技术防火墙技术和测试评价》GB/T 20281-2006质量指标依据标准。 系统采用标准的19英寸长、高1U的机械结构,外观如图1所示。 1.1.2系统软件架构 软件平台基于Linux[4]操作系统,全面支持包过滤和状态过滤机制、IPv4协议栈,同时支持IPv4静态路由,支持RIP、OSPF等动态路由协议。系统软件架构如图2所示。 如图2所示,操作系统提供硬件抽象层和网络协议处理,上层应用包括传统防火墙功能,例如:状态包过滤、地址转换等,VPN功能,路由转发功能,应用识别功能以及网络基本功能。在管理方面提供CLI和WebUI方式。 为了保持IP核心软件的简单明了性,采用如下的队列管理机制:为IP协议栈维护一个接收队列,为每个网络接口维护一个发送队列。IP协议栈的处理过程如图3所示。 2 龙芯高性能防火墙研究与实现 2.1龙芯防火墙带来的问题 2.1.1核心模块处理效率低下 通过Oprofile测试发现,网卡驱动和netfilter核心组件占用大量的系统资源。如图4所示,为测试结果。 主要分析原因是:因为测试的报文长度64Byte,同时e1000e驱动的copybreak特性,会将小于特定大小的报文复制到新的skb中,便于CPU的cache命中。而这个默认的大小设定为256Byte。将copybreak修改为32,主要是为了避免在e1000_clean_rx_irq中的内存拷贝。由此可见,Netfilter框架核心部件(IPtables和连接跟踪)和网卡驱动是防火墙转发性能的主要瓶颈。 2.1.2龙芯CPU主频过低 龙芯2F最高工作主频为1GHz,网卡中断使用大量的硬件中断资源,即使采用轮询(NAPI)方式,在64bytes字节下也无法满足要求,并且出来硬件中断,操作系统软中断也是消耗大量CPU资源。因此,防火墙新建连接率性能无法提供。如图5所示,龙芯2F防火墙与性价比接近的产品比较结果。 根据测试数据表明,龙芯2F防火墙新建连接率为6000cps。一般Intel Atom D525处理器新建连接率在15000cps。由此可见,防火墙的主频直接影响新建连接率,同时主频也是防火墙转发性能的主要瓶颈之一。 2.2解决方案 2.2.1总体设计方案 新防火墙硬件平台主要由两部分组成,由采用龙芯多核处理器的高性能计算平台和采用FPGA的硬件加速处理模块组成,完全满足应对千兆线速下的的性能需求。 龙芯多核多CPU运算平台和硬件处理模块间采用PCI-E总线连接,单向具备20Gbps以上的带宽,硬件处理模块采用了基于主机控制的ACL转发模块,能大大降低网络数据传输延迟,通过采用负载均衡技术,使得防火墙应用软件能充分实现并行性,相关的报文预处理模块匹配加速模块,有效提升了系统性能。系统可以提供2/4/8个100/1000自适应接口。如图6所示为其硬件平台结构图。 基于FPGA的硬件处理模块是提高系统性能的重要组成部分,核心模块采用FPGA设计,板卡上实现了数据包解析、分类、数据流调度、数据转发模块等,可以实现在板卡上直接进行数据流的转发,在数据吞吐率和延时等方面都具有非常好的性能。 网络数据报文通过硬件加速设备接收之后判断是否为首包,首包交给龙芯3 CPU按传统方式处理,处理的结果如果是通过则形成一个流转发表下发给FPGA,三次握手完成之后相关的数据流通过FPAG处理,以便达到加速的目的。 2.2.2实现方案 本文网络加速卡设备[11]采用了流转发方式来处理网络报文。其中加速卡上的转发芯片专门为提高网络转发性能设计,在一颗FPGA芯片中集成了需要高性能网络报文操作处理的共性功能,芯片和HOST CPU及其软件结合,可以有效帮助运行HOST上的软件系统从CPU上卸载网络流量处理的诸多工作,从而有效规避软件系统中网络处理的各个瓶颈,实现提升HOST系统上软件应用的性能。 转发芯片内可以完成报文路由收发、流量分类、状态检测、网络地址转换、流量统计、报文转发和流量整形等功能。芯片采用的是五元组精确匹配的流转发方式来处理网络报文,其基本工作软肋可以抽象描述如图7所示。 数据流首包采用传统的CPU处理方式, 在CPU获得必要的路由信息, 状态跟踪信息等内容后, 把针对该流的安全策略(允许通过/拒绝/统计), 路由信息(出接口/下一跳)和处理策略(nat/路由/桥接/qos)等内容下发到加速卡芯片中。 在芯片中, 每一条流都有一条记录这些信息的表项, 称为SSN entry。 流中的后续报文可以由芯片根据SSN entry来自行进行处理, 而不再需要CPU的介入。为了给CPU足够精细的控制粒度, CPU可以随时通过修改SSN entry, 来决定芯片是可以直接自行转发, 还是需要镜像到CPU, 还是需要交由CPU来进行处理,对于需要CPU进行深度内容分析的报文, 控制权通过镜像和/或上交给CPU。 为了加速CPU对首包的处理, 加速芯片还可以把首包流分类结果附着在上行报文中交给CPU进行识别和处理,CPU也获得了O(1)的流分类处理能力。 数据报(packet)查询SSN表项,进行已知流的处理(通常是直接转发,称为快速路径)。对于未知报文,如果有ACL表定义丢弃/镜像策略,对报文进行丢弃/镜像。如果有Crosslink表,根据Crosslink 定义的端口桥接互联策略,对报文进行桥接转发处理。如果没有Crosslink表,把报文上行交给CPU处理,通常CPU会进行建流处理。 为了验证新平台的优势,根据RFC2544网络基础测试的要求,分别测试吞吐量(如图8所示)、CPU利用率(如图9所示)和新建连接率(如图10所示)。 测试结果表明, 硬件加速芯片可以做到小包4G吞吐量。在线速转发的性能压力下, CPU占用率保持在20%左右。 2.3本章小结 综上所述,该文使用的高性能转发防火墙方案,可以把例行的网络处理功能下移到芯片,把CPU从网络层处理中解放出来, 使其有更多处理能力去关注安全业务管理, 而不是网络报文处理。信任流量可以由芯片通过SSN或者Crosslink进行处理,拒绝流量可以编程芯片(SSN或者ACL)直接实现丢弃,从而实现高性能的数据转发。 3 结论 3.1 本文结论 本文首先对龙芯CPU发展历史及其现状、防火墙技术进行详细的介绍。在充分理解防火墙核心Netfilter框架之后,分析其优势与劣势,提出利用快速路径和慢速路径分开处理的思想解决报文转发性能的方法。同时,通过GCC软件预取的改进和减少TLB失效提高系统报文转发性能。 为了获得更高报文转发性能,根据龙芯CPU和软件系统转发报文瓶颈的分析,提出采用多核和硬件加速报文转发的方案提高转发性能。通过两种设计方案的对比,验证了多核CPU和硬件加速在转发报文中的性能。 3.2 进一步改进的地方 为了提高防火墙报文转发性能,采用龙芯3号多核处理器和基于FPGA的硬件加速卡。快速路径转发性能得到了提升,但由于龙芯3号主频还是1GHz,导致新建连接率比较低,为了提高防火墙整体性能,后续可以从以下几个方面进行研究: 1)充分利用龙芯3号处理器多核多CPU的优势,优化网络协议栈核心Netfilter框架的锁机制,发挥读写锁性能优势。 2)网络驱动以及连接跟踪核心组件数据结构的优化,充分利用Cache的优势提高防火墙转发性能。尽量避免Cache伪共享等失效问题。 3)利用硬件加速卡负载均衡技术,把慢速路径数据流尽可能均衡到每个CPU核,使每个CPU资源充分利用。
/
本文档为【基于国产龙芯CPU的高性能防火墙转发性能的研究与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索