一种安全可控性能可达线速的网络处理及转发方法与流程

文档序号:14847734发布日期:2018-06-30 16:56阅读:1048来源:国知局

本发明涉及一种安全可控性能可达线速的网络处理及转发方法。



背景技术:

目前,在网络安全领域,一般依托处理器对分组数据包进行协议处理,规则匹配、格式检查、封装解封和转发,例如通用的防火墙设备等。在这种实现方式和方法中,系统的处理效能与处理器的网络处理性能息息相关。当接口速率达到10Gbps,40Gbps,系统的接口数量成倍增加时,配套的处理器的核数成倍增加,在系统软件设计、多核编程、整机功耗、散热等方面提出了很高的要求和挑战。

在国内大力提倡信息化设备软硬件平台国产自主的大背景下,因国产处理器网络处理性能相对较低,如何解决国产化平台的高性能网络处理和转发是一个较大的难题。



技术实现要素:

为了克服现有技术的上述缺点,本发明提供了一种安全可控性能可达线速的网络处理及转发方法,主要依托国产CPU和国产FPGA,采用软硬结合的架构和硬件加速的基本思路,通过分析模块功能,细分软硬件功能,本着FPGA适合实现运算、查找,匹配、封装解封等功能,软件适合实现流程性、繁琐性功能的原则,充分发挥硬件的高性能处理优势和软件的灵活性优势,构建软硬件结合方式和实现流程,线速实现“状态检测包过滤”功能。

本发明方法是基于“国产CPU+国产FPGA”自主平台,不牺牲系统功能的,安全可控的性能可达线速的网络处理及转发方法,主要应用于国产自主可控的网络安全领域,解决因国产处理器性能较低,造成的整机和系统网络处理和转发性能低下,特别是小包性能低的瓶颈性问题。对于非国产硬件平台,也可以采用此方法使系统性能达到线速。

本发明解决其技术问题所采用的技术方案是:一种安全可控性能可达线速的网络处理及转发方法,基础硬件平台包含处理器、高性能处理转发层和网络接口,其中,高性能处理转发层由FPGA和外部存储组成,处理器与高性能处理转发层之间通过软硬件接口通信协议进行通信;所述处理器实现会话新建、会话状态检测、对高性能处理转发层的快转表项进行实时管理;所述高性能处理转发层负责在未建立快转表项时,将收到数据包上传处理器,并在建立快转表项后,由FPGA对收到的数据报文进行高性能处理转发。

与现有技术相比,本发明的积极效果是:

本发明在国产处理器计算和网络处理转发能力相对较弱,与高速网络的处理能力不匹配的情况下,通过构建高性能处理转发层,运用软硬结合,协同工作的方法,大大提高整体系统的网络处理和转发性能,特别是小包的性能,使系统的性能达到线速,从而整体提升了国产自主平台的网络处理和转发能力。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1为本发明的基础硬件平台架构示意图。

具体实施方式

一种安全可控性能可达线速的网络处理及转发方法,包括如下内容:

本发明的基础硬件平台架构如图1所示,基础硬件平台包含国产自主处理器,高性能处理转发层和网络接口。其中,高性能处理转发层由国产FPGA和外部存储组成。相互之间互联关系如示意图,国产处理器与高性能处理转发层之间存在软硬件接口。

基于国产自主平台线速实现“状态检测包过滤”技术,其设计思路和设计方法有以下步骤:

第一步,分析“状态检测包过滤”功能的业务处理流程,状态检测包过滤涉及策略查找匹配,会话新建,会话状态检测,数据包格式和安全性检查、转发等功能。由于软件需要对每一个会话连接的数据报文进行基于关键字的策略匹配和网络转发,非常考究处理器的计算能力和网络处理能力,故国产处理器无法达到理想性能。

第二步,软件层面实现会话新建、会话状态检测,当会话建立完成后,在硬件层面建立基于会话关键字的快转表项,当表项建立成功后,高性能处理转发层再收到此会话的数据报文,由FPGA进行策略匹配、数据包格式和安全性检查、转发。FPGA在进行高性能处理转发过程中,将流量统计情况、会话状态、会话状态变化情况上报处理器(软件),由处理器(软件)综合判定后对快转表项进行实时管理。

第三步,梳理软硬件层面协调工作需要交互的要素:当高性能处理转发层未建立快转表项时,收到数据包,均上传处理器;处理器(软件)需对高性能处理转发层的快转表项进行实时管理,包括添加、删除、清空等操作;高性能处理转发层建立快转表项后,需将会话连接的流量统计情况、表项使用情况实时上报处理器;高性能处理转发层接收到有关会话状态变化的数据包,需上传软件。高性能处理转发层与国产CPU之间通过软硬件接口通信协议进行通信。通过对通信协议的定制,实现高性能处理转发层和处理器之间业务数据和管理数据的信息交互。

第四步,分别对应用层软件、软硬件接口驱动、硬件FPGA进行设计实现和验证。

一、设计实现后,FPGA的业务处理情况描述如下:

(1)FPGA接收到数据包,对数据包进行预处理,提取关键字进行会话表表项匹配。

(2)如关键字匹配成功,说明此数据包在高性能处理转发层已存在快转表项,按照表项内容中的“处理方式”字段,对数据包进行相关处理。“处理方式”字段存在“放行”和“丢弃”两种操作。

(3)如数据包的处理方式为“放行”,则对数据包进行相关安全性和格式检查,通过后放行;如数据包的处理方式为“丢弃”,则直接进行丢弃。

(4)如关键字匹配不成功,说明此数据包在高性能处理转发层不存在快转表项。需将数据包通过软硬件接口,按照通信协议对应格式上传CPU。

(5)FPGA在实施网络处理和快速转发的过程中,需对数据包进行分析和检查,如发现会引起会话状态变化的数据包,需上传软件,如TCP业务的SYN包,FIN包和RESET包等。

(6)FPGA实时将会话的流量统计情况、快转表项使用情况上报给CPU。

二、设计实现后,CPU(软件)的业务处理情况描述如下:

(1)CPU接收到一个数据包,先进行会话表规则查询,如果规则为不允许,则丢弃;如规则为允许,则进行后续处理。后续处理包括:先查看此数据包是否是一个新建连接,如是,则进行新建连接过程,同时将数据包直接发送到硬件接口,待连接建立后,将快转表项下发给硬件;如数据包不是一个新建连接,则进行连接状态检查,安全检查等,根据检查结果决定是否进行转发。(2)CPU对已经将快转表项下发硬件的会话连接进行实时管理,实时管理要素有连接状态变化和并发会话连接数过大时会话的流量情况,当发现中止连接、复位连接等与连接状态相关的数据报文,CPU会进行会话相关管理,同时对存储于高性能处理转发层的快转表项进行删除操作;当整机并发会话连接数超过高性能处理转发层的存储资源支撑数时,CPU会实时监控各个会话的流量情况,基于大流量的会话交由高性能处理转发层进行处理和转发的原则,对表项进行实时添加或删除。

(3)CPU可查询会话流量,同时可以通过硬件上报的快转表项使用情况了解会话情况。

(4)当高性能处理转发层的存储资源不足以支撑整机的并发会话数时,CPU也会承担一些流量较小的会话的处理和转发。具体方法是:CPU完成新建连接过程后,不给硬件下发快转表项,或者是对已有快转表项而流量较小的会话连接,删除其快转表项,FPGA收到此会话的数据包,将一直上报CPU,由CPU进行处理和转发。

通过实现和验证,基于龙芯2H处理器和国微SMQ2V6000(FPGA)的国产自主平台,网络处理转发能力对64字节~1518字节的以太网均可达到1000Mbps,大大提高了系统的网络处理和转发性能。

本发明以实现“状态检测包过滤”为例,详细说明了实现的思路和方法。在国产化平台的网络密码和网络安全相关实现中,IPSec VPN、IP-MAC绑定,DDOS、带宽管理、应用层协议识别和内容识别等功能均可以借鉴本技术和方法,采用相同的实现思路进行实现。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1