前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的网络流量监测主题范文,仅供参考,欢迎阅读并收藏。
关键词:WinpCap;流量监测;数据包捕获
中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)31-0000-0c
Application of WinPcap in the Network Traffic Monitoring
ZHANG Xue-jun,XU Yuan
(Internet of Things Department of Jiangnan University, Wuxi 214122, China)
Abstract: Introduction of computer network traffic monitoring technology and flow monitoring methods, the main study the WinPcap packet capture system structure and its main function, based on the WinPcap packet capture system with simple structure, fast data capture, protocol recognition rate, etc., which of the three modules complement each other to achieve the basic functions of data acquisition network, describes the network based on WinPcap packet capture and analysis methods and the main steps.
Key words: WinpCap; network traffic monitoring system; packet capture
目前互联网已经非常普及,有关网络的应用也越来越多,从浏览网页和收发邮件,到打游戏,聊天,看电影,听音乐,打电话包罗万象。电视网和电话网能够做的事情,现在宽带网也能够做到了,同时宽带网还能够做电视网,电话网以外的许多事情。而这一切,都是靠信息在网络上的流动来实现的。汽车在马路上跑,常常会引起交通堵塞以及不遵守交通规则等现象,因此需要交通部门来实时监测道路情况和处理突发事件。同样网络流量也需要监测和控制,通过监控可以对网络状态进行合理调节或配置、保证网络高效运行、提高网络资源的利用效率、也可以用于对网络用户行为和网络业务的分析。网络流量监测是网络管理的重要组成部分,而数据报捕获又是网络流量监测的前提。
1 流量监测与分析技术概述
1.1 网络流量监测
网络流量指通过网络的数据量,是衡量网络性能的重要参数。网络监测就是通过一定的方法获取网络流量数据,而这些流量数据的采集是进一步分析网络负载性能以及网络的安全性的前提。网络流量的监测是网络测量中的重要技术之一,网络流量监测系统大致上可以分为流量采集、流量分析和流量控制三个方面。
1.2 流量监测分析的方法及分类
流量监测系统通常是根据对网络流量某个特定方面的分析来设计的,正是由于需要分析的内容不同,就产生了各种网络流量监测方法,这些方法主要分为基于主机内嵌软件的方法、基于SNMP的流量监测方法、基于Netflow的流量监测方法、基于硬件探针的监测方法等。
1.2.1 基于主机内嵌软件的方法
主机内嵌软件的方法是指在主机内安装流量检测软件来完成流量检测任务。主机操作系统中,一般会把网络通信功能功能实现在相对独立的软件模块 ,例如设备驱动程序中。主机与网络的通信一般是通过对调用软件套接字Socket来实现。因此在这个位置上嵌入一个软件就可以通过检测对通信模块的调用来截获往返通信的主要内容,目前有许多软件实现这一功能。Windows 操作系统下的检测软件WinPcap,实现了基本的报文截获功能,可自由下载使用,成为了许多流量监测软件的基本组成部分。
1.2.2 基于SNMP的流量监测方法
SNMP用于对网络设备的管理,几乎所有的网络设备都具备该能力,基于SNMP的流量信息采集方法,实质上是用软件提取存储在网络设备上的流量信息,该方法配置简单,成本较低,基于SNMP收集的网络流量信息只包括字节数、报文数等基本的流量信息,不能满足复杂的流量监测要求。
1.2.3 基于Netflow的流量监测方法
Netflow是Cisco公司提出的专业的流量监测的技术标准,主要运行在该公司生产的网络设备上,与基于SNMP的流量监测方法相比,该方法能够满足复杂的流量监测需要,目前应用最普遍的是NetFlowV5。
1.2.4 基于硬件探针的监测方法
硬件探针是一种用来获取网络流量的硬件设备,使用时将它连接在需要捕捉流量的链路中,通过分流链路上的数字信号而获取流量信息。 一个硬件探针通常只能监视一条链路。而对于全网流量的监测使用NetFlow更为合适。与其他的3种方式相比,基于硬件探针的最大特点是能够提供丰富的从物理层到应用层的详细信息。
2 WinPcap包截获系统
数据包的截获是流量监测系统中流量采集的主要技术.在大多数Unix系统的内核模块本身就是截获数据包的机制。而在Windows平台下,系统提供很少的数据包捕获接口,而提供的具有包截获功能的API,也只能截获IP数据包,很少能直接获取数据链路层上数据帧。WinPcap是基于Win32平台的开放源代码网络数据包截获和分析的系统。它弥补了Windows内核在包捕获方面的不足,该系统性能稳定而且效率极高,利用它提供的丰富且功能强大的网络数据包处理函数,可以满足对数据包处理有严格要求的多数应用。
2.1 WinPcap的体系结构
WinPcap是由意大利人Fulvio Risso和Loris Degioanni等人提出的。是为Linux下的Libcap移植到Windows下而设计的,它的主要思想来源于Unix系统中最著名的伯克利软件套件(Berkeley software Distribution,BSD)架构,WinPcap的基本结构如图a所示。它由处于内核级的网络组包过滤器(Netgroup Packet Filter,NPF)、处于用户级的动态链接库(Packet.dll)和高级动态链接库Wpcap.dll等3个模块组成。
1) 网络组包过滤器。它是WinPcap架构的核心,属于最底层的模块,它与NIC驱动交互,并向上提供一些函数组,从而能在读取和写入网络数据包。它能获取原始以太网数据包,并进行相应的过滤,然后传给高层的应用程序处理。NPF有着高效和处理迅速两大特点,在流量很大的网络中也能正常高效的工作。
2) 低级动态链接库。Packet.dll为Win32平台上为数据包驱动程序提供了一个公共的接口。不同的Windows版本在用户态和内核态之间提供互不相同的接口,而Packet.dll可以屏蔽这些接口区别,提供一个与系统无关的API,该API能够直接访问NPF驱动程序。基于Packet.dll开发的数据包截获程序可以不作任何修改运行于不同的Win32平台。Packet.dll具有如获取适配器名称、动态驱动器加载以及获得主机掩码及以太网冲突次数等附加功能。
3) 高级动态链接库。Wpcap.dll与Packet.dll不同,它处于更高层,且与操作系统无关,是对Packet.dll的高层封装。它和应用程序链接在一起,提供了一组功能强大且跨平台的函数,利用这些函数,可以不去关心适配器和操作系统的类型。Wpcap.dll含有诸如产生过滤器、定义用户级缓冲以及包注入等高级功能。编程人员既可以使用包含在Packet.dll中的低级函数直接进入内核级调用,也可以使用Wpcap.dll提供的高级函数调用,这样功能更强,使用也更为方便。Wpcap.dll的函数调用会自动调用Pactet.dll中的低级函数,并且可能被转换成若干个NPF系统调用。
图1
2.2 WinPcap的主要功能
在WinPcap包截获系统中,整个包截获架构的基础是网络驱动器接口规范(NDIS),它主要为网络适配器和各种协议驱动程序提供接接口函数,使得协议驱动程序发送和接收数据包时不必考虑具体的适配器和Win32操作系统。WinPcap中的NPF正是通过回调函数Packet_tap()调用这些接口函数来截取网络数据包,进而为用户层提供了包截获、数据包转储、包注入、网络监测等功能。
1) 包截获。包截获是NPF最重要的操作,它通过过滤从网卡中接收到数据包,并原封不动地送往用户层应用程序。它主要依靠一个包过滤器和一个环缓冲器来实现。NPF中的包过滤器延用了Unix下BSD中的分组过滤器BPF,BPF是一个虚拟处理机,用于运行用户自定义的过滤程序。通过Wpcap.dll把用户定义的包过滤规则编译到BPF程序中,并把程序注入到内核。当有数据包到达的时候,NPF运行该内核程序进行数据包的过滤。环缓冲器用来存储数据包避免包丢失,数据包存储时被加了一个包头,记录时问戳以及包大小等信息。使用缓冲器可以把一组数据包一起拷贝给应用程序,这减少了读写的次数,提高了运行速度。缓冲器的大小是非常重要的一个参数,因为它决定了一次拷贝能送多少数据包给应用程序。缓冲器设置比较大时,它需要等待一系列包到达后才往应用程序送,由于减少拷贝次数节省了处理器的资源,如在嗅探器中就适合设置大的缓冲器。而有些实时性要求比较高的应用程序(如ARP转向器),需要在应用程序准备好时就能得到数据,因而缓冲器设置较小。WinPcap库中提供了专门设置缓冲器大小和读包溢出时间的函数,它们的默认值分别是16kB和ls。
2) 数据包转储。用传统方法,把数据包保存到硬盘上通常需要3~4个缓冲器,每个数据包需要拷贝多次。当网卡收到包以后,包会存放在内核空间内,这需要一个缓冲器。由于上层应用运行在用户空问,无法直接访问内核空间,因此要通过系统调用往上层应用系统送,这时会发生一次复制过程。用户应用程序有两个缓冲器,一个用于暂存数据,一个用于标准输出函数中向硬盘写文件,还有一个缓冲器存在文件系统中。如果对一般的应用来说,这样的系统开销还可以承受,但是对于大量读取网络数据包的应用来说,这样的开销就很难承受了。利用NPF提供的数据包转储功能,不需要用户应用程序的介入,在内核层直接寻址文件系统。因为减少了两个缓冲器。而且只要一次简单的拷贝,大量减少了系统调用,提高了转储的效率。在转储之前,还可以进行包过滤,只把需要的数据包保存到硬盘上面。
3) 包注入。NPF除了可以从网络中截获数据包,还可以往网络发送数据包。包注入时,NPF对数据包不进行任何封装,所以应用程序需要针对不同应用给每个数据包添加相应的包头。封装时可以不计算帧校验序列,网卡驱动程序会自动计算它并添加到每个数据包的结尾。通常情况下每往网络发送一个包,都要进行一次系统调用(WriteFile()),而通过NPF可以实现一次系统调用重复发送同一个数据包,这提高了发送效率,适合应用于网络高速流量测试。
4) 网络监测。事实上,通过WinPcap提供的包截获功能,在用户层得到需要检测的数据包后,通过简单的分类统计就能实现网络检测。但是如果网络流量很大,这可能会耗尽处理器资源。WipPcap提供了内核层的监测模块,不需要把数据包送到应用程序就能实现分类统计。该监测模块由分类器和计数器组成,在内核层和用户层不分配缓冲区,统计数据直接来源于适配器驱动程序,这大大节省了内存和处理器资源。
2.3 WinpCap 的主要优点
1)高性能。WinPcap 实现了有关数据包捕获文献中描述的所有典型的优化方法(如内核级的过滤与缓冲、减少上下文交换、数据包部分内容复制),加上一些原创的优化方法,如JIT 过滤器编辑(JIT filter compilation)与内核级的统计过程,WinPcap 胜过其他类似的方法。
2)最终用户易于使用WinPcap 作为单个小的可执行文件,可运行在每个所支持的操作系统上,开始使用这个可执行文件后,Windows 就能捕获与发送原始数据包,操作简单。
3)程序员易于使用每个版本的WinPcap 带有一个开发者包(developer's pack),包括文档、库与include 文件,是开发应用程序所必需的。开发者包还包含一个示例程序集,可用Visual Studio 或Cygnus 编译,用来作为一个极好的起点。
4)多平台。WinPcap 在Windows NT、Windows2000、Windows XP 与Windows Server 2003 平台上被积极地维护。对Windows Vista 具有初步的支持,但有一些特性并不具备。
5)可移植性。WinpCap与libpcap具有完全的兼容性。这意味着可将Unix 或Linux 下存在的工具移植到Windows下。也可把Windows应用程序很方便地移植到Unix下使用。
2.4 WinPcap捕获数据包过程
首先获取网卡设备列表并选择要监听的一块网卡,将其设置为混杂模式,还要设置好过滤器等参数;然后把网卡上的数据包复制到内核缓冲区中;最后通过上层的调用,把内核缓冲区中的数据包拷贝到用户缓冲区中,再交给应用程序对数据进行加工提取出有用的信息。利用WinPcap驱动捕获的数据帧其实是经过传输层、网络层和数据链路层的封装而生成的太网数据帧,因此可以对数据帧作进一步解析得到有用信息。
3 WinPcap捕获数据包过程
WinPcap捕获数据包分成以下几个步骤,首先获取网卡设备列表并选择要监听的一块网卡,将其设置为混杂模式,还要设置好过滤器等参数;然后把网卡上的数据包复制到内核缓冲区中;最后通过上层的调用,把内核缓冲区中的数据包拷贝到用户缓冲区中,再交给应用程序对数据进行加工提取出有用的信息。利用WinPcap驱动捕获的数据帧其实是经过传输层、网络层和数据链路层的封装而生成的太网数据帧,因此可以对数据帧作进一步解析得到有用信息。捕获到了网络数据帧,便可以进一步完成网络流量分析和网络流量控制等任务,这些任务构成了一个完整的网络流量监测系统。
4 结论
WinPcap系统是一个功能强大的用于网络数据获取开发包,它直接和网卡打交道,获取数据链层的数据,能捕获数据链路层的所有数据包。WinPcap的分层思想为Windows平台提供了一个完整的、简单的、系统无关的编程接口,为在Windows平台下开发高性能的网络数据获取软件提供了方便。WinPcap的两级缓存的设计,极大地提高了数据包的捕获率,使丢包率降到了很低的程度,尤其是它内核级缓存的动态循环存储的思想,使它在数据捕获的速度方面优于UNIX中的Libpcap。总之,基于WinPcap的网络数据获取系统实验方案具有结构简单、捕获数据快、协议识别率高等特点,它的三个模块的相互套用,实现了网络数据获取的基本功能。本文就WinPcap的系统结构及其功能原理进行了介绍,最后阐述了WinPcap捕获数据包过程。
参考文献:
[1] 张伟,王韬.基于WinPcap的数据包捕获及应用[J].计算机工程与设计,2008,29(7):1649-1651.
[2] 杨永.互联网流量监测系统研究[J].信息网络安全,2010(7):22-28.
[3] 吴玉,李岚.基于WinPcap 的网络数据获取系统的研究[J].研究与设计,2007,23(6):10-12.
[4] 魏敏,奚茂龙,周阳花.基于WinPcap的网络数据解析系统[J].计算机安全,2010(11):49-51.
[5] 胡晓元,史涪山.WinPcap包截获系统的分析及其应用[J].计算机工程,2005,31(2):96-98.
[6] 刘芳.网络流量监测与控制[M].北京:北京邮电大学出版社,2009.
关键词: P2P; 流量信息; 结构异常; 决策树; 检测技术
中图分类号: TN711?34; TP393 文献标识码: A 文章编号: 1004?373X(2017)09?0093?03
Abstract: With the development of information technology, the peer?to?peer (P2P) network information traffic often deviates from the normal range. The detection technology for P2P traffic detection and abnormal traffic is studied on the basis of the decision tree algorithm. The P2P traffic detection model based on improved C4.5 decision tree is used to train the massive training datasets by means of the P2P anomaly traffic detection model to modify the error gradually. The simulation test in laboratory was performed. The P2P network traffic classifier based on improved C4.5 decision tree has perfect classification effect after selecting the characteristics of the network traffic. The classification detection rate is 94.6%~96.7%, which shows that the improved C4.5 decision tree algorithm can detect the P2P traffic effectively, and provide the reference for studying the P2P anomaly traffic detection technology in future.
Keywords: P2P; traffic information; abnormal structure; decision tree; detection technology
0 引 言
目前,S着信息技术的发展,对等网络(P2P)信息流量增长越来越快[1?3]。根据国内互联网流量模式报告显示,在整个互联网流量中,P2P流量占到70%左右[4]。近年来,经常出现网络流量偏离正常范围的异常情况,导致流量出现异常主要是由恶意网络攻击造成的,如DOS攻击、蠕虫传播、僵尸网络等攻击,同时由于网络偶发性线路中断、配置失误也会引起流量的异常,这就会造成网络服务质量下降,严重时会直接导致网络瘫痪[5]。
P2P大量占用互联网带宽,影响用户上网正常运行,检测管控P2P流量是网络管理难题[6]。因而在大规模网络环境中,对网络异常进行检测,同时对网络异常提供预警信息,对维护网络正常运行意义十分重大[7]。本文以决策树算法为基础,对P2P流量检测和流量异常时的检测技术进行研究。
1 对等网络P2P概况
对等网络P2P实质上属于分布式网络,参与者均可共享使用公共部分的一些硬件资源,如硬件处理和存储能力,共享资源的服务、内容由网络提供,节点可对这些资源进行直接访问,不需要经过任何中间实体。P2P最具有代表性的应用是进行文件共享,同时P2P的共享还有P2P计算、P2P形式的通信网络等。P2P与客户/服务器模型的区别是网络中节点可对其他节点资源或服务进行获取,还可提供资源或服务,这是P2P的基本思想。在P2P网络中,每个节点具有对等的权利、义务、服务、通信、资源消费。
2 P2P流量监控系统结构
P2P流量监控系统功能包括检测网络流量、控制网络流量两部分。对网络流量进行控制的前提是准确检测网络流量。在进行流量检测时,流量特征和协议特征要进行相互匹配,在未知流量匹配上以后,对其分类才能进行识别,P2P流量检测中必须具有协议特征库的建立。同时,进行流量控制操作必须具备前台管理界面,以便进行人机交互、流量控制策略的下发、流量识别结果的观察等,并在数据库中存储检测结果、控制策略信息、协议特征等,P2P流量监控系统整体结构如图1所示。
P2P流量监控系统工作流程:首先对网络应用流量数据进行全面采集,其次是建立协议特征库,对数据报文进行离线分析,同时提取其特征码,并建立协议特征库。然后检测网络流量,对经过流量监控系统的未知流量,通过匹配算法将未知流量特征与协议规则相匹配,如匹配成功,则作为该协议识别给流量。最后对已识别流量进行控制操作,完成阻断访问、限制流量速率。
3 基于监督的机器学习P2P流量识别算法
基于监督的机器学习P2P流量识别算法需要训练数据,训练主要有两步:训练进行集中学习,然后进行构造分类模型的测试;采用训练阶段模型进行未知数据的分类,计算识别准确率,令训练集为:
式中:表示输出类值。
在训练集中,找出输入和输出间的关系函数,这就是分类的目的,通过函数,输入可输出得到基于监督的机器学习P2P流量识别分类器如图2所示。
监督学习是训练决策树最常见的技术之一。这种决策树技术对事先确定分类系统给出的信息高度依赖。对于决策树来说,可通过分类系统辨别哪类属性提供的信息最多,可用决策树解决分类系统问题。
4 算法设计
4.1 C4.5多决策树分类算法
经过数据预处理模块,训练数据集生成决策树可处理属性的二维表形式。设训练数据集全部属性集合为。整个属性集PE,分成个小属性集,每个小属性集各自独立。属性所有不同取值集合为。生成的棵决策树为,数据分类为。表示数据集合,集合中第条记录用表示。表示训练数据及测试数据,第条记录用表示。系统分辨矩阵用对角矩阵表示,每项定义如下:
4.2 P2P流量异常检测
P2P流量异常检测的实质是通过训练大量数据,逐步对错误进行修正,形成精确预测模型。决策树建立完后进行数据集训练。训练数据集为TA,保存经过某节点P2P类训练数据的数量为;保存经过该节点类训练数据的数量为。
4.3 P2P属性关键度决策树分类算法
决策树生成后,经训练后,形成检测模型,原始TCP/IP数据包被从网络上截获,经过数据预处理后,TCP/IP数据由每棵子决策树对其进行判断,对判断结果进行加权处理,得到最优结果。第棵子决策树用表示,存储内部节点数据训练的P2P类统计数,存储内部节点数据训练的类统计数,第棵子决策树比率用表示,数据包在整个属性集的比率用表示,关键度多决策树分类算法流程图如图3所示。
根据属性差异,可建立棵子决策树,综合考虑全部子决策树属性对分类的影响,能对整个问题进行较好地反映,可使误报率降低,检测率提高。
5 仿真实验
本文的实验数据通过试验室仿真试验得到,仿真试验采用的软件为Sniffer,在实验室PC(CPU为Athlon64 X2;双核处理器4000+2.11 GHz;内存2 GB)对网络流量数据进行实时采集。在训练分类器实验中,采用定时定量的P2P流量Data1,Data1数据量较小,实验数据集见表1。
在测试分类器实验中,采用Data2~Data5对虚警率、漏警率进行严格测试,实验数据集见表2。
由表2可以看出,选择网络流量特征后,基于改进的C4.5决策树的P2P网络流量分类器能实现较好的分类效果,分类检测率在94.6%~96.7%。
6 结 语
本文以决策树算法为基础,对P2P流量检测和流量异常时的检测技术进行研究。通过试验室仿真试验,选择网络流量特征后,基于改进的C4.5决策树的P2P网络流量分类器能实现较好的分类效果,分类检测率在94.6%~96.7%,较高的检测率说明采用改进的C4.5决策树算法能有效地对P2P流量进行检测,为今后研究P2P流量异常检测技术提供了参考。
参考文献
[1] 柴琦,曹旭东,王洪蕾,等.P2P流量监测系统的设计[J].电子设计工程,2016,24(11):64?67.
[2] 谢生锋.基于数据挖掘的P2P流量检测技术研究[J].计算机与网络,2015(13):71?73.
[3] 闫佳,应凌云,刘海峰,等.结构化对等网测量方法研究[J].软件学报,2014,25(6):1301?1315.
[4] 王菁菁,林琛,陈珂,等.基于MapReduce的Flash P2P VoD系统异常监测[J].厦门大学学报(自然科学版),2013,52(4):459?465.
[5] 李建.基于流量的P2P僵尸W络检测[J].计算机时代,2016(5):45?48.
关键词:网络性能;网络状态监测;简单网络管理协议;NetFlow
中图分类号:TP393文献标识码:A 文章编号:1009-3044(2008)22-670-03
A Survey and Analysis: Network State Monitoring Technology of Campus Network
ZHU Peng
(Computer Application Department,Research Institute of Petroleum Processing,Beijing 100083,China)
Abstract:The structure of Campus Network is becoming more and more complex together with its applications. New applications appear which are sensitive to network performance. Network state monitoring is becoming more and more important for network users and researchers. The article summarizes significance and analyzes the main theory,technology of network state monitoring.
Key words:network performance; network state monitoring; SNMP; NetFlow
1 园区网网络监测的意义
近年来,随着各单位计算机应用水平的整体提高、内部园区网网络建设的日渐完善,以及实验仪器设备的网络自动化程度提高和发展,越来越多的日常学习、工作和科研、实验活动依赖计算机和网络来开展运行,这就要求各单位内部的园区网网络环境有很高的稳定性和运行效率,并能针对不同网络内部科研应用需求提供相应的网络质量保障。园区网连接着各个计算机、服务器、网络设备、存储设备及系统设备、试验装置、仪器仪表,通过交换信息使之成为一个高效运行的有机整体,为确保各项依赖园区网的科研活动顺利进行,必须保障园区网的正常运行和性能稳定。
同时,不断进行的信息化建设使得各项商业、科研活动对园区网络日渐依赖,这也带来了新的信息安全隐患,如何保障网络与信息系统的安全已经成为需要被高度重视的问题。随着园区网内部网络应用的迅速发展,越来越多的攻击和安全隐患来自于园区网内部,使得传统的基于网关的安全架构在新一代的攻击手段面前显得非常脆弱。而且这些传统的安全防护手段多属于被动形式,只能简单过滤或丢弃攻击数据,而无法在攻击源发起攻击时或之后的较短时间内即时响应,将内部网络中可疑的攻击源主机断开,使其无法通过内网连接进行攻击。在这种情况下,主动对园区网内部的网络运行状态进行监控,并根据网络流量异常信息采取相应的质量控制和防范乃至隔离控制,将可以成为传统计算机安全技术(如网关防火墙)的有益补充。
2 园区网网络状态监测技术
2.1 网络监测技术概述
网络状态监测是网络管理和系统管理的一个重要组成部分,网络状态数据为园区网的运行和维护提供了重要信息,这些数据对调控网络资源分布、规划网络容量、网络服务质量分析、网络故障检测与隔离、网络安全管理都非常重要。目前,根据对网络流量的采集方式可将网络监测技术分为:基于网络流量全镜像的监测技术、基于SNMP的监测技术和基于NetFlow的监测技术三种常用技术。
2.2 基于网络流量全镜像的监测技术。
网络流量全镜像采集是目前IDS主要采用的网络流量采集模式。其原理是通过交换机等网络设备的端口镜像或者通过分光器、网络探针等附加设备,实现网络流量的无损复制和镜像采集。和其它两种流量采集方式相比,流量镜像采集的最大特点是能够提供丰富的应用层信息。 但采用端口流量镜像方式将增加网络设备负担,对网络设备性能的影响较大。而若使用探针等附加设备实现流量镜像,安装时对网络影响较大,安装完成后虽对网络设备的影响较小,但为网络结构增加了新的单点失效点,在大型网络环境下,可能会影响网络的稳定性。故基于网络流量全镜像的监测技术较少用于园区网网络监测中。
2.3 基于SNMP的流量监测技术
简单网络管理协议(SNMP)已经成为事实上的网络管理标准,得到很大范围的应用。SNMP首先是由Internet工程任务组织(Internet Engineering Task Force)(IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。SNMP是基于TCP/IP协议的网络管理标准,它简单明了,占用系统资源少,已成为事实上的工业标准。SNMP提供了从网络设备收集网络管理信息的方法,并为设备提供了向网络管理端报告故障和错误的途径。SNMP是协议和规范族,包括MIB(管理对象信息库)、SMI(管理信息结构)和SNM协议。同时,SNMP被设计成与协议无关,所以它可以在IP,IPX,AppleTalk,OSI以及其他传输协议上被使用。
基于SNMP的流量信息采集,实质上是通过提取网络设备Agent提供的MIB(管理对象信息库)中收集一些与具体设备及流量信息有关的变量。基于SNMP收集的网络流量信息包括:输入字节数、输入非广播包数、输入广播包数、输入包丢弃数、输入包错误数、输入未知协议包数、输出字节数、输出非广播包数、输出广播包数、输出包丢弃数、输出包错误数、输出队长等。 基于SNMP的网络流量信息采集可以以极小的代价实现一定程度的网络流量相关信息的收集,但其收集的信息多是出于网络管理的需要,无法提供足够丰富的网络流量信息。利用其实现网络总流量的定期监控、观察网络设备端口的流量和使用状况可以满足网络管理的基本需求。
SNMP采用‘管理者―’模型来监测各种可管理的网络设备,利用无连接的UDP协议在管理者和之间进行信息的传递。图1勾画出了SNMP管理者和SNMP间的通信关系。一个SNMP管理者可以向SNMP发送请求,读取(Get)或设置(Set)一个或多个MIB变量数值。SNMP可以应答这些请求。除了这种交互式通信方式,SNMP还可以主动向SNMP管理者发送通知(Trap或Inform Request)以提示管理者一个设备或网络的状态。
■
图1 SNMP管理者与SNMP间的通信示意图
在园区网网络监测中采用SNMP机制有以下优势:1)可以随时随地收集网络流量信息,及时获取当前园区网络的运行情况;2)能够即时收集到网络中大量设备的同步流量信息;3)采用方法基于IP层,不受底层网络物理类型的限制;4)能够收集到网络设备自身的工作信息、端口状态。并可根据需要远程配置修改网络设备的相关参数;5)基于SNMP的流量监测所需费用较少,对现有的网络性能影响较小,且易于集成到各种网管系统中去。
在此基础上,如果配合后台数据库记录收集到的网络流量、性能数据,就可以实现对整个园区网络进行有效的监视,并能在网络发生故障时及时发现并通知相关人员处理,从而提高网络可靠运转的时间,减少因网络故障造成的中断时间。
2.1.基于NetFlow的流量监测技术
NetFlow是Cisco公司提出的一项网络数据流统计标准,利用NetFlow技术,路由器可以输出流经路由的包的统计信息,从而监测网络上的IP 流( IP flow) 。采集到的NetFlow流量信息可以帮助进行网络规划、网络管理、流量计费和病毒检测等等,NetFlow流量信息采集是基于网络设备提供的NetFlow机制实现的网络流量信息采集,在此基础上实现的流量信息采集效率和效果均能够满足网络流量异常监测的需求。它可以实时提取大量流量的特征,实现对流量的宏观统计分析。目前,NetFlow技术已经成为网络设备流量信息采集事实上的标准,一些大型的网络设备厂商均在其主流的路由设备中实现了对NetFlow主要版本的支持。
表1主流厂商网络流技术对比
■
NetFlow的实现由路由器、数据采集设备和流量分析工具三部分构成,如图2所示。
路由器启动NetFlow功能,负责抓取路由器上发生的流量信息,当Cache表超时后,网络设备中的NetFlow Agent 将通过规范的报文格式将表项数据以UDP方式向NetFlow数据采集设备发送。NetFlow数据采集设备可以是商业系统或是采用开放源代码的工作站,它负责实时处理收到的报文,提取出流量数据,进行过滤和聚合后记录在数据库中。NetFlow流量分析工具根据数据采集设备数据库中记录的网络流量信息进行网络规划、流量计费和各种网络管理应用,并产生各类报表等。
■
图2NetFlow的工作原理示意图
由于NetFlow技术所产生的信息详尽且趋近于即时,可让网管人员深入地了解数据包中的信息,获得很多网络运行情况的细节。依据NetFlow信息进行网络规划,将大大提高规划的效率,减少盲目性。
(上接第671页)
在园区网网络监测中采用NetFlow机制有以下优势:
1) 对源及目的业务端口号的统计、分析,可以科学地估算出各种业务在网络总流量中所占的比重和在各条链路上的分布,对网络业务流量进行精细化分析,包括网络间数据流中各个具体业务的流量及百分比;同时,也可以根据应用层数据参数Protocol、Port、Bytes对各个网络业务进行排行,进而科学地预测各类业务流量的增长规律。
2) 通过对整网流量的长期监测,可以建立园区网流量基线,了解网络内各节点的即时与历史网络流量状态,掌握网络应用及发展趋势,从而提高网络的管理维护能力。
3) 通过统计分析,我们还可以获知那些业务是目前网络上最受欢迎的业务,进而对相关网络应用业务的建设和规划提供准确的基础数据;对于业务流量大的端点,分析其增长规律,可以指导对其合理及时的扩容,从而提高整个网络的运行质量。
4) 利用NetFlow产生的流量记录与统计分析系统配合,还可以记录网络平常在不同时间的流量或服务器连接使用情况,当发现网络或某服务器流量异常,或是服务器连接情况异常大量增加或减少时,在第一时间发出警报,让网络管理员可以立即采取相应措施,尽快确定异常流量源地址及目的地址、端口号等多种信息,针对不同的情况,分别利用切断连接、ACL过滤、静态空路由过滤、异常流量限定等多种手段,对异常流量进行有效控制、处理,从而在最短时间内恢复网络的正常运行。这在防范病毒,尤其是蠕虫或木马等造成的DoS与DDoS攻击时尤为有效。
3 结束语
当前,随着信息化建设步伐的加快,各单位都在不断地建设和改造内部的园区网络,园区网络的不断扩展使得网络的拓扑变得越来越复杂和不规则。而网络新应用的涌现和网络用户的快速增长也使得网络流量不断增大、网络应用日益复杂。采用一种或混合使用多种技术监测园区网网络状态的重要性和迫切性越来越突出。园区网网络监测技术已经成为计算机网络研究中一个重要的课题方向。
参考文献:
[1] Cisco. System , NetFlow Services Solutions Guide[S], 2003.
[2] Stewart A J. Network State Monitoring: A Network Security Assessment Concept[EB/OL]. /papers/nsm/network_state_monitoring.txt, 2000
[3] 陈秀兰,吴军华.通用网络流量监测报警系统的设计与实现[J]. 微计算机应用, 2006(4):47-50.
[4] 何丰,靳娜.基于NetFlow的IP网络状态监测系统的设计与实现[J] . 通信技术, 2007(8):36-38.
流量可控
云计算、大数据、虚拟化、移动化的兴起,对于数据中心架构尤其是网络的管理、分析和安全产生了重大影响。用户对于网络效率、安全性和可靠性的追求永无止境,而传统的网络管理和监控方式则有些捉襟见肘。Gigamon的网络流量可视化解决方案采用带外方式,可以在不影响网络本身性能和可靠性的情况下,对流量进行监控。
网络流量的提取、分类、优先级划分等并不容易。传统的流量监控和分析往往要通过大规模添加新的工具和系统,或者变更以太网交换机的用途,或借助镜像端口复制流量,以及通过网络分路器分拆流量等方式实现。上述方式通常只借助一台交换机或一个分路器的有限过滤功能实现,功能和可视化都受到了限制,而且扩展和管理难度大,成本高。
能不能通过一种可靠的一体化的设计方式,冲破传统方式在性能、成本和管理方面的局限性,实现对网络流量的有效监控与管理呢?正是基于这种考虑,Gigamon推出了流量可视化矩阵(Traffic Visibility Fabric),它采用创新的架构,可以全方位实现流量的可视化与控制,提升扩展性和吞吐能力,同时增强网络的可靠性,提高网络效率并简化部署和使用。
统一可视化
在网络由简单的、静态的逐渐向复杂的、动态化的方向发展时,Gigamon流量可视化矩阵的优势就显现出来了,它为网络架构的设计师、管理员提供了全面的流量可视性,在不影响生产网络的性能和稳定性的情况下,可以对通过物理网和虚拟网的流量进行监控。许多大型企业、数据中心和服务供应商都采用了Gigamon流量可视化矩阵。
在可视化矩阵的基础上,Gigamon又进一步提出了统一可视化结构的理念,它可以提供跨平台的流量可视化功能,让用户原有的监测工具,可以监测和分析来自物理网络、虚拟网络或软件定义网络的流量,从而提升网络流量监控的智能化程度。统一可视化结构的好处显而易见:具有智能化的全面可视性,可以对远程站点提供实时、深入的监控;实现集中监控,为多种工具和IT部门提供可视性,从而简化运作;减少远程站点的维护人员和监测工具,节省成本。
精确分发与智能过滤
流量监测是网络管理的基础。从网络体系架构来说,网络流量是一切研究的基础;它能直接反映网络性能的好坏;更能帮助判断网络故障及网络安全等状况。随着Ineernet重要性的日益提高和网络结构的日益复杂.人们经常会遇到网络拥塞和服务质量低等一系列问题.越来越有必要对网络的整体拓扑结构和网络行为进行深入的了解、分析,以利于发现网络瓶颈,优化网络配置,并进一步发现网络中可能存在的潜在危险。为此。需要对大规模网络结构进行动态描述,并根据网络流量的变化分析网络的性能,为加强网络管理、提高网络利用率.因此网络流量的测量与分析一直为人们所关注。
2.课题名称和课题来源
网络测量技术始于上世纪70年代初,发展于80年代.90年代已渐成体系.在网络测量的方法、工具及流量的测量模型等方面取得了长足的发展。美国在1992年开始着手IIltemet特征的研究.其中比较著名的项目有NIMIⅢationalIntemetMea.surementInfrastnlctu商。它是一个完整的网络测量基础框架,并且是第一个执行大规模端到端ntemet行为测量的软件.NIMI主要采用主动测量技术.主要目的是要测量全球的Intemet.致力于建立一个总体的可扩展的网络测量基础框架.而不是为特定的分析目标做一组特定的测量操作。
网络流量简而言之就是网络上传输的数据量。就象要根据来往车辆的多少和流向来设计道路的宽度和连接方式一样,根据网络流量设计网络是十分必要的。在网络中不同的位置通过不同的方法采集不同空间粒度和不同时间粒度下的网络流量,并借助于数理统计、随机过程和时间序列等数学手段针对预先所定义的一系列的网络流量的相关属性对网络流量展开分析与研究,得到网络流量的不同属性在其构成、分布、相关性和变化规律与趋势等方面的特征,简称流量测量;并且所得到的"特征"叫做网络流量特征,简称流量特征。
网络流量贯穿整个网络,没有网络流量,网络应用也就无从存在。如果把TCP/IP协议栈比作成为网络的灵魂,通过网线等连接起来计算机、交换机和路由器等网络设备比作成为网络的骨架,那么网络流量可以看作成是网络中流动的血液。这样,对于研究网络的可用性、可靠性和稳定性而言,研究网络流量显然是获得第一手有效参数的最为直接和最为基础的手段之一。应用各种主要基于硬件或者软件或者硬软件相结合所实现的流量测量与分析系统,实现网络流量的监测,并根据你的应用情况对网络流量进行一定的干预,以保证关键性的应用。
3.前人在本课题研究领域的成果简介
流量监测包括测量工具/系统的部署、流量数据的采集(包括数据包捕获、归并和采样处理等)、数据包的解析和处理(包括协议解析、按照协议、流和应用等不同聚合层次进行聚合表示和流量识别与分类等)、测量实体量化数值的获得与统计分析、流量特征化描述、流量存储和查询表示、流量建模等多个环节,具有相对复杂的处理和分析过程。目前存在有众多种流量测量的实现方法,他们可适用不同的测量环境、满足不同的测量要求,并且有着不同的实现方式。概括来看,现有的这些实现方法大致可以依据如下几个方面进行分类:根据测量时所依赖工具的实现主体是硬件还是软件,流量测量可以被分成基于硬件的测量和基于软件的测量两种。基于硬件的测量通常需要设计和应用特定的硬件设备来对流量数据进行采集和分析。如IPMON、OCxMON、InMonsFlowProbe、NavTelIW5000ATMTrafficAnalyzer等,这些硬件设备通常被称为流量采集探针(Probe),需要配置有网络处理器(NP,NetworkProcessor)或专用的流量捕获板卡采用串接(in-line)、镜像(Mirror)或者分光(OpticalTap/Splitter)等方式捕获被测量的流量。而基于软件的测量一般是指通过普通的商用计算机(commoditycomputer)即所完成的流量测量。这类测量的主要特点就是被测流量的采集通常是借助于现有的硬件(如市面上可随便购买到网络接口卡(NIC,NetworkInterfaceCard,如以太网卡(EthernetCard))或者现有的网络设备(如网络中已经部署且正在工作的服务器、交换机和路由器)来完成。
它主要包括两个类别:一类是通过对操作系统内核和网络协议栈的增改(由于代码开放性等的限制,操作系统内核和网络协议栈的增改通常是在开源的Linux下进行),借助普通的网络接口卡(如将普通的以太网卡置于混杂模式(promiscuousmode)并借助于BPF完成对感兴趣数据包的过滤)等将一般的商用计算机转换成为具有数据包捕获和分析处理能力的流量测量系统。另一类则是被测量的流量并非由普通的商用计算机直接获得,而是需要从服务器、交换机、路由器等特定的网络设备上经过一定处理后导出,然后再由普通的商用计算机完成后续的流量处理和统计分析等工作。需要说明的是,特定设备上所导出的流量通常并非是详细的网络级的原始数据包,而是根据特定设备的不同,可能是SNMP/RMON统计数据,可能是经过聚合处理后的flow数据,也可能是服务器日志,等等。不同形式的数据,对应要求在普通的商用计算机上通过不同的程序或软件实现相应的流量处理和统计分析功能。
对于大多数的网络用户而言,网络仅仅是为这些用户的应用,如WEB网页浏览、BT电影下载、QQ聊天程序、Skype网络电话、PPLive在线视频等等,提供连通性的媒介。以TCP/IP协议栈为基础和核心的网络遵循并实现了信息隐藏的原则,将具体的用户级的网络应用抽象为底层的数据帧/包的发送和接收,而终端的用户无需了解网络工作的底层细节。例如,用户在Youtube的主页面上点击网页上的超链接观看所感兴趣的在线视频的时候,他不需要知道和关心会有多少个网络数据包生成,也无需了解这些数据包是如何在网络中进行路由的、IP协议是如何完成寻址定位功能的、TCP协议是如何提供了可靠的端到端的数据传输功能的、HTTP协议是如何应用超文本表示和描述页面上不同元素的、Youtube服务器上FlashMediaServer是如何实现自动位速率选择和动态缓冲的,等等。用户关心的可能仅仅是:他们所想要看到的视频内容是否能够快速的被呈现出来?视频内容的播放是否能够一直都很流畅?视频内容是否能够下载保存到自己的电脑上来?总而言之,用户所最为关注的是应用,可以为他们带来更为轻松和简便的、更为丰富和优质的网络应用。然而,对于网络管理人员而言,由数据包/帧这一最基本元素所形成的网络流量却是我们应该关注和研究的对象。这是因为网络本身并无任何价值,其关键在于它所承载的业务,即人们日常所应用到的网络应用。而不管哪一方面、什么类型、遵从什么架构、应用哪种协议、通过何种方式所实现的网络应用都会产生流量,也必须要产生流量。这些流量会流经作为最终的发送端和接收端的计算机、完成寻址和路由功能的交换机与路由器、提供安全检查和防护的IDS和IPS系统等网络设备。而正是这些具有不同能力和不同功能、处在不同层次和结构上的网络设备凭借各种形式互相连接起来构成了整个网络。
4.研究的主要内容和方法
(1)利用QoS优化技术,按照不同网络设备上不同的网络应用进行网络带宽的分配,通过分类确定流量的优先权,并对较高的优先权提供优先服务。由于行政网段是网路的一个重要服务对象,必须首先保证其服务质量,所以将网路内部行政网段流量设为最高的优先级。
(2)通过交换机管理设置,利用VLAN技术,将不同位置上的交换机和IP地址管理集中在某个管理网段,把网络划分为若干子网,对访问管理网段的流量进行限制。
(3)利用组播优化技术,在网路中的网站上动态的直播、VOD和网络电视等均采用组播技术,在网络上建立一个视频服务器,点击视频等即可观看。访问网内FTP、VOD和网络电视服务器的多媒体流应用流量,此类流量较大,在播放时段对多媒体流设置相应的优先级。
5、预期达到的目的和应用前景
网络结构的优化在优化过程中应尽量减少节点汇聚,原先的节点可扩展为新汇聚,从核心到汇聚都采用直接逻辑连接,不再设置中间有源节点。采用以高速路由交换机为核心,多层交换机作为汇聚层,可管理换机作为接入层的网络设计。在实际应用中,重要骨干设备采用双线路连接到核心设备上,核心层至汇聚层交换机也采用双千兆光纤做链路聚合(Trunking)的冗余组网方案,在加大带宽的同时冗余了骨干链路,然后根据链路的长短来确定使用光纤链路,还是使用双绞线从汇聚层交换机联到接入层交换机,并且接入层设备采用线路捆绑连接到汇聚层,这样在设备或物理链路出现故障时均可自动转换,进而提高网络的带宽和稳定性。
网络应用优化在网络应用优化前,先对网络内所有终端全面杀毒,检测各种蠕虫和Ddos的攻击,实现网络安全,净化网络运行环境。
关键词:网络技术 网络设备 网络性能 网络配置
中图分类号:TP393.0 文献标识码:A 文章编号:1007-9416(2013)07-0071-01
1 引言
网络性能从20世纪80年代逐渐受到重视。网络测量研究大致可划分为三部分,端到端性能测量、路由/路由器相关测量、应用层测量。
2 网络性能测量方法
网络性能测量作为分析网络行为、了解网络状况和定位网络故障的有效手段,需要服务于各种不同目的的测量要求,根据获取数据的方式和技术特征不同可以归分为两类:被动测量和主动测量。
2.1 主动测量
主动测量是利用测量工具,有目的地主动产生测量流量,并再次注入网络。主动测量的优点是对测量过程可控性比较高、灵活、机动,易于进行端到端的性能测量;缺点是注入的测量流量会改变网络本身的运行情况,使得测量的结果与实际情况存偏差,并且测量流量还会增加网络负担。主动测量在性能参数的测量中应用十分广泛,目前大多数测量系统都涉及到主动测量。主动测量需要发出测量数据包,通过测量数据包在网络中的处理和响应结果获知网络的流量状态信息。
2.2 被动测量
被动测量是指在链路或设备(如路由器,防火墙、交换机等)上对网络进行监测,观察和记录的分组,不注入流量测量方法。被动测量的优点在于理论上它不产生多余流量,不会增加网络负担;其缺点在于被动测量基本上是基于对单个设备监测,很难对网络端到端的性能进行分析,并且可能实时采集的数据量过大,被动测量非常适合用来进行流量测量。被动测量在网络中的某点收集流量信息,如使用路由器或交换机收集数据或者一个独立的设备被动地监测网络链路流量,它可以完全取消附加流量和Heisenberg效应。网络流量是采用大小不一的报文传送,收集到的数据可以进行各种流量分析。
3 延时的测量分析
目前能够进行双向延时测量的工具很多,常见的测试工具有scantools、NetMedic、Internet Anywhere Toolkit等,其中典型延时应用“Ping”命令。Ping是基于ICMP请求应答的应用软件,Ping发送ICMP的请求回应数据,当接收方收到该报文后,会返回一个回应数据,这样发送方收到反馈数据后就可以计算出网络的传输延时。设在局域网内,通过改变数据包大小对网内核心交换机进行拨打测试,包的大小从100B字节增至1000B字节,增长步长设为100B字节,每次测试32个包,若网络比较忙,也可以采用128个数据包进行统计。
4 流量的测量分析
从网络体系架构来说,网络流量是一切研究的基础。所有的网络应用和网络本身的行为特点,都可以通过对网络流量测量数据的分析来获得。目前,流量测量分析模式基本上有三种:一种是专门使用一台计算机在网络中侦听,另一种方法是直接从网络对象获取数据。网络流量可以反映网络性能的好坏,如果网络所接受的流量超过它实际的运载能力,就会引起网络性能大幅下降。为了使网络性能得到进一步的改善,必须得对网络流量进行测量。并根据最终分析结果,对网络流量实施有效的控制,改进和优化网络性能。通过观察一周流量变化情况,得出一周中相邻的各天流量的大小和变化具有明显的自相似性,当高峰期出现拥塞现象时,可采取适当限制措施,如限制端口速度,或对P2P应用限速等,常用的办法是限制每个交换机端口的速率,分时段控制或者总流量限制。
5 网络优化
网络优化是指根据对网络性能测量数据的分析,找出影响网络性能的因素,通过采取技术手段,从而使网络达到最佳状态,使网络资源获得最佳使用效率。在进行网络优化时,应结合网络的实际状况,利用已有网络设备支持的相关协议和标准。
5.1 网络结构的优化
在优化过程中应尽量减少节点汇聚,将汇聚层直接设置内部,原先的节点可扩展为新汇聚,从核心到汇聚都采用直接逻辑连接,不再设置中间有源节点。采用以高速路由交换机为核心,多层交换机作为汇聚层,可管理换机作为接入层的网络设计。重要骨干设备采用双线路连接到核心设备上,核心层至汇聚层交换机也采用双千兆光纤做链路聚合(Trunking)的冗余组网方案,在加大带宽的同时冗余了骨干链路,然后根据链路的长短来确定使用光纤链路,还是使用双绞线从汇聚层交换机联到接入层交换机,并且接入层设备采用线路捆绑连接到汇聚层。
5.2 网络应用优化
在网络应用优化前,先对内网所有终端全面杀毒,检测各种扫描、蠕虫和Ddos的攻击。
(1)利用QoS优化技术,按照不同网络设备上不同网络应用进行网络带宽的分配,通过分类确定流量优先权,并对较高的优先权提供最好的性能服务。由于学校办公网段是校园网的一个重要服务对象,必须首先保证其服务质量。(2)通过交换机管理设置,利用VLAN技术,将不同位置上的交换机和IP地址管理集中在某个管理网段,把网络划分为若干子网,对访问管理网段的流量进行限制。(3)利用组播优化技术,在校园网中的远程教学网站上动态的直播课堂、VOD和网络电视等均采用组播技术,在网络上建立一个视频服务器,点击视频等即可观看。
6 结语
通过优化,数据传输成功率得到提升,当发包和收包的数相同时,响应时间明显降低。经过优化以后,对教学应用中比较广泛的网页和视频等进行重新测量,应用效果明显得到改善。
参考文献
[1]王海涛,付鹰.网络测量方法和关键技术[J].电信工程技术与标准化,2010年07期.
[2]蒋序平,陈鸣,赵金.网络测量系统研究中亟待解决的若干问题[J].电信科学.2003年08期.
关键词:网络安全,流量监控,数据备份,远程同步
1.引言
在互联网飞速发展的今天, 越来越多的公司关和企事业单位拥有了自己的网站。 网站不但是信息传播的工具, 也是非常好的商业运营方式。但由于互联网在安全方面的脆弱性,以及黑客对网站的攻击,使得网站的运行安全是我们设计网站时需要解决的问题。网站的安全不应仅依赖于防火墙和入侵检测, 也需要使用对网站的监控和恢复技术,力争使损失达到最小。而一些大型网站更是会在很多不同的地点建立分站点,一方面能提高用户的访问速度,分担负载,另一方面也是为了使得各分站的数据能够实现同步传输,防止因为各种原因造成的数据丢失所产生的损失。本文正是基于此目的,以12530网站系统为基本构架 ,Linux为操作系统 ,规划配置出一套能够对网站日常的运行进行监控与保护的相对安全的网络系统的方案。
2.网页监控和保护系统基本构架
如图1 所示 ,在本次12530网站建设中,我们将网站监控和保护系统基本构架设计成主要的三部分:(1)网络服务器。系统的主控台 , 拥有良好的人机界面 ,对静态网页和动态脚本进行校验。(2)备份服务器。对静态页面、动态脚本、静态网页和动态脚本的校验值及数据库数据进行备份。(3)Rsync-server服务器。将产生的数据与其他分站进行远程双向同步。
图1 网页监控和保护系统基本组成
3.实现对网络流量实时监控与异常报警
随着网络规模的不断扩大,容量不断增加,新的应用不断出现,网络环境变得更加复杂、多变和异构,对网络流量进行监控与分析已成为对网络行为分析的主要可行途径。通过对整个网络进行流量监测,获得网络设备及骨干网每时每刻的流量数据,并对其进行分析和研究,才能发现整个网络运行的规律,不断提高网络安全性能。目前在世界各地有许多公司和学术团体 , 根据不同的计算机系统与需要开发出不同的网络流量监控工具如Cacti, Sniffer Pro, ROM II, NetDetector,Netxray等相关软件。表1 列出了五种流量采集工具的主要性能比较。
关键词:流量检测;DPI;VoIP
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)27-6094-05
随着互联网技术的快速发展,网络已经成为人们生活中不可分割的组成部分,通过网络人们的工作、生活都变得便捷,欣欣向荣的宽带业务,给运营商带来机遇的同时也带来了挑战。大量非法VOIP运营充斥着正规电信市场,导致合法运营商话务量流失,利润减少。造成这些结果的主要原因是运营商对网络流量缺少一个有效的技术监管方案,对网络上的流量没有进行有效的分析。技术的进步是由市场的需求推动的,在这种情况下,深度包检测技术(DPI)就随后产生了,DPI是一种基于应用层的流量检测和控制技术。
本文研究的目的就是提出一种基于深度包检测技术的网络流量识别方案,并在此基础上实现一个网络流量识别系统,该系统可以满足对网络中各种流量的识别和记录。
1 VoIP协议简介
自从1995年以色列的VocalTec公司开发出了世界上第一个可以实时通话的软件“Internet Phone”后,VoIP技术经过十几年的快速发展,这项技术已经得到了广泛的应用。在网络上出现了大量的VoIP软件,例如腾讯QQ、YY语音、Skype、MSN、KC网络电话、UUCall网络电话等。当前大部分VoIP软件的呼叫控制协议都遵循H.323协议和SIP协议。例如:SIP通话主要包括3个过程:终端注册过程、呼叫建立过程和呼叫释放过程。检测过程为,首先采集用户的流量,分析流量中的信令流,采集SIP发送方的呼叫建立信令信息和响应方的同意建立通话信令信息,就可以通过这些信令信息分析是否有用户在使用或者提供基于SIP协议的VoIP服务。采集呼叫释放的信令就可以知道用户是否已经结束通话。H.323协议的检测过程和SIP协议类似。主流的VoIP软件的通话的网络流量都可以通过这种方法被检测出来是否属于VoIP协议。但是,这种检测方法在现在的环境下已经不具有普遍性。为了逃避监管部门的监管,一些非法经营者经常会采取一些改变协议的方式来逃避管控,如改变标准通信端口、修改协议内容或制定私有协议等。这就使通过SIP协议和H.323协议的检测方法不能检测出非标准和私有协议的VoIP业务,这就需要通过系统抓包分析,分析出VoIP协议特征之后就可以实现对该标准协议的监测。现在DPI检测技术的出现可以实现对各种标准和非标准VoIP业务的检测。
2 VoIP流量检测技术
2.1 端口检测法
大多数早期的VoIP应用程序使用的都是固定端口号,比如:
1) RTSP服务器的缺省端口是554;
2) RTP/UDP/16384-32768;
3)H.323协议栈需使用的端口号:RAS/UDP/1719;H225.0/TCP/1720;H245/TCP/1800-1820;
这种检测方法需要在网络中收集数据流量并进行分组,然后检查报文的运输层首部信息,将端口信息和特定的协议的端口进行匹配。如果匹配上,就可以证明该分流量即为VoIP类流量,便可以按照识别的结果对VoIP流量进行管理控制。
这种检测方法的优点是简单和识别效率高,但是随着VoIP应用技术的快速发展,一些VoIP应用改变了端口信息,这种方法开始变得不再普遍适用,但是针对一些特殊的VoIP协议还存在一定的适用性。这就需要更具有普遍性的DPI检测技术。
2.2 基于深度报文的流量检测技术
随着计算机网络技术的发展,一种检测性能更加强大的检测技术DPI技术出现了。DPI全称为“Deep Packet Inspection”,称为“深度包检测”。所谓“深度”是和普通的报文分析层次相比较而言的,“普通报文检测"仅分析IP包的层4以下的内容,包括源地址、目的地址、源端口、目的端口以及协议类型,而DPI除了对前面的层次分析外,还增加了应用层分析,就是通过对应用流中的数据报文内容进行探测,从而确定数据报文的真正应用。DPI的识别技术可以分为以下几大类:
1) 基于“特征字"的识别技术
基于“特征字"的识别技术这是一种简单而又高效的网络流量检测技术。不同网络应用的协议都有独特的特征,这些特征一般被称为“特征字”。该检测技术就是通过模式匹配算法(Pattern-Matching)对数据流中数据负载部分的“特征字”进行匹配,然后识别出某种网络流量。只要通过对这些“特征字"信息的不断更新升级,该检测技术就会很方便有效地实现对各种协议(包括新出现协议的检测识别)的检测识别。
基于VoIP协议的应用软件有很多,而且也很优秀。每种应用层协议和软件都在应用层数据中有它标志性的特征,其中,有些特征是比较容易发现的,把各种应用层协议和软件已经发现并且验证的“特征字”用一定的格式集中统一放在一个文件当中,就形成了DPI特征库。表1是常见部分应用层协议的“特征字”信息。
2) 应用层网关识别技术
一些业务的控制流和业务流是分离的,业务流不包含任何有效的特征。在这种情况下,我们就应该采用应用层网关识别技术。应用层网关需要首先识别出控制流,并根据控制流的协议通过某种特定的应用层网关对其进行分析,从它的协议内容中识别出相对应的业务流。对于每一种协议,都需要有不一样的应用层网关对其进行解析。例如SIP、H.323协议都属于该种类型。SIP/H.323协议通过信令交互过程,协商从而得到其数据通道进行通信,通常是RTP格式封装的语音流。换句话说,仅仅检测RTP流并不能得出这条RTP流是属于哪种协议。只有通过检测SIP/H.323的协议交互,然后对其中的信令信息的通信特征进行分析,才能得出它完整的结果。
3) 行为模式识别技术
行为模式识别技术基于对终端已经执行的行为的分析,从而判断出用户正在执行的动作或者将要实施的动作。行为模式识别技术一般用于无法通过协议判断分析的业务的识别。例如:垃圾邮件(SPAM)业务流和普通的电子邮件(Email)业务流从电子邮件(Email)的内容上看是完全一致的,只有通过对用户行为的分析,才能较为准确的判断出是否为垃圾邮件,从而识别出SPAM业务。
(1)优点:检测准确率比基于端口和流量模式的方法高,端口的变化不会影响检测率。能够检测使用最广泛的应用,适合流量的精确检测。
(2) 缺点:无法识别新出现的和经过加密的应用,对无法识别的应用会出现漏判。协议分析和特征搜寻需要投入大量的人力及时间,难以获取加密协议的特征,特征的选择对检测性能有很大影响。系统检测模块需要不定期地进行更新和升级,查看应用层的内容会涉及到隐私的问题,对检测设备的处理能力要求较高。
3 DPI系统工作原理概述
3.1 基于VOIP的DPI系统设计
系统对经过网络分光/镜像的数据报文,拆包并标记头指针,然后将经过预处理的报文送到协议识别引擎进行匹配识别,最后返回识别结果。整个DPI系统的工作流程如图2所示。
第一步:对抓取的数据包进行分流,首先检查入口条件:入口条件通常包括关联表中的条件,数据包的长度,特征字,IP地址,端口号。如果符合条件则进入第二步,不符合条件则进入第三步进行识别处理。
第二步:如果满足上面的入口条件,就会进入与它相对应的协议识别方法中去,这些方法通常为代码识别,需要对报文当中一段特殊的代码进行一系列的特殊处理以及判定。例如应用层网关识别技术,在通过特征库的识别成信令流之后,就会需要交给与之对应的代码字段,通过使用正则表达式等匹配算法找出信令流的负载内容当中的交互的信息,然后将这个信息存入关联表当中,如果后续的流量符合这个关联表当中的内容,
就可以判定为所对应信令流命中的协议。
第三步:若没有命中入口条件,就需要通过与特征库当中的规则进行模式匹配处理,如果与之匹配成功,就需要检查此协议是否打开了怀疑功能,如果打开了怀疑功能,则就需要继续进行检查,否则返回识别的结果。如果没有命征库当中的规则,则需要继续检查这条流的下一个数据包,直到达到了系统能够检查的数据包个数的限度。若到最后都没有命中任何规则,则返回的结果为unknown。
从上面整个DPI系统对于如VoIP类数据报文的处理工作原理可以看出,整个系统中最为核心的一个组成部分就是其中的流量识别模块的设计。该部分的好坏直接影响整个DPI系统工作的效率。
3.2 流量识别模块
VOIP应用软件的流量识别是由DPI识别模块来实现的。该模块包含协议识别引擎程序和DPI特征库两部分。图1是基于DPI的流量识别系统工作原理图。
从上图中可以看出,网络流量经过处理后送入DPI识别模块,DPI模块将识别出的流量交给后续处理,DPI识别模块通过特征库升级系统并与远程升级服务器连接进行升级DPI特征库,并保持定期升级特征库。
具体的处理方式如下描述:
网络上的数据包进入预处理模块,每当一个网络报文通过流量识别模块,就会先将每一个报文放入内存当中进行排序,每次从缓存队列中取出报文进行分析。在流节点链表中查找是否有这个报文对应的流节点,若没有的话就为该报文创建一个流节点,如果有的话,就需要根据这个流节点的状态来决定该流是否需要继续进行识别。流节点的状态有OK,Continue和Unknown。若流节点的状态为OK或者Unknown,就需要释放这个报文所占用的资源,如果是Continue就把该报文放入等待处理的队列,然后送给协议识别引擎进行下一步的识别。需要被继续进行识别的数据报文传给协议识别引擎,协议引擎识别完后返回识别结果,如果能够匹配成功,则返回协议类型,释放这个报文所占用的空间并把该报文所在的流节点的状态改写为OK。若所属的数据流还需要继续进行识别,释放该报文所占的空间并且把该报文所属的流节点状态修改为Continue。如果判断报文所属的数据流已经确定为无法识别,则把对应的流节点状态写为Unknown,并且释放报文所占用的内存空间。
4 系统测试及结果分析
为了验证DPI系统对于VOIP类应用软件的监控和识别,该文通过设计一个基于DPI系统的拓扑网络结构如图3所示的实验,实验设备包括有模拟公司或者集体的内部网络用户网络,加载有DPI系统配置的设备处于内部网络与外部互联网之间。经过内部网络用户连接该DPI识别系统然后获取网上资源。
在通过网络流量监测网关上网的PC上分别用QQ、YY、MSN、Skype等VoIP软件进行通话,并且同时使用wireshark软件抓取网络流量包。然后把使用这些语音通话的网络流量包跑识别率。大部分常用VoIP应用软件的识别率都在85%以上,漏报率在5%以下,误报率很少。在某实验室里对几种常用的VoIP软件进行抓包跑识别率,经过测试统计,得出表2中的几种常用的VoIP网络应用软件的检测结果。
5 结束语
本文对运用DPI技术进行VoIP流量监测进行了深入的研究,在此基础上设计出一个流量监控系统,并对VoIP流量监测的准确性进行了验证。这个系统对VoIP流量的识别率达到85%以上,误报率很低。测试结果表明,该实现对VoIP流量的识别很有效果。这个系统可以对检测出正规和非法的VoIP流量,可以对非法的VoIP流量进行识别记录和管理,这对监管VoIP运营市场有很大的帮助,也有利于该市场的健康发展。
参考文献:
[1] Sen. S, Wang Jia. Analyzing Peer-to-Peer Traffic across Large Networks[C].IEEE/ACM Transactions on Net2 working. NJ: IEEE Press, 2004: 219-23.
[2] Elisa Bertino, Elena Ferran and Allna Squieeiarini, Trust Negotiations: Concepts, Systems, and Language[C].P27-34, July/August, 2004, IEEE.
[3] 韩耀明.基于DPI技术的VoIP流量检测系统的设计与实现[D].北京:北京邮电大学,2010.
[4] 米淑云.IP网络流量监控系统的研究与实现[D].北京:北京邮电大学,2009.
[5] 聂瑞华,黄伟强,吴仕毅,罗辉琼.基于DPI技术的校园网络带宽管理[J].计算机技术与发展,2009.
[6] 匡琳.P2P网络流量监控技术探讨[J].科技广场,2008.
关键词:SNMP;RRDTOOL;CACTI;流量监控
1引言
随着网络技术的迅速发展和各种网络业务应用的普及,用户对网络资源的需求不断增长,网络已成为人们日常工作生活中不可或缺的信息承载工具,同时人们对网络性能的要求也越高,在众多影响网络性能的因素中网络流量是最为重要的因素之一,它包含了用户利用网络进行活动的所有的信息。通过对网络流量的监测分析,可以为网络的运行和维护提供重要信息,对于网络性能分析、异常监测、链路状态监测、容量规划等发挥着重要作用。
SNMP(简单网络维护管理协议)是Internet工程任务组(IETF)在SGMP基础上开发的,SNMP是由一系列协议组和规范组成的,SNMP的体系结构包括SNMP管理者(SNMPManager)、SNMP者(SNMPAgent)和管理信息库(MIB)。每个支持SNMP的网络设备中都包含一个,不断地收集统计数据,并把这些数据记录到一个管理信息库(MIB)中,网络维护管理程序再通过SNMP通信协议查询或修改所纪录的信息。从被管理设备中收集数据有两种方法:轮询方法和基于中断的方法。SNMP最大的特点是简单性,容易实现且成本低,利用SNMP协议能够对被监视的各个网络端口输入字节数、输入非广播包数、输入广播包数、输入包丢弃数、输入包错误数、输入未知协议包数、输出字节数、输出非广播包数、输出广播包数、输出包丢弃数、输出包错误数、输出队长等进行采集。
2RRDTOOL的工作原理
RRDTOOL代表“RoundRobinDatabasetool”,是TobiasOetiker设计的一个基于Perl的功能强大的数据储存和图形生成工具,最初设计目的是为流量统计分析工具MRTG提供更好的数据存储性能和更强的图形生成功能。所谓的“RoundRobin”其实是一种存储数据的方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置。我们可以把用于存储数据的数据库的空间看成一个圆,上面有很多刻度。这些刻度所在的位置就代表用于存储数据的地方。所谓指针,可以认为是从圆心指向这些刻度的一条直线。指针会随着数据的读写操作自动移动。要注意的是,这个圆没有起点和终点,所以指针可以一直移动,而不用担心到达终点后就无法前进的问题。在一段时间后,当所有的空间都存满了数据,就又从头开始存放。这样整个存储空间的大小就是一个固定的数值。所以RRDtool就是使用类似的方式来存放数据的工具,RRDtool所使用的数据库文件的后缀名是''''.rrd''''。
和其它数据库工具相比,它具有如下特点:
首先RRDtool存储数据,扮演了一个后台工具的角色。但同时RRDtool又允许创建图表,这使得RRDtool看起来又像是前端工具。其他的数据库只能存储数据,不能创建图表。
RRDtool的每个rrd文件的大小是固定的,而普通的数据库文件的大小是随着时间而增加的。
其他数据库只是被动的接受数据,RRDtool可以对收到的数据进行计算,例如前后两个数据的变化程度(rateofchange),并存储该结果。
RRDtool要求定时获取数据,其他数据库则没有该要求。如果在一个时间间隔内(heartbeat)没有收到值,则会用UNKN代替,其他数据库则不会这样做。
3监测系统的安装与配置
(1)配置路由器和交换机:
开始配置RRDTool之前,必须对需要监测的网络及设备进行良好的规划、设计与配置,包括配置设备互联地址、网管地址及路由,保证流量监测计算机可以与被监测设备网络层的互通;配置SNMP通信字符串和端口号,掌握需要的监测对象号(SNMPOID),确保流量监测计算机可以获取正确的SNMP信息。在路由器和交换机上启动SNMP,并设置只读团体名。命令如下:
(config)#snmp-serverenabletraps
(config)#snmp-servercommunitytestro
(2)安装配置RRDTool:
我们以Debian平台来安装配置RRDTOOL系统,在安装RRDTOOL前首先要安装支持RRDTOOL运行的环境:Zlib、libart_lgpl、cgilib、Libpng、freetype软件包。
①安装apache、mysql、php:apt-getinstallapache2php4mysql-serverphp4-mysql;安装成功后通过浏览器访问客户器,可以得到“Itworks!”的提示;利用mysqladmin工具给mysql添加好管理员密码。
②安装RRDTOOL:apt-getinstallrrdtool。
③安装NET-SNMP:apt-getinstallsnmp。
④安装Cacti:apt-getinstallcacti,在安装过程中会提示你输入mysql管理员密码和cacti数据库管理员密码。
(3)系统配置:
安装好系统后就要进行简单的初始化和配置,步骤如下:
①访问x.x.x.x/cacti,按照向导提示进行cacti的初始化安装;
②利用crontab-e添加计划任务:
*/5****/usr/bin/php/usr/share/cacti/site/poller.php>/dev/null2>&1
③利用cacti进行设备的添加;
④利用cacti进行绘图管理。
cacti其实是一套php程序,它运用snmpget采集数据,使用rrdtool绘图。它的界面非常漂亮,能让你根本无需明白rrdtool的参数能轻易的绘出漂亮的图形。更难能可贵的是,它提供了强大的数据管理和用户管理功能,一张图是属于一个host的,每一个host又可以挂载到一个树状的结构上。用户的管理上,作为一个开源软件,它居然做到为指定一个用户能查看的“树”、host、甚至每一张图,还可以与LDAP结合进行用户的验证!我不由得佩服作者考虑的周到!Cacti还提供自己增加模板的功能,让你添加自己的snmp_query和script!可以说,cacti将rrdtool的所有“缺点”都补足了!
网络地图