本文对网络状态监测技术进行了详细的介绍,具体讲述了一种网络状态监测工具NetFlow技术。根据这些理论,作者设计了一个基于NetFlow技术的IP网络监测系统。本文对该系统的设计框图及详细的模块功能做了分析,并给出了部分实际网络中监测得到的数据。
随着IP网的普及和壮大,IP业务得到了迅速的发展。然而,由于IP协议固有的无连接特性和“尽力而为”的服务原则,使得当前基于IP的互联网无法向用户提供有效的服务质量(QoS),也不能实现网络资源的有效监控和管理。所以,IP业务就非常需要对整个网络进行监测,得到网络性能和服务质量参数,从而合理规划网络,为IP语音服务提供服务质量保障。这样,对IP网络性能的监控就成了管理IP网络的重要内容。
目前,存在的网络监测工具主要有:MRTG、SnifferPortable、ROMIIProbe、NetDetector和NetFlow等。其中,NetFlow成本最低,实施最方便,而且不受速率的限制,是IP网络监测的发展方向。
一、网络状态监测技术
网络状态监测是网络管理和系统管理的一个重要组成部分,网络状态数据为网络的运行和维护提供了重要信息。这些数据对网络的资源分布、容量规划、服务质量分析、错误监测与隔离、安全管理都十分重要。网络状态监测包括两部分内容:网络流量的采集和网络数据的分析。一般的工具均同时具备这两个功能。
1.网络流量的分类
网络流量按照其包含信息内容的不同可以分为以下四类:
(1)网络节点端口流量指的是网络节点设备端口流入和流出的数据包的信息统计。包括数据包的个数、字节数、包大小分布、丢包数等多种统计信息。
(2)端到端的IP流量 指的是在网络层从一个源到一个目的IP包的统计信息。相对于网络节点端口流量而言,端到端的IP流量包含了更为丰富的信息,通过对其分析,可以了解到网络中的用户都访问了哪些目的网络,是网络分析、规划、设计和优化的重要依据。
(3)业务层流量它除了包含端到端IP流量的信息之外,还包含了第四层(TCP层)的端口信息。显而易见,它包含了应用服务的种类信息,利用这些信息可以做更详细的分析。
(4)完整的用户业务数据它对于安全、性能等方面的分析非常有效。例如,捕捉黑客的来访数据包,可以制止某些犯罪行为,搜集重要的证据。
2.NETFLOW交换技术
NetFlow技术是基于网流而发展起来的。所谓网流,就是在高速数据交换过程中,一定时间段内,给定的源端(Source end Point)和目的端(Destination end Point)所发生的具有相同属性的连续的数据包的集合。网流端点可以由IP地址来定义,也可以由传输层的应用端口号来定义,同样,也可以利用IP协议、业务类型(ToS)及输入接口等来标识网流。也就是说,只有在一定时间段内发生,且具有相同属性的连续的数据包才形成一条网流。例如,1min内,从地址为192.168.1.1的主机通过FTP向地址为192.168.2.1的主机上传输了一个文件,则可以把这样一个过程中所发生的包定义为从192.168.1.1到192.168.2.1的一个网流。正常情况下,路由器进行包转发时,对流入的每个包(Packet)都进行路由、安全、服务的处理。而NetFlow交换技术仅对一个网流的第1个包进行处理。第1个包的信息记录在缓冲器中,其他包则由一个单独的高效的进程进行转发,同时进行相应数据统计。
NetFlow数据格式有多个版本。目前的最新版本是版本9。但是常用的是版本1和版本5。NetFlow数据报采用UDP协议发送,因此,有可能在传输过程中丢失,这样就在版本5中增加了信息流的顺序号。通过检查信息流的顺序号可以了解NetFlow数据报是否丢失。另外,版本5中还增加了边界网关协议(BGP-Border Gateway Protocol)的自治系统(AS)信息。一个NetFlow数据报由一个报头和1-30个流记录组成。NetFlow数据报的报头和流记录的格式分别列于表1和表2。
表1 NetFlow版本5报头格式
表2 NetFlow版本5流记录格式
路由器送出的数据,通过2种方式进行采集。
(1)利用数据采集软件(如Cisco NetFlow Collector)进行采集并存储到服务器上,以便利用各种数据分析工具进一步处理。
以NFC2.0采集的网络流量数据为例,61.181.85.122|222.32.104.193|4837|0|23|3|1216|1128|17|2|261|1。数据中各字段的含义为:源地址|目的地址|源自治域|目的自治域|流入接口号|流出接口号|源端口|目的端口|协议类型|包数量|字节数|流数量。由此,可以清楚了解这一网流的具体信息:源地址为61.181.85.122,目的地址为222.32.104.193,源地址属于AS4837,目的地址属于我方网络;网流从我方网关路由器的23号端口流入,3号端口流出,路由器的端口号可以通过读取设备MIB库获取,设备的物理端口与MIB库中的端口对应;网流的源端口为1216,目的端口为1128,属于TCP协议。分析端口类型,可以判断网流的业务类型,比如常用的WWW服务,采用的端口为80或8080端口等,进而判断是否属于正常流量等等。这样,可以了解网流的具体信息,分析多条数据,对整个出口乃至整个网络的数据情况进行准确分析。
(2)直接在路由器上查看,常用于异常流量的采集及处理。表3列出从CiscoGSR路由器采集数据的实例。
表3 CiscoGSR路由器数据
分析这些数据,可以得知当前设备的数转发情况:数据流从Gi1/2端口流入,Gi4/0/1及Gi3/0/0流出,属于UDP协议;源地址、目的地址与前一种采集方式一致;源端口、目的端口的统计与前一种采集方式不同,采用16进制。
这种采集方式,无法直接采集源、目的自治域,不适于进行长时间的网间统计分析,但适于实时流量的分析,尤其适于处理异常流量。
二、基于NetFlow的监测系统的设计
1.系统的整体框架
我们做了一套基于NetFlow的IP网络状态监测系统。图1示出该系统的整体结构图。系统通过基于NetFlow的Cisco路由器采集到数据,暂时存放在采集器中。其处理方法为:在超时时间内,将流中的数据报文按照一定的聚类规则汇聚形成原始数据置于缓存中,超时时间到达或者缓存充满时,这些数据按一定的格式集中发送到数据库服务器。然后,就是把数据库服务器中的数据根据需要发送给统计分析模块,由统计分析模块对其进行统计分析,实现各种需要的功能。下面具体分析每个功能模块的功能并给出部分实现结果。
图1 系统整体结构图
2.数据采集模块
数据采集模块是整个系统的基础,它主要实现从路由器上采集数据的功能。
具备NetFlow功能的路由器对经过的每一个IP数据包进行解包,生成并维护相关数据库(内容包括经过该设备的每一条动态数据流),定期以UDP数据包的形式发送给数据库服务器。
数据报文都是由一个头标信息、一个或多个信息流记录构成。通常情况下,数据库服务器会分配一个足够大的缓冲区,以便数据报文到来时,可以容纳下最大的数据。此外,它使用头标信息中的版本信息来决定如何理解这些数据报文。头标信息中的第二个字段是数据报文中记录的个数,可以用它来对记录进行索引检索。
通过NetFlow可以采集到的流量信息主要包括:源IP地址、目标IP地址、源TCP/UDP端口、目标TCP/UDP端口、流量字节统计、流量开始时间、流量结束时间、源自治域(AS)和目标自治域等。表4和表5列出实际网络中某一路由器上采集到的数据。数据格式参照表1和表2。
表4
表5
由表中可以看出,采集器能够采集到详细的流量信息,为统计分析模块提供足够的数据,以满足不同的功能需要。
3.数据集中入库模块
数据集中入库模块首先将各NFC(NetFlow Collector)采集到的数据集中并统计保存在指定的数据库中。该模块要保证数据存储和读取的效率。在数据入库时,首先应该估计数据的规模,选择适当的DBMS,考虑数据量比较大和实现效率两个方面的情况,该系统采用Oracle9i。
另外,针对不同的需要制定不同的数据库结构。比如可以根据流量表TrafficTable、协议统计表ProtocolTable等。
4.统计分析模块
统计分析模块即功能实现模块,主要用来读取数据集中入库模块中产生的数据,并进行统计分析实现需要的各种功能。
(1)流量监测功能主要通过NetFlow采集器采集到的流量数据,实时地了解网络的最新运行状况,根据这些数据来对网络结构不合理的地方进行调整;针对网络不同接点数据流量的大小对该接点的带宽等参数进行适当的调整;对网络中的恶意流量进行监控和报警,如病毒信息等。
(2)网络拓扑监测主要是通过对NetFlow中传输记录的实时统计,发现网络中各个网络传输点,从而动态获得网络的整体拓扑结构。动态构造网络拓扑图就是指自动发现并用图形化的方式直观、形象地表示出整个网络系统的各个子网甚至子网内部各种网络设备之间的互连关系,其中,最基本用意是用图标表示出网络系统中各个子网、路由器,以及用连线表示它们之间的连接关系。
(3)网络业务识别为了对网络进行更好的管理,从而可以根据不同的需求分配不同级别的带宽,我们需要能够识别网络中不同用户的网络业务。另外,可以统计不同类型业务使用网络资源的情况,比如对于实时要求比较高的业务如语音、视频业务,可以优先传送等。对于企业来说,为了保证正常业务的具有足够的带宽,需要限制员工进行娱乐下载,如P2P业务方面所使用的带宽。
可以从不同的方面进行网络业务识别。目前,所研究的网络业务识别技术主要从以下几个方面出发:业务端口特征、业务带宽流量特征、业务传输层协议特征和数据包净荷中特征字符串特征等。这里主要讨论利用NetFlow进行网络业务监测识别,从NetFlow数据元的字段元素出发,可通过上述四种方法中的前三种实现业务监测识别。
a)端口特征 针对从NetFlow中提取Port字段可以从一定程度上识别网络用户的业务使用情况,比如一般21为FTP传送,23为Telnet等。
b)业务带宽流量特征 可以通过对NetFlow中某个用户和其他用户进行的数据传输记录的统计,观察该用户业务所使用的带宽流量特征,从而针对一些具有明显流量特征的业务进行识别。
c)业务传输层协议特征 可以通过提取并统计NetFlow中Protocol字段,分析数据传输使用的传输层协议,从而确定网络业务,如FTP、HTTP、TCP、UDP等。
(4)网络性能监测可以对网络当前运行状况有一个整体的把握,网络性能监测主要包括对网络带宽使用情况、网络吞吐量he语音时延等参数的监测。
针对NetFlow,我们主要考虑网络吞吐量和数据传输时延的监测。
a)吞吐量 通过对NetFlow中数据传输记录的实时累积统计,并除以统计时间间隔,可以实时统计网络当前的吞吐量,从而可以确定网络当前的负载程度,并可以针对性地确定网络服务质量安全门限,当网络吞吐量过高时可以给出一定的告警提示,以使管理人员适时采取网络流量分配措施。
b)数据传输时延 通过对NetFlow中TOS字段的统计,可以分析出与网络传输质量相关的信息,如数据传输时延等。
(5)大客户追踪主要是监测网络中高权限用户(比如付费用户)和使用网络资源比较多的用户,从而限制普通用户对网络资源的无收益浪费,并且保证付费用户的网络使用优先权。
大客户追踪 主要是通过统计某个客户(即某台主机)网络传输流量以及业务类型,通过对网络中所有客户网络使用情况的对比,统计业务量比较大的TOPN用户,针对这些用户是否付费,以及当前正在进行的业务类型(如是否是语音或视频业务),确定客户使用网络资源的优先级别以及受限程度,对付费用户分配足够的传输带宽,保证其对网络使用的满意度,提高付费用户的忠实性,保证网络收益。
网络状况报表主要用于网络管理维护人员在需要的时间将各种网络状况指标提交给上级主管人员,报表设计要强调具有统计性,并且要简洁实用。
(6)功能呈现模块主要是将统计分析模块实现的各种功能以尽量友好的方式呈现给用户,我们可以考虑以C/S方式和B/S方式两种呈现方式。
C/S方式易于用户操作,提高用户与系统的交互性。
B/S方式易于用户浏览信息,提供的信息量大,并且不需要安装,易于实现。
三、结束语
随着因特网的普及和壮大,如何科学地建网,如何高效地管理网络,是目前大家所关心的话题,因而网络状态监测的研究与应用的作用日益重要。对IP网络的网络性能进行测量、分析、评价、控制、调整受到越来越多的关注。目前,在这些领域均已经取得了一些研究成果,但是,从整体研究水平来看,尚处于起步阶段。这个研究领域的发展空间较大,尤其是随着各种IPQoS保证技术在IP网络中的应用,IP网络性能监测与分析技术会受到更多的重视,将成为新的IP网络研究热点。
分享到:
相关推荐
在"基于NetFlow的网络流量监测系统程序"中,核心是利用C++编程语言实现对NetFlow数据的处理和分析。C++是一种强大的、面向对象的编程语言,适合处理大量数据和实现高性能计算,因此是构建此类系统的理想选择。 **...
阐述了在DDOS攻击和端口扫描攻击的监测与分析中的应用,并通过新的可视化框架设计,运用三维柱状图、信息熵算法、矩阵图、气泡图和流量时序图等技术手段,为网络安全人员提供了全面的网络状态分析工具。 Netflow...
6. **网络状态监测**:通过长期监控特定流量,了解网络使用状况,及时预警异常。 7. **安全防护**:检测DDoS攻击和蠕虫病毒,及时响应安全事件。 8. **网络优化**:为流量负载均衡、带宽设置、路由选择和QoS策略提供...
### 网络流量监测系统设计相关知识点 #### 一、WSDM标准概述 - **背景介绍**:为了应对网络环境下管理系统与基础设施协同工作的挑战,解决管理集成问题,OASIS组织联合IBM、HP、CA等公司在2005年推出了Web服务...
【流量监测技术及在IP网络维护管理中的应用】 ...通过不断改进和应用流量监测技术,可以实现对IP网络的全方位、深层次管理,推动网络管理功能的升级,为网络的稳定、高效运行提供坚实的技术保障。
NetFlow Analyzer是一款强大的网络流量分析工具,主要用于帮助企业或个人用户监测、分析和管理网络带宽使用情况。在本文中,我们将深入探讨NetFlow技术、NetFlow Analyzer的特点以及如何利用其提供的2077年有效期的...
在中国科技网,已经建立了基于NetFlow的异常流量监测平台,实现了对国内外流量的全天候监测。 #### 异常流量监测的方法 网络异常流量监测可以通过多种方式进行,常见的方法包括: 1. **Top-N分析**:通过对网络...
b) **用户行为洞察**:监测与其他网络的互联流量,了解用户对外部网络的访问习惯,优化内容布局,减轻链路压力。 c) **分支网络评估**:监控各分支网络的流量,评估其成本效益和业务价值。 d) **重要应用和大客户...
1. **全面了解网络运行状况**:网络监测为网管人员提供了实时监控网络状态的工具,以便及时发现并解决潜在问题。 2. **网络安全**:监测可以帮助识别并预防安全威胁,如网络蠕虫、带宽滥用和DDoS攻击。 3. **计费和...
5. **实时监控与可视化**:实时监控网络状态并以图形化方式展示,有助于运维人员迅速理解网络状况,及时做出决策。常见的可视化工具有Grafana、Prometheus等。 6. **性能优化**:根据测量结果调整网络配置,例如...
5. 利用NetFlow Traffic Analyzer(NTA)和VoIP Monitor(IP LSA)分析网络流量,控制带宽使用,优化网络资源分配。 6. 通过Solarwinds Toolset工具集,提供全面的网络监测和故障诊断能力,提升故障排查效率。 ...
2. 流量分类与统计:系统可以按应用、协议、IP地址等多种维度对流量进行分类统计,揭示网络资源的主要消耗者。 3. 异常检测与报警:通过设置阈值,系统能自动检测出流量异常,如突然增大的流量、异常的访问模式等,...
1. **容量规划**:基于NetFlow数据预测未来流量趋势,优化网络资源分配。 2. **故障排除**:利用实时监控数据快速定位问题源头,提高运维效率。 3. **性能监控**:持续监测关键应用和服务的性能指标,确保服务质量和...
NetFlow是由Cisco系统开发的一种网络流量监测技术,它记录了网络设备上的数据流信息,帮助网络管理员监控、诊断和优化网络性能。本说明文档将详细介绍flow-tools如何在NetFlow数据分析中发挥作用。 Flow-tools的...