侯洋
摘 要:为了实现计算机网络流量的监控,文章以计算机网络流量为主要研究对象,总结了现阶段网络流量的监控现状,对网络流量监控的意义和作用进行阐述,分析网络流量的获取与测量方法,并对计算机网络流量监控的技术应用进行了探讨。
关键词:计算机网络;流量;监控技术
1 网络流量监控的现状及其意义
现阶段的网络结构更加复杂,其异构性也越来越高,网络系统平台也来越多,这对网络要保持稳定的运行提出了更高的要求。网络流量的监控是网络管理中的一个重要组成部分,到目前为止,根据网络流量的不同采集方式出现了三种不同的网络流量监控技术。第一种是基于Netflow的流量监控技术,这种监控技术能够对高速转发IP数据流量进行测量和统计的同时对网络设备的数据交换具有一定的加速作用。第二种是基于网络流量全镜像的一种流量监控技术,这种监控技术是IDS主要的网络流量监控技术,其监控的原理是对镜像流量进行分析,对网络流量的分布状况进行探测,能够为网路的管理提供参考。第三种是基于SNMP的流量监控技术,其监控的实质是收集网络设备Agent中所提供的管理对象信息库中与流量信息相关的一些变量,这些流量信息包括了输入字节数、输入非广播包数等,其主要的不足之处在于这种监控技术的监控范围和对象十分有限。
目前最为有效的反映网络真实状态的一个指标就是网络流量,对网络流量进行检测具有以下几个方面的作用。①满足了复杂网络维护的需要,随着网络用户规模的不断扩大和网络结构的日益复杂,网络设备的数量逐渐增加使得网络的维护难度也随之增加,要维护网络稳定的运行状况,对网络流量进行检测是最重要的手段之一;②随着网络用户的增加和越来越广泛的网络覆盖范围,不同地区和不同网络用户对带宽需求各不相同,进行网络流量的检测能够对用户网络的使用行为进行分析,对网络的改善具有十分重要的意义;③为网络运营商进行网络的改造和扩大容量提供依据,网络用户数量和规模的不断扩大使得网络各个端口的流量需求也越来越大,从而极大的增加了网络设备的压力,通过流量监测能够对现有的中继容量进行分析,从而确定如何进行网络的改造与扩容;④由于不同网络用户的使用习惯,不同的网络带宽需求和不同的网络安全保障需求,通过流量的检测对用户的习惯和需求进行分析,从而使得运营商可以根据用户的需求发展针对性的业务。
2 网络流量的采集与测量
网络流量的采集主要有四种方式:①从一个端口到另一个端口的IP流量,这个IP流量中包含了大量的信息,主要的采集方法有NetFlow;②完整的用户业务数据流量,可以采用Net Detector进行采集;③网络节点端口的流量,这个流量中包含着个数、字节数、包的大小和分布状况等信息,可以采用MRTG 进行采集和监控;④业务层流量,可以采用Sniffer进行采集。对于网络流量的测量
对计算机网络的流量进行测量主要有主动测量和被动测量。主动测量主要是通过向被测流量网络中注入附加的“探测流量”,并采集其返回数据的一种测量方式。被动测量,就是在网络的某一点对网络的流量信息进行采集、记录与分析。被动测量的优势在于能够将附加的“探测流量”以及Heisenburg效应完全的消除,其不足之处在于对用户的隐私和网络安全具有一定的影响。
3 网络流量监控的设计与实现
3.1 系统设计
一般来讲,网络流量的监控必须要对路由器、交换器等各种网络主干设备接口的进出口原始流量进行采集和监控,为网络管理员和监控部门提供不同时间段的流量情况,要求网络流量的监控系统需要有数据采集子系统和Web管理子系统两个部分。首先对网络流量采集子系统进行分析和设计。该网络流量监控系统是建立在SNMP协议的基础之上的,因此,获取不同类型的变量值时通过网络设备中的SNMP响应报文来实现。在这个监控系统中,流量采集子系统拥有包括配置信息在内的各个网络物理层接口的信息,对各个接口的进出口流量统计方式如公式1和公式2所示。
公式1:入口实时网络流量=(ifInOctetsy-ifInOctetsx)÷(y-x)
公式2:出口实时网络流量=(ifOutOctetsy-ifOutOctetsx)÷(y-x)
其次对Web管理端子系统,在这个网络流量监控系统当中,只要连接成功被监控的网络设备,监控系统就能够通过SNMP协议的每个接口,并将这些接口添加到流量库当中,最后由网络管理员根据每个接口的实际情况进行链路带宽和报警阀值等进行重新配置,从而实现系统对网络流量的监控。
3.2 系统实现
要实现网络流量监控系统对流量的监控,根据上述网络流量监控设计中的流量监控系统结构进行监控功能的划分,并对监控系统结构进行分析后,实现网络流量监控。其次,对数据包进行捕获以及对模块进行分析,实现数据包的捕获和模块分析的方式如下所示:CsockSupport主要是对Socket的支持版本进行检查,并完成Socket的启动;CsockHelper的主要功能是实现从信息结构、Socket的创建、绑定、设置以及Socket启动的线程到对协议进行分析的全过程。分析模块包括了流量获取的模块、访问性能的数据子模块、显示子模块以及框架子模块,在获取数据包的基础上对这些模块进行分析,最终实现网络流量的监控。