论文部分内容阅读
互联网技术的发展和推广,改变了人们的生活模式,网上新闻,网上购物,电子商务,网上聊天等等各种网络应用不断涌现。自90年代以来,宽带网络技术的重大突破和应用,网络带宽不断增长。人们希望获得更好的上网体验,大量的网络应用应需出现,更多的数据在网络上飞速传递。增加的Internet网中的网络流量,对骨干网的硬件提出了挑战。如果能够准确识别出网络流量中所有的数据报是由哪种网络应用发出的,就可以对网络进行控制和管理。可以将所有非法的网络应用的网络流量过滤掉,限制一些大数据网络应用在网络流量中的传输比例,从而控制各种业务的使用带宽,保证关键业务,抑制不希望出现的业务,深化服务质量控制等等。准确快速的识别网络应用业务所属分类在网络管理和网络监控中发挥着重要作用。当前主流的网络应用协议识别方法有两种:基于载荷的识别方法和基于网络流行为的识别方法。基于载荷的识别方法对数据报进行深度检测,采用协议分析与还原技术,提取应用层携带的数据,通过分析这些数据中包含的协议特征字符,固定的位置匹配某些协议特殊的字符串,来判断网络流量是否使用了某种协议。基于载荷的识别方法,准确性高,但是这种方法只能识别出已知的网络应用。基于网络流行为的识别方法的前提假设是属于同一个类别的对象存在一组稳定的特征,该特征可以是任意与类别相关的属性信息。从不同角度观测互联网应用会发现不同的行为特征,找到有效区分不同应用的行为特征集合,根据这些特征集合分类网络流量。基于网络流行为的识别方法执行效率高,但是由于网络状况的实时变动会影响行为特征,降低了识别准确率本论文的主要工作之一就是提出了一种新的网络应用协议识别方法——基于聚类算法的网络协议识别方法。首先,通过深度包检测技术和协议的正则表达式匹配,识别网络流量中的一部分网络流;然后,提取所有网络流的行为特征向量,将每个网络流投射到一个多维空间中;最后,使用聚类算法将多维空间中使用相同网络协议的网络流聚成一个簇,分析每个簇中已识别出的网络流所属协议,识别每个簇属于的网络应用协议,从而识别所有的网络流。该识别方法借鉴基于载荷的识别方法和基于网络流行为的识别方法,具有两者的优点。该识别方法能够准确地识别已知的网络应用,能够识别出使用未知的网络应用协议的网络流。在网络状态不断变动的实际环境中,该识别方法仍然可以高效地识别网络流量。本论文的另外一个主要工作是开发出一款基于聚类算法的网络应用协议识别的框架系统。该框架使用多线程技术,提高系统的整体执行效率;该框架系统使用模块化设计方式,具有良好的可扩展性,系统运行中的网络流量的采样算法、网络流分类规则、聚类算法等等通过配置都可以修改。网络流量的不断增大,加重了系统的处理负担,系统将不可能处理抓取到的每个数据报。因此,有效的网络流量采样算法将作为今后的研究问题,而更加高效的聚类算法的研究也将在今后继续深入的研究。