时间:2023-01-02 22:45:02
导言:作为写作爱好者,不可错过为您精心挑选的10篇网络流量监测,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
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机制实现的网络流量信息采集。
中图分类号: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.
中图分类号:TP39
文献标识码:A
文章编号:1007-3973(2012)003-075-02
1 WinPcap的功能
Winpcap(windows packet capture)是Windows平台下一个免费的SDK,它为win32应用程序提供访问网络底层的能力。Winpcap不能阻塞、过滤或控制其他应用程序数据报的发收,它仅仅只是监听共享网络上传送的数据报。
它提供了以下的各项功能:
(1)捕获原始数据报,包括在共享网络上各主机发送/接收的以及相互之间交换的数据报;
(2)在数据报发往应用程序之前,按照自定义的规则将某些特殊的数据报过滤掉;
(3)在网络上发送原始的数据报;
(4)收集网络通信过程中的统计信息。
2 WPcap.dll
动态链接库wpcap.dll。它也是提供给开发者的API,它输出一组与系统有关的函数,用来捕获和分析网络流量。
3 主要设计与开发的内容
本系统实现的功能主要实现网络流量监测与统计分析。在用户方面,该系统实现了计算网络流量与网络协议分析等具体功能;在整个项目方面,该系统作为网络异常告警与智能分析的基础模块。
流量监测是以图形的方式实时显示出流量的大小。
流量统计分析包括ARP数据包统计、TCP数据包统计、UDP数据统计、ICMP数据包统计、广播数据包统计等。包括的子项有:
(1)每个数据包的时间、源IP地址、源MAC地址、目的IP地址、目的MAC地址、端口号、数据包大小。
(2)统计一段时间内某种协议的数据包个数及总大小。
(3)按源IP和目的IP统计某个IP地址到另一个目的IP的某种协议的数据包时间、源IP地址、源MAC地址、目的IP地址、目的MAC地址、端口号、大小。
(4)按源IP或者目的IP统计某个IP地址的某种协议的数据包总大小及总大小。
4 总体设计方案
整个软件分为三个子模块。三个模块为:数据包统计分析模块、流量监测模块、用户模块(界面模块)。
统计分析模块主要基于WinPcap捕包原理,通过截获整个网络的所有信息流量,根据信息源主机,目标主机,服务协议端口等信息按照ARP、TCP、UDP、ICMP、广播协议过滤分析、统计。
本模块要将网络中各种层次中的协议进行对比分析,对已知数据字段进行分析,这种分析是逐层进行的。因为数据包的结构都是自顶向下层层的添加数据包头,而且每层的包头都有固定的长度,所以根据特定位置来判断协议类型也就变得简单。在本系统中,采用的是网络中的OSI标准,即网络的七层结构。
流量监测是流量的短期分析。该模块主要实现如下功能:网络总流量的实时查看,网络输出流量的实时查看,网络输入流量的实时查看。
用户模块(界面模块)本系统主要采用Visual studio 2008平台来设计用户界面,使其界面与Windows保持最大的一致。
5 统计分析模块详细设计
编写WinPcap应用程序首先获得主机的所有网卡。WinPcap用函数pcap_findalldevs()来实现,该函数返回一个pcap_if的链表,链表中包含了每一个网卡的详细信息。
打开设备的函数是pcap_open(),它有三个参数snaplen、flags和to_ms。snaplen参数用来制定捕获包的特定部分。如果网卡设置成混杂模式,Winpcap能获得其他主机的数据包。to_ms 参数指定读数据的超时控制,超时以毫秒计算。当在超时时间内网卡上没有数据到来时,对网卡的读操作将返回。
当设备被打开,调用函数pcap_dispatch()来捕获数据包。pcap_dispatch()可以不被阻塞。这个函数都有返回的参数,一个指向某个函数的指针,Libpcap调用该函数对每个从网上到来的数据包进行处理和接收数据包。另一个参数带有时间戳和数据包长度等信息,最后一个是含有所有协议头部数据包的实际数据。MAC的冗余校验码一般不出现,因为当一个帧到达并被确认后网卡就将它删除。
当对网络数据包的分析的时候,必须先分析链路层,其次分析网络层,之后是传输层,最后分析应用层。
由于本程序只分析以太网的协议,所以去掉以太网协议的部分,剩下的就是IP协议的数据;IP协议部分包括 TCP和UDP协议的数据包;之后分析TCP和UDP等传输层的协议,将传输层协议部分舍去,留下来的是应用层协议;最后解析应用层协议。
基于以太网协议内容的进行分析,判断以太网类型的值:如果是0x0806,表示ARP协议,则分析ARP协议;如果是0x0800,表示协议为IP协议,则分析IP协议,在分析IP协议时,根据协议类型的值判断传输层协议类型:如果IP协议类型字段的值是6,表示协议为TCP协议,则分析TCP协议。
统计分析模块将分为五个功能的详细设计分别是ARP数据包统计、TCP数据包统计、UDP数据统计、ICMP数据包统计、广播数据包统计。
6 流量监测模块详细设计
网络流量监测的思想是:对流入和流出网卡的数据包进行检测并对数据包的长度进行累加,从而得到流量数据。由于Windows NT/2000/XP/7提供了一个系统性能的接口(注册表),所以需要做的就是访问这个接口,得到数据流量。
具体实现通过PDH和读取注册表中的系统性能数据来实现流量的监测模块。PDH是英文Performance Data Helper的缩写。随着PDH逐渐成熟,为了使该数据库的使用变得容易,Microsoft开发了一组Performance Data的API函数,包含在PDH.DLL文件中。使用PDH API基本上包括5个步骤。
创建一个查询;向查询中添加计数器;搜集性能数据;处理性能数据;关闭查询。
在本系统中将采用查询注册表的方式完成PD的查询。本系统中用到了一个注册表函数RegQueryValueEx,该函数根据一个开放的注册表键值和一个具体的名字值查找相关的类型和数据。
参考文献:
[1] 刘敏,过晓冰,伍卫国,等.针对网络扫描的监测系统[J].计算机工程,2002,28(2):77-78.省略/Class/winpcap/index.html.
一、异常流量监测基础知识
异常流量有许多可能的来源,包括新的应用系统与业务上线、计算机病毒、黑客入侵、网络蠕虫、拒绝网络服务、使用非法软件、网络设备故障、非法占用网络带宽等。网络流量异常的检测方法可以归结为以下四类:统计异常检测法、基于机器学习的异常检测方法、基于数据挖掘的异常检测法和基于神经网络的异常检测法等。用于异常检测的5种统计模型有:①操作模型。该模型假设异常可通过测量结果和指标相比较得到,指标可以根据经验或一段时间的统计平均得到。②方差。计算参数的方差,设定其置信区间,当测量值超出了置信区间的范围时表明可能存在异常。③多元模型。操作模型的扩展,通过同时分析多个参数实现检测。④马尔可夫过程模型。将每种类型事件定义为系统状态,用状态转移矩阵来表示状态的变化。若对应于发生事件的状态转移矩阵概率较小,则该事件可能是异常事件。⑤时间序列模型。将测度按时间排序,如一新事件在该时间发生的概率较低,则该事件可能是异常事件。
二、系统介绍分析与设计
本系统运行在子网连接主干网的出口处,以旁路的方式接入边界的交换设备中。从交换设备中流过的数据包,经由软件捕获,处理,分析和判断,可以对以异常流量方式出现的攻击行为告警。本系统需要检测的基本的攻击行为如下:(1)ICMP攻击(2)TCP攻击,包括但不限于SYN Flood、RST Flood(3)IP NULL攻击(4)IP Fragmentation攻击(5)IP Private Address Space攻击(6)UDP Flood攻击(7)扫描攻击不同于以特征、规则和策略为基础的入侵检测系统(Intrusion Detection Systems),本研究着眼于建立正常情况下网络流量的模型,通过该模型,流量异常检测系统可以实时地发现所观测到的流量与正常流量模型之间的偏差。当偏差达到一定程度引发流量分配的变化时,产生系统告警(ALERT),并由网络中的其他设备来完成对攻击行为的阻断。系统的核心技术包括网络正常流量模型的获取、及对所观察流量的汇聚和分析。由于当前网络以IPv4为主体,网络通讯中的智能分布在主机上,而不是集中于网络交换设备,而在TCP/IP协议中和主机操作系统中存在大量的漏洞,况且网络的使用者的误用(misuse)也时有发生,这就使得网络正常流量模型的建立存在很大的难度。为达到保障子网的正常运行的最终目的,在本系统中,采用下列方式来建立多层次的网络流量模型:
(1)会话正常行为模型。根据IP报文的五元组(源地址、源端口、目的地址、目的端口和协议),TCP和UDP报文可以构成流(flow)或伪流(pseudo-flow)。两个五元组中源和目的相反的流可以构成一个会话。由于ICMP的特殊性,对于ICMP的报文,分别进行处理:ICMP(query)消息构成独立会话,而ICMP错误(error)消息则根据报文中包含的IP报头映射到由IP报头所制定的会话中去。每一类协议(TCP/UDP/ICMP)的正常行为由一个有限状态及刻画。在这个状态机中,如果一个事件的到来导致了错误状态的出现,那么和状态机关联的计数器对错误累加。协议状态机是一种相对严格的行为模型,累加的错误计数本身并不一定代表发现了攻击行为。
(2)流量规则特征模型。在正常的网络流量中,存在着稳定的规则特征。比如一个IP收到和发出的含SYN标志位和含FIN标志位的报文的比值、一个IP的出度和入度的比值以及一个IP的平均会话错误数等。这些网络不变量是检验在一定时间区间内,一个IP是否行为异常的标准之一。这个模型要求对会话表中的会话摘要(一个含有会话特征的向量)进行汇聚,在会话正常行为模型基础上增加攻击行为判断的准确程度。
(3)网络流量关联模型。把一些流量特征(如字节数、报文数、会话错误数等)在一定时间区间内的累加值记录下来,可以看作时间序列。通过对序列的分析,可以找到长期的均值、方差、周期、趋势等特征。当攻击行为发生时,观察到的一些流量特征会偏离其长期特征。这种特征偏离的相关性就提供了判断是否攻击已发生的一个依据。
三、大规模流量异常检测框架
异常检测通常需要描述正常网络行为,网络行为模型越准确,异常检测算法效果越好。在大规模流量异常检测中通常通过网络探针了解单个实体或结点的行为来推测整个网络行为,基于网络断层成像(network tomography)思想通过使用探针测量推断网络特征,这是检测非协作(noncooperative)网络异常和非直接管理控制网络异常的有效手段。对于单个管理域,基于实体研究可以向网络管理者提供有用信息,例如网络拓扑。在单个结点使用一些基本的网络设计和流量描述的方法,可以检测网络异常和性能瓶颈。然后触发网络管理系统的告警和恢复机制。为了对大规模网络的性能和行为有一个基本的了解,需要收集和处理大量网络信息。有时,全局网络性能信息不能直接获得,只有综合所获得的本地网络信息才能对全局网络行为有个大致的了解。因为不存在准确的正常网络操作的统计模型,使得难以描述异常网络模型的统计行为,也没有单个变量或参数能包括正常网络功能的各个方面。需要从多个统计特征完全不同的矩阵中合成信息的问题。为解决该问题,有人提出利用操作矩阵关联单个参数信息。但导致算法的计算复杂度较高,为了满足异常检测的实时性要求,本文关联本地和全局数据检测网络异常。尽管本章利用行为模型对IP Forwarding异常进行检测,但该方法并不仅限于检测本地异常。通过关联多条网络链路的时间序列数据,也可以检测类似于空间的网络异常。因此,该方法可以扩展到其他类型的大规模网络数据和其他大规模网络异常。
参考文献:
中图分类号: 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.
随着互联网的发展,网络技术广泛应用于生活中,许多公共场所布设移动WiFi接入点,为人们获取信息提供便捷条件。人们应用网络服务时将个人信息、银行账户等敏感数据存储到网络中,重要数据传递带来安全隐患造成网络安全问题突出。本文利用云计算技术对大数据下网络异常流量进行检测,并测试检测效果。
1大数据下网络异常流量检测方法研究
光纤网络利用光在玻璃纤维实现光波通信,大数据集成调度,然后通过交换机分配IP。光纤通信传输距离远,云计算环境通过波分复用技术使光强度变化,通信中受到干扰导致通信信道配置失衡,需要对云计算光纤网络大数据异常负载优化检测,提高网络通信的输出保真性[1]。云计算光纤网络中大数据异常负载检测模型研究需要提取大数据负载异常特征,实现异常负载检测。
2网络异常数据检测大数据分析平台
网络异常流量分为DDoS、NetworkScan等类型,异常流量类型可从目的IP地址、源IP地址、字节数等特征区分[2]。DDos异常流量可通过特征二四五七检测;NetworkScan异常流量可采用多个网络地址对主机端口扫描动作;FlashCrowd异常流量由异常用户对访问资源申请动作。本文以影响网络安全异常流量检测为研究内容,运用现有数据样本对建立检测模型训练,对训练后识别分析模型检验[3]。研究异常流量类型包括U2R攻击类型、Probing攻击类型等,需要对数据特征提取分析,对入侵事件进行分类[4]。应用多种入侵事件特征数据,包括离散不间断协议、离散常规行为、离散接点状态、不间断数据源到目标数据比特数、持续创建新文件个数等。为避免两种衡量标准相互干扰,需对离散数据采用连续化操作。云计算平台迅速占领市场,目前应用广泛的是Apache开源分布式平台Hadoop,Hadoop云计算平台由文件系统、分布式并行计算等部分组成[5]。MapReduce将传统数据处理任务分为多个任务,提高计算效率(见图1)。MapReduce编程核心内容是对Map函数进行特定动作定义,Map核心任务是对数据值读取,InputFormat类将输入样本转换为key/value对。发现tasktracker模块处于空闲状态,平台把相应数据Split分配到Map动作中,采用createRecordReader法读取数据信息,tasktracker处于工作状态程序进入等待。
3大数据分析模型
随着待处理数据规模剧增,单台计算机处理数据速度过于缓慢,云计算系统以Hadoop为平台基础,提高计算效率。基于Hadoop平台对网络异常流量操作,向平台提交网络流量检测请求,工程JAR包运行,通过JobClient指令把作业发送到JobTracker中,从HDFS中获取作业分类情况。JobTracker模块执行任务初始化操作,运用作业调度器可实现对任务调度动作。任务分配后进入Map阶段,所需数据在本地磁盘中进行存储,依靠计算机Java虚拟机执行实现JAR文件加载,TaskTracker对作业任务处理,需要对文件库网络流量特征测试,Map动作结果在本地计算机磁盘中存储。系统获得Map动作阶段计算结果后对网络流量分类,中间结果键值相同会与对应网络流量特征向量整合,ReduceTask模块对MapTask输出结果排序。Reduce动作完成后,操作者通过JobTracker模块获取任务运行结果参数,删除Map动作产生相应中间数据。BP神经网络用于建立网络流量检测模型,MapReduce平台具有高效计算优势,最优参数结果获得需多次反复计算优化,MapReduce平台单词不能实现神经网络计算任务,采用BP神经网络算法建立网络流量检测模型会加长计算时间。本文采用支持向量机算法建立网络流量检测模型。支持向量机以统计学理论为基础,达到经验风险最小目的,算法可实现从少数样本中获得最优统计规律。设定使用向量机泛化能力训练样本为(xi,yi),i=1,2,…,I,最优分类平面为wx+b=0,简化为s.t.yi(w⋅xi+b)-1≥0,求解问题最优决策函数f(x)=sgn[∑i=1lyiai(x⋅xi)+b],支持向量SVM把样本x转化到特定高维空间H,对应最优决策函数处理为f(x)=sgn[∑i=1lyiaiK(x⋅xi)+b]。云计算Hadoop平台为建立网络异常流量检测模型提供便捷。MapReduce模型通过Reduce获得整体支持向量AIISVs,通过Reduce操作对SVs收集,测试操作流量先运用Map操作对测试数据子集计算,运用Reduce操作对分量结果Rs统计。
4仿真实验分析
为测试实现云计算光纤网络大数据异常负载检测应用性能,采用MATLAB7进行负载检测算法设计进行云计算光纤网络中大数据异常负载检测,数据样本长度为1024,网络传输信道均衡器阶数为24,迭代步长为0.01。采用时频分析法提取异常负载统计特征量进行大数据异常负载检测,重叠干扰得到有效抑制。采用不同方法进行负载异常检测,随着干扰信噪比增大,检测的准确性提高。所以设计的方法可以有效检测大数据中异常负载,并且输出误码率比传统方法降低。单机网络异常流量检测平台使用相同配置计算机,调取实测数据为检验训练源数据,选取典型异常流量200条数据样本用于测试训练。采用反馈率参量衡量方法好坏,表达式为precision=TP/FP+FN×100%,其中,FN为未识别动作A特征样本数量;TP为准确识别动作A特征样本数量;FP为错误识别动作A特征样本数量。提出检测方法平均准确率提高17.08%,具有较好检测性能。对提出网络异常流量检测方法进行检测耗时对比,使用提出网络异常流量检测方法耗时为常规方法的8.81%,由于使用检测方法建立在大数据云计算平台,将检测任务分配给多个子任务计算平台。使用KDDCUP99集中的数据进行网络异常流量检测分析,选取R2L攻击,Probing攻击异常流量数据用于检测分析,采用准确率参数衡量检测方法宏观评价网络流量检测识别方法:r=TP/FP+FN×100%。使用单机平台下SVM算法建立网络异常检测模型对比分析,本文研究检测模型平均识别率为68.5%,研究网络异常流量检测模型检测准确率提高28.3%。多次试验对比检测耗时,使用本文提出网络异常流量检测耗时较短。
【参考文献】
[1]林昕,吕峰,姜亚光,等.网络异常流量智能感知模型构建[J].工业技术创新,2021(3):7-14.
[2]武海龙,武海艳.云计算光纤网络中大数据异常负载检测模型[J].激光杂志,2019(6):207-211.
[3]农婷.大数据环境下的网络流量异常检测研究[J].科技风,2019(17):84.
中图分类号:TP368 文献标识码:A 文章编号:1007-9416(2012)07-0028-02
智能交通系统通过实时、准确、高效和多方位的检测监控设备,检测有关车道占有率、车流量、行车速度等交通流量信息,利用有线以及无线通信网络传输检测数据信息,使得交通主管部门能够详实的数据,处理交通流量数据,充分发挥现有交通基础设施潜力,改善交通安全以及缓解交通拥挤,提高整个路网的运输效率和通行能力;既能够降低油耗,减少废气排放,降低、对环境的污染[2],又能够提高交通出行的方便性、安全性,节约运输成本,提高社会效益和经济效益。
1、交通流量检测技术
交通流量检测是智能交通系统的基础部分,其在交通监控、交通诱导、交通应急指挥等研究应用中占有很重要的地位。主要是通过各种检测设备对路面行驶车辆进行探测,获取相关交通参数,包括各车道的车流量、车道占有率,车速、车型、车头时距等,以达到对公路各路段交通状况及异常事件的自动检测、监控、报警等目的。交通流量检测方式一种是接触式[3][4],其主要分为压电、压力管探测、环行线圈探测和磁力式探测,其特点是埋藏在路面之下,当汽车经过采集装置上方时会引起相应的压力、电场或磁场的变化,最后采集装置将这些力和场的变化转换为所需要的交通信息;另一种是非接触式[5],主要分为微波、超声波和红外、和视频探测等,除了超声波探测只能进行单车道交通信息采集外,其余都可同时进行多车道交通信息采集,其安装维护简单,发展非常迅速。
2、交通流量检测需求分析
智能交通系统应用了计算机技术、信息技术、通信技术和控制技术等新技术,把人、车、路紧密联系起来,通过对交通流信息进行实时检测,掌握道路交通的运行情况,根据交通流的动态变化,迅速做出交通诱导控制,不仅有效的解决了交通阻塞问题,而且对交通事故的应急处理、环境的保护、能源的节约都有显著的效果。它是以交通指挥中心为主体,并随着科技发展和管理方法的改进在不断完善中。交通流量检测系统和通信系统是智能交通系统的关键。交通流量检测系统主要完成提取流量数据所需的原始信息的采集工作,可通过地感线圈、激光、红外或视频方法,检测与识别交通流、路况等实时监视,提取交通流信息(车流量、车道占有率、车速等);通信系统是数据采集和数据处理的桥梁,它是将原始数据信息通过有线网络或是无线网络传输到交通监控中心,监控中心处理原始数据,进而对得到的信息进行进一步地分析,判断该路段的交通拥塞状况,监督异常事故的发生,在交通拥挤未发生时交通信息,及时采取分流措施,疏导交通,防止交通拥挤发生。智能交通系统的结构图如图1所示。
目前智能交通系统中使用的有线传输主要采用标准RS-232或是光纤通信等,在距离监控中心较远且供电不便利的重点路段、桥隧等地区,或者一些临时性的设备通信,传统的有线连接便显得十分不方便,因此希望以一种低成本、高可靠性的无线传输方案来代替传统的有线方式。3G网络技术可以方便实现设备之间的无线连接,具有低成本、低功耗、高速率、组网灵活等特点,其通信架设方便,供电可以采用蓄电池或太阳能电池板等,是实现无线数据采集系统的理想选择。
3、3G网络技术传输架构
第三代移动通信技术(3rd-generation,3G)[6],主要是支持高速数据传输的蜂窝移动通讯技术。目前3G标准分别是WCDMA、CDMA2000和TD-SCDMA。3G网络架构由无线接入网络(RAN)和核心网络(CN)组成。其中,RAN用于处理所有与无线有关的功能,而CN则处理3G系统内所有的话音呼叫和数据连接,并实现与外部网络的交换和路由功能,CN从逻辑上可分为电路交换域(CS)和分组交换域(PS)。3G网络分为核心网和接入网,UMTS 陆地无线接入网(UTRAN)、CN与用户设备(UE)一起构成了整个无线系统[7],如图2所示,体现出分层建设的特点:骨干层传输设备位于网络的骨干或核心节点,具有大容量的业务调度功能,强调业务的中继和传送能力;接入层传输设备覆盖在城域的各热点地区,完成业务的接入,体现出低成本、业务处理能力弱的特点;汇聚层设备连接骨干层和接入层,完成MADM之间的业务整合和汇聚功能。
4、智能交通检测系统架构及连接拓扑图
智能交通检测系统的结构分为交通信息采集系统、交通信息数据传输和交通信息处理整合审核管理三大子系统,分为二层结构,信息数据层和信息应用基础层。具体结构如图3所示。
交通信息采集是整个系统的基石,其采集主要是通过设置在公路上交通流量检测器、视频监控的信息采集设备以及其他方式,获得真实的、可靠及时的交通流量状况、突发事件等有关交通的信息,同时与其他相关部门的数据共享,及时动态获得各种信息。
交通通信系统是将现场的交通流量的检测设备检测到的信息,通过有线或者无线传输系统,传输到监控中心,在那里进行集合与整理。如距离比较近,可以采用光纤与标准RS-232等进行传输;当检测设备距离监控中心较远,布设数据线与供电不方便处,就可以采用3G网络进行无线数据传输,同时采用蓄电池或是太阳能电池板进行供电。
交通信息处理整合是集合与整理,去伪存真,而这些是需要大量人力、物力以及先进的网络设备和技术。将与交通流量有关的信息自动统计汇总,通过人工智能决策系统,或是人工分析处理的方法,确定畅通路线、拥挤路段、交通的气象信息等,并且存储到数据库中。
根据交通部门的对交通流量需求,对交通数据进行采集,同时集成其他有关交通的部门有关交通流量的信息,通过无线或是3G网络进行传输,传输到交通监控指挥中心,进而进行数据集合和整理,其连接拓扑图如图4。
5、结语
目前,智能交通系统发展应用的时期,建立和完善交通流量数据采集与传输系统来满通出、交通管理以及应急指挥的需要是当务之急。随着智能交通系统的实施及应用的逐步发展,充分利用新技术先进设备建设的高标准高质量的3G网络传输技术,其多样化的数据传输设置,有利于智能交通系统更大的应用,它的建成以及所采用的各类设施设备各种技术为交通运输和交通管理的安全畅通发挥了十分重要的作用,将会在实际使用中取得了很好的效果,达到了预期的建设目标。
参考文献
[1]夏劲,郭红卫.国内外城市智能交通系统的发展概况与趋势及其启示[J].科技进步与对策.2003年01期.P176-179.
[2]叶文进.高速公路出行综合信息服务系统分析[J].中国交通信息化,2010(6):125-128.
[3]MARGRIT BETKE,ESIN HARITAOGLU, LARRY S DAVIS. Multiple Vehicle Detection and Tracking in Hard Real-Time[J].IEEE,1996,(9):351~356.
[4]JUNG SOH, BYUNG TAE CHUN, MIN WANG. Analysis of Road Image Sequences for Vehicle Counting,[J].IEEE International Conferenceon,1995,(1):679~683.
中图分类号: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.
中图分类号:TP393.06 文献标识码:A 文章编号:1007-9416(2015)12-0000-00
随着网络技术的迅猛发展,互联网[1]已经被运用到千家万户,实时以及多媒体的传播技术也在不断普及,网络流量将不断增加,这对于现阶段的网络管理、维护以及检测技术来说是一个不小的挑战。有挑战就存在一定的机遇,网络流量监控是网络管理中的一个重要组成部分,更是网络性能分析以及网络规划设计的根基,为网络管理者的网络实施运行提供了技术平台,并且能正确处理网络出现的异常问题。
1 基于SNMP流量的监测技术
近几年来,以NETFLOW以及SFLOW技术为代表的网络流量监测技术的运用凭借其准确、高效等优势在网络管理中颇受宠爱,但是其部署也存在一定的局限性,主要表现在以下几个方面:(1)该技术消耗网络设备资源。(2)在大中型网络中,该技术在每一个节点全面部署会产生大量的数据,如何高效便捷地处理这些数据对于网络管理来说至关重要。即使利用提高采样率来减少数据流量,但是随着采样率的不断上升,很多有价值的信息也会随之丢失。
综上所示,现阶段使用的NETFLOW以及SFLOW技术只适用于边缘路由器的单独部署。为了解决校园网方案中存在的一些问题,本文就提出了适用于校园区的网络流量监测系统,此方案使用基于SNMP技术,在现阶段的校园网络上能够较为廉价以及便捷地解决上述问题。
1.1 SNMP简介
SNMP的全称是简单网络管理协议,此协议是一种基于TCP/IP参考模型[2]的应用层互联网网络管理协议,能对于互联网中的各式各样的设备进行监控以及管理,它主要还包含了网络管理站以及被管的网络设备这两个部分。被管的设备端运行者称为设备的运用进程,其实现阶段对于被管设备的各种被管对象的信息,例如流量等的收集以及对于这些被管对象的访问支持。利用SNMP实现的网络管理一般包含:管理进程利用定时来向各个设备的设备进程发送可查询请求信息,,以便于跟踪每一个设备的状态。SNMP的作用是帮助网络管理员提升网络管理的主要性能,及时快速地发现并且解决网络问题以及规划网络的增长。网络管理员还可以利用SNMP接收网络节点的通知消息,来告警事件报告等来获知网络出现的问题。
1.2 流量数据的采集
为了达到网络流量的采集,设计了运用SNMP协议采集网络设备MIB的方法,程序以轮询的方式进行访问MIB相对应的叶节点。SNMP是由三个部分组成的,分别是管理者、以及MIB,其中被管设备一定要启动SNMP服务,管理者利用SNMP的相应操作通过获得以及设置MIB变量的参数值,此处涉及到的一个共同体名是客户进行提供的,与此同时,要能被服务器进程所识别的一个口令密码,也正是管理进程请求的权限标志。MIB变量有简单变量以及表格变量,对于简单变量的访问,通过对其对象标识符后面添加“0”来处理,利用get-request报文请求即可。
2 网络流量监测技术的现状及其发展趋势
根据现阶段的网络流量的采集方式可以将网络流量监测技术分为以下三个部分,分别是基于网络流量全镜像的检测技术、基于SNMP的监测技术以及基于NETFLOW的监测技术。
网络流量全镜像的监测:它是现阶段IDS主要使用的是网络流量采集模式,其工作原理是利用交换机等网络设备的端口镜像或者是通过分光器、网络探针等附加设备,实现了网络流量的无损复制以及镜像采集,该技术的主要特征是可以为管理者提供应用层的信息。
目前,网络流量监测技术正在朝着迅猛提升的方向发展,其技术以及产品也正在不断更新,也有朝着智能化发展的趋势,主要表现在:流量自主学习,为判断异样流量提供强有力的证据。
3 采集过程中需要考虑的问题
3.1时间间隔的正确选择
Cisco路由器[3]为IP Accounting Table 中建立了一个缓冲区,缺省设置为512行,如果超出了已经限定的行数,那么全新的数据就会丢失。所以,在采集数据的时候要选择正确合适的时间间隔。假如两次采集的时间间隔过长,就会使得数据库中的数据溢出,之前的数据就会被覆盖,最终造成数据的丢失;假如采集时间间隔过短的话,又会导致访问路由器以及写入的数据库过于频繁,最终造成整个系统的性能下降。
3.2 Trap技术的应用
假如在采集程序运行之前,计费信息就会超过路由器保留计费信息的缓冲区的大小,就会造成计费信息的丢失。为了防止此类情况的出现,我们就要运用SNMP中的事件驱动技术,也就是Trap技术。
3.3准确安全性的考虑
考虑到整个系统的健壮性能,设计方案就会引入主从式的设计,在整个系统中,引入一个从计费服务器作为主服务器的备份。从服务器上采集而来的数据过程是实时的,全天运行的。其系统要根据已经设定好的固定的时间间隔轮询路由器IPAccountingTable表的读写情况,假如表的更新时间超过设定的最大更新周期,就会出现主服务器发生故障的状况,根据服务器将进行数据的采集工作,为了防止数据的丢失。
本文利用分析了常见流量监控系统,提出了在校园中网络上运用SNMP协议实现在网络流量上的监控,本系统是架构于SNMP模式的管理者以及结构之上。此设计方案是在校园网上有较强的推广价值,也被广泛运用于其他网络管理功能模块的设计。
参考文献
网络流量性能测量和分析涉及许多关键技术,如单向测量中的时钟同步新问题,主动测量和被动测量的抽样算法探究,多种测量工具之间的协同工作,网络测量体系结构的搭建,性能指标的量化,性能指标的模型化分析,对网络未来状态进行趋向猜测,对海量测量数据进行数据挖掘或者利用已有的模型(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主动测量
主动测量的方法是指主动发送数据包去探测被测量的对象。以被测对象的响应作为性能评分的结果来分析。测量者一般采用模拟现实的流量(如WebServer的请求、FTP下载、DNS反应时间等)来测量一个应用的性能或者网络的性能。由于测量点一般都靠近终究端,所以这种方法能够代表从监测者的角度反映的性能。
3.2被动测量
被动测量是在网络中的一点收集流量信息,如使用路由器或交换机收渠数据或者一个独立的设备被动地监测网络链路的流量。被动测量可以完全取消附加流量和Heisenberg效应,这些优点使人们更愿意使用被动测量技术。有些测度使用被动测量获得相当困难摘要:如决定分缩手缩脚一所经过的路由。但被动测量的优点使得决定测量之前应该首先考虑被动测量。被动测量技术碰到的另一个重要新问题是目前提出的要求确保隐私和平安新问题。
3.3网络流量抽样测量技术