时间:2023-06-15 09:28:33
引言:寻求写作上的突破?我们特意为您精选了12篇网络流量分析的方法范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
中图分类号:TP393.06
近年来,随着经济社会的发展和科学技术的进步,计算机网络技术得到了充分发展。在这种形势背景下,网络在人们生产生活中的应用越来越广泛,比如,我们可以通过网络浏览网页、观看视频、网上聊天以及网上购物等。由此可见,网络在人们生活中发挥着重要作用。在网络的运行过程中,网络流量直接关系着网络的速度,对网络功能的发挥具有重大意义。但是,从现实情况来看,在一些中小型网络使用的过程中,由于服务器管理不当、恶意程序以及P2P下载等原因,导致网络流量不断增长,最终致使网络出现堵塞,网页打不开,影响人们的正常工作和学习。鉴于此,我们必须采取一些措施控制网络流量,使它更好地为人们的生产生活提供服务。
1 中小型网络流量控制方法
1.1 加强对P2P应用的管理。在很多中小型网络应用的过程中,人们会运用到很多P2P应用,比如,快车下载、迅雷视频播放器等。这些P2P应用在运行的过程中会占用大量的流量资源,给网速造成严重影响。针对这个问题,在中小型网络运行中我们可以采取封禁P2P的应用端口或者对并发连接数进行限制等方法来控制网络流量。首先,对P2P的应用端口进行封禁。正如上文所述,在中小型网路中各种下载工具和视频播放工具等P2P占用了很多流量,我们可以使用电脑中的路由器或者防火墙等对P2P应用进行封禁。这种方法在运用的早期收到一定的成效,后来的流量控制效果并不是十分理想。其次,限制并发连接的数量。当我们在运用P2P软件在网络上查找资源的时候,会带到很多的网络连接,此时便会使网络流量大量增加。如果我们对连接到主机上的并发连接数量进行控制,就可以有效限制它所占用的流量。这种方法有一定的成效,但会在一定程度上对网络正常运行造成影响。
1.2 运用专业的流量控制设备。在中小型网络运行中,我们还可以使用专业的流量控制设备对其进行流量控制。就目前的技术水平来看,主要的流量控制技术包括深度报文检测(DPI)和深度流行为检测(DFI)等。以此技术为基础,现在应用比较多的专业流量控制设备厂商主要有华三、思科以及Allot等。这些厂商生产的专业流量控制设备具有良好的流量控制作用,但是,它也存在一定的缺陷,比如,专业流量控制设备的价格比较昂贵。
1.3 对网络用户的流量和宽带进行限制。为了控制中小型网络中的流量,我们还可以采用限制用户流量和宽带的方法进行控制。首先,限制用户流量。我们可以使用城市热点或者防火墙等设备对网络中用户的流量进行控制。这种方法确实发挥了控制流量的作用,但是,有时用户正在使用网络,由于流量限制导致无法上网,就会影响到用户的工作和学习。其次,限制用户宽带使用数量。这种方法也在一定程度上发挥控制网络流量的功效,但是,由于用户无法得到全部宽带,致使网络运行的速度比较缓慢。
2 流量控制方法在中小型校园网络中的应用
从上文的论述中,我们可以了解到,各种流量控制方法各有优劣,在实际的应用过程中,我们要从中小型网路的实际情况出发,综合分析多方面因素,选择科学合理的流量控制方法。下面,我们就结合某学校一中小型的校园网络,对流量控制方法的具体应用进行分析。
2.1 校园网概况。某学校为了满足教学工作需要,建设了一个校园网。在该校园网中,由2个10兆的互联网与当地的教科网和电信网进行连接,依据教学的功能,校园网中被划分成多个VLAN,从而为学校教学和教务工作的开展提供网络服务。但是,从现实情况来看,校园网中存在客户端安全问题、接入控制问题以及上网速度慢问题等,致使校园网在使用的过程中出现网页打不开甚至断网等问题,影响了校园网正常功能的发挥。
在上图的校园网流量控制设备部署中,我们利用流量网络开关,有效实现了对校园网的流量控制。具体来说,流量控制主要表现在以下几个方面。(1)对P2P应用进行了控制。为了保证P2P应用的正常使用同时减少它对网速的影响,我们设立了P2P应用流量通道,对快车、迅雷等P2P应用软件的流量限制在一定范围之内,并根据网速变化作出一些动态调整。比如,在校园网高峰期,我们可以适当降低对P2P应用的限制,当校园网处于低谷期,我们可以调高对P2P应用的限制,从而保证校园网络的有效利用。(2)对不同用户实施不同部署。在校园网运行中,针对不同用户的需求,我们制定了不同的网络流量管理方法。比如,针对学校的办公网络,我们可以适当限制P2P应用的流量,而对于学校教学机房中的网络,则要严格控制P2P应用的流量,尽量减少这些与教学无关的应用占用大量的流量,保证教学网络速度。(3)加强校园网接入安全管理。在过去,由于缺乏相应的技术和管理设备,校园网中对客户端接入缺乏安全管理,校外其他一些用户可以随意接入到校园网中,不仅占用了校园网的流量,而且给校园网安全造成严重威胁。针对这个问题,我们可以采取客户端接入控制和安全性检测等方法对校园网接入安全进行管理,这样一来,只有符合要求的用户才可以接入到校园网中,不仅提高了校园网的运行的安全性,而且对校园网流量控制具有一定的作用。
3 结束语
综上所述,近年来,随着经济社会的发展,中小型网络在我们生产生活中的作用越来越突出。鉴于此,我们要加强对中小型网络的管理,使它更好地为人们提供网络服务。但是,在现实中,由于多种原因导致中小型网络流量增加,影响了网络的正常运行。针对这个问题,我们在分析网络实际情况的基础上,选择恰当的流量控制方法对网络流量进行有效控制,促使中小型网络资源得到合理利用。
参考文献:
[1]郑林江.基于交换机流量和网络线路的监控系统[J].计算机应用,2009(S2):18-19.
[2]胡俊,程瑾.网络流量管理控制技术在校园网的应用研究[J].中国教育信息化,2009(21):58-59.
[3]牛军,余萍萍,李思恩.校园网流量控制初探[J].中国教育信息化,2009(04):152-153.
0 引言
随着社会的飞速发展和网络技术应用领域的扩展,使得网络通信问题日益成为人们关注的焦点。当前,人们对网络的需要也日益增多,人们对网络通信也有了越来越高的要求。通过Internet的迅速发展使社会经济结构和人们的生活方式发生了巨大的变化,网络服务越来越重要,而IP流量正是网络管理的重要数据基础,通过IP分析流量数据,可以帮助网络管理员发现各种恶意网络攻击,对攻击源进行追溯和定位,从而对网络中的计算机进行有效的保护尤其在中小网络中网络安全起着至关重要的作用。IP分析中数据的统计是不允许出现任何错误的。因为网管人员在做好防护的同时也要对IP包进行捕获和流量分析。网络上的信息流量是通过计算机的网卡转换把网上的信息展现出来的,通过对流经网卡的数据包的分析,如果发现有恶意连接或是异常流量的时候,网络管理员就可以及时的做出相应的措施来保护网络的通畅和安全,这也就是进行IP包流量分析的重要性。
1 IP包流量分析的研究
1.1 IP流量分析
每个网络都有自身的运行规律,对于每一个高级的网络管理员,要管理好网络上承载关键业务的网络系统,首先要对自己所管理的网络建立深入的了解,提高自身的网络管理技术水平,掌握有效的IP流量分析技术并能够在工作中灵活的运用。网络管理和网络的结构、应用特点等紧密相关,通过IP流量分析,能够帮助网络管理人员掌握网络系统运行的规律。网络上重要的应用在运行时,如每一次访问,每一个交易处理,数据都是通过网络来传输的,就是这些数据的传输导致了网络流量的产生。通过分析应用运行所产生的网络流量,能够清楚的了解应用运行时对网络通信的影响。通过IP流量分析程序可以获取到数据包的内容及其数量。在网络带宽一定的情况下,每个用户的网络行为都将相互影响,同时会对整个网络的运行产生影响。伴随着每个用户在网络中的行为都有网络流量的产生,通过对网络用户的IP流量进行分析,能够直观地了解网络用户的网络使用情况。IP流量分析可以为网络和应用问题的分析提供依据,特别是数据包级的分析,因为这些依据是真实的,有效的,它们是实实在在的在网络中传输的数据包,这也是流量分析能够大大提高网络和应用问题分析效率的原因。IP流量分析是有助于维护网络持续、高效和安全运行的一种手段,IP流量分析有助于网络管理员对网络运行管理、应用运行管理和网络应用问题分析。
IP包流量分析的主要方法是通过实时连续地采集网络数据并对其进行统计,计算得到主要成分性能指标,结合网络流量的原理,通过统计出的性能指数观察网络状态,分析出网络流量变化的趋势,找出影响网络性能的因素。
1.2 系统总体设计
通过研究与分析简单IP包流量分析程序的用户需求可以发现,用户需要系统实现对本机基本信息的获取,如IP地址,主机名,MAC地址和子网掩码等信息;需要实现对网络流量的监控,即对流入和流出网卡的数据包进行检测并对数据包的长度进行累加,从而得到流量数据,最后将网络输入流量,网络输出流量,网络总流量能在对话框对应的网格处显示;需要实现捕获流经本计算机网卡的所有数据包,对所获取到的数据包进行解析,从而得到相关信息,如源地址,源端口,目的地址,目的端口,数据包的协议类型,数据包大小,数据等信息。根据分析IP包流量分析系统可以具有三个主要功能部分:基本信息显示、网络流量监控、IP包解析。系统设计图如图1所示。
1.2.1 基本信息模块
对于一台计算机来说,一般只有一个计算机名称,但是可以有多个IP地址。例如当计算机通过拨号上网的时候,在验证完用户名和口令以后,就会动态分配一个IP地址,此时计算机就拥有了两个IP地址,一个是自己设定的局域网用的IP地址,另外一个就是拨号上网动态分配的IP地址了。
基本信息模块实现的主要功能是获取本机的主机名和本机IP地址,并以对话框的形式显示出来。此模块中所获取的IP地址是自己设定的局域网用的IP地址,而不是拨号上网时动态分配的随机IP地址。它设计的主要目的是为了方便网络管理人员快捷地了解本机的一些基本信息。
1.2.2 网络流量监控模块
网络管理人员一般会根据计算机在不同时段的网络流量变化情况来对计算机进行各项参数的优化,以及了解是否存在异常流量。而对于个人用户来说,实时了解本机网络流量情况是很重要的,尤其是对那些拨号上网的用户,对网络流量的了解可以有效的帮助他们节约上网费用。
网络流量监控程序的本质是对流入和流出网卡(Modern)的数据包进行测量,在单位时间内的流入量实际上就是在单位时间里流入网卡的数据包的字节数,在单位时间内的流出量实际上就是在单位时间内流出网卡的数据包的字节数。而总流量就是流入量和流出量之和。
1.2.3 IP包解析模块
因为要捕获经过网卡的所有数据包,需要将网卡设置为混杂模式。在实际编程的过程中,通过使用网络嗅探器可以把网卡设置于混杂模式,并可实现对网络上传输的数据包的捕获与分析。在网络安全方面,网络嗅探手段可以有效地探测在网络上传输的数据包信息,通过对这些信息的分析利用将有助于对网络安全进行维护。IP包解析模块就是通过使用网络嗅探器技术来实现完成的。
2 IP包解析模块的实现
IP包解析模块是系统实现的重要模块,在实现中主要实现函数见表1。
3 结束语
IP包流量分析系统是一个相对复杂的系统,通过研究需求设计了系统的主体框架,通过编写套接字、访问注册表等方法实现了系统部分主要功能,下一步准备完成详细指标分析等功能。
参考文献:
1网络流量分析的内容
网络通信流量分析的目的是了解网络工况,及早发现可能存在的数据流量问题和应对措施。需明确的是,计算机网络通信的核心作用是传输数据,而网络流量的分析就是采集和分析计算机网络中传输的海量数据流,网络数据流的分析从计算机及传输相关的物理硬件底层的数据流到应用层的数据流分析,也称为网络通信协议分析。网络管理人员若想了解和管控好一个网络,其最重要的就是对网络的了解,所谓知己知彼,包括并不限于了解网络的拓扑结构、配置参数和设备类型等,但要保证网络通信的服务质量,这样的认知是还是远远不够。对网络通信流量的分析能使网管更深入地了解计算机网络,包括计算机网络运行规律、网络运行模式和用户的上网行为。
2网络异常的行为
计算机网络异常的发现是建立在充分认知和网络阀值为基础的,一旦网络流量突破了网管人员预设的网络流量阀值,就需要通过发现、询因、流控等技术手段,以防止网络流量的无限暴增,进而能为网络通信保持一定的高性能运行提供重要的保障。通常的网络异常情况如下:(1)网络运行异常:网络中流量的异常,包括资源利用率、数据包数的异常。(2)网络应用异常:进程连接数量、用户应用响应、应用程序流量的异常,都能通过长期的主动分析来及时预警和发现。(3)用户的异常上网行为:异常的上网行为也有鲜明的流量特征,如被蠕虫病毒感染、不知情的情况下安装了后门程序等,长期的数据流量分析能及时发现上网用户的这些异常网络行为,如何及时发现网络用户的异常上网行为是解决其影响网络正常高效运行的关键。
二建立机器学习的计算机网络通信流量分析
模型计算机网络流量的突变性、弱耦合性和影响的非线性等特性,对传统计算机网络通信理论提出了新的挑战,导致对网络流量和协议概率分布的准确建模变得异常困难。
1模型拟解决的问题
针对计算机网络通信流量分析的特点,提出了一个基于机器学习的计算机网络通信的流量分析概念模型。提出该模型的真正目的在于:最大限度地利用获得的流量数据和网管人员的监测信息,自动完成流量分析的各个任务,自适应各种上层应用及对网络的性能优化。同时,模型通过计算机主动学习,指导主动式监测的进行。从通信流量分析的具体任务而言,如果已经较好地获得了数据流量的概率分布特性,有两个基本的问题:(1)正常情况,计算机监控程序能否利用已得到的概率统计特性来预测可能发生未知的数据流量情况;(2)数据流量的特性突变之时,计算机监控程序能否快速、有效地发现这种流量突变。这分别对应于网络数据流量预测和异常网络数据流量检测,可以通过具有自学习能力的计算机程序自动实现上述预测和检测。
2机器学习的概念
模型所谓机器学习的本质是计算机程序的性能随着经验的累积能自我完善。恰当选择计算机的机器学习算法,可最大限度地使用上述经验和监测信息,从而完成流量分析各任务的自动化处理,并根据应用环境对网络的性能进行优化。为此,机器算法是处理上述问题的理想选择。首先给出基于机器学习的网络流量分析模型,接着从机器学习的角度,阐明基于改进Boosting的机器学习算法。机器学习的本质是将人类的经验积累和长期的监测到的统计数据通过计算机程序以自动提高其性能,根据计算机通信网络分析的一般流程,提出机器学习模型。此类模型利用网络监测算法测量获得的流量数据,然后利用机器学习的方法,自动完成流量分析的各项作业任务,支持各种上层应用对网络的性能优化。当网络管理人的监督信息可以获得的时候,该数据信息可以作为机器学习算法的储备和先验知识,结合人类的智慧以进一步提高算法的性能,如此往复,循环提升,不断提高系统的数据流量分智能。
3改进Boosting算法
改进Boosting算法是一类使得学习算法的性能得以提高的学习策略。基于Boosting的学习算法的思路:找到许多简单粗略的判断准则要比找到一条非常准确的准则容易得多。通过不断调用这种算法,每次用训练样本的不同子集对它进行训练,循环多次后,这些准则就会结合成一条基本学习规则。
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1210099-01
随着IT、网络技术的迅猛发展和企业信息化程度的不断提高,各种网络应用越来越丰富。因此,如何保证网络的可用性和关键业务的畅通运行,对网络正常健康的发展将起到至关重要的作用。维持正常网络运转,就需要有相应的技术手段,明确了解网络上各种应用的带宽占用情况,分析用户流量行为,以便合理的规划和分配网络带宽,有效地保障关键业务应用的正常运行。尤其是在发生流量异常的同时,迅速有效的分离和抑制异常流量,对非法业务实行遏止,使网络流量能保持其健壮性。
常用的网络流量和协议分析有四种方法:
一、基于SNMP
MRTG是最常使用并且最典型的一种基于SNMP的产品。其安装过程非常简便,其结果输出采用Web页面方式,因此需要在相应的平台上安装系统,如NT上需要安装IIS,UNIX则需要安装apache。MRTG通常被网络管理人员用来收集网络节点端口流量统计信息,是典型的监视网络链路流量负荷的工具。MRTG的定制非常方便,一般可以在网络的重要节点端口和故障发生频繁的网络设备处利用MRTG进行监视,这些监视包括:关键链路流量和关键节点性能状况。
MRTG的优点是安装、定制简单,结果采用Web方式输出方便实用,而且是免费产品,在世界各地有很多的开发人员不断对其升级和改进。MRTG的缺点是功能较单一,分析功能不强,其收集到的流量信息是端口的统计信息,不能用于复杂的分析。
二、基于网络探针(Probe)
流量探针是一种用来获取网络流量的硬件设备,使用时将它串接在需要捕捉流量的链路中,通过分流链路上的数字信号而获取流量信息,分析的结果存储在探针的内存或磁盘之中,具体的前端展现依赖与之对应的专门软件。因此具有效率高、可靠性高、高速运行不丢包的特点。流量探针安装非常方便,可以实时将RMON II的流量信息完全记录下来,这对分析网络的性能和故障很有价值。如果将流量探针串接到Catalyst系列交换机端口,开启端口映射(Span Port)功能,将各个端口的流量映射到安装了流量探针的端口,则仅通过对一个端口的监测就可以收集到多个端口的流量信息。端口映射(Span Port)是由Cisco公司提出的概念,在其Catalyst系列设备上都可以实现。其它厂商如Foundry公司的交换机也提供端口映射的功能,但现在还不支持跨交换机的映射。
流量探针的安装很简单,可以用于高速(千兆)的网络而不影响网络性能,流量探针可以实时捕捉包,但其成本高,不同的物理链路,因其采样方法也不同,而需要使用不同种探针。
三、基于实时抓包分析
基于实时抓包的分析技术提供详细的从物理层到应用层的数据分析。但该方法主要侧重于协议分析,而非用户流量访问统计和趋势分析,仅能在短时间内对流经接口的数据包进行分析,无法满足大流量、长期的抓包和趋势分析的要求。常见的产品有NAI的Sniffer Pro,免费的tcpdump、ethereal等。
通过端口映射Sniffer Portable可以实时采集多种数据并保存到数据库中,同时可以通过其分析部件实时监视和显示这些数据的统计信息。利用Sniffer Portable的数据捕捉功能可以在短时间内对网络流量进行实时采集,这些采集到的流量数据可以包含整个包的信息,也可以只是包的一部分。利用捕获到的包可以进行协议分析、数据重组(如重组E-mail)等工作。对包的解码和分析是Sniffer工具的一个最有特色的,也是最强大的功能。
当不采用厂家的特殊硬件系统,Sniffer Portable只能用于100Mbit/s
及以下速率链路,网络中可以安装多个Sniffer Portable,但它们都是相互独立的,分别有各自的数据库,收集到的数据独立存放,这对于整个网络的分析带来一定难度,因此它特别适合小范围内的性能维护和分析;Sniffer Portable分析能力特别强大,可以解析近370种协议。当要求对更高速(GE或POS 2.5Gbit/s)的链路采集流量,或者是全面收集大型网络的流量时,可以采用Sniffer的硬件产品及其分布式系统,但其价格昂贵。
四、基于流(Flow)的流量分析
目前基于流的分析技术主要有两种:sFlow和NetFlow。sFlow是由InMon、HP和Foundry Networks联合开发的一种网络监测技术,它采用数据流随机采样技术,可以适应超大网络流量(如大于2.5Gbps)环境下的流量分析,让用户详细、实时地分析网络传输流的性能、趋势和存在的问题。目前,仅有HP、Foundry和Extreme Networks等厂商的部分型号的交换机支持sFlow。NetFlow[13]是Cisco公司开发的技术,它既是一种交换技术,又是一种流量分析技术,同时也是业界主流的计费技术之一。它可以回答有关IP流量的如下问题:谁在什么时间、在什么地方、使用何种协议、访问谁、具体的流量是多少等问题。NetFlow因为其技术和Cisco网络产品的市场占有率优势而成为当今主流的流量分析技术之一。NetFlow的配置非常方便、安装简单,除了需要在路由器上配置之外,只需要一台UNIX工作站作为流的收集工作站,所有路由器或交换机上发送的NetFlow流都将送到此工作站集中,方便处理和分析。NetFlow流信息量特别丰富,可以为流量分布、业务分布等性能分析提供最充足的数据,但需要消耗一定的路由器资源(CPU和内存)且不能实时捕捉数据包。根据NetFlow的特点可知,其非常适用于大型的网络,和流量探针、Sniffer等比较,NetFlow成本最低,实施最方便,而且不受速率的限制,是数据流量采集的发展方向。
基于Flow的分析方法将成为趋势,在上面所提到的四种方法中,基于Flow的分析方法应该是网络流量分析技术的趋势。这是它的技术实现理论所决定的。
参考文献:
[1]朱士瑞,基于小波分析的异常检测系统[D].江苏大学硕士学位论文,2006.
[2]陈宝钢、张凌、许勇,基于P2P应用的网络流量特征分析[J].计算机应用,2005,Vol.27,No.3.
中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2012)1210095-01
1 两种不同网络类型的数据流量
在C/S(客户机/服务器)结构中,客户机发送一些请求,服务器为每个请求做出回复。在客户机间不直接传递信息,客户机必须通过服务器把信息发送给其它客户机。这种数据是定向流动的,几乎都是从服务器到客户机。然而在P2P网络结构中每台主机同时担任服务器和客户机角色,对等主机之间可以直接进行数据交换。
2 P2P网络应用的类型
在P2P网络应用程序中,可以分为两类:一是即时通信应用,如MSN和雅虎信使。实时通信程序的主要功能是信息传递,实现1对1或者1对多式用户交流和文件转存。二是文件共享应用,如Napster。文件共享程序的主要功能是查询和文件转存。然而P2P应用程序的联系分两种:一种是中心仲裁式,另一种是纯分布式。大多数实时通信应用程序系统使用中心仲裁,在这种联系方式中,一个或多个核心服务器存在,这些服务器包含所有主机的信息并且把信息发送给请求的主机。在纯分布式中没有中心服务器,在搜索效率和文件传输上都不是很好。实际在P2P网络应用程序使用中存在这两个不同类型的混合通信。
3 P2P网络数据流量分析算法的主要思想
传统的数据流量分析主要是以端口号为基础的分析和对有效载荷的检测分析,而在P2P网络中,这种方法不太适用。比如网络流量中,HTTP通常使用的端口号是80或8080,HTTPS使用端口号443,在P2P网络数据流量中,端口号检测不是那么简单,因为它们使用的端口号超过1024,通常是动态生成的端口号。
因此设想,如果所有的P2P数据流量可以在整个流量中分离出来,然后根据其应用程序的名称分组,那么就可以对P2P网络数据流量进行高精度地分析。基于此,我们提出了一种新的数据流量分析算法。
该算法不检查每个数据包的有效载荷,只使用每个数据包的头信息。主要包括四个过程,分别是应用端口表、重要端口号选择、流量关系图和数据流量分组。算法思想首先是构建应用端口表。它是通过离线穷举搜索方法和数据包分析工具对每个对等网应用程序进行检测与分析,包含应用程序的名称、其经常使用的端口号和协议。其次是重要端口号的选择。从捕获的数据包中分析信息:源地址、目的地址、源端口、目的端口号、协议号。因为源端口和目的端口号通常超过1024,从随机生成的端口号中区分对于P2P应用程序重要的端口号。
第三步是生成流量关系图。大多数P2P应用程序具有多个支持的功能,在相同P2P流量中有可能发现它们之间的关系。对前三个过程的结果进行分析,按照对等网应用程序的名称与关系确定流量分组。分组信息用于P2P应用程序决策,从而提高分析的精确度。
4 P2P数据流量分析系统的设计
根据以上算法,我们设想了P2P网络流量分析系统,用于实时流量的监控和分析。该系统主要包括三个模块,分别是应用端口表模块、重要端口选择模块和流量关系图模块。其中,重要端口选择模块由一个数据包捕获器、一个数据流发生器和一个同步分组表组成。数据包捕获器从一个网络链接接收原始数据包,并生成数据包的头信息,分组头信息被发送到数据流发生器里。如果一个数据包是同步数据包或准同步数据包则被存储在同步分组表中。数据流发生器查找同步分组表,并从每个数据流中选择一个重要端口号。重要端口选择模块依靠网络连接环境在一个单一的系统或多重系统中实现选择。假如数据包在一个单一系统中被捕获,重要端口选择器可以在一个单一的系统中实现;如果有多个捕获器被使用,那么重要端口选择器模块应分为高、低级两层次。最后,流量关系图模块对数据进行分析,并生成流量关系图。
5 总结
本文说明了P2P网络流量的特点和现有的分析机制不适于当前网络流量分析的原因,并提出了算法思想,其与过去相比复杂而精确。利用该算法设计了一个分析系统,使用该系统可以分析大量的未知的无法用传统分析方法进行监控的数据流量。另外,该算法还可以进一步改进,特别是数据流量关系中的算法。该算法还可以应用于其他网络类型中数据流量的监控与分析,比如网络游戏和网络流媒体等数据处理业务中。
参考文献:
[1]刘芳,网络流量监测与控制,北京邮电大学出版社,2009年9月.
Network Traffic Monitoring in Network Management
Wang Lei
(Hunan Women’s University,Changsha410004,China)
Abstract:This article study from the network traffic characteristics,internet traffic measurement,etc,so as to optimize some suggestions for traffic monitoring technologies.
Keywords:Network management;Network traffic;Monitoring
一、网络流量的特征
(一)数据流是双向的,但通常是非对称的
互联网上大部分的应用都是双向交换数据的,因此网络的流是双向的。但是两个方向上的数据率有很大的差异,这是因为从网站下载时会导致从网站到客户端方向的数据量比另外一个方向多。
(二)大部分TCP会话是短期的
超过90%的TCP会话交换的数据量小于10K字节,会话持续时间不超过几秒。虽然文件传输和远程登陆这些TCP对话都不是短期的,但是由于80%的WWW文档传输都小于10K字节,WWW的巨大增长使其在这方面产生了决定性的影响。
(三)包的到达过程不是泊松过程
大部分传统的排队理论和通信网络设计都假设包的到达过程是泊松过程,即包到达的间断时间的分布是独立的指数分布。简单的说,泊松到达过程就是事件(例如地震,交通事故,电话等)按照一定的概率独立的发生。泊松模型因为指数分布的无记忆性也就是事件之间的非相关性而使其在应用上要比其他模型更加简单。然而近年来对互联网络通信量的测量显示包到达的过程不是泊松过程。包到达的间断时间不仅不服从指数分布,而且不是独立分布的。大部分时候是多个包连续到达,即包的到达是有突发性的。很明显,泊松过程不足以精确地描述包的到达过程。造成这种非泊松结构的部分原因是数据传输所使用的协议。非泊松过程的现象迫使人们怀疑使用简单的泊松模型研究网络的可靠性,从而促进了网络通信量模型的研究。
(四)网络通信量具有局域性
互联网流量的局域性包括时间局域性和空间局域性。用户在应用层对互联网的访问反映在包的时间和源及目的地址上,从而显示出基于时间的相关(时间局域性)和基于空间的相关(空间局域性)。
二、网络流量的测量
网络流量的测量是人们研究互联网络的一个工具,通过采集和分析互联网的数据流,我们可以设计出更加符合实际的网络设备和更加合理的网络协议。计算机网络不是永远不会出错的,设备的一小点故障都有可能使整个网络瘫痪,或者使网络性能明显下降。例如广播风暴、非法包长、错误地址、安全攻击等。对互联网流量的测量可以为网络管理者提供详细的信息以帮助发现和解决问题。互联网流量的测量从不同的方面可以分为:
(一)基于硬件的测量和基于软件的测量
基于硬件的测量通常指使用为采集和分析网络数据而特别设计的专用硬件设备进行网络流的测量,这些设备一般都比较昂贵,而且受网络接口数量,网络插件的类型,存储能力和协议分析能力等诸多因素的限制。基于软件的测量通常依靠修改工作站的内核中的网络接口部分,使其具备捕获网络数据包的功能。与基于硬件的方法比较,其费用比较低廉,但是性能比不上专用的网络流量分析器。
(二)主动测量和被动测量
被动测量只是记录网络的数据流,不向网络流中注入任何数据。大部分网络流量测量都是被动的测量。主动测量使用由测量设备产生的数据流来探测网络而获知网络的信息。例如使用ping来估计到某个目的地址的网络延时。
(三)在线分析和离线分析
有的网络流量分析器支持实时地收集和分析网络数据,使用可视化手段在线地显示流量数据和分析结果,大部分基于硬件的网络分析器都具有这个能力。离线分析只是在线地收集网络数据,把数据存储下来,并不对数据进行实时的分析。
(四)协议级分类
对于不同的协议,例如以太网(Ethernet),帧中继(Frame Relay),异步传输模式(Asynchronous Transfer Mode),需要使用不同的网络插件来收集网络数据,因此也就有了不同的通信量测试方法。
三、网络流量的监测技术
根据对网络流量的采集方式可将网络流量监测技术分为:基于网络流量全镜像的监测技术、基于SNMP的监测技术和基于Netflow的监测技术三种常用技术。
(一)基于网络流量全镜像的监测技术
网络流量全镜像采集是目前IDS主要采用的网络流量采集模式。其原理是通过交换机等网络设备的端口镜像或者通过分光器、网络探针等附加设备,实现网络流量的无损复制和镜像采集。和其它两种流量采集方式相比,流量镜像采集的最大特点是能够提供丰富的应用层信息。
(二)基于Netflow的流量监测技术
Netflow流量信息采集是基于网络设备提供的Netflow机制实现的网络流量信息采集。
论文摘要:针对网络中的各种应用服务的识别检测,采用应用层协议签名的流量识别技术和流量分组技术,实现网络应用流的分析和风险评估系统——RAS,提出基于流量分组技术的应用流风险评估模型。该系统为网络资源分配和网络安全的预测提供有价值的依据。实验结果表明,TARAS系统具有良好的流量分析效率和风险评估准确性。
1概述
基于互联网的新技术、新应用模式及需求,为网络的管理带来了挑战:(1)关键应用得不到保障,OA, ERP等关键业务与BT,QQ等争夺有限的广域网资源;(2)网络中存在大量不安全因素,据CNCERT/CC获得的数据表明,2006年上半年约有14万台中国大陆主机感染过Beagle和Slammer蠕虫;(3)传统流量分析方法已无法有效地应对新的网络技术、动态端口和多会话等应用,使得传统的基于端口的流量监控方法失去了作用。
如何有效地掌握网络运行状态、合理分配网络资源,成为网络管理者们的当务之急。针对以上需求,作者设计并实现了一套网络应用流分析与风险评估系统(Traffic Analysis and Risk Assessment System, TARAS)。
当前,网络流量异常监测主要基于TCP/IP协议。文献[5]提出使用基于协议签名的方法识别应用层协议。本系统采用了应用层协议签名的流量分析技术,这是目前应用流分析最新技术。然而,简单的流量分析并不能确定网络运行状态是否安全。因此,在流量分析的基础上,本文提出了应用流风险评估模型。该模型使用流量分组技术从定量和定性两方面对应用流进行风险评估,使网络运行状态安全与杏这个不确定性问题得到定性评估,这是当前网络管理领域需要的。
2流量分析模型
目前应用流识别技术有很多,本文提出的流量识别方法是对Subhabrata Sen提出的应用协议特征方法的改进。针对种类繁多的应用层协议采用了两级匹配结构,提高效率。
应用识别模块在Linux环境下使用Libpcap开发库,通过旁路监听的方式实现。在设计的时候考虑到数据报文处理的效率,采用了类似于Linux下的NetFilter框架的设计方法,结构见图1。
采取上述流量识别框架的优点:(1)在对TCP报文头的查找中使用了哈希散列算法,提高了效率;(2)借鉴状态防火墙的技术,使用面向流(flow)的识别技术,对每个TCP连接的只分析识别前10个报文,对于该连接后续的数据报文则直接查找哈希表进行分类,这样避免了分析每个报文带来的效率瓶颈;(3)模式匹配模块的设计使得可扩展性较好。
在匹配模块设计过程中,笔者发现如果所有的协议都按照基于协议特征的方式匹配,那么随着协议数量的增大,效率又会成为一个需要解决的问题。
因此,在设计应用流识别模块时,笔者首先考虑到传输层端口与网络应用流之间的联系,虽然两者之间没有绝对固定的对应关系,但是它们之间存在着制约,比如:QQ协议的服务器端口基本不会出现在80, 8000, 4000以外的端口;HTTP协议基本不会出现在80, 443, 8080以外的端口等,因此,本文在流量分析过程中首先将一部分固定端口的协议使用端口散列判断进行预分类,提高匹配效率。
对于端口不固定的应用流识别,采用两级的结构。将最近经常检测到的业务流量放在常用流量识别子模块里面,这样可以提高查找的速度。另外,不同的网络环境所常用的网络应用流也不同,因此,也没有必要在协议特征库中大范围查找。两级查询匹配保证了模型对网络环境的自适应性,它能够随着网络环境的改变以及网络应用的变化而改变自己的查询策略,但不降低匹配效率。应用流识别子模块的设计具体结构见图2。
3风险评估模型
本文采用基于流量分组技术的风险评估方法。流量分组的目的是为流量的安全评估提供数据。
3.1应用流的分组
网络应用种类多、变化频度高,这给应用流的评估带来了麻烦,如果要综合考虑每一种应用流对网络带来的影响,显然工作量是难以完成的。因此,本文引入应用流分组的概念。应用流分组的目的是从网络环境和安全角度的考虑,将识别后的流量进行归类分组。笔者在长期实验过程中,根据应用的重要性、对网络的占用率、对网络的威胁性等因素得到一个较为合理的分组规则,即将网络流量分为:关键业务,传统流量,P2P及流媒体,攻击流,其他5类。应用流分组确定了流量评估的维度,这样有利于提高评估的效率。表1列举了部分应用流的分组。
应用流分组模块有2个功能。首先是将检测到的各种应用流量按照表1中的分组归类,并计算各分组应用流量的大小、连接数目、通信主机数目3个方面的信息,并以一定的时间周期向流量安全评估模块传送数据。另外一个是在安全事件出现时,向安全响应模块提供异常应用流名称和其他相关信息。应用流分组模块的输入是各应用流的流量大小,而输出有2个:
(1)整个网络的流量分布矩阵。
(2)异常主机流量分组中的成份。
笔者引入流量矩阵的概念。流量矩阵A的数学定义为
其中,aij表示第i台主机的第j组流量的大小,aij的单位为实际流量的单位大小。流量矩阵反映了网络中信息流动的整体情况。
由于TCP/IP协议的广泛应用,网络流量中的绝大部分使用基于TCP的传输层协议,因此传输层的网络连接数也在一定程度上反映了网络流量的情况。定义网络连接数矩阵为
其中,Lij表示第i台主机第J组应用流的网络连接数。
在网络通信过程中,每个流量分组的通信主机数量具有参考价值,在此引入通信主机数量矩阵,数学描述为
其中,hij为表示某一分组流量的通信主机数目。
另外,流量分组模块在接收到安全响应模块的请求时,会向其发送该异常网络节点的应用流类别信息。
信息内容为:主机IP地址,主机应用流分组名,应用流名称列表。
3.2应用流的风险评估
网络流量的特征是网络安全性的重要表现。本节主要描述网络用户流量的安全评估过程和机制。流量的安全评估实际上是网络风险评估过程的一部分。风险评估的方法有定量评估、定性评估和定性与定量结合的评估方法。在此本文借鉴风险评估定性与定量结合的方法设计流量的安全评估子模型。
本节首先确定该模型的评估的对象、指标和目标,评估的具体方法如下:
(1)流量安全评估的对象是每个网络节点的应用流分组。
(2)评估对象的定量指标分别是网络流量大小、网络连接数和网络通信主机数。
(3)评价的目标是确定各应用流的安全性。
(4)评估方法是以先定量后定性的方法为原则,具体方法如下:
1)制定各分组流量的安全评估规则,为量化评估提供依据。
2)参照安全评估规则,根据3个量化指标评价网络用户流量的安全性,并得到安全评分。
3)根据安全性评价集,将量化后的安全评分指标定性化。另外,对于攻击流进行特别评估,并且当出现攻击流时,攻击流安全等级代表主机安全等级。
安全评估子模型的结构如图3所示。
3.2.1各分组流量的安全定量评价
对于不同分组的通信行为和流量特点,本模块采用分指标量化评估的方法进行安全评估。表2中各指标的安全性划分是根据实验得出的结论。
对于各流量安全评估节点,A各节点应用分组流量的集合;L为网络连接的集合;H是各节点通信主机数集合;Sij是各节点量化评估的结果集合。定义安全评估函数F(A,L,H)=Sij(1≤ i ≤ n, 1≤ j ≤ 5),用于表示目标节点流量安全评估的量化结果,从而实现对目标安全状况的定量分析。
将该评价方法设为F则该过程可用数学描述如下:
其中,Sij为各网络节点中应用流分组的安全评分。
3.2.2流量安全定性评价
量化后的安全评分对与安全程度的描述仍然有很大的不确定性,因此,需要将安全评分定性化以确定其所在的安全级别。每个安全级别确定安全分数以及对于攻击流的安全等级划分如表3—表5所示。
以上5个安全等级对于流量的安全性的区分如下:
(1)安全状态表明该分组流量属于正常情况;
(2)可疑状态表明该分组流量中有可疑成分或流量大小超过正常情况;
(3)威胁状态表明该类流量威胁到网络的正常运行和使用;
(4)危险状态主要指该分组流量危害网络的正常运行;
(5)高危状态表明该类分组的流量成分已严重危害网络正常运行。
量化安全评分经过定性划分后可以得到一个定性的流量安全评估矩阵Th,将该过程用运算h表示为
其中,Tij为第i台主机第j组应用流的安全等级。
4实验结果
4.1应用流的识别率
由于TARAS系统能够识别多种应用流量,因此识别算法的准确性是一个重要的指标。网络环境重的各种因素以及网络应用协议特征不断变化等原因,TARAS系统对应用流的识别存在漏报和误报的间题。应用流的识别率见表6。由表6的统计数据可以看到,TARAS对各种协议的识别存在漏报和误报的情况。具体来看,eMule应用由于大量使用UDP传输数据,因此识别率不高。另外,http协议通常使用传输层80端口,但这个端口也被QQ和MSN 2个聊天软件使用,除此之外一些木马后门程序为了防止防火墙的封杀也往往使用该端口,因此,在识别过程中http协议会产生误报,即将非http协议数据也当作http协议计算。
4.2应用流的风险评估
为了测试TARAS系统风险评估的准确性,笔者在拥有8台主机的局域网中做相关测试,并以其中3台(主机17、主机77和主机177)进行实验。局域网内8台主机各应用分组流量状况如表7所示。关键业务和其他应用的分组流量为0。
主机17使用传统应用FTP执行下载任务,其他流量分组中无或只有极少流量,从表7可以看出,该主机的传统应用分组流量达到2 Mb/s,此时传统应用流量分组应该达到威胁级别,而其他分组应该都是安全级别,主机的总体评价为安全。主机77不断受到Nimda蠕虫病毒的攻击,从表7可以发现,该主机高危分组的流量为2 048 kb/s,此时该分组应该达到高危级别,而其他分组由于流量为0因此为安全,主机的总体评价为高危。主机177使用BT进行下载,并使其流量达到1 536 kb/s,根据风险评估策略,该主机的P2P及流媒体分组应该达到威胁级别,其他分组应该都是安全级别,主机的总体评价为安全。表8为TETRAS系统对表7所示流量状况进行评估所得的风险评估结果。
对比表7和表8可以发现,TARAS系统能够正确地对网络中各主机流量状况进行风险评估。同时该实验结果也证实:虽然TARAS系统对于应用流的识别存在一定误差,但是该误差没有严重影响网络运行状况和风险级别安全,误差在可接受范围内。
5结束语
一、电力通信业务流量特征
电力通信网络在我国电网系统中占据重要位置,其在电力生产、运行和管理等各方面的业务中发挥重要支撑作用,大量的电力信息需要电力通信网络来完成收集、传输与存储。随着我国电力系统建设的不断深入,以及电力业务的不断扩大,网络流量呈几何级数增长,业务类型也日趋复杂,这给电力通信网络的安全、可靠、实时运行提出了更大的挑战。在这种背景下,建立有效的流量分析和预测方法,可以为网络规划、协议设计、路由精确控制提供决策依据,对电力通信网络性能的分析和优化具有积极的意义。
通常来说,智能电网中的电力通信网络可划分为三类子网,即电力通信综合业务数据网、电力通信调度数据网、变电站站内通信网。对各类子网的承载业务进行分析可知,当前我国电力通信网络业务可归纳为三种类型,即视频类业务、数据类业务、语音类业务。电力通信网络的流量具有重要的特征,比如自相似性和长相关性、多重分形性、周期性等。此外,基于我国电力通信系统的基本情况,对视频业务、语音业务和数据业务的速率、丢包率、抖动幅度、时延、频率飘移要求等方面进行相关的规定。
二、I务流量分析和预测
电力系统的日趋庞大使得电力通信网络流量呈现几何级增长的趋势,而且业务类型也日趋复杂,以网络为载体传输的电力信息的传输形式也更加多样化,这给电力通信网络的安全、可靠、实时运行提出了新的的要求。在对当前电力通信网络情况下,对网络流量进行分析和预测是电力通信研究的关键核心问题,对电力通信网络、电力网络的安全可靠运行具有积极的意义。对于电力通信网络的相关研究而言,常用的网络流量模型有:ARIMA模型、重尾分布的ON/OFF模型、马尔可夫/半马尔可夫模型、泊松模型、离散小波模型等。但结合当前我国电力通信系统的实际要求对各种模型进行分析可知,传统的泊松模型、马儿可夫模型只具有短相关性,难以描述流量的突发性和自相似特性,而ARIMA模型则相对较为高效。
三、基于ARIMA的建模分析
3.1 ARIMA建模分析
3.2残差检验和预测
在建立电力通信业务流量分析与预测模型之后,还需要结合电力通信系统的实际情况对其适应性进行检验。模型的适应性是指模型已经完全或基本上反应了系统的动态性,从而模型中的残差εt是白噪声序列,即完成了εt的独立性检验。目前残差检验法主要有两种,即判断残差的自相关和偏自相关函数图、Ljung-Box检验法。计算LB(Ljung-Box)统计量为:
经过残差检验的ARIMA模型就可以用来对电力通信网络业务流量进行预测,从优化网络性能,提高网络服务质量。
3.3基于ARIMA模型的电力通信业务流量分析与预测
在电力通信网络系统中,传输的信息类型主要包括视频、语音与数据类,其中语音类业务在逐步萎缩,其数据量较小,而数据业务与视频业务的数据量大,传输质量要求高,因此需对视频类与数据类业务流量进行建模分析。
对于生产数据承载业务流量而言,主要包含运行信息类业务与运行控制类业务,对这类业务数据的采集需要24小时时段数据,在采集到相关数据之后,利用自相关函数和偏自相关函数图分析可知其不是稳定的序列,那么需要对其进行周期性和趋势性设计,进而得到平稳的时间序列。获得平稳的时间序列之后建立模型,需确定p、d、q、P、D、Q参数,并利用SPSS软件建立ARIMA(p,d,q)(P,D,Q)模型,之后进行残差检验和预测,最终得到符合要求的模型。对于视频类业务流量的建模分析流程与数据类业务流量建模流程相似,其具体流程为:数据承载业务分析数据采集与预处理模型参数确立建立模型残差检验和预测。
网络流量性能测量与分析涉及许多关键技术,如单向测量中的时钟同步问题,主动测量与被动测量的抽样算法研究,多种测量工具之间的协同工作,网络测量体系结构的搭建,性能指标的量化,性能指标的模型化分析,对网络未来状态进行趋势预测,对海量测量数据进行数据挖掘或者利用已有的模型(petri网、自相似性、排队论)研究其自相似特征,测量与分析结果的可视化,以及由测量所引起的安全性问题等等。
1.在IP网络中采用网络性能监测技术,可以实现
1.1 合理规划和优化网络性能
为更好的管理和改善网络的运行,网络管理者需要知道其网络的流量情况和尽量多的流量信息。通过对网络流量的监测、数据采集和分析,给出详细的链路和节点流量分析报告,获得流量分布和流向分布、报文特性和协议分布特性,为网络规划、路由策略、资源和容量升级提供依据。
1.2 基于流量的计费
现在lSP对网络用户提供服务绝大多数还是采用固定租费的形式,这对一般用户和ISP来说,都不是一个好的选择。采用这一形式的很大原因就是网络提供者不能够统计全部用户的准确流量情况。这就需要有方便的手段对用户的流量进行检测。通过对用户上网时长、上网流量、网络业务以及目的网站数据分析,摆脱目前单一的包月制,实现基于时间段、带宽、应用、服务质量等更加灵活的交费标准。
1.3 网络应用状况监测与分析
了解网络的应用状况,对研究者和网络提供者都很重要。通过网络应用监测,可以了解网络上各种协议的使用情况(如www,pop3,ftp,rtp等协议),以及网络应用的使用情况,研究者可以据此研究新的协议与应用,网络提供者也可以据此更好的规划网络。
1.4 实时监测网络状况
针对网络流量变化的突发性特性,通过实时监测网络状况,能实时获得网络的当前运行状况,减轻维护人员的工作负担。能在网络出现故障或拥塞时发出自动告警,在网络即将出现瓶颈前给出分析和预测。现在随着Internet网络不断扩大,网络中也经常会出现黑客攻击、病毒泛滥的情况。而这些网络突发事件从设备和网管的角度看却很难发现,经常让网络管理员感到棘手。因此,针对网络中突发性的异常流量分析将有助于网络管理员发现和解决问题。
1.5 网络用户行为监测与分析
这对于网络提供者来说非常重要,通过监测访问网络的用户的行为,可以了解到:
1)某一段时间有多少用户在访问我的网络。
2)访问我的网络最多的用户是哪些。
3)这些用户停留了多长时间。
4)他们来自什么地方。
5)他们到过我的网络的哪些部分。
通过这些信息,网络提供者可以更好的为用户提供服务,从而也获得更大的收益。
2.网络流量测量有5个要素:
测量时间、测量对象、测量目的、测量位置和测量方法。网络流量的测量实体,即性能指标主要包括以下几项。 2.1 连接性
连接性也称可用性、连通性或可达性,严格说应该是网络的基本能力或属性,不能称为性能,但ITU-T建议可以用一些方法进行定量的测量。
2.2 延迟
对于单向延迟测量要求时钟严格同步,这在实际的测量中很难做到,许多测量方案都采用往返延迟,以避开时钟同步问题。
2.3 丢包率
为了评估网络的丢包率,一般采用直接发送测量包来进行测量。目前评估网络丢包率的模型主要有贝努利模型、马尔可夫模型和隐马尔可夫模型等等。
2.4 带宽
带宽一股分为瓶颈带宽和可用带宽。瓶颈带宽是指当一条路径(通路)中没有其他背景流量时,网络能够提供的最大的吞吐量。
2.5 流量参数
ITU-T提出两种流量参数作为参考:一种是以一段时间间隔内在测量点上观测到的所有传输成功的IP包数量除以时间间隔,即包吞吐量;另一种是基于字节吞吐量:用传输成功的IP包中总字节数除以时间间隔。
3.测量方法
Internet流量数据有三种形式:被动数据(指定链路数据)、主动数据(端至端数据)和BGP路由数据,由此涉及两种测量方法:被动测量方法和主动测量方法然而,近几年来,主动测量技术被网络用户或网络研究人员用来分析指定网络路径的流量行为。
3.1 主动测量
主动测量的方法是指主动发送数据包去探测被测量的对象。以被测对象的响应作为性能评分的结果来分析。测量者一般采用模拟现实的流量(如Web Server的请求、FTP下载、DNS反应时间等)来测量一个应用的性能或者网络的性能。由于测量点一般都靠近终究端,所以这种方法能够代表从监测者的角度反映的性能。
3.2 被动测量
被动测量是在网络中的一点收集流量信息,如使用路由器或交换机收渠数据或者一个独立的设备被动地监测网络链路的流量。被动测量可以完全取消附加流量和Heisenberg效应,这些优点使人们更愿意使用被动测量技术。有些测度使用被动测量获得相当困难:如决定分缩手缩脚一所经过的路由。但被动测量的优点使得决定测量之前应该首先考虑被动测量。被动测量技术遇到的另一个重要问题是目前提出的要求确保隐私和安全问题。
3.3 网络流量抽样测量技术
选择部分报文,当采样时间间隔较大时,细微的网络行为变化就无法精确探测到。反之,抽样间隔过小时,又会占用过多的带宽及需要更大的存储能力。采样方法随采样策略的不同而不同,如系统采样或随机采样;也随触发采样事件的不同而不同。如由报文到达时间触发(基于时间采样),由报文在流中所处的位置触发(基于数目采样)或由报文的内容触发(基于内容采样)。为了在减少采样样本和获取更精确的流量数据之间达到平衡。
Analysis and research on Internet traffic flow based on Netflow technology
Fu Xiaowei
Heilongjiang nongken vocational college, Harbin, 150025, China
Abstract: Based on the Internet flow to be studied, from the study of Internet traffic data type proceed with, in Netflow on the basis of technology, the realization of the flow depth of data analysis, and to build the flow analysis system hardware environment, the realization of the flow, flow direction and flow components sources of statistics, analysis and inquiry, in order to realize network planning, optimize adjust, business development goals.
Key words: traffic flow; Netflow technology; data acquisition; database design; interface
随着宽带互联网应用的普及,互联网用户数量在不断增加,各个领域的应用也在逐步深入,网络规模持续扩展,网络流量高速增长。尤其是P2P技术产生以来,互联网网络流量激增,对网络的处理能力提出了更高的要求。同时,要合理、有效地疏导流量,必须对网络流量进行科学、细致的分析,通过流量分析可以有效地总结出网内、网外流量比例,各区域用户产生的流量大小,进而对用户使用习惯、各类应用带宽消耗情况等进行分析,从而可以对不同区域用户使用习惯、网内资源建设方向等进行有效的指导。不仅要依据数据的目的地址去疏导流量,还要明晰流量的来源和成分,区分流量类型,以精确地计算成本,合理分配IP地址数量和流量占用带宽,使流量管理更加规范。
Netflow技术最早由Cisco公司研发,首先被用于网络设备对数据交换进行加速,并可同步实现对高速转发的IP数据流进行测量和统计。经过多年的技术演进,Netflow对流经网络设备的IP数据流进行测量和统计的功能更加成熟,并成为当今互联网领域公认的最主要的IP/MPLS流量分析、统计和计费行业标准。Netflow技术能对IP/MPLS网络的通信流量进行详细的行为模式分析和计量,并提供网络运行的详细统计数据。
通过对某电信运营商的网络进行改造,引入互联网流量分析系统,以互联网流量数据为分析对象,实现以下功能:(1)精确判断流量归属地;(2)精确统计流量类型;(3)精确区分流量成分;(4)以天为单位,对某一天的流量及以天为周期单位的时间段产生的流量进行查询。
1 流量分析系统设计
由于Netflow仅能宏观地对网络流量进行分析和监控,无法满足精细化管理的要求。鉴于此,需要建立网络流量分析系统。
首先在省级主干路中引入流控设备,对全省网络流量进行控制。通过建立一台Linux服务器(CM server),在流控设备中将流量镜像至此服务器的数据库中,便可采集到全网的流量明细,进而通过存储过程将各种需要分析的数据进行聚合成表,便可对全网流量进行实时监控分析。
本系统包括4个功能模块,分别是数据采集模块、接口程序模块、数据库模块、页面呈现模块。
1.1 数据采集模块
要实现对流量源和目的地的分析,首先要进行流量采集并存储,采集的数据中要包含数据包的源地址、目的地址、数据包发送时间等信息。本系统采用Netflow V9版本进行数据采集,需要对Netflow协议、待采集的路由器端口和数据采集存储服务器等进行配置。
由于需要分析的路由器端口数据量很大,而且分析目的主要为各方向流量数据比例,综合考虑数据处理量和数据准确性之后,将采集周期定为5分钟,采样比例定为1000:1,此时每5分钟Netflow数据流约有30万~40万条,存储Netflow数据流的文件大小约20~30 MB。
在采集数据的端口选择方面,既要采集所有流量数据,保证数据的完整性;又要避免数据重复采集,以保证数据的准确性。按照上述条件,选择省级主干中路由器上行端口为流量采集端口,通过该端口既可以采集所有互联网用户访问Internet的流量数据,又不会发生流量数据重复采集情况。
为分析路由器端口的网络流量数据,必须将从路由器中送出的Netflow数据收集并存储,以便进一步的处理,所以需要配置Netflow采集存储服务器。具体配置为2.4 GHz四核CPU、2 G内存,使用Linux系统,并安装Cisco Netflow Collector(NFC)采集软件。
1.2 接口程序模块
经过采集,每5分钟会输出一个格式为XML的文件,文件数据分3部分:数据头、模板部分、数据部分。Netflow V9的数据格式可以自定义,根据分析需要,定义数据模板主要包括我们关心的13个字段,分别为:源地址、目的地址、源端口号、目的端口号、入接口、出接口、协议、服务类型、流数量、报文数、字节数、开始时间、结束时间。每个字段使用“|”分开。
选用C++程序语言进行数据的分析及入库。程序语言完成的主要功能为按照字段定义进行数据分列,并按要求建立数据表,然后将分析后的数据导入数据库中。原始数据每天自动生成一个文件夹,文件夹中每5分钟生成一个数据文件,为了达到自动读取数据的功能,采用“日期+时间”循环来自动读取数据文件。
读取数据文件对每行按照不同字段分列。由于每个数据文件的数据头部分完全相同,而且不包含所要分析的数据信息,所以可以把数据头部分跳过,然后根据每行数据的“|”将每个字段的数据进行分列。再根据各字段数据分析的需要,转换成相应的数据类型,并与数据库连接写入数据库中。
1.3 数据库模块
作为基于Netflow流量的分析系统,数据库成为系统的基础及核心,一切功能模块及数据采集均需建立在数据库中,从性能、成本、易用性、可靠性等方面综合考虑,选用MySQL作为本系统的数据库。
首先是基本表的设计。在程序操作数据表时,读写的性能受数据表字段所占字节数的影响,数据表字段所占字节数越大,则需要更长的读写操作时间,字段所占字节数越小,则其读写操作的性能将会有所提高。因此,设计数据库字段的属性对整个系统的性能至关重要。在分析程序对数据按照规则条件进行匹配后,将更新数据表中IP地址等相应的归属信息,但在数据的进一步汇总中,如果汇总程序按照IP地址归属信息进行数据分组汇总,则需要读取归属信息的全部字节数,这对于系统整体汇总而言,其运行效率仍会受到影响。本着读取最少字节数以提升系统工作效率的原则,需要将归属信息代码化,汇总程序仅需要根据归属信息代码作为分组条件即可。
根据Netflow的原始数据量,如果对其进行一一匹配对应,则无法在5分钟内完成相应的数据归属、流量分析等操作。为了提高数据库效率,最直接的方法就是先进行关键字段的聚合,然后进行相应的递归聚合,最后将分析数据进行匹配分析,这样可以有效地减少原始数据的运算量,尤其在磁盘I/O有限的条件下,性能提升更明显。
在数据递归聚合后,虽然数据量已经有了极大的压缩,但数据库运算仍然十分缓慢,因此在各级数据表中,对需进行运算的字段进行索引配置。索引是用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。由索引带来的效率提升则是非常明显的,如同看书时按照目录查询章节一样迅速。在本系统中,由于要从目的IP地址中分析出该IP的分公司归属,这对于运营商庞大的不连续的IP地址段数据表来说,其哈希运算将会带来极大的系统符合,其运算效率也将随着两张数据表记录的增长而成倍的增长。通过对比测试,在没有配置索引的情况下,其数据运算的时间大约为20分钟,而索引可以将此工作缩短至1分半钟左右,这恰好可以完成数据在5分钟内的运算操作。
1.4 页面呈现模块
在对数据进行分析处理后,利用Eclipse+JSP+Tomcat平台,将结果以网页形式展现出来,并实现多种查询功能(如图1所示)。
图1 系统结构图
2 结束语
在研究互联网技术和相关协议的基础上,通过对互联网流量数据的分析处理,运用C++,MySQL,Eclipse,JSP和Tomcat+Java等工具,实现了互联网流量分析系统的设计,解决了互联网流量分析管理过于宏观的问题。
在互联网规模不断扩展和应用领域不断增加的趋势下,互联网流量的迅猛增长,使得流量成分越来越复杂,而过于宏观的流量分析技术已经不能满足电信运营上的管理要求,只有通过可靠、有效的网络业务流量监测,并对互联网络以及网络所承载的流量进行细致的统计,准确及时的流量流向分析,才能挖掘出网络资源潜力,以达到控制网络互联成本,为企业的网络规划、优化调整和业务发展提供有力的依据。
参考文献
[1] 滑海,张建标.基于NetFlow的网络流量采集系统设计[J].微处理机,2010,2:41-59.
[2] 王哲.基于NetFlow的网络流量监测技术与应用[J].软件导刊,2009,5:139-140.
[3] 田杨,王宏.采用Netflow数据的典型异常流量检测方法[J].电子科技大学学报,2009,S1:57-60,74.
网络流量性能测量与分析涉及许多关键技术,如单向测量中的时钟同步问题,主动测量与被动测量的抽样算法研究,多种测量工具之间的协同工作,网络测量体系结构的搭建,性能指标的量化,性能指标的模型化分析,对网络未来状态进行趋势预测,对海量测量数据进行数据挖掘或者利用已有的模型(petri网、自相似性、排队论)研究其自相似特征,测量与分析结果的可视化,以及由测量所引起的安全性问题等等。
1.在IP网络中采用网络性能监测技术,可以实现
1.1 合理规划和优化网络性能
为更好的管理和改善网络的运行,网络管理者需要知道其网络的流量情况和尽量多的流量信息。通过对网络流量的监测、数据采集和分析,给出详细的链路和节点流量分析报告,获得流量分布和流向分布、报文特性和协议分布特性,为网络规划、路由策略、资源和容量升级提供依据。
1.2 基于流量的计费
现在lSP对网络用户提供服务绝大多数还是采用固定租费的形式,这对一般用户和ISP来说,都不是一个好的选择。采用这一形式的很大原因就是网络提供者不能够统计全部用户的准确流量情况。这就需要有方便的手段对用户的流量进行检测。通过对用户上网时长、上网流量、网络业务以及目的网站数据分析,摆脱目前单一的包月制,实现基于时间段、带宽、应用、服务质量等更加灵活的交费标准。
1.3 网络应用状况监测与分析
了解网络的应用状况,对研究者和网络提供者都很重要。通过网络应用监测,可以了解网络上各种协议的使用情况(如www,pop3,ftp,rtp等协议),以及网络应用的使用情况,研究者可以据此研究新的协议与应用,网络提供者也可以据此更好的规划网络。
1.4 实时监测网络状况
针对网络流量变化的突发性特性,通过实时监测网络状况,能实时获得网络的当前运行状况,减轻维护人员的工作负担。能在网络出现故障或拥塞时发出自动告警,在网络即将出现瓶颈前给出分析和预测。现在随着Internet网络不断扩大,网络中也经常会出现黑客攻击、病毒泛滥的情况。而这些网络突发事件从设备和网管的角度看却很难发现,经常让网络管理员感到棘手。因此,针对网络中突发性的异常流量分析将有助于网络管理员发现和解决问题。
1.5 网络用户行为监测与分析
这对于网络提供者来说非常重要,通过监测访问网络的用户的行为,可以了解到:
1)某一段时间有多少用户在访问我的网络。
2)访问我的网络最多的用户是哪些。
3)这些用户停留了多长时间。
4)他们来自什么地方。
5)他们到过我的网络的哪些部分。
通过这些信息,网络提供者可以更好的为用户提供服务,从而也获得更大的收益。
2.网络流量测量有5个要素:
测量时间、测量对象、测量目的、测量位置和测量方法。网络流量的测量实体,即性能指标主要包括以下几项。
2.1 连接性
连接性也称可用性、连通性或可达性,严格说应该是网络的基本能力或属性,不能称为性能,但ITU-T建议可以用一些方法进行定量的测量。
2.2 延迟
对于单向延迟测量要求时钟严格同步,这在实际的测量中很难做到,许多测量方案都采用往返延迟,以避开时钟同步问题。
2.3 丢包率
为了评估网络的丢包率,一般采用直接发送测量包来进行测量。目前评估网络丢包率的模型主要有贝努利模型、马尔可夫模型和隐马尔可夫模型等等。
2.4 带宽
带宽一股分为瓶颈带宽和可用带宽。瓶颈带宽是指当一条路径(通路)中没有其他背景流量时,网络能够提供的最大的吞吐量。
2.5 流量参数
ITU-T提出两种流量参数作为参考:一种是以一段时间间隔内在测量点上观测到的所有传输成功的IP包数量除以时间间隔,即包吞吐量;另一种是基于字节吞吐量:用传输成功的IP包中总字节数除以时间间隔。
3.测量方法
Internet流量数据有三种形式:被动数据(指定链路数据)、主动数据(端至端数据)和BGP路由数据,由此涉及两种测量方法:被动测量方法和主动测量方法然而,近几年来,主动测量技术被网络用户或网络研究人员用来分析指定网络路径的流量行为。
3.1 主动测量
主动测量的方法是指主动发送数据包去探测被测量的对象。以被测对象的响应作为性能评分的结果来分析。测量者一般采用模拟现实的流量(如Web Server的请求、FTP下载、DNS反应时间等)来测量一个应用的性能或者网络的性能。由于测量点一般都靠近终究端,所以这种方法能够代表从监测者的角度反映的性能。
3.2 被动测量
被动测量是在网络中的一点收集流量信息,如使用路由器或交换机收渠数据或者一个独立的设备被动地监测网络链路的流量。被动测量可以完全取消附加流量和Heisenberg效应,这些优点使人们更愿意使用被动测量技术。有些测度使用被动测量获得相当困难:如决定分缩手缩脚一所经过的路由。但被动测量的优点使得决定测量之前应该首先考虑被动测量。被动测量技术遇到的另一个重要问题是目前提出的要求确保隐私和安全问题。
3.3 网络流量抽样测量技术
中图分类号: TN711?34 文献标识码: A 文章编号: 1004?373X(2016)23?0098?02
Research on network traffic prediction based on wavelet neural network
LI Xin, SUN Shanshan
(College of Information Engineering, Suihua University, Suihua 152000, China)
Abstract: The relevant theory and method of wavelet neural network are used to establish and predict the network traffic situation of a certain uptown. The acquired network traffic change situation is used as the training sample of the wavelet network to realize the traffic prediction of the network. The simulation results show that the constructed wavelet neural network model has high precision to predict the network traffic.
Keywords: wavelet neural network; network traffic; prediction research; training sample
0 引 言
随着互联网规模的不断增大以及各种网络“新应用”、“新服务”的不断涌现,网络信息变得越来越庞大和多变,对网络访问流量进行精确地预测从而实现对网络运行状态的有效管理,已经逐步成为目前的一个研究热点。网络流量预测是实现网络控制、网络规划,保证网络安全以及提高网络服务质量的重要前提。
网络流量具有自相似性、长相关性和多重分形性等复杂性质,对其进行精确地预测一直以来都是一个难点。目前,常见的网络流量预测方法主要有自回归分析法、马尔科夫分析法、分形布朗运动分析法和神经网络分析法。与前面三种传统方法相比,利用神经网络对网络流量进行预测具有预测精度高、方法简单、泛化性强和稳定性好的特点,正在逐步成为网络流量预测研究中的主流方法。
文献[1]根据网络流量的变化特征,基于BP神经网络提出了一个P2P网络流量预测模型,实现了网络流量的较高精度预测。文献[2]结合小波变换和人工神经网络的优势,建立一种网络流量预测的小波神经网络模型,通过将流量时间序列进行小波分解,获得了网络的训练和验证样本,试验表明采用这种方法进行流量预测,要比直接采用神经网络对样本进行预测的精度高。文献[3]根据网络流量自身的特征,研究了BP神经网络和小波神经网络在校园流量预测中的应用,其所建立的模型,经仿真验证证明,可以较好地预测学校网络的流量变化情况,可以为校园网络的规划和管理提供一定参考。
小波神经网络是一种以BP神经网络拓扑结构为基础,把小波基函数作为隐含节点的传递函数,其拓扑结构如图1所示。它类似于BP神经网络权值修正算法,采用梯度修正法修正网络的权值和小波基函数参数,从而使小波神经网络预测输出不断逼近期望输出[4?5]。
采用小波神经网络进行网络流量预测的基本流程如图2所示。
1 网络流量预测
1.1 试验数据来源
采用网络流量监测软件对某小区的网络流量进行实时采集,得到了该小区5天内的网络流量数据,每隔15 min记录一次该时间段内的网络流量值,一共获得了480个时间点的数据。用4天共384个网络流量的数据训练小波网络,最后用训练好的小波神经网络预测第5天的网络流量。为了避免局部数值偏移造成的误差,本文采用编组的方式提高模型预测精度,用前三个时间点的网络流量来综合预测后一个时间点的网络流量情况[6?7]。
图1 小波神经网络的拓扑结构
图2 小波神经网络进行预测的流程图
1.2 构建小波神经网络模型
本文采用的小波基函数为Mexican Hat小波基函数,其表达式为:
[ψ(t)=(1-t2)e-t22ψ(ω)=2πω2e-ω22]
函数的时域和频域波形图如图3所示[7?8]。
图3 Mexican Hat函数的时域和频域特征
本文采用的小波神经网络结构为3?5?1;输入层有3个节点,表示预测时间节点前3个时间节点的网络流量;隐含层有5个节点;输入层有1个节点,为预测的网络流量。设置网络预期误差值为[1×10-2,]将训练数据输入到Matlab软件中进行训练,训练过程中小波神经网络的误差变换情况如图4所示。由图4可知,该小波神经网络经过58步运算后收敛到预定精度要求。
用训练好的小波神经网络对该小区内第五天的网络流量情况进行预测,预测结果与交通流量的实际值比较如图5所示。在图5中,加“*”曲线对应预测数据,加“[]”曲线对应实际数据,可以看到小波神经网络可以较好地预测网络流量。
为了进一步分析仿真结果,采用绝对值误差均值(MAE)和绝对百分比误差均值(MAPE)两个指标进行评价分析,其中MAE和MAPE分别用下式计算[9]:
[MAE=1ni=1nxi-xiMAPE=1ni=1nxi-xixi×100%]
式中:[xi]表示模型的预测值;[xi]表示模型预测值的算术平均值;[n]为样本数。
小波神经网络的MAE和MAPE值如表1所示。
从表1可以看出,本文构建的小波神经网络的MAE值在3.36 GB左右,而MAPE值小于0.1,说明该预测模型可以较好地预测网络流量的变化情况,反应该小区的流量信息变化,为小区网络的规划和管理提供可靠的依据。
2 结 论
本文在网络流量的预测研究中引入了小波神经网络模型,利用收集到的某小区5天内的网络流量变化数据作为训练和测试样本对构建的小波神经网络进行训练和测试研究。试验结果表明,本文构建的小波神经网络具有较高的预测精度,可以对该小区网络的流量变化情况进行较高精度的预测。
参考文献
[1] 韩志杰,王汝传.一种新的 P2P 网络流量预测模型[J].计算机科学,2008(9):39?14.
[2] 雷霆,余镇危.一种网络流量预测的小波神经网络模型[J].计算机应用,2006(3):526?528.
[3] 张昕.校园网络流量分析与预测研究[D].西安:西安电子科技大学,2012.
[4] 王鸣,孙奕鸣.小波支持向量机的网络流量预测研究[J].计算机仿真,2012,29(11):198?201.
[5] ZHANG Li, ZHOU Weida, JIAO Licheng. Wavelet support vector machine [J]. IEEE transactions on systems, man, and cybernetics, 2004, 34(1): 34?39.
[6] 邓远.BP神经网络评价方法在交通流量评价方面的应用[J].中国交通,2011,35(5):146?151.