A Pairs method for accelerating compression flow regular expression matching is presented. The core component of the Pairs matching engine is compression flow Pairs matching engine, which includes three processing modules: decoding module, Pairs matching algorithm and finite state automata, and the state record data needed in the processing process. Then the expression constructs the finite state automata, decodes the compressed traffic byte content, and then matches with Pairs matching algorithm to output matching results; Pairs matching algorithm uses finite state automata to scan the decoded text string and Pairs algorithm to process the encoded string. Under the condition of guaranteeing the same matching result as Naive method, this method can effectively improve the throughput of regular matching for compressed traffic, and has the advantages of fast matching speed, simple implementation and strong expansibility.
【技术实现步骤摘要】
一种加速压缩流量正则表达式匹配的Pairs方法
本专利技术属于压缩流量的模式匹配方法,涉及针对使用gzip/DEFLATE压缩编码的HTTP等网络流量进行正则表达式匹配的方法,具体为一种加速压缩流量正则表达式匹配的Pairs方法。
技术介绍
随着压缩技术在网络流量中的广泛应用,越来越多的Web服务器将HTTP页面内容压缩后发送给浏览器。2010年7月AlexaTop1000的站点中有66%使用了HTTP压缩,而2016年10月的Top500站点中,该比例已超过90%。并且这些压缩流量约为20%的压缩比,严重影响了压缩流量的匹配速度。另外,为了全面多层次的匹配,越来越多的基于深度包检测(DeepPacketInspection,DPI)的工具和应用采用正则表达式匹配引擎,识别流量中的特征。例如入侵检测系统、流量计价和防火墙等。这些工具面对压缩流量,通常采用以下两种做法:(1)朴素方法(Naive):也就是先将压缩流量进行完全解压,之后再对解压后的数据进行逐字节地模式匹配。该方法是最为朴素的方法,实现简单,但由于压缩的存在,使得处理吞吐率大大降低,成为系统整体过程中的 ...
【技术保护点】
1.一种加速压缩流量正则表达式匹配的Pairs方法,其特征在于,核心部件是压缩流量Pairs匹配引擎(101),其包括解码模块(1011)、Pairs匹配算法(1012)和有限状态自动机(1013)三个处理模块,以及处理过程所需的状态记录数据(1014);压缩流量Pairs匹配引擎(101)使用待匹配正则表达式(103)构建有限状态自动机(1013),之后对压缩流量(102)字节内容进行解码,最后使用Pairs匹配算法(1012)进行匹配,输出匹配结果(104);Pairs匹配算法(1012)使用有限状态自动机(1013)扫描解码后的文本字符串,使用Pairs算法对编码字符串进行处理。
【技术特征摘要】
1.一种加速压缩流量正则表达式匹配的Pairs方法,其特征在于,核心部件是压缩流量Pairs匹配引擎(101),其包括解码模块(1011)、Pairs匹配算法(1012)和有限状态自动机(1013)三个处理模块,以及处理过程所需的状态记录数据(1014);压缩流量Pairs匹配引擎(101)使用待匹配正则表达式(103)构建有限状态自动机(1013),之后对压缩流量(102)字节内容进行解码,最后使用Pairs匹配算法(1012)进行匹配,输出匹配结果(104);Pairs匹配算法(1012)使用有限状态自动机(1013)扫描解码后的文本字符串,使用Pairs算法对编码字符串进行处理。2.根据权利要求1所述的一种加速压缩流量正则表达式匹配的Pairs方法,其特征在于,对构造的有限状态自动机(1013)的各个状态进行标记,区分出Initial状态、Begin状态、End状态和Normal状态;同时以待匹配正则表达式(103)的序号,分别对Begin和End状态进行编号,使同一条正则表达式的具有相同的Begin和End状态编号;其中,在构造NFA过程中,NFA的起始状态的ε闭包中的所有状态均为Initial状态;通过Initial状态读入待匹配正则表达式(103)的第一个字符所到达的状态为Begin状态;NFA的接受状态为End状态,其他所有状态为Normal状态;NFA转换为DFA过程中,子集中所有NFA状态均为Initial状态,则转换后的DFA状态标记为Initial状态;子集中只要有一个状态为Begin或者End状态,则转换后的DFA状态分别标记为Begin或者End状态;其余所有的DFA状态标记为Normal状态;在标记Begin或End编号时,如果同一NFA或者DFA状态有对应多条正则表达式,则以可区分的方式记录标记Begin或End的编号。3.根据权利要求1所述的一种加速压缩流量正则表达式匹配的Pairs方法,其特征在于,可区分的方式包括使用可区分的NFA或DFA,使得每个状态只对应一条正则表达式规则;或者使用bitmap标记多条规则。4.根据权利要求1所述的一种加速压缩流量正则表达式匹配的Pairs方法,其特征在于,使用Pairs算法处理编码字符串时,根据可能出现的模式起始位置与编码字符串的位置关系,分为前缀和非前缀两种情况进行处理;可能出现的模式起始于编码字符串之前按前缀处理,可能出现的模式起始于编码字符串中按非前缀处理。5.根据权利要求4所述的一种加速压缩流量正则表达式匹配的Pairs方法,其特征在于,压缩流量正则表达式匹配引擎中Pairs匹配算法(1012),对编码字符...
【专利技术属性】
技术研发人员:胡成臣,孙秀文,李昊,
申请(专利权)人:西安交通大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。