论文部分内容阅读
模式匹配算法在计算机科学领域中是一个经典的研究方向。但在IPv4协议渐渐向IPv6协议转换的过程中,IPv6协议令地址空间得以扩大,从而可以将更多的设备并入到物联网环境当中,但与此同时也使得在互联网上产生更多的数据信息。在网络防护墙中,模式集合的任意组合、网络流量的不断加大,这些更为苛刻的要求使得模式匹配算法的性能亟需进一步提升。
本文首首先让相关研究背景进行了介绍,介绍了部分较为经典的模式匹配算法的原理及搜索树的经典思路与算法。通过分析经典AC算法的基本思路与基础结构,本文提出了一种基于经典AC算法的改良思路。
第二章的分析可以发现,在经典AC算法中goto表本质上是一个有限状态机。存放goto表的方法可以有许多不同的形式。为平衡存储空间和运行效率,在经典的AC算法中是采用Trie树的形式进行存储。本文的研究重点就是改良或者更换这个Trie树的研究方向上,希望能够将经典AC算法的效率进行改善或者提升。
接下来本文根据上面的思路提出了使用B树以及B树的多种变形形式来改善经典AC算法。在前面的介绍中一般可以发现Trie树常用来操作字符串。Trie树将不同字符串的相同前缀只保存一份,相对其它直接保存字符串一定程度上节约了空间。但是Trie树在保存较大字符串时资源消耗会很大,这样一来在新的IPv6环境中AC算法的效率必然不能满足新的需求。B树可以有效的减少磁盘读写次避免频繁的查找,往往应用在数据库中作为索引。所以理论上可以提高AC算法的效率。
最后,本文对经典AC算法、AC-BM算法以及提出的改良算法进行了性能测试与对比。实验过程中因IPv6进攻数据采用的实验室模拟环境进行,使得其与真实环境有些许变换,但在实验数据中依旧可以发现,改良算法在模式数量大量增加的情况下,成功地保持了较为理想的性能。但是也不难发现新的改良算法在模式数量相对较小或者识别模式长度在一定范围的情况下并不如经典AC算法,这也必然成为下一个研究的重点部分。
本文首首先让相关研究背景进行了介绍,介绍了部分较为经典的模式匹配算法的原理及搜索树的经典思路与算法。通过分析经典AC算法的基本思路与基础结构,本文提出了一种基于经典AC算法的改良思路。
第二章的分析可以发现,在经典AC算法中goto表本质上是一个有限状态机。存放goto表的方法可以有许多不同的形式。为平衡存储空间和运行效率,在经典的AC算法中是采用Trie树的形式进行存储。本文的研究重点就是改良或者更换这个Trie树的研究方向上,希望能够将经典AC算法的效率进行改善或者提升。
接下来本文根据上面的思路提出了使用B树以及B树的多种变形形式来改善经典AC算法。在前面的介绍中一般可以发现Trie树常用来操作字符串。Trie树将不同字符串的相同前缀只保存一份,相对其它直接保存字符串一定程度上节约了空间。但是Trie树在保存较大字符串时资源消耗会很大,这样一来在新的IPv6环境中AC算法的效率必然不能满足新的需求。B树可以有效的减少磁盘读写次避免频繁的查找,往往应用在数据库中作为索引。所以理论上可以提高AC算法的效率。
最后,本文对经典AC算法、AC-BM算法以及提出的改良算法进行了性能测试与对比。实验过程中因IPv6进攻数据采用的实验室模拟环境进行,使得其与真实环境有些许变换,但在实验数据中依旧可以发现,改良算法在模式数量大量增加的情况下,成功地保持了较为理想的性能。但是也不难发现新的改良算法在模式数量相对较小或者识别模式长度在一定范围的情况下并不如经典AC算法,这也必然成为下一个研究的重点部分。