网络流量监控系统

2024-09-22

网络流量监控系统(精选12篇)

网络流量监控系统 篇1

1 概述

近年来, 随着P2P应用、金融业务、B/S、视频、语音等新业务层出不穷, 网络上流量不断增加, 流量模型日益复杂, 日益膨胀的网络应用对网络管理和网络决策提出了很大的挑战。这就需要采用网络流量监控来检测网络的异常行为, 为网络的安全策略部署提供依据。

2 网络流量监控系统的组成和特点

网络流量监控系统由数据采集模块、数据传输模块、数据处理模块、数据查询模块组成。如图1所示:

数据采集模块:该模块部署于网络出口处, 对网络数据进行采集并按特定格式存储到临时信息文件集中。

数据传输模块:该模块的主要功能是将数据采集模块采集的数据传输到Windows端监控服务器上。

数据处理模块:该模块将数据传输模块传输到监控服务器上的临时信息文件经过‘流’处理后存储到监控服务器的数据库中。

数据查询模块:该模块将从数据库中查询相应的信息, 并以WEB的形式显示给用户。

2.1 数据传输模块

数据传输模块采用基于TCP流量控制策略的方法。我们预先定义数据流并声明将要使用的变量。

定义:数据流 (data flow) 是指在源/目的端的主机之间一系列的数据分组, 它们有相同的路由, 我们把它简称为流。

变量声明:Wi表示用数据分组计量的第i个流当前窗口的值, Base RTT表示链路的来回传播延迟时, RTTi表示第i个流的来回传播延迟时, Psizei表示用字节计量的第i个流的数据分组的大小, Di表示第i个流的接收方在向发送方发送ACK的延时, Qi表示第i个流的排队延时, Ri表示第i个流的速率, R表示数据链路的速率。

TCP中的滑动窗口算法在实现数据包可靠、按序传递的同时也支持流量控制, 窗口值是在发送方收到接收方返回的确认信息之前发送方能够发送的数据分组的大小, 它是由拥塞窗口 (Congestion Window, CWND) 、发送方缓存 (Sender buffer) 、接受方通知窗口 (Advertised Window) 三者中最小值决定的, 即:Wi=MIN (CWND, Sender buffer, Advertised Window) , 其中, 拥塞窗口指发送方认为链路能够容纳的数据分组的大小, 是由操作系统为每个套接字 (Socket) 分配的。一般来说, 滑动窗口的大小由拥塞窗口的大小决定, 但是接收方可以通过分配较小的接收方通知窗口的方法来限制滑动窗口的大小。当链路刚好处于满负荷状态并且数据分组没有被丢弃或进行排队时, 第i个流的速率用下式表示:

如果发送方不断地增加发送地数据分组, 那么数据分组就会进行排队, 此时, 第i个流地RTT由下面的等式决定:

这个等式说明, 当链路超过满负荷状态时, 数据流的RTT等于链路的传播延时加上数据分组在接收方缓存里排队的时间Qi, 还要加上接收方从缓存里取出数据分组后向发送方送确认信息的时间Di, 把 (2) 式带入 (1) 式就得到链路超过满负荷状态时第i个流的速率和整个链路上数据分组的速率:

(3) 式是对单个数据流上由接收方通知窗口决定发送方发送数据分组的速率的完整描述, (4) 式是对整个链路上的描述, 从 (3) 式可以看出, 通过修改接收方窗口的大小Wi和改变接收方发送发送ACK的延时Di或者延长接收方数据分组的排队时间Qi可以改变发送方的传送速率。

2.2 数据处理模块

通过数据采集模块采集到的数据非常庞大, 为了减轻流量监控系统的性能压力, 需要将采集到的数据进行预处理, 减少需要处理、传输及存储的数据的量, 因此在此引入数据流的概念。流 (FLOW) 是指有同一组特性 (源IP地址、目的IP地址、源端口号、目的端口号、协议类型, 开始和结束时间) 的数据包集合, 在本系统中, 采用五元组 (源IP地址、目的IP地址、源端口、目的端口。协议类型) 来标识测量到的数据流。其中协议类型分为:TCP、UDP、ICMP、OTH-ER。我们对采集到的网络数据根据网络协议的特点把流进行“分流”, 目前IP网上的绝大多数流量是基于TCP流的应用 (超过90%) 。一个TCP连接通过一个socket来定义, 即由源IP, 目的IP, 源端口号, 目的端口号四元组来唯一确定。UDP、ICMP采用相同方式分流。每一条数据流都有一个唯一的标识符, 该标识符是一个32位无符号整数, 以计数器的形式存在。当采集到一个IP数据包时, 根据该数据包的五元组信息, 在标识符表 (哈希表) 中进行简缩, 如果该五元组信息能够在哈希表中检索到, 则说明这个数据包所属的数据流已经存在且未结束, 那么计数器不变, 并将该数据包与所属数据流连接, 更新相应的数据流信息。如果五元组信息在哈希表中不存在, 则认为该数据包属于一个新的数据流, 计数器自动增加, 其数值作为新数据流的标识符, 并在哈希表中建立新的数据流信息。对数据包进行预处理后将数据存储到数据库中, 以便数据查询模块查询。

3 总结

网络监控系统是目前网络管理必须的, 本系统对采集的数据已按照协议类型预先进行了处理, 并在此基础上对采集数据的总流量、TOP100IP、TOP100协议进行了统计。大大减轻数据库的压力, 实现对24小时内历史数据的详细查询。

摘要:随着网络技术的快速发展, 互联网传送内容日益复杂, 网络管理也具有越来越重要的作用。针对网络管理中网络监控系统进行了设计, 并把监控系统分为数据采集、数据传输、数据处理和数据查询四个部分, 并对数据采集、数据传输、数据处理和数据查询四个部分进行了设计。

关键词:流量监控系统,流,数据采集,数据传输

参考文献

[1]Christian Benvenuti.Understanding Linux Network Internals[C].O'Reilly.December2005.

[2]Jonathan Corbet, Greg Kroah-Hartman, Alessandro Rubini.Linux Device Drivers[C], 3rd Edition.O'Reilly.February2005.

[3]程光, 龚俭.大规模高速网络流量测量研究[C].计算机工程与应用, 2002, 5.

[4]李薇.高速IP网络流量测量系统的研究与设计[C].山东大学硕士学位论文, 2006, 4, 5.

网络流量监控系统 篇2

微软域名系统DNS SERVER是一个运行于WINDOWS NT操作系统之上的服务,DNS服务完全与已有的因特网DNS结构兼容。作为

微软WINDOWS NT网络的系统管理员,可以选择安装一个DNS SERVER。DNS SERVER是将计算机的主机名解析或IP地址解析。

为了访问因特网上的一个站点,必须有一个DNS SERVER将因特网站点域名解析成IP地址,计算机用他来访问站点,

DNS

SERVER不会产生大量的网络流量。

需要请求DNS名字解析的主机将向DNS SERVER发送一个小桢,以请求服务器为主机提供名字解析。如果DNS SERVER的本地数

据库中有这个名字解析,则他将发出一桢响应,而如果DNS SERVER的本地数据库没有这个主机名字解析,则他必须进行一

次DNS iterative迭代查找。也就是说,DNS服务器为了主机的需求而与其他DNS服务器联系。一次迭代查找可能就会产生几

桢的网络流量,但是他们很小。DNS其他的网络流量只是在系统管理员配置DNS服务器让他们相互复制数据库信息时才产生

的。当系统管理员配置DNS SERVER让他们相互复制时,将会有几个网络桢,其数量是变化的,由服务器复制的DNS数据库大

小来决定的。

网络流量监控系统 篇3

【关键词】网络流量监控;C#;SNMP协议;网络数据

0.引言

空管信息网络承担着包括OA系统、共享服务以及相关业务系统在内的重要网络业务,提供信息化的同时,给技术保障维护人员带来一定的保障压力。根据相关工作经验及实际实验数据,网络设备端口流量异常是导致故障发生的重要原因,因此,对于网络流量的监控显得更加重要。随着空管信息化要求的逐日提高,网络规模也日益变大,对于网络流量监控的工作也更加繁重。本文从空管网络流量监控的实际情况出发,提出一种基于C#的网络流量监控,能够实现对网络数据进行获取、流量记录与分析。系统在实际运行中效果良好,可以为相关网络监控设计提供一种可行的借鉴。

1.总体设计

SNMP即网络管理协议(Simple Network Management),在TCP/IP协议族中可以对网络进行管理,这种管理既可以是本地的也可以是远程的。而基于SNMP网络协议的本系统,可以实现对网络数据的获取与实时监控的功能,实现上具有通用、实时、多线程、维护性强及扩展性强的特点。实现在数据链路层和网络层上任意节点的数据获取。加之记录功能的辅助,系统能实现在应用层的数据回放,以满足空管安全事件调查以及系统维护对历史工作状况的评估。

SNMP协议中,一个网管基站可以实现对所有支持SNMP协议的网络设备的监控(随着网络技术的发展,目前绝大部分网络设备是可支持的),包括监视网络状态、修改网络配置、接收网络事件告警等等网络监控功能。在实现上主要包括远程文件访问、流量数据记录、流量监视以及系统的IP定位。其中流量监视是系统实现的核心,将在下一部分进行介绍。另外,系统还提供了日志文件记录实现对系统操作、监控数据以及告警信息的记录。

2.C#的实现

对于系统的C#实现,主要采用的C/S模式,因此在系统的实现上尽量简单、快捷、高效为主。因此自定义相关函数与类,在记录数据和日志方面采用文本文件记录。

2.1网络监控类与网络适配类的设计

为了提高系统的模块化程度及软件的封装性,系统在实现过程中定义了两个主要的类。分别是用于网络监控的NetWorkMonitorClass以及网络适配类NetWorkMatch,网络监控类主要实现系统的网络监控功能,而网络适配类则提供了一个安装在计算机上的网络适配器,该类可用于获取网络中的流量。两者功能及结构如下:

在实际工作中网络监控类NetWorkMonitorClass通过定义一个Timer计时器进行计时器时间执行,以每隔2S刷新适配器,并与此同时刷新上传下载速度。与此同时通过ArryList列表定义了所监控设备的适配器以及当前控制的适配器。在构造函数NetWorkMonitorClass()中则通过,定义两个ArrayList(),其中一个(adapterlist)来保存获取到的计算机的适配器列表,一个(monitoradapters)代表有效的运行的适配器列表。

NetAdapterShow ();

Timer = new System.Timers.Timer(2000);

Timer.Elapsed += new ElapsedEventHandler(timer_ElapsedClick);

其中,NetAdapterShow ()为列举出安装在该计算机上面的适配器,具体实现可以通过C#的foreach()语句进行编写如下:

PerformanceCounterCategoryPCCCategory=new PerformanceCounterCategory("Network Interface");

foreach (string InstanceName in PCCCategory.GetInstanceNames())

{

if (InstanceName == "MS TCP Loopback interface")

continue;

// 创建一个实例Net workAdapter类别,并创建性能计数器它

MyNetWorkMatchClassmyMNWMadapter=new MyNetWorkMatch

Class(InstanceName);myMNWMadapter.m_Performance_Down=new PerformanceCounter("Network Interface", "Bytes Received/sec", InstanceName);

myMNWMadapter.m_Performance_Up=newPerformanceCounter("Network Interface", "Bytes Sent/sec", InstanceName);

m_AdaptersList.Add(myMNWMadapter);

}

当然,在类中也定义了StartWorking以及StopWorking等控制函数对类的工作状态进行控制。另外timer事件也通过构造函数进行加入,如上所述。

网络适配类NetWorkMatch则主要计算网络的各种数据,如计算上传速度、下载速度、控制适配器等函数的封装,减少网络监控类的功能耦合度。

2.2具体实现

在窗体加载函数中,系统首先做自我初始化如下:首先定义上述设计的网络监控类,并实例化monitor = new NetWorkMonitorClass();与此同时通过类函数遍历获取所有计算机适配列表,m_MNWMadapters = monitor.Adapters; ,Adapters()为网络监控类封装好的函数。并将函数返回结果通过Items.AddRange()函数将其显示在listbox控件中,以实现友好的人机交互界面。其次,在timer定時器中对选中监控的适配器进行独立监控。至此,系统实现了独立监控与全面监控的所有设计。

3.结语

本文提出一种基于SNMP协议分析的网络监控系统,该系统应用于空管信息网络。在实现过程,主要采用C#进行开发,通过编写自我的网络监控类和网络适配类进行网络数据的流量监控,可以推广应用于信息网络维护工作较为繁重的行业,提供一种智能网络流量监控手段。

【参考文献】

[1]宫婧,孙知信,陈二运.一种基于流量行为分析的P2P流媒体识别方法[J].计算机技术与发展,2009(09).

[2]王珊,陈松,周明天.网络流量分析系统的设计与实现[J].计算机工程与应用,2009(10).

[3]李万鹏.网络流量控制及流量分析[D].北京邮电大学,2011.

网络流量监控系统设计实现 篇4

1.1 研究背景

随着网络技术和网络应用的迅速发展以及用户对网络性能要求的提高, 网络管理成为迫切需要解决的问题, 有效的网络管理能够保证网络的稳定运行和持续发展。网络安全管理在整个网络管理系统中扮演了起尤为重要的角色。通过网管系统可以协助网络架构管理, 显示网络上目前发生的各种流量与运作情形。网络实时监测是网络管理的基础部分, 包括监测流量、统计分析、流量异常问题的解决三个阶段, 其目的是收集关于网络状态和行为的信息。

1.2 研究意义

目前网络已经普及, 在对网络进行有效的监测情况下, 可以通过流量历史数据的趋势分析来对一些低附加值流量进行控制。网络流量监测能提前预测到何时流量会增加到需要扩容的地步并提前采取措施。通过对流量的分析, 可预测某处扩容后对于其他各处的影响, 为提出一个具有全网动态实时监测与校正能力的拓扑优化设计管理方案奠定基础。

网络安全管理体系中, 流量监控和统计分析是整个管理的基础。流量检测主要目的是通过对网络数据进行实时连续的采集监测, 对获得的流量数据进行统计计算, 从而得到网络主要成分的性能指标。网络管理员根据流量数据就可以对网络主要成分进行性能分析管理, 发现性能变化趋势并分析出影响网络性能的因素。

2 基于嵌入式平台的开发

本课题是基于LINUX环境的嵌入式系统设计, 确定使用开源路由器大亚代工DB120-WG来搭建嵌入式环境, 在此基础上进一步开发设计嵌入式系统。

2.1 系统硬件平台

DB120-WG主要由主芯片BCM6358、交换芯片BCM5325、无线芯片为BCM4318, FLASH (16MB) 等组成。

本系统涉及的软件烧写在BCM6358开发板上, 以实现网络流量监控的功能。

该开发板是高度集成的芯片, 多用户支持10/100以太网、USB 2.0、蓝牙、数字无绳、多渠道的Vo IP以及IEEE802.11a/b/g/n无线家庭网络。

2.2 嵌入式Linux系统构建

嵌入式系统的构建步骤:建立交叉编译环境;Linux内核开发;根文件系统定制。

2.2.1 交叉编译环境的建立

将宿主机 (PC机) 与路由器DB120-WG连入同一网段。宿主机运行Linux版本的操作系统, 并配置NFS (网络文件系统) mount到路由器上, 配置TFTP服务器, 下载目标文件到路由器。

在宿主机上编写C语言应用程序, 之后利用交叉编译调试工具编辑连接生成目标平台上可以运行的二进制代码格式, 将可执行的二进制bin文件烧写到路由器中, 运行该程序, 并把运行结果通过串口在宿主机上以网页形式呈现。

2.2.2 Linux内核移植

开发Linux内核主要是对Linux进行配置以及编译过程, 并且形成最终的Linux映像文件。

配置Linux内核:获取Linux内核源代码并下载相关的补丁, 修改Makefile文件, 配置交叉编译器;对内核修改后, 根据开发要求, 对内核进行重新配置;对网络设备驱动、内核类型、设备驱动等进行配置。

配置完内核进行Linux内核的编译:删除过时的文件make clean;生成可执行的内核映像文件make newimage;完成内核编译。

2.2.3 根文件系统定制

在嵌入式Linux内核启动后, 需要加载根文件系统来支持系统与用户的交互。构建Busy Box环境, 运行make install, 配置目标机根文件系统。

3 概要设计

3.1 功能结构

本文的网络流量监控系统按照层次化的设计, 实现了以下功能:

(1) 抓包, 通过Libpcap库函数的调用, 获取所需相关数据;

设备的总流量统计;

分主机的流量统计;

(4) 分协议的流量统计;

(5) 分端口的流量统计

(6) 分时流量统计, 输出 (以图像化的方式动态体现数据的实时性) 。

3.2 模块划分

本文设计的网络流量监控系统trafficmonitor分为以下几部分, 如图1所示。

(1) 抓包模块:抓包并进行分析, 完成各种统计功能;

(2) Web服务器模块:提供数据输出;

(3) DNS模块:完成基于host统计的DNS解析功能;

(4) DB模块:完成存储、调用包、统计数据功能;

(5) LOG模块:与抓包模块类似, 用于记录功能;

(6) 翻译模块:翻译软件界面语言, 使用Get Text;

(7) 绘图模块:完成图形化输出。

3.3 程序流程

图2为程序流程图。

其中, Check sanity () 检查bignum数位转换功能;Setlocale () 配置地域化信息;Bindtextdomain () 设置目录所包含的信息目录, 在gettext.h中实现;Printf输出所使用的libpcap版本;Signal () 设置信号对应的动作。

4 详细设计与实现

4.1 数据包捕获与分析模块

数据包捕获系统最主要的作用就是捕获网络数据包, 本系统中使用了Libpcap库开发包。Libpcap主要由两部份组成:网络分接头 (Network Tap) 和数据过滤器 (Packet Filter) , 如图3所示。网络分接头从网络设备驱动程序中收集数据拷贝, 过滤器决定是否接收该数据包。

主要功能函数如下:

(1) 网络接口函数:获取网络接口、网络地址等信息以便其进行数据包捕获。

(2) 规则函数:设置BPF过滤规则。

(3) 数据包捕获函数:捕获网络数据包。

(4) 文件相关函数:进行一些与文件相关的操作。

4.2 数据库模块

4.2.1 数据库模块

(1) 初始化数据库, 定义一个默认大小的存储池:voiddb_init (db*d) ;

(2) 存储池的增加定义函数:inline int db_growpool (db*d) records;

(3) 释放数据库:void db_free (db*d) ;

(4) 获取数据库里的条目:inline void*db_get (const dbd, const dword n) ;

(5) 向数据库里添加条目:inline int db_add (db*d, void*data) 。

4.2.2 PC机数据库模块

(1) 定义全局数据库变量:db host_db[256];

(2) 初始化:void host_db_init (void) ;

(3) 释放空间:void host_db_free (void) ;

4.3 数据统计显示模块 (WEB服务器)

本系统的数据输出时通过一个内嵌的WEB服务器来显示的, 首先进行数据包信息的捕获, 然后存储到DB中, 再把采集的数据包信息以图表的形式显示在WEB服务器上。

4.4 图形显示模块

图形显示模块式基于Web浏览器的, 由于流量监控图是动态的, 故需要对流量进行实时性显示。

主要函数:

pthread_mutex_t graph_mutex:循环缓冲数据, 包括秒、分、小时、日的输入与输出。

time_t graph_time:显示当前时间。

void init_graph (void) :初始化图像。

inline void graph_add_in (const dword amount) :图像中添加单元。

inline void graph_add_out (const dword amount) :图像中删除单元。

void graph_save (FILE*fp) :更新图像的文件保存。

int graph_load (FILE*fp) :读取图像。

4.5 翻译模块

本文所设计网络流量监控系统采用Gettext作为翻译系统。

.pot典型文件条目如下:msgid"Maximum:";msgstr"最大值:"。

运行时, 只需设置环境变量中的LC_MESSAGES, 程序将自动从相应的.mo文件中读取语言信息。

5 系统测试

由于本路由器端口有限, 故添加两台PC机, 一台监控设备。

分别给监控设备、两台PC机、路由器配置IP为192.168.1.2、192.168.1.33、192.168.1.34、192.168.1.1, 使得这些设备共处于同一个网段中, 如图4所示。

5.1 搭建测试环境

5.1.1 服务器的安装与配置

(1) 安装TFTP与NFS服务器, 使用命令:sudo aptget install tftpd-hpa tftp nfs-kernel-server。

(2) 配置TFTP与NFS服务器, 在本文中, 宿主机的IP为192.168.1.2, 网关192.168.1.1, 子网掩码255.255.255.0, 目标机器的IP为192.168.1.1。

5.1.2 文件烧写

软件编写完成后在本机上需进行交叉编译, 生成二进制文件, 烧写在路由器中即可使用。

(1) 编写autogen.sh文件与makefile.am文件, 生成configure文件与makefilw文件。

(2) 配置并运行configure文件。

(3) 将trafficmonitor文件夹置入Open Dev/my-files/mypackages。

(4) 打开终端, 在Open Dev目录下执行:/scripts/feeds update mypackages、/scripts/feeds install-a和Rm-fr bin tmp。

(5) 在终端中执行make menuconfig, 进行编译。在Share Root目录生成文件:Open Dev-RG100A_DB120-squashfs-cfe.bin。

(6) 在终端中执行ping 192.168.1.1, 查看是否与目标机ping通, 若ping通则执行telnet 192.168.1.1。

(7) 进入Fire Fox浏览器, 执行:192.168.1.1, 进入路由器配置, 选择/系统/固件映像文件/刷新固件, 选择烧写文件Open Dev-RG100A_DB120-squashfs-cfe.bin, 完成烧写, 重启目标机。

(8) 在终端中执行:telnet192.168.1.1, 宿主机与目标机建立连接。

(9) 在终端进入trafficmonitor目录, 执行:trafficmonitor-i br-lan。

最后, 在Fire Fox中键入192.168.1.1:666 (666端口之前分配了) , 即可进入流量监控的主界面。

5.2 测试环境与结果

系统程序运行结果:

(1) 由程序主界面可获悉已捕获29, 572个包, 总流量为3, 574, 533字节, 如图5所示。

(2) 由分主机流量监控界面可获悉出本次测试内的两台PC机:192.168.1.33与192.168.1.34, 如图6所示。

(3) 由分协议流量监控界面可获悉ICM、IGP、TCP、UDP、数据包的流入、流出情况, 如图7所示。

(4) 由过去时间段内流量统计界面可分别得到过去60s、60min、24h和30d的流量大体趋势, 如图8所示。

6 结语

嵌入式Linux系统移植是嵌入式系统开发的热点和难点, 而网络流量监控系统对于网络管理的重要性, 也一直是业界的热点。本文主要完成了对嵌入式开发平台的构建以及对网络流量监控系统的设计实现。本文所做的主要工作和所取得的研究成果包括:

(1) 研究了交叉编译环境的构建;

(2) 对Linux内核做了配置、移植;

(3) 对内核交叉编译过程以及使用Busybox构建根文件系统等关键问题做了深入论述;

(4) 详细描述了网络流量监控系统的设计构建, 平台搭建, 以及软件编码实现与嵌入式设备上的移植方法与过程。

本文主要完成了内核的移植, 根文件系统的构建, 设备的驱动以及软件的实现, 网络流量监控系统的设计实现, 但是因为时间原因网络流量监控系统还有许多工作有待完成, 包括:

(1) 对数据链路层数据的监控。网络流量的监控不仅仅在IP的层面上, 还有很多非IP的网络, 通过Libpcap库抓到以太网帧, 但是没有能够对以太网帧进行分析与监控统计, 仅仅进行了过滤, 随后对IP包进行了处理。

(2) 对高层数据的监控。如今的网络, 已经不仅仅局限于网络层与传输层的监控, 越来越多的高层应用, 让网络的发展进入了一个新的纪元。在应用层上的流量与数据分析, 也随着网络应用的发展, 变得愈发的重要。本文所设计实现的网络流量监控系统并未完成对高层流量进行监控。

本文设计的网络流量监控系统, 仅完成了对于网络流量的监视, 而没有达到控制层面。在网络发展的今天, 发现异常流量并及时处理解决显得尤为重要。在后续的改进内容可在系统设计中增加控制模块, 以实现排错与管理的功能。

摘要:随着互联网和计算机技术的迅速发展, 网络安全问题变的日益严重, 监测网络流量中的异常情况显得尤为重要。笔者设计实现了基于Linux平台的内核流量监控系统, 实现了对数据包捕获、流量监视与统计等功能, 为网络管理员了解、监控网络运行状态提供了参考。

关键词:嵌入式,流量监控,Libpcap

参考文献

[1]谢希仁.计算机网络[M].第5版.北京:电子工业出版社, 2009.

[2]陈涛.IP网络流量监控数据图形化的实现方法[J].郑州轻工业学院学报:自然科学版, 2009 (6) .

网络流量监控系统 篇5

解决这个问题的一个方法是优化现有技术方案,许多网络流量仍然基于TCP/IP。TCP提供了可靠有序的数据包传输,大多数Web应用、电子邮件和文件传输都使用这种协议。可是,TCP的流管理算法并不先进:如果网络或接收端无法处理发送的传输速度,其表现是出现丢包、超时或乱序数据包过多等问题,那么网络流的传输速度会下降一半。随后,速度会缓慢提升,但是仍然明显比以前慢。

所以,在WAN上,需要长时间数据传输的TCP应用(如大文件传输)的性能可能会受到严重影响:在这些链路上,传输时间越长,意味着发送端感知不到性能下降的时间可能会更长,然后需要更长时间才能对速度下降作出响应。TCP优化可以缓解这些问题,方法是避免网络出现丢包或乱序传输,或者直接修正 TCP流和调整速度升降行为。

下面3个技巧可以帮助IT经理和工程师优化TCP:

技巧1:不要再想增加带宽,而要注意拥塞问题,

问题不一定在于有多少数据需要从A点通向B点,而在于所有独立发送端和接收端能够多快完成数据传输。快速升速/快速降速/减慢升速/加快降速等行为会加快非拥塞网络的应用传输速度,但是它会增加新发送端加入传输时引起拥塞的概率。对于一些通过改变升速行为来减慢初始升速或者降低初步降速大小的优化器而言,它们可以防止最先发生的拥塞,并且通过在新流量流开始提升传输速度时预先减慢其传输速度,从而可以更好地处理威胁。

技巧2:要注意网络优先级。流量成形优化器旨在保证组织能够控制所消耗的带宽。控制可以是正面的,即保证特定的应用、设备或用户获得一定的带宽;也可以是负面的,即限制特定用户、设备或应用所使用的带宽。使用它们优化TCP流量,需要在制度上明确流量的类型,以及在发生拥塞时哪些应用和用户具有获得网络资源的优先权。

浅谈IP网络流量分析 篇6

随着网络的应用越来越广泛,网络中承载的业务也越来越丰富。企业需要及时了解到网络中承载的业务,及时掌握网络流量特征,及时解决网络性能问题。从这些企业管理网络中所经常遇到的问题来看,需要有一种解决方案能让网络管理人员及时了解到详细的网络使用情形,使网络管理人员及时洞察网络运行状况,及时了解网内应用的执行情况。

二、流量分析的应用

1.基于SNMP 的流量分析

SNMP(Simple Network Management Protocol,简单网络管理协议),是一种广为使用的网络协议,基于SNMP 的流量分析就是通过SNMP 协议访问设备获取MIB 库中的端口流量信息。典型工具有MRTG(Multi Router Traffic Grapher),MRTG 是一个实用的免费软件,MRTG 使用起来很方便,能够非常直观地显示端口流量负载。但MRTG 的功能比较单一,其收集到的流量信息仅是简单的端口出、入流量统计信息,不能用于深入的流量分析。

2.RMON

RMON(Remote Monitoring,远程监控),是由IETF定义的一种远程监控标准,RMON 是对SNMP 标准的扩展, 它定义了标准功能以及网管站和远程监控器之间的接口,实现对一个网段乃至整个网络的数据流量的监视功能。

RMON 监控器可用两种方法收集数据:一种是通过专用的RMON 探针(Probe),流量探针安装方便,但是流量探针价格昂贵, 不适合大面积部署。另一种方法是将RMON 代理直接植入网络设备(路由器、交换机等),但这种方式受网络设备资源限制,一般不能获取RMON MIB的所有数据,大多数只收集统计量、历史、告警、事件等四个组的信息。

3.NetStream技术

NetStream是H3C基于“流”的概念,定义的一种用于路由器/交换机输出网络流量的统计数据的方法。路由器/交换机对通过其的IP数据包进行统计和分析,并上报给数据采集机,采集机把搜集的数据包及统计数据传送到中心服务器,经合并处理后存入数据库,并进行进一步的分析处理。NetStream技术可利用网络中数据流创造价值,并可在最大限度减小对路由器/交换机性能的影响的前提下提供详细的数据流统计信息。

4.sFlow

sFlow(RFC3176)是2001 年由InMon 公司提出来的技术,sFlow(RFC3176)是IETF 的一个开放标准,可提供完整的第二层到第四层、全网络范围内的流量信息。

sFlow 监控系统包括sFlow 代理、sFlow 数据采集器或sFlow 分析器,sFlow 代理通常为硬件芯片内嵌到路由器或交换机中,通过统计采样技术获取流量信息形成sFlow 数据包, 并立即发送给sFlow 分析器进行流量分析。sFlow 可以直接内建在边缘的二层或三层交换设备上提供覆盖全网、实时网络监控的功能,是一种很有发展前景的技术。

三、流量分析的应用

NTE(NetTraffic Exporter)负责流量的采集和发送;NTC(NetTraffic Collector)设备负责收集和存储NTE发来的流量统计数据信息;NTP(NetTraffic Processor)从数据库中获取收集到的数据,经分析加工后以直观的图表、报表等方式为网络规划、网络优化、网络监控、流量趋势分析、异常检测等提供直接的数据依据。

各组成部分的关系如下图所示:

1.流量监控

网管人员可按照系统提供的参数来设定监控条件,系统根据设定的监控条件过滤得来流量记录(Flow Record)并将符合监控条件的统计资料存入系统数据库中。最后,系统便可以从数据库里读取数据做成各种图表(Report)。因此,网络管理员可针对网络的重要链路进行流量监控, 掌握不同链路的流量基线,及时了解链路的负载和发现问题。

2.流量分析

网管人员可以开启实时监控功能, 针对所设定的范围做流量数据的收集与分析。在同一时间里,可以开启多个实时监控窗口,每一窗口独立监控一项设定,并根据搜集得来的资料自动排序,做成各种报表。

例如:网络中近期BT 下载开使流行,这是一种多点下载的源码公开的P2P 软件, 它的特点是下载的人越多,下载速度越快,但网络资源占用大,目前网络中监控到的BT 下载流量加起来已超过流媒体应用, 给网络造成一定压力。通过定期对网络中一些重要的特定流量进行排名分析,将帮助网管管理员了解所辖网络中的流入流向信息,以及应用协议的分布状况,有助于网络管理员建立自己网络的流量模型,在网络维护或扩容决策时,提供重要的参考。

3.异常流量分析

现在随着IP 网络不断扩大, 网络中也经常会出现黑客攻击、病毒泛滥的情况,而这些网络突发事件从设备和网管的角度看却很难发现问题,经常也让网络管理员感到棘手,因此,针对网络中突发性的异常流量分析将有助于网络管理员发现和解决问题。(如下图例)

分析:

10.153.120.51:个人设备S05947,3月8日晚19:00左右开始,每10s向同网段多个IP地址发送UDP广播报文,长度为固定的65字节,源端口、目的端口均为7777,总流量不大,仅为0.25GB。进一步查看该IP地址流量发现大量25000以上连续动态端口,TCP协议流量,1小时内总流量达到1GB。从报文特征判断,初步怀疑该员工使用PPLive连接外网服务器下载观看网络电视,经联系信息安全部门人员查证核实,确知该员工非法安装PPLive软件,违反公司相关规定,及时对该员工进行了处理。

四、结束语

通过以上应用可以看出,IP 网络流量分析可以提供大量详尽的数据,供网管人员从多个方面更好地维护、优化IP 网络,提升IP 网络的性能;同时还能为业务应用层面提供数据依据,为特定客户提供流量分析服务,比如网站流量统计分析等;也可作为网络安全的辅助手段,处理网络病毒等异常事件。因此,可以预见,随着网络的发展,流量分析工作将在网络管理中起到越来越重要的作用。

参考文献

[1] 谢希仁.计算机网络(第4版).电子工业出版社,2003.

[2] W.Richard Stevens.任守奎,等,译.TCP/IP详解(第一卷 协议).北京大学出版社,1999.

[3]网络流量分析解决方案技术白皮书.2005.

网络流量监控系统 篇7

SNMP即Simple Network Management Protocol的缩写,译为简单网络管理协议,因为它首先由ETF的研究小组为了解决在Internet上的路由器管理问题提出的,因此许多人认为SNMP在IP上运行的原因是Internet运行的是TCP/IP协议,但事实上,SNMP是被设计成与协议无关的,所以它可以在IP、IPX、AppleTalk、OSI以及其他用到的传输协议上使用。其前身是简单监控协议。该协议的主要目的是为网络设备之间提供管理信息交换的设施,采用SNMP协议访问网络管理信息能够使网络管理人员更加容易地管理网络,发现和解决网络问题。因而SNMP也成为流传最广、应用最多、获得支持最广泛的网络管理协议,它代表了网络管理系统实现的一个重要原则即网络管理功能的实现,对网络正常功能的影响越小越好。从1987年11月SNMP的提出到现如今其发展取得了显著的进步,经过了SNMPv1、SNMPv2、SNMPv33个版本的发展阶段,并使其功能性和安全性不断得到提升和完善。

SNMP的结构是由网络管理站、被管理者、管理信息库和网络管理协议4部分组成。网络管理站是具有运行网络管理协议SNMP和运行网络管理的支持工具及网络管理应用软件的主机。网络中至少有一台这样的主机,它运行特殊的网络管理软件。被管理者包括主机、网关、服务器、路由器、交换机等网络设备。管理信息库用于记录网络中管理对象的信息。管理代理可以从MIB中读取各种变量值,也可以从MIB中修改各种变量值,并与管理进程进行通信,影响其管理请求。SNMP结构中的管理协议就是SNMP协议。

SNMP的工作机制主要是完成对MIB的4种操作和信息传输,具体来说:

get—获取指定的管理信息对象。

get next—索制的管理对象的下一个对象。

set—设置修改和维护MIB。

trap—管理代理向管理工作站发出异常处理请求。

2 系统及应用

2.1 基于SNMP的网络监控系统

网络流量的类型分类十分繁琐和复杂,人们为了便于监控和管理,把不同类型的流量组合起来,主要分为两大类:(1)源节点到一个或多个目的节点之间的基于IP层的网络端到端的流量,IP层的每一设备都可以作为源和目的结点,如路由器、交换机、服务器和工作站,这种类别流量是从实际网络中所测量的流量数据,通常可以用来与网络最大负载能力比较以表现当前网络链路的繁忙状况;(2)发生在节点间的应用层业务流量,包括HTTP、P2P、FTP、Email、Print、视频等多种不同的业务,每种业务都可由其相应的属性参数来描述。第一种类别流量收集IP层及以下各能参数;第二种类别主要收集应用层的性能如果只采集其中任何一种类别的流量,都到关于网络整体性能的分析,因此在实际应为了反映网络整体性能,需要由各个层次参数来体现,所以,通常在一个完整的流中,两种类别流量的收集都很重要。

在当今社会中网络流量的监控系统正受到越来越多的网络用户的关注和兴趣,因为网络流量监控的成功与否对于网络效率有很大影响。对于一般网络流量监控系统普遍存在着兼容性差,难于满足特定网络监控要求,网管人员很难有效监控网络的数据流走向、各个网络结点间的数据流状况及其他网络异常情况。利用SNMP协议对网络流量进行监控主要是运用了其中的管理信息库即MIB,它可以通过对网络中各种变量的反应以及对相关陷阱的报警,从而达到监控的作用,这样从而满足了特定的网络监控的需求。网络流量监控系统与SNMP的管理进程其实是一个通过简单网络管理协议软件所提供的相关接口函数实现其作用的。整个流量监控系统构架于SNMP模式的管理者和代理机构之上。对于该流量监控系统主要讲述一下MIB和Web管理系统。

MIB即管理信息库,它是网络管理数据的标准,在这个标准里规定了网络代理设备必须保存的数据项目,数据类型,以及允许在每个数据项目中的操作。通过对这些数据项目的存取访问,就可以得到该网关的所有统计内容。再通过对多个网关统计内容的综合分析即可实现基本的网络管理。其分为MRP-Ⅰ和MRP-Ⅱ两种。MRP-Ⅰ是早期的网络管理信息库的标准,主要是描述管理网络所需的最小限度的管理对象。MRP-Ⅱ则是在其基础上增加了地址变换对象、传输对象以及操作对象等后形成的。由于采用了ASN.1描述管理对象,MRP-Ⅰ和MRP-Ⅱ都采用树形结构,且相互兼容。在MIB树中,每个节点都有一个识别符,每个对象由从树根到该对象对应的节点的路径上的识别序列唯一确定,且序列中各标号用圆点分开。管理信息库MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。MIB给出了一个网络中所有可能的被管理对象的集合的数据结构。应当指出,MIB的定义与具体的网络管理协议无关,这对于厂商和用户都有利。厂商可以在产品(如路由器)中包含SNMP代理软件,并保证在定义新的MIB项目后该软件仍遵守标准。用户可以使用同一网络管理客户软件来管理具有不同版本的MIB的多个路由器。当然,一个没有新的MIB项目的路由器不能提供这些项目的信息。

而Web服务器提供用户查询与交互模传统的基于C/S架构的管理模式存在不足,随着Web技术的成熟及广泛应用,全新的网络管理模式,基于Web的网络管理WBM(WebBasedManagement),以特有的灵活性、易操作性等特点,被誉为“将改变用户网络管理方式的革命性网络管理解决方案”,我们在本系统设计中,将网络管理信息的数据由SNMP从MIB库中收集到,经过网络管理系统应用程序的过滤、分析、加工处理后,存储于Web服务器的数据库中,管理员通过Web技术可从浏览器本地或远程访问流量监控系统,WBM技术与传统的网络及设备管理系统相比,在分布性、用户界面等方面都有独到的优势,动态网页PHP的函数集中提供了使用SNMP协议的网管函数的接口:SNMP-get-quick-print、SNMP-set quick print等,因此使用PHP来实现轮询操作,通过PHP提供的网管函数库与数据采集模块的Agent交互获得流量监控的数据,使用PHP语言和Ajax技术创建Web管理页面,通过标准的接口,可将用户的HTTP格式的请求转换成SNMP协议的格式,或将SNMP协议数据单元转换成HTTP格式显户的浏览器界面,同时采用Ajax(“Asynchronous JavaScriXML”,即异步JavaScript和XML)窗体技术。技术之中,最核心的技术就是XMLHttpRequ为运行于浏览器中的JavaScript脚本提供在页面之内与服务器通信的手段,这使得的JavaScript可以在不刷新页面的情况下器获取数据,而不是刷新整个页面。

2.2 应用

基于SNMP的网络流量监控系统在社会各领域中应用十分广泛,涉及到教育、经济金融、电力行业等等,在促进经济社会的全面发展中发挥着举足轻重的作用,对于未来的社会发展也扮演着十分关键的角色。

基于SNMP的网络流量的监控系统在局域网及其他大型企业网的复杂应用环境中,网络面临的攻击及威胁主要来源于网络内部,如大量病毒、网内主机的主动攻击及网络异常流量的突增都将引起网络设备负荷过重,从而导致网络拥塞,并可能进一步导致网络瘫痪。因此,基于全网所有网络设备、服务器群组的流量状况的24小时实时监控和日志及流量分析统计,将对于保障复杂环境下的整个网络的安全、设备稳定,以及防止服务器群组被攻击有极大的意义。

例如,随着网络拓扑结构、网络设备、计算机数量等局域网网络环境和社会网络环境的系列改变,使得近期的通信网络运行不是非常稳定,主要表现为时延较大、丢包,甚至短时间断网,导致信息交换不流畅、打开网页时有时需要等待一些时间、登录NOTES服务器时超时等。特别是一些不文明的上网行为,使得网络更加不稳定。在对近期这些现象的监测分析过程中,基于SNMP的网络流量的监控系统以其简捷快速的优势逐渐发挥着重要的作用。

3 结语

基于SNMP的网络流量监控系统也凭借着自身的优点获得着更多用户的青睐,也促使其不断完善和发展。在将来的网络世界中它的作用也会愈发重要。应用领域也会不断拓展和延伸。21世纪是信息和网络迅速发展的世纪,网络已经成为人们日常生活中必不可缺的角色,因此每一个人都应该加强对于网络的认识和学习,逐渐的认识它,熟悉它,掌握它,使其成为追求梦想实现自身价值和事业成功的助推力。

摘要:有效的网络管理不仅能够保证网络的正常运行,而且能够有效地避免网络故障带来的损失。在网络管理过程中,网络流量监控是整个网络管理的一个重要部分,分析了基于SNMP的网络流量监控系统及应用的重要性。

关键词:SNMP,网络流量,监控系统,MIB,应用

参考文献

[1]李大友.网络管理技术[M].北京:电子工业出版社,2005.

[2]胡剑锋,盛鸿宇.网络管理[M].北京:北京理工大学出版社,2006.

网络流量监控系统 篇8

在代码的实际编写中,这3个小模块各封装成一个类(class),这样将既有利于代码的重用,又为使用ACE库中的instance->spawn()函数来发起线程提供了方便。

首先,应该考虑到大部分服务器都会存在有多张网卡,但不能要求用户去输入网络设备,而是查找出机器上的所有网卡,让用户自行选择,体现出所做系统的良好人机对话。

这样用户只需要输入屏幕所列出的序号选择其所对应设备即可(如图1)。

很多人都会使用pcap_lookupnet()函数来获取网络设备的网络号和掩码。本设计并不会用到这些所获取的数据,但是如果应用中需要用到这些数据,就需要注意网络序和“.”隔字符序的转换问题,使用inet_ntoa()函数即可。

然后,打开网络设备,开始抓包。但是要面对一个问题,那就是包的选择机制,libpcap库提供了pcap_setfilter()函数来设置过滤程序,但是考虑到每个实际应用对包所做的处理可能是多样的和复杂的,选择了将数据包的处理放到专门的数据处理模块中进行,这里就只是个纯粹的数据包截获模块,这就实现了一个统一的数据接口,任何模块都可以按照这个数据接口从此获得数据。实现如下:

回调函数的功能是将捕获的每一个包都压入队列packetq中,在包的处理模块中将包从队列中读出,实现线程间的通信,而这个队列也就成为两个模块间的接口。

2 数据包的解析与处理

2.1 数据包处理流程图

在这里包被提取出来,并根据需要加以处理。数据包处理流程如图2。

2.2 设置判别条件

这里采用通过配置文件来设置判别条件的方式,使用者只需修改设置条件即可。以下给出了一段读取配置文件的实现,对此类方法具有通用性:

显示如图3。

2.3 数据包处理类

根据数据包捕获模块留下的接口,首先从队列里取出包(packet),这里要注意,每取一个包就要将这个包从队列里删除(pop函数即可)。从队列中取出包,就需要对它进行解析。

在这里获得的数据包是以太网数据包,如果所设计的应用程序需要区分是IP报文还是ARP RARP报文,那么就到这里来提取:

ethernet_protocol=(struct ether_header*)packet

ethernet_type=ntohs(ethernet_protocol->ether_type)

所得到的ethernet_type的值就是以太网数据包封装里的类型字段,值为0x0800代表是IP报文,0x0806代表ARP报文。

文中需要的是统计指定网络设备各端口的流量,而tcp报文和udp报文的封装格式并不相同,那么就需要对IP报文再进行区分,分别对tcp报文和udp报文进行解析。在程序的设计和开发中要考虑以下几个问题。

(1)上下行的判别

如何区分报文是上行还是下行是首先必须要考虑的问题,从报文出发,能获得IP地址和port号,那么该如何选择呢?先从端口号的角度出发,如果以端口号作为判断标准,那么获取的原端口和设为判断的端口号一致就代表这个包是上行数据包么?显然不可以。把网卡抓包设为混杂模式,那么将抓取一个局域网内所有的数据包,也就会抓到一个包他的源宿端口号相同的情况,那么只能从IP的思路出发了。为了使应用程序可以对一个局域网内的任何一台或多台设备进行监测,我们选择了让配置文件传递判别IP地址数据的方式。

(2)具体实现

以下给出了对tcp的报文进行解析,并按照端口分别进行上下行的流量统计的完整实现:

3 结语

万兆网络流量分析系统设计与实现 篇9

网络流量如实记录了当前网络的运行状况, 网络流量分析有助于网络管理人员监测网络性能优化网络架构、发现异常流量及时排除网络故障、快速定位响应网络安全事件, 采取网络行为管控措施应对网络运维挑战。随着网络带宽的飞速发展, 网络流量分析的难度越来越大。主要体现在高速网络的数据包捕获和会话协议深度分析两方面, 前者传统的Libpcap、PR_RING等技术已难以满足高速网络采集的需求, 为了突破防火墙的封堵, 开始大量使用非标准端口或挪用标准端口, 基于固定端口网络流量识别在当前网络应用环境下已难以胜任网络流量分析工作。而现有的网络流量监控系统如SNMP、MRTG、Wireshark存在诸多缺陷: (1) 无法在线分析所有会话或网络会话缺少关联; (2) 网络流量协议分析结果准确性较低, 协议识别采用基于协议固定端口或DPI检测识别, 无法实现附属会话识别, 如FTP被动模式数据传输会话的识别; (3) DPI深度报文分析的性能和效果较差, 表现为处理能力低难以达到万兆线速处理、不能跨包检测等。

本文实现了ONFA万兆网络流量分析系统, 较好解决了万兆网络大规模会话管理和跨包检测和协议附属会话关联问题, 具备在万兆网络环境下深度分析网络流量的能力。ONFA的主要技术改进包括:底层采用基于DPDK报文捕获平台, 实现了万兆线速报文捕获;采用大规模TCP并发会话在线重组技术和基于分治的多线程哈希索引链表无锁并发算法, 实现了万兆在线会话重组;基于多流缓冲整序的会话按需重组算法和“包-流-会话”三层交互深度协议检测与协议会话关联技术实现了网络协议流量分析, 显著提升了协议识别准确率和识别速率。

2 万兆网络流量分析系统ONFA的系统结构

Omni Network Flow Analyzer (简称ONFA) 系统是基于深度协议检测 (Deep Protocol Detect, DPD) 和协议会话关联 (Protocol Session Associate, PSA) 网络流量分析方法设计的万兆网络流量分析系统。ONFA万兆网络流量分析系统的系统结构如图1所示:

ONFA主要由DPDK报文捕获、大规模会话重组、DPD&PSA深度协议检测等模块组成。DPDK报文捕获模块采用DPDK捕获10GE网络上的网络报文, 并将网络包传递给大规模会话重组模块。大规模会话重组模块对并发会话按需并行重组, DPD&PSA深度协议检测模块进行深度协议检测, 并对协议附属会话进行关联分析生成网络流量分析结果。

3 关键技术

3.1 DPDK流量采集技术

基于Intel双万兆接口网卡, 采用DPDK基础库的多核框架、环形共享队列和轮询驱动, 在用户层空间构建高性能应用层网络包处理程序, 实现10GE线速数据包采集。

3.2 大规模TCP并发会话在线重组技术

网络流量分析中较为有效的DPI深度包检测方法无法识别特征词分包传输的流量。为了提高分析的准确率, 深度协议检测方法需要“包-流-会话”三层数据, 协议会话关联需要使用控制会话关联附属会话, TCP并发会话在线重组是实现上述分析的基础技术条件。ONFA系统的大规模TCP并发会话在线重组模块主要采用以下两个关键算法实现。

算法1:基于分治的多线程哈希索引链表无锁并发算法。

输入:IP数据包。

输出:对应会话管理器。

(1) 调整IP来源地址端口与IP目的地址端口顺序, 低数值在前, 高数值在后, 填入Protocol、IP1、Port1、IP2、Port2、way字段, 当IP1是来源地址时为上行way=0, 否则为下行way=1;

(2) 计算Protocol、IP1、Port1、IP2、Port2的21位哈希索引值Hash, 总哈希空间2 097 152条;

(3) 计算线程队列threadid=hash%64, 共64个线程队列;

(4) 获取对应线程的先进先出任务队列的写入锁, 将IP包压入任务队列, 释放写入锁, 数据输入完成;

(5) 64个线程各自处理各自的任务队列, 无锁查找哈希索引链表, 若存在对应[Protocol, IP1, Port1, IP2, Port2]五元组的会话管理器, 送入会话管理器处理, 否则新建并送入会话管理器处理。

算法2:基于多流缓冲整序的会话按需重组算法。

输入:会话管理器。

输出:收缩已知会话, 销毁超时会话。

(1) 检查会话重组开关, 若无需重组, 更新流量统计信息后处理结束, 否则转下一步;

(2) 数据包先通过初级包层协议检测, 然后按ACK进行流分组, ACK相同的进入同一个流重组容器, 多个流重组容器以链表的形式在会话管理器中按时序倒序存储, 新流在前;

(3) 同一个流重组容器对数据包按SN整序缓冲存储;

(4) 出现PUSH、FIN、RESET标志或会话内存占用超过设定值, 执行下一步;

(5) 对所有流重组容器按SN、ACK进行整序;

(6) 将有序的会话流链表送入深度协议检测模块执行会话协议流量分析;

(7) 深度协议检测判定为会话协议已识别的执行 (8) , 否则执行 (9) ;

(8) 若是控制会话保留会话内存, 否则该会话后续包无需重组, 仅保留会话的管理统计信息, 释放所占内存, 关闭该会话重组开关;

(9) 检测会话所占内存, 超过设定值保留统计信息, 释放流容器所占内存;

(10) 检测会话断开时间, 超过设定值, 协议仍未识别的会话执行 (11) , 协议已识别的会话执行销毁;

(11) 检测附属协议会话关联订阅表, 该会话符合表中注册关联条件, 流量统计信息计入控制会话, 不符合计入未知协议流量, 并销毁会话。

3.3“包-流-会话”三层交互深度协议检测与协议会话关联技术

传统的DPI深度包检测缺失数据整体特征, 对特征词分包传输的应用无效, 若只对单向会话流进行检测会缺失上下行交互协议特征而影响准确度。而且, 很多协议承载流规格相同或操作指令相似, 必须对“包-单向流-上下行会话”进行深度探测才能有效分辨。包和流层面若有上下行双向交互信息配合, 能够提高结果的准确率。

深度协议检测针对主流协议逐个设计高效的协议分析识别模块, 然后依据协议特点的不同, 分别在包序列交互级、数据流交互级、会话内容交互级三个通讯层面进行协议检测。首先在“包”层进行检测, 利用单向前后多包关联和双向交互序列包关联的方式进行初级检测;然后对需要继续在“流”层深度检测的送入流重组, 并对在“流”层利用单向前后多流关联和双向交互流关联的方式进行深度检测;对需要深入甄别承载协议的数据流, 再多次探测业务内容, 根据内容属性统计结果分析出正确的协议属性。

4 性能测试

实验对比首先综合三个结果对不同部分进行验证, 确定协议服务端口后, 使用端口规则统计实际包数作为100%的参考基准, 各算法分析结果与其对比得到识别准确度百分比, 作为个算法对各协议的识别准确率评估参考。表1是对比结果数据。

由于DPD&PSA需要前后多包关联和上下行双向包关联, ONFA系统启动时可关联诸如FTP被动数据传输会话, 但已开始传输的会话无法关联, DPI和基于端口的分析方法则无法检测FTP被动数据传输会话, 这导致DPD&PSA在初期会有少量已出联的流量未能有效分析, 从而影响最终的识别准确率, 表1和图2中是未能达到100%的准确率。HTTP代理协议由于使用类似HTTP的协议且传输HTTP载荷, 个别会话易被识别为HTTP协议, 造成准确率略有下降。

由上述分析结果来看, ONFA系统所用的深度协议检测方法在“包-流-内容”三层进行了更为准确的分析, 协议会话关联方法将FTP附属数据传输会话流量进行了关联识别, 有效提高了流量分析效果。

5 结语

ONFA万兆网络流量分析系统能对万兆网络在线进行网络流量分析, 具有深入内容的分析深度和关联协议附属会话的分析广度, 有较高的分析准确度。拓展应用到P2P协议流量分析是下一步研究方向。

参考文献

[1]杜坤凭, 康绯, 舒辉, 等.基于会话关联的软件网络通信行为分析技术[J].计算机应用, 2013 (7) .

网络流量监控系统 篇10

随着计算机网络技术的不断发展, 网络的结构与功能日益复杂, 网络性能监控与流量统计备受关注, 其对于网络规划、网络管理、网络QoS服务、网络应用设计等具有重要的意义, 成为网络研究领域的重要分支。ISO、ITU、IETF等国际组织先后制定了相应的标准和协议进行网络管理。网络性能监控与流量统计系统可实现网络性能监控和网络流量的统计工作, 便于网络人员进行网络的管理和维护。本文主要研究了网络性能监控与流量统计系统的设计与实现, 描述了系统模型、设计方法, 并在Visual Basic环境下实现了系统功能。

1 系统工作原理

网络性能监控与流量统计系统的开发基于T C P/I P的SNMP (Simple Network Management Protocol) 协议, 该协议是互联网络的管理标准。本系统可实现网络实时监控与数据采集的功能, 具有实时性、多线程及可扩展的特征, 不仅可以获取数据链路层与网络层中节点的数据, 还可以对应用层中所监控的对象进行数据捕获及事件回放。

1.1 网络性能监控与流量统计模型

国际标准化组织ISO对网络性能监控的定义为:网络性能监控是指为了优化QoS及获知网络性能的变化, 随机或定时记录收集统计数据。所收集的数据记录不仅可以用于监控网络性能, 还可以用于检测网络故障、调整网络配置及调节计费账单等。网络性能监控强调网络的高速率和高服务质量, 包括主动式性能监控和被动式性能监控, 其中主动式性能监控研究端到端性能检测和分析优化, 被动式性能监控研究网络流量分析。

网络性能监控与流量统计的模型如图1所示, 该模型引用了对象管理方法, 采用层次结构, 分为数据采集层、数据管理层、数据分析层和数据表示层。其中数据采集层可实现主动式数据采集和被动式数据采集, 前者监控网络性能问题, 后者监听网络流量;数据管理层可实现基本数据管理和事件管理, 前者根据预先定义和所采集的数据生成性能事件, 后者可提高性能问题的实时性;数据分析层可实现基本数据分析和事件分析, 前者包括流量统计、性能趋势预测和数据关联分析, 后者根据特定的原则进行事件过滤, 并决策适当的处理方法;数据表示层可提交网络性能监控与流量统计信息, 包括数据分析信息和事件处理信息。

1.2 网络性能监控与流量统计系统架构

网络性能监控与流量统计系统与网络管理系统、网络计费系统和网络安全系统相互补充, 可以为IP网络提供实时监控和异常现象的检测。系统架构如图2所示, 基于标准的B/S结构, 由采集器、分析器、数据仓库和Web逻辑组成。系统根据SNMP协议从路由器、交换机等设备提取网络流量数据, 并进行处理, 可及时向用户提供网络流量信息, 并可对数据进行整理、统计, 存储于数据仓库中, 用户可以查询相关信息。

2 系统设计与实现

2.1 系统功能与组成

网络性能监控与流量统计系统主要实现以下功能: (1) 监控多个网卡或IP地址的流量; (2) 获取网络接口描述; (3) 统计网络接口的发送流量与接收流量; (4) 统计网络的传输速度, 包括平均速度与最高速度; (5) 动态进行数据更新, 并且可视化显示信息。

在Visual Basic环境下可以编码实现网络性能监控与流量统计系统, 该系统包括网络流量监控模块、流量数据获取模块、远程文件访问模块、IP定位模块、网络报文获取模块、网络报文分析模块、网络事件监控模块、消息显示模块等, 其设计主界面如图3所示。

2.2 IP Helper API函数

IP Helper API是Windows提供的一组应用编程接口函数, 用于网络配置与统计。API函数功能强大, 具有提取网络接口信息、提取IP信息、设置本地网络、设置网络数据报等功能, 可以对网络连接进行监控, 统计网络数据流量。常用的I P Helper API函数如表1所示。

2.3 系统主要代码

(1) 获取网络适配器信息

'获取网络接口信息

3 结束语

网络性能监控与流量统计系统的开发基于SNMP协议, 通过Visual Basic编码实现, 可以完成网络流量的监控与统计。随着网络规模的扩大和网络结构的复杂度增加, 对网络性能监控与流量统计系统的要求越来越高, 系统必须适应大流量及复杂的网络, 将分布式技术与智能技术应用于网络流量监控, 符合下一代高速网络的需求, 可以更好地进行网络管理。

摘要:随着网络规模的不断扩大, 网络结构与功能日益复杂, 网络性能监控与流量统计已成为网络管理领域的重要部分。系统的开发基于TCP/IP的SNMP协议, 实现了网络实时监控与数据采集功能。本文主要研究了网络性能监控与流量统计系统的设计与实现, 描述了系统层次模型、设计方法, 并在Visual Basic环境下实现了系统功能。

关键词:网络性能监控,网络流量统计,网络管理,SNMP,IP Helper API

参考文献

[1]王继龙, 吴建平.大规模计算机互联网络性能监控模型的设计与实现[J].计算机研究与发展.2000.

[2]王珊, 陈松, 周明天.网络流量分析系统的设计与实现[J].计算机工程与应用.2009.

[3]四维科技, 曹衍龙.Visual Basic系统开发实例精粹[M].北京:人民邮电出版社.2005.

网络流量监控系统 篇11

外来的和尚会念经?

Alexa(www.alexa.c0m)是一家专门发布世界网站排名的网站。1996年以分类导航网站起家,目的是让网友在分享世界资源的同时,更多地参与互联网资源的组织。1997年,Alexa发布了AlexaT00lbar Bar(Alexa工具条),以收集用户的上网数据。通过这些数据,Alexa不仅给出了多达几十亿的网址链接,还为其中的每一个网站进行了排名。

Alexa的网站世界排名主要分为综合排名和分类排名。综合排名也叫绝对排名,即特定的一个网站在所有网站中的名次。Alexa每三个月公布一次新的网站综合排名。此排名是根据用户下载安装的Alexa工具条,反馈的用户链接数(Users Reach)和页面浏览数(Page Views)三个月累积的几何平均值计算得出的。1999年,Alexa被美国最大的电子商务公司亚马逊收购后,逐渐发展成为全球最知名的流量排名服务网站。

粗一看,Alexa的排名标准似乎很公正。加上我国互联网起步较晚,没有自己权威的第三方流量统计,因此,位于地球另一边的Alexa排名就自然而然地成为了国内众多网站流量高低的参考,并逐渐发展为行业风向标。然而,alexa的排名是依靠Alexa工具条反馈的用户浏览数据计算的。在国内,大部分网民只知Alexa排名,却不知Alexa工具条,更谈不上安装。流行的MYIE、腾讯TT等浏览器甚至根本就安装不了。加上国内流氓软件的原因,大量安装的中文杀毒、反毒软件将Alexa工具条视为可疑插件屏蔽在外。仅仅依靠Alexa工具条反馈的用户链接数和页面浏览数计算出来的Alexa排名,如果在中国采样数据的深度和广度不够,那么它所统计出来的数据就非常狭隘和单一,不具备客观公正性。事实上,由Alexa数据反映出来的网站排名,也往往与真实的网站流量和网站发展状况大相径庭。由于采样数据的不足,大量钻Alexa漏洞的“Alexa数据优化”服务应运而生。众多此类服务网站宣称:“只要注册下载Alexa工具条,进入开刷平台就一切0K,三个月见效”!这样高效率的刷Alexa,究竟有多少真实性可言呢?

不靠谱的Alexa

今年网络年度笑话,绝对算得上这一条:大名鼎鼎的腾讯QQ官方网站,居然在Alexa某一页上成了中国最大的火葬网,请看下面的网页截图,腾讯网的介绍赫然写着:“中国最大的火葬网,提供骨灰盒买卖……”

前面我们已经解释了Alexa数据来自于用户安装的Alexa工具条,而Alexa对网站的摘要一般由两种方式得来:一是向Alexa寄送E-mail邮件,通过Alexa认证后生成;二是将编辑好的内容,生成一个info.txt文件,上传至自己的网站根目录下,当Alexa发现这个文件时,就会将你对这个网站的描述收录进自己的摘要中。和Alexa的排名一样,这个摘要也是粗一看没问题,细一想就会发现要恶搞不成问题。因为Alexa本身是一家商业网站,而不是中立的权威机构,任何网友都有可能对网站介绍进行编辑和修改,也就是说任何一家网站都有可能成为下一个“腾讯火葬网”。

主宰中国网站兴衰的Alexa

在本刊记者的调查中发现这样—则旧新闻:2005年国内某网站经过一段时间的艰苦创业,拿到一笔风险投资,然而正当双方准备签约时,碰上了2005年Alexa第一次大幅清空中国网站数据。虽然该网站声称自己没有作弊,然而来自美国的投资者最终还是放弃了投资。

风险投资是随着中国互联网创业兴起的一个词,不少网上创业的年轻人,都寄希望于风险投资让自己的网站发展壮大。投资者需要对网站的媒介价值进行初步评估,因此网站需要证明自己的发展水平、市场影响力以及竞争能力。由于中国互联网初期没有客观公正的数据监测手段和网站综合考评标准,因此采用了美国的Alexa排名核定网站价值,久而久之就形成了现在依赖Alexa排名考评网站价值的状况。加之国内以Alexa作弊为营生的网站推波助澜,普遍依靠风险投资的国内网站就不约而同地钻研起Alexa排名,Alexa排名俨然成为中国互联网的江湖风云榜,排得越高就越证明自己有实力,而排得高的实力就是竞争的武器,意味着广告的收入以及源源不断的投资。

现在我们已经知道Alexa排名在中国不一定靠谱,但是多年累积形成的盲目崇拜,带来的唯一好处只是国内遍地开花的Alexa排名造假行业。而老老实实经营自己网站的人,在这样的大环境下,也不得不将Alexa排名优化提升到公司发展高度。这样的恶性循环造成作弊的人越来越多,被发现的几率也越来越大。由于国内大规模的作弊行为。Alexa完全有理由清空重算中国网站的流量数据。这样的清空游戏早不是一两次那么简单,而是频繁性的,想清空就清空!从2005年的二三次,到2006年的五六次、2007年的每月至少一次,以及今年的第一场雪,Alexa对中国网站的数据清空,不知让多少站长由最初的伤心到现在的麻木。2008年才开始,Alexa这一把中国网站头上的宝剑,还能主宰中国网站的兴衰多久?

谁来承担中国网站流量监督之职?

《电脑迷》曾在去年五月上至六月上,对国内搜索引擎的竞价排名进行了连续三期的报道。然而时至2008年,在国内使用最多的搜索引擎中输入“彩票”二字,充斥第一页的依然是给了钱的满屏广告。

Alexa已经无法承担高速成长的中国网站流量监督的重担了,这是业内皆知的事实。特别是Alexa反复无常的不定时数据清空,不但让相关者厌烦,也让部分人看到了新的机会,那就是率先建立自己的网站数据参考平台,树立国内网站流量统计权威!

Alexa是以分类导航起家,国内不乏类似网站,并且在搜索引擎日趋完善的今天,通过搜索引擎可以更方便地收集网民上网数据、统计网站实际流量。然而回头看我们的搜索引擎,人工置顶的竞价排名、比官方网站还靠前的推广链接、骗人的股票推荐和彩票预测,连中国自己的网民都怀疑的搜索数据,如何去说服投资商?只图眼前小利,而无视不远处的黄金,国内互联网的短视行为,不仅表现在大规模的Alexa作弊上,也出现在泛滥成灾的搜索引擎排名上。为了流量、为了短利,多少互联网企业在各种排名上绞尽脑汁。在我们看来,如此喧嚣的互联网市场扬起的尘土,让我们无法判断一家网站有多少是真的,多少是虚构的。诚信,这个中华民族的传统美德,在国内某些网站身上显得无比单薄。其实,只要下点功夫,要了解一家网站的真正实力并不难。然而不少国内网站对此却好像全然不知,只管自己在网站排名上的位置好看就行!这种投机取巧的行为,造成作弊成为行业潜规则,并影响了整个行业的行业诚信度,被一次又一次的Alexa数据清空做了说词。仅靠一个排名究竟忽悠了谁?毕竟投资者、广告商,甚至普通消费者,都不是单单一个排名就可以轻松忽悠的。

写在最后

网络流量监控系统 篇12

关键词:Qos,流量评估,CIR,CBS,TC

1、引言

随着计算机网络的迅猛发展, 气象事业对网络的依赖性逐渐凸显, 天气会商、雷达资料实时传输、区域站资料实时传输, 这些资料数据量大, 并且在灾害性天气过程中起着至关重要的作用。这些业务有一个共同特点, 即需高带宽、低延迟和低抖动的保证。气象业务系统的不断涌现使得不再满足于简单地将数据包传达, 并要求在传输的过程中提供专用带宽、减少丢包率、避免因气象资料传输导致网络拥塞。

避免网络拥塞、调控网络的流量的有限手段是对流量进行限制。这种限制是在非传输时段分配部分资源, 防止突发所导致的网络堵塞。这就需要对网络进行流量整形来限制流量, 流量整形的前提是要评估流量是否超出了所规定的阈值, 这样才能更好的实施调控。

2、Qo S流量评估的基本参数及概念

Qo S表示网络的服务质量, 包含网络带宽、延迟、传输数据的丢包率等。资源总是有限的, 在保证雷达业务的服务质量的同时, 也许会影响区域站数据的传输。为此, 我们有必要对气象各业务系统的传输时段和数据包的大小来对气象信息网的资源进行分配和调控, 提高网络资源的利用率。这就需要对流量进行评估, 一般采用令牌桶来评估流量大小。

令牌桶就如同水桶, 令牌是水桶中的水容量, 以是否有剩余容量作为数据转发的评判标准。以一定速度往水桶中放水, 令牌逐渐增加, 水满则溢, 令牌将保持不变。流量调控存在两个令牌桶的情况, 这种情况较为复杂, 用C桶和E桶来表示。

与令牌桶相关的参数见如下:

CIR表示承诺信息速率, 指允许通过的流的平均速度, 单位是kbps;

CBS表示承诺突发尺寸, 允许突发的最大流量尺寸, 也指桶的容量, 单位是Byte;

CAR表示承诺访问速率, 用来限制流的速度, 相当于阈值;

TC指周期性添加令牌的时间间隔, CBS/CIR的比值, TC会增加时延;

XCIR指本次加入令牌的时间与上次加入令牌的时间的差值;

EBS表示超出突发尺寸, 与CBS一个概念, EBS为E桶的容量, 单位是Byte;

PIR表示E桶允许转发数据的峰值速率。

3、参数分析

当进行流量评估时, 如果转发报文匹配的令牌数小于桶中令牌, 则该流量是在允许的范围内, 反之则流量超标了。

用水桶来举例:进水速度200L/S (CIR=200kbyte/s) , 水桶容量为2000L (CBS=2000kbyte) , 出水流速300L/S (下载速度300kbyte/s) , 此时进水的速度小于出水的速度, 差值为100 L/S, 桶内水未流完时, 出水速度为300L/S, 这个过程就是突发, 而桶内水流光后, 出水速度就取决于进水的速度, 由此可见, 对于小数据包的迅速下载完, 而大数据包则限制下载速度。

在令牌桶原理中, 令牌桶大小为CBS与EBS的和, 默认情况下EBS为0, CBS采用默认值。现实中是个动态的过程, 在令牌加入的过程中伴随因转发数据而消耗令牌, 存在两种情况:第一是XCIR超额的被丢弃, 加满后无TC间隔;第二是有规律添加, 间隔时间为 (CBS+EBS) /CIR的值。而EBS、CBS、CIR主要有如下几种情况:

(1) EBS为0, 而CIR与CBS设置一样, 速度由CIR决定, 但CBS又影响着CIR能放多少令牌数量。那么, 如果业务系统所用的流一直比CIR小, CBS允许突发量, 因为这种情况使得令牌桶累加;相反, 令牌就会被丢弃。

(2) EBS为0, CIR大于CBS, 速度由CBS决定, 因为桶容量满足不了CIR投放的令牌数, 业务系统流则为CBS大小的令牌, 导致突发很频繁, 业务系统所用流等于或大于CIR的投放速度, 桶令牌就会被消耗掉。

(3) EBS为0, CIR小于CBS, 速度由CIR决定, 这种情况允许突发的发生, 每当突发发生, 桶内的令牌迅速消耗光, 需要时间来向桶内补充令牌, 而网络时延就会增加Tc, 当业务系统流的速度小于CIR时, 会出现流累积大于CIR的突发流量的时候, 如果业务系统流不消耗令牌, 令牌就会积压起来, 流就会突发;但流很平均时, 由于每次CIR添加完后, 令牌都会被消耗掉, 就不会发生突发。

(4) EBS=CBS时超额突发将变为0, 而为适应业务系统的超额突发, 最好是将EBS设置成CBS的2倍以上。

4、报文标记

报文标记的过程如下, 设备端口的CIR设置为1Mbit/s, CBS为2000bytes, EBS为2000bytes, 初始状态时C桶和E桶满。报文处理过程汇总见下表:

从表中可以看出TC可以用来调节业务的时延, 也是向CBS桶内补充令牌的时间周期。业务流最大值为CBS的令牌数, 但需累积, 在添加令牌的周期内, 只可加入CIR所设定的令牌数目, 所以想让业务流达到CBS的令牌数, 需累计多次CIR。另外, 降低TC时延可以使业务突发次数变多。

我局H3C-6608路由器配置为:car cir 10240 cbs 640000ebs 0 green pass red discard yellow pass, EBS设置为0, CIR小于CBS, 这样设置是参数设置第三种情况, 速度由CIR决定, 这种情况允许突发的发生, 当气象业务数据和系统消耗令牌数小时, 令牌就会积压起来, 等到需要时流就会突发, 例如网络即承载着传输区域站数据、雷达数据、业务办公、各气象业务系统使用, 又承载着天气会商、实景监控这种情形就会发生突发。

5、结论

流量评估是流量监管、整形的前提, 参数的设置至关重要。CBS越大TC越大, 业务的突发时延间隔越大, CIR限制业务系统流的速度, TC来调节的时延, 但TC由CBS和CIR来控制。带宽参数的设置取决于实际业务的限速需要, 原则上, 令牌桶容量需要大于等于网络中可能出现的最大的报文长度和业务流量的正常突发量。

参考文献

[1]H3C 7500E ACL与Qos配置指导手册

上一篇:接法不同下一篇:创新与辉煌