论文部分内容阅读
本文主要研究了数据包分类算法,以及数据包分类在入侵检测工具Snort和基于状态包分类的数据流检测中的应用。网络技术的飞速发展,给人们的社会生活带来很大便利。然而,网络用户急剧增多,各种网络业务不断涌现,造成了网络数据流的迅猛增长,这就对各种网络设备提出了新的要求,需要如资源预留服务、网络服务质量、虚拟专用网等差别服务机制。数据包分类作为提供差别服务的基础技术,对未来互联网的发展具有极其重要的意义。本文首先对数据包分类算法进行了研究。针对当前广泛使用的递归流数据包分类算法初始化速度缓慢的缺陷,提出了两种改进算法。第一种算法通过最大限度的减少系统初始化过程中的冗余操作,有效的提高了递归流数据包分类算法的初始化性能;第二种算法通过对递归流数据包分类算法中的分类规则集进行一些预处理操作,进一步提高了算法的初始化速度。然后,本文对当前最著名的、使用最广泛的开源入侵检测工具Snort进行了研究,针对Snort数据包检测速度慢的缺陷,将递归流数据包分类算法应用到了Snort中。通过递归流分类算法快速地找出所有与当前待检测数据包相匹配的检测规则,取代了Snort在检测数据包的过程中链式匹配所有检测规则的检测过程,有效提高了Snort的检测速度。最后,本文开发了一种网关下基于状态包分类的流检测系统。新系统通过提取数据包里面的关键信息,将一个数据包映射成为一个字符,通过对映射所得的字符串的检测来实现对数据流的检测,不仅简化了状态检测系统中会话信息表的管理,而且提高了数据流的检测效率,使得系统的性能大幅度提升。