[发明专利]适用于多流正则表达式匹配的数据流交换复用系统及方法有效
申请号: | 201210589973.4 | 申请日: | 2012-12-29 |
公开(公告)号: | CN103078808A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 卜佑军;贺炜;申涓;赵靓;黄万伟;官福山 | 申请(专利权)人: | 大连环宇移动科技有限公司;中国人民解放军信息工程大学 |
主分类号: | H04L12/851 | 分类号: | H04L12/851;H04L29/06 |
代理公司: | 大连东方专利代理有限责任公司 21212 | 代理人: | 姜玉蓉;李洪福 |
地址: | 116600 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 适用于 正则 表达式 匹配 数据流 交换 系统 方法 | ||
技术领域
本发明涉及一种适用于多流正则表达式匹配的数据流交换复用系统及方法。
背景技术
正则表达式匹配(REM)是网络入侵检测系统(NIDS)的重要组成部分,主要完成针对潜在威胁的深度检测;随着网络带宽以及网络流量的不断增加,REM需要扫描的网络内容迅速增长,REM的性能成为网络安全系统的瓶颈。
REM结构可以通过在FPGA中构建不确定性有限自动机(NFA)实现,该方法可以利用FPGA高效的并行处理机制以及大量的可编程逻辑资源;为提高正则表达式匹配的速率,达到更高的系统吞吐率,以往的研究者提出了很多技术来优化NFA到FPGA的映射方法;传统的基于FPGA的REM解决方案大多针对单条高速数据流下,大规模正则表达式的匹配;然而,现实网络数据大多由多条数据流混合组成,如何将传统的基于单流的REM模块通过复用的方式支持多流同时匹配具有重要的意义,通过复用可以减少深度包检测系统所需的缓存资源以及相应的系统延时。
几种传统的将单流REM扩展到多流REM的方法中最简单的方法是对每一条数据流都构建一个独立的REM系统,这种方法简单易于实现但可扩展性差,当数据流的数量较多的时候,对内存要求很大;另一种方法是通过时分复用的方式将一个REM系统应用于多条流的处理;该方法可扩展性强,资源利用率高;基于时分复用的实现方式有竞赛处理和加权交换两种;竞赛处理是一种先到先得的处理方式,先到达的数据流优先处理,该数据流全部处理完之后,再选择下一条数据流;该方法在处理一条数据流时,需要对其它数据流进行临时存储来用于后续处理,会消耗极大的缓存资源,当数据流数目较多时,系统负担较大,实现较为复杂;加权交换为每一条数据流定义优先级,根据优先级高低选择需要处理的数据流。通过该方式,可以更加灵活的选择待处理的数据流,灵活性更高,同时减少了内存需求;加权交换包括定长交换和变长交换;定长交换在处理完一个数据流的固定长度(例如1024Byte)后会切换到另一个数据流;变长交换可处理不定长度的数据(例如一个数据包)后切换到另一个数据流;定长交换使得交换频率较高,增加了交换过程的开销,增加了缓存需求,限制了系统吞吐率;变长交换允许动态调整交换长度,灵活性较好,更加适合于FPGA实现。
发明内容
本发明针对以上问题的提出,而研制一种能够支持多条数据流同时处理、灵活性好、资源利用率高的适用于多流正则表达式匹配的数据流交换复用系统及方法。
本发明的技术手段如下:
一种适用于多流正则表达式匹配的数据流交换复用系统,包括:
用于对输入的数据流进行特性判断并赋予相应的数据流优先级和数据流序号信息的优先级添加模块;
连接信息交换模块,用于存储数据流以及相应的数据流优先级、数据流序号和数据流等待时间信息的可编程存储模块;
分别连接优先级添加模块、可编程存储模块和交换调度模块,用于将优先级添加模块传输过来的数据流以及相应的数据流优先级、数据流序号和实时更新的数据流等待时间信息存储至可编程存储模块,从可编程存储模块中读取数据流优先级、数据流序号和数据流等待时间信息给交换调度模块以及根据选中的数据流序号信息和设定的交换长度信息从可编程存储模块中读取相应的数据流给单流REM模块,根据设定的交换长度信息进行计数,并当计数值达到交换长度时或者当前进行正则表达式匹配的数据流结束时产生交换指示信号传输给交换调度模块,同时将计数值清零的信息交换模块;
连接信息交换模块,用于根据信息交换模块传输过来的数据流优先级、数据流序号和数据流等待时间信息动态选择待处理的数据流和调整数据流的交换长度并根据信息交换模块传输过来的交换指示信号将选中数据流的数据流序号和设定的交换长度信息传输给信息交换模块的交换调度模块;
连接信息交换模块,用于对信息交换模块传输过来的数据流进行正则表达式匹配的单流REM模块。
一种适用于多流正则表达式匹配的数据流交换复用方法,包括如下步骤:
A:优先级添加模块对输入的数据流进行特性判断并赋予相应的数据流优先级和数据流序号信息;
A1:优先级添加模块对数据流赋予相应的数据流优先级信息:定义数据流优先级分为普通、中、高三个级别,根据每一数据流的数据流类型、QoS要求和数据流持续时间的特性完成数据流优先级设定;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连环宇移动科技有限公司;中国人民解放军信息工程大学,未经大连环宇移动科技有限公司;中国人民解放军信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210589973.4/2.html,转载请声明来源钻瓜专利网。