一种网络报文过滤引擎芯片制造技术

技术编号:6240067 阅读:280 留言:0更新日期:2012-04-11 18:40
本实用新型专利技术公开了一种网络报文过滤引擎芯片,包括接口模块、报文预处理模块、网络加速模块以及报文匹配模块,其中报文预处理模块连接至接口模块,网络加速模块耦接在报文预处理模块以及报文匹配模块之间。网络加速模块包括换行符判断逻辑模块、控制逻辑模块、输出逻辑模块以及移位寄存器阵列,其中移位寄存器阵列由M行×N列的移位寄存器构成,数据沿行方向向左或向右移动,或者沿列方向整行向下移动。有益效果:通过网络加速模块,加速报文匹配的处理速度。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

本申请涉及一种网络报文过滤引擎芯片,尤其涉及网络报文过滤的加速领域。 
技术介绍
随着网络的日益普及,深度报文检测技术作为必备的安全手段越来越多地应用于各种互联网络。运营商和相关部门可以通过深度报文检测技术,过滤掉网络上的各种不良信息,营造安全、文明的网络环境。 深度报文检测技术是一种对网络数据包的应用层数据进行解析,匹配,过滤的技术,其关键的技术点在于快速的字符串匹配。可以通过匹配规则,关键词或者是语义等方式对输入的报文进行分析从而截获敏感内容。但是随着计算机技术的发展,各种各样的反过滤手段也逐渐出现。例如,一种比较常见的反过滤手段是将发布到论坛或者网页上的文字,经过处理,成为竖排列从右往左阅读的方式,这样当文字通过http协议进行传递的时候,两个相邻的字符将不再具有任何意义,从而无法被通过关键词,正则表达式或者是语义分析来进行报文分类的网络过滤设备所捕获。因此,普通的报文过滤技术无法阻挡通过这种改变排列方式手段进行修改后的报文。图1显示了26个字母的原始排列和经过重排后的显示方式。但是这样经过重排后的报文,并不影响人的正常阅读。 高性能的深度报文检测一般通过网络处理器配合专用的硬件设备进行处理,能够做到以大数据流量对不良信息进行过滤,但是如上述所说的经过重排后的报文,则没有一个高效的手段来进行分析和处理,满足不了日 益增长的网络流量的需求。因此,有必要设计新的处理加速器件来满足深度报文检测需求。 
技术实现思路
本专利技术公开了一种网络报文过滤引擎芯片,由接口模块、报文预处理模块、网络加速模块以及报文匹配模块构成,其中报文预处理模块连接至接口模块,网络加速模块耦接在报文预处理模块以及报文匹配模块之间。 所述网络加速模块由换行符判断逻辑、控制逻辑、输出逻辑以及移位寄存器阵列构成,其中所述移位寄存器阵列具有M行和N列,数据可以沿行方向向左或向右移动,或者沿列方向整行向下移动。 所述的换行符判断逻辑,其特征在于,检测输入的字符串中是否存在换行符’\\n’,如果存在,则输出判断标志至控制逻辑。 所述的控制逻辑,其特征在于,根据换行符判断逻辑输出的判断标志,控制寄存器阵列的右移,整行下移,并统计每行的长度。 所述的控制逻辑,其特征在于,当字符串完全输入后,控制移位寄存器的前L行向左移位,其中L为自然数。 所述的控制逻辑,其特征在于,当字符串完全输入后,判断当前阵列中前K行的长度是否相等,前L-K行的长度是否相等且比前K行的长度小1,如果满足条件则输出移位结-->果,否则移位寄存器内结果丢弃。 所述的报文匹配模块,其特征在于,对于网络加速模块判定为需要重排的报文,均执行2次匹配操作,一次是从网络加速模块获得的重排报文,一次是从报文预处理模块直接获得的原始报文。 附图说明图1是网络报文经过重排序后显示的结果。 图2是本专利技术的网络报文过滤引擎芯片内部结构图。 图3是本专利技术的网络加速模块的内部结构图。 具体实施方式图2是本专利技术的网络报文过滤引擎芯片内部结构图。网络报文过滤引擎芯片主要由接口模块、报文预处理模块、网络加速模块,以及报文匹配模块构成,其中报文预处理模块连接至接口模块,网络加速模块耦接在报文预处理模块以及报文匹配模块之间。数据报文通过接口模块输入至芯片,经过报文预处理模块剥离以太网/IP报文封装,并解析HTTP协议等,分离出网页上的字符串内容,输入至网络加速模块。网络加速模块对输入的字符串进行处理,提高报文匹配模块的工作效率。报文预处理模块和报文匹配模块之间还有一条直接路径,用于当网络加速模块判定当前报文为正常顺序的报文时或者产生误判时,直接从报文预处理模块再次获得原始报文。 接口模块作为网络处理报文过滤引擎芯片的数据输入/输出端口,主要负责处理各种网络数据报文的接收发送,并通过各种工业界的接口规范和其他的网络芯片进行连接。通常,用于低速网络芯片的接口模块支持IEEE802.3定义的MII、RMII、SMII等快速以太网接口,用于高速网络芯片的接口模块支持的GMII、RGMII以及SGMII等接口。更高速的网络芯片接口模块支持如SPI4.2,XAUI,RXAUI,interlaken等接口标准。 报文预处理模块用于解析报文的封装,获取报文内部的实质性内容。典型的报文预处理流程包括:解析二层报文头,剥离以太网的报文封装,并 获取上层承载报文协议;解析三层报文头,剥离IP报文的封装,并获取上层承载报文协议;解析四层TCP报文头,对TCP报文进行终结,获取更上层应用层协议和完整的应用层数据流;解析应用层的HTML或者XML报文,获取字符串信息作为报文匹配的处理输入。由于报文预处理的复杂性,报文预处理模块可以通过专用的硬件单元实现,也可以通过多核架构下的网络处理器引擎上运行的软件报文解析进行实现。 报文匹配模块是网络过滤引擎的计算核心,用于执行关键词分析过滤流程。匹配模块对预处理模块或者网络加速模块输出的字符串执行关键词匹配、规则匹配或者语义匹配操作,分析报文内容是否具有不良词汇或者语段。报文匹配可以采用关键词搜索数据库构建,或者采用正则表达式引擎构建,也可以采用基于语义分析的引擎构建。对于采用关键词搜索或者正则表达式引擎的报文匹配模块,可以采用基于硬件的实现,以获得高性能,也可以采用基于处理器核的软件实现,以获得更多的灵活性;基于语义分析的引擎由于其内在复杂性,一般均采用软件来实现。 以上公开了网络报文过滤引擎芯片的部分内部处理模块的实现,下面详细描述本-->专利技术公开的网络加速模块。 图3是网络加速模块的内部结构,网络加速模块主要包括换行符判断逻辑模块、控制逻辑模块、输出逻辑模块以及移位寄存器阵列。换行符判断逻辑模块置于报文的输入端,接收报文预处理模块的输出字符串流;控制逻辑模块耦合于换行符判断逻辑模块,输出逻辑模块以及移位寄存器阵列,用于对上述3个模块的处理控制。移位寄存器阵列与换行符判断逻辑和输出逻辑模块相连接,用于对报文数据的重排处理和数据缓冲;输出逻辑模块连接于移位寄存器阵列,用于对移位寄存器阵列输出的报文进行移 位输出。 网页的报文数据经过报文预处理模块解析后,提取其中文本信息部分,输入到换行符判断逻辑模块,换行符判断逻辑模块对输入报文中的换行符”\\n”进行检索,如果发现报文中存在换行符,则输出换行指示信号给控制逻辑模块。报文数据经过报文预处理模块后,换行符被从数据流中删除,以使的跨行的关键词或者语义能够被连贯的分析检索。换行符判断逻辑输出的报文数据按每时钟周期一个字符的速度输入移位寄存器阵列。 移位寄存器阵列由M行,N列的移位寄存器构成。一个可能的实施例中,M=128,N=128,这样的阵列每次可以处理长度达到1w字以上的字符串,基本可以满足网络处理的需求。每个移位寄存器为16bit,可以存储一个ASCII码或者一个unicode字符,如果需要对扩展的字符集进行处理,也可以将每个移位寄存器扩展至16位或者32位。每个移位寄存器内的数据可以有3个移动方向,向左,向右(水平方向移动)或者向下(垂直方向移动)。在移位时钟的驱动下,每个时钟周期,每个移位寄存器均可以输出当前的存储数据,并存入移入的字符数据。从当前字符串序列的第一个字符开始,每周期一个字符(ASCII码或者unicode字符)按本文档来自技高网...

【技术保护点】
一种网络报文过滤引擎芯片,包括接口模块、报文预处理模块、网络加速模块以及报文匹配模块,其中报文预处理模块连接至接口模块,网络加速模块耦接在报文预处理模块以及报文匹配模块之间,所述报文预处理模块和所述报文匹配模块均是基于硬件实现,其特征在于:所述网络加速模块包括换行符判断逻辑模块、控制逻辑模块、输出逻辑模块以及移位寄存器阵列,其中所述移位寄存器阵列由M行×N列的移位寄存器构成,数据沿行方向向左或向右移动,或者沿列方向整行向下移动。

【技术特征摘要】
1.一种网络报文过滤引擎芯片,包括接口模块、报文预处理模块、网络加速模块以及报文匹配模块,其中报文预处理模块连接至接口模块,网络加速模块耦接在报文预处理模块以及报文匹配模块之间,所述报文预处理模块和所述报文匹配模块均是...

【专利技术属性】
技术研发人员:马建锋孟路
申请(专利权)人:上海融亿信息技术有限公司
类型:实用新型
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1