网络流量分析概述摘要Internet自60年代出现以来发展迅猛,网络规模飞速膨胀,网络流量越来越大,网络信息对人们生活的影响也越来越深远,然而网络中P2P等应用正在大量的消耗网络的带宽资源,从而影响了关键业务的正常展开。
因此,通过对网络中的各种业务流量进行分析,建立合适的预测模型就成为网络发展的必要。
通过分析,能及时的发现网络中的异常,从而使得网络管理更主动,为网络的持续高性能运行提供主要的保障,为规划、设计网络提供科学依据。
本文首先介绍网络流量数据采集方法,通过分析他们的优缺点让读者对网络数据采集技术有一个初步的了解。
然后本文介绍了两种基于不同技术的网络流分类方法: 深度数据包检测技术(DPI)和深度/动态流检测技术(DFI)。
在DPI中,主要介绍AC状态机模式匹配算法实现多关键字的快速匹配。
而DFI是基于流特征向量的分类方法,本文主要介绍分析了朴素贝叶斯方法。
在特征选择方面,介绍了运用相关度和快速的过滤器选择方法(FCBF)来对特征进行筛选,得出有利于分类的特征子集,同时还可以去掉不相关或冗余特征,增加分类的准确性。
最后,本文介绍了如何把网络流量分析的结果应用到入侵检测中,以发现网络中的异常。
目录摘要 (1)一、网络流量分析概述 (3)1.1网络流量分析背景 (3)1.2网络流量分析定义 (3)1.3网络流量分析目的 (4)1.4网络流量分析意义 (5)二、网络流量采集 (6)2.1 网络流 (6)2.2 网络流的特性 (6)2.3 网络流量采集介绍 (6)2.4 主流网络流量采集技术 (7)2.4.1 基于网络流量全镜像的采集技术 (7)2.4.2 基于SNMP的流量采集技术。
(7)2.4.3 基于 Netflow/sFlow的流量采集技术。
(8)2.4.4 基于干路中桥接设备的采集技术 (9)2.4 网络流量采集技术的对比 (10)三、网络流量分析 (11)3.1 基于DPI的网络流量分析技术 (11)3.1.1 DPI提出的背景 (11)3.1.2 DPI技术研究 (11)3.1.3 AC自动机算法 (13)3.1.4 DPI总结 (15)3.2 基于DFI的网络流量分析技术 (16)3.2.1 DFI的提出 (16)3.2.2 基于DFI技术的方法的基本原理 (16)3.2.3朴素贝叶斯分类器 (16)3.2.4改进贝叶斯—FCBF(A Fast Correlation-Based Fliter): (17)3.2.5其他应用DFI技术的模型 (18)3.3 DPI和DFI的对比: (19)四、网络流量分析之应用:入侵检测 (20)4.1入侵检测的基本定义以及方法 (20)4.2网络流量在异常检测系统中的应用 (21)4.2.1 特征参数的选取 (21)4.2.2特征参数变化的提取 (21)4.2.3.网络流量异常的判断 (22)五、全文总结 (23)参考文献 (24)一、网络流量分析概述1.1网络流量分析背景随着网络应用日趋复杂化,网络流量不断增长并且呈现多样化,如何更好的满足用户对各类Internet业务服务质量越来越精细的要求,这是目前面临的关键问题。
因此,通过对网络中的各种业务流量进行分析,建立合适的预测模型就成为网络发展的必要[1]。
网络流量是记录和反映网络及其用户活动的重要载体。
通过对网络流量的统计分析,可以间接掌握网络的使用情况,从而为做出决策提供有力依据。
1.2网络流量分析定义网络流量是单位时间内通过网络设备或传输介质的信息量(报文数、数据包数或字节数)。
网络流量分析指的就是根据不同的方法从不同的侧面对网络流量展开的分析。
网络的作用是传输应用数据,应用数据在网络中传输过程在OSI 协议模型中的描述如下图:图1-1 OSI 传输模型在OSI 传输模型中,发送方的应用数据由下层协议逐层处理,最后通过物理层传输,接收方则逐层向上处理从物理链路上接收的信号,最后还原成应用层数据。
一个Web 应用数据在OSI 模型中的网络数据传输处理过程如下图:图1-2 Web 应用的数据处理从上图我们可以看出,应用数据在应用层采用HTTP 协议,在传输层被分段,在网络层封包,在数据链路层封帧,由物理层传输,由每一层进行处理,按照相应的协议进行封装。
网络流量的分析就是对在网络中传输的实际数据流进行分析,网络数据流的分析包括从底层的数据流一直到应用层的数据的分析,有的时候也称之为网络协议分析。
1.3网络流量分析目的简单的说,对网络流量进行分析的目的是了解、发现和证明。
了解,管理好一个网络最重要的就是对网络的了解,了解网络拓扑、设备、配置等是必须的,但要保证网络的服务质量,那是远远不够的,对网络流量的分析能使网络技术人员更深入地了解网络。
1. 网络运行规律的了解。
每个网络都有自身的运行规律,这和网络的结构、应用特点等紧密相关,通过流量的长期分析,能够了解网络系统运行的规律。
2. 网络应用运行规律的了解。
网络上重要的应用在运行时,每一个访问,每一个交易处理,数据都由网络来传输,通过分析应用的流量,能够清楚的了解应用运行的规律,访问量、交易处理数量、响应性能等数据,都可以通过流量分析手段获取。
3. 网络用户的网络行为。
每个网络用户的网络行为都是相互影响的,同时会对网络的运行产生影响,伴随每个用户在网络中的每个网络行为都有网络流量产生,通过对网络用户的网络流量进行分析,能够直观地了解网络用户的网络行为。
发现,主要是异常地发现是建立在了解的基础之上的,如果能做到及时地发现网络中的异常,将使网络管理更主动,将为网络的持续高性能运行提供重要的保障(异常流量丢包严重)。
1. 网络运行异常的发现。
网络中流量的异常,包括利用率、数据包数的异常。
2. 网络应用运行的异常发现。
连接数量、应用响应、应用流量的异常,都可以通过长期主动分析来及时发现。
3. 网络用户的异常网络行为。
异常的网络行为也都有明显的流量特征,如感染的蠕虫病毒、安装了后门程序等,长期流量分析能及时的发现网络用户的这些异常网络行为,及时发现网络用户的异常网络行为是避免其影响网络运行的关键。
证明,网络流量的分析可以为网络和应用问题的分析提供依据,特别是数据包级的分析,而这些依据是真实的,因为它们是实实在在的在网络中传输的数据包,这也是流量分析能够大大提高网络和应用问题分析效率的原因。
1.4网络流量分析意义网络流量分析是有助于维护网络持续、高效和安全运行的一种手段,网络流量分析的意义在于取得对网络运行管理、应用运行管理和网络应用问题分析有意义的数据。
这些数据多种多样,像是利用率、bps、pps 还是延迟、重传、连接数量等这些流量分析的数据,都要和我们实际的网络应用运行情况结合起来才有意义,因为不同的网络和不同的应用都有完全不同的流量数据。
网络流量分析的数据的意义是建立在了解的基础上的,只有对网络和应用的深入了解,才能使这些数据的价值得到真正的体现。
二、网络流量采集2.1 网络流网络流就是一组具有相同特性的IP包,这些特性包括源/目的IP,源/目的端口,传输层协议,TOS字段等。
通常把前面5个特性成为5元组[2]。
网络流故名思议有一个持续的时间,网络流可以持续很长,也可以很短,而且同一个数据包可以属于不同的网络流。
2.2 网络流的特性网络流的五大特性,分别是自相似性,长相关性,周期性,混沌性和多分形性。
自相似是指局部的结构与总体的结构相比具有某种程度的一致性,举个例子,有个人篮球打的很厉害,那么他打其他球应该也不错。
长相关性意味着未来的统计信息蕴含在过去和现在的信息之中,它反映了自相似过程中的持续现像。
比如通过流量监控发现,一个人星期1,2,3都是晚上8点-10点上网,那么通过长相关性可以推断他星期4也是这个时间段上网。
周期性反映网络流量时间序列随时间变化而表现出来的一种季节性变化规律,它可能是由于流量数据的周期采集引起的,也可能是人们上网的行为习惯引起的。
比如有个人每周1-4都是晚上8-10点上网,但周末都是9点上到12点,这可能就是这个人上网的习惯引起了网络流的周期性。
混沌性是指确定的、宏观的非线性系统在一定条件下所呈现出的不确定的或者不可预测的随机现象。
比如小明每天都是8-10点上网,但也有时也会9点才上网,这就是确定中的不确定现象。
在预测研究中只要能恢复出流量时间序列的混沌吸引子,就可以通过寻找预测状态点的邻域状态点与其后续状态点的函数关系,作为预测函数,实现流量预测。
最后是多分形性,又称为多重分形测度。
多分形还没有一个明确的定义。
笼统的说,分形是大小碎片聚集的状态,是没有特征长度的图形构造以及现象的总称。
我们的理解是:网络流往往是纷繁复杂的,我们很难单一用泊松或者正态函数来精确地描述这过程,多分形延伸了网络流量中的自相似(自相似即单分形)行为,多分形性质解释网络流许多令人困惑且杂乱无章的现象。
描述局部时间内网络流量的不规则现象时更加灵活。
由于网络流具有上面的特性,我们进行网络流采集时要注意考虑网络流的特性,才能保证采集的正确性以及完整性。
2.3 网络流量采集介绍网络流量的采集是网络研究的重要部分,它是网络流量分析的必要前提;同时,网络流量的采集使得网络管理员能够监控网络负载,发现网络故障的位置,从而制定网络管理策略。
理想的数据采集方式应该具备以下一些特点:1.不影响数据流转发的速度在整个数据流的采集过程中,不能有明显影响数据流转发速度的状况发生。
如果在数据采集的过程中,数据流转发的速度明显下降,不能真实地反映网络流量状况,这违背数据采集的根本目的。
2.占用资源小对数据流进行采集的过程中,可能需要在路由器(交换机)中进行流量统计,并且储存所采集数据。
这会给路由器(交换机)带来额外的资源开销。
理想的流量采集方法应该尽可能少占用资源,在采集效果和资源占用之间寻求一个平衡点。
3.完整的数据流监控一个理想的数据采集方法应该具备完整的数据流监控能力。
在网络发生拥塞的时候,能不能采集到完整的流量信息,是考察数据采集方法的一个重要标准。
4.分布式的数据采集分布式的数据采集有利于实现校园网内部的数据流量监控和管理。
2.4 主流网络流量采集技术现在的网络流采集方式主要分为四种:基于网络流量全镜像的采集技术、基于SNMP的采集技术和基于Netnow/sFlow等通过采样减少分析数据的采集技术以及基于干路中桥接设备的采集技术2.4.1 基于网络流量全镜像的采集技术网络流量全镜像采集是目前主要采用的网络流量采集模式,大部分的IDS(Intrusion Detection Systems 入侵检测系统)就是如此。
其原理是通过交换机等网络设备的端口镜像或者通过分光器、网络探针等附加设备,实现网络流量的无损复制和镜像采集。