论文部分内容阅读
互联网发展初期,人们利用互联网主要是为了解决科研等工作中的沟通问题。但随着互联网的发展,以多媒体业务、P2P、VoIP、高速上网为代表的新业务不断涌现,尤其是P2P,经常是导致网络拥塞的罪魁祸首,使得有些关键业务服务质量无法保证。解决这一问题的关键是对网络数据包进行高效、准确的分类。此外,数据包分类技术是网络监管、流量分析、网络安全等领域的重要基础。
本文首先对目前现有的基于端口、基于载荷特征、基于统计特征、基于行为特征四类IP数据流分类技术进行了研究,详细分析了这些分类技术的适用环境以及各种分类技术的优势和不足。其中,基于应用层载荷特征的IP流分类技术的准确性较高,但是,目前的应用层载荷特征基本靠人工分析提取,并且当特征库庞大时遍历匹配特征库需要消耗大量的时间。针对这一问题,本文主要工作内容集中在以下两个方面:
(1)针对目前的应用层载荷特征基本靠人工分析提取需要消耗大量时间这一问题,本文通过把固定位置载荷特征和载荷公共特征串相结合,提出一种应用层载荷特征自动提取的方法,该方法可自动提取出载荷特征的正则表达式,从而使得载荷特征提取变得快速、简单;
(2)针对当特征库庞大时遍历匹配特征库需要消耗大量的时间这一问题,本文提出一种将应用层载荷特征和启发式搜索相结合的IP数据流分类方法。该分类方法通过从各种应用产生的数据包之间提取共同特征并以此共同特征建立启发式规则,根据启发式规则将特征库划分为多个特征子集,在数据包匹配过程中只需要根据启发式规则搜索匹配特定的特征子集,从而大大减少了对无关特征的匹配过程,使待匹配的特征子集具有更强的针对性、使得时间性能得到提高。对于部分应用采用以DNS为引导的方法来对数据包进行分类,该方法部分消除了基于载荷无法对加密数据进行识别的弊端。
在第5章,通过实验验证了载荷特征提取工具和提出的分类算法的有效性。以提出的应用层载荷特征和启发式搜索相结合的IP数据流分类方法为基础,在第6章设计并实现了一个基于linux平台的实时数据流分类模块。