APP下载

基于Netflow的网络流量监测与分析

2022-04-24李春平张淑荣叶裴雷

现代计算机 2022年4期
关键词:连通性网络流量数据流

李春平,王 东,张淑荣,叶裴雷,李 妍

(广东白云学院大数据与计算机学院,广州 510000)

0 引言

随着网络规模和终端用户数量不断增大,尤其是近年来宽带互联网和移动互联网的普及和发展,网络组织架构更趋复杂,网络服务和业务呈现多样化,使网络流量呈海量式增长。组织机构内部需要对其业务流量进行用户行为监控、日常流量统计、计费管理,另外网络工程师借助流量监测与分析工具能够发现异常网络流量,及时阻断病毒、黑客、恶意代码等的非法访问,从而提高网络的安全性与可靠性。同时互联网中的ISP服务提供商需要对各类网络服务进行计费管理,评估资源利用情况,合理分配资源,实施网络调优,从而实现控制运营成本的目的,使资源利用率最大化。这都需要可靠而且高效的流量监测与分析系统。

1 Netflow概述

1.1 传统的SNMP流量监测协议

由于SNMP 的数据采集是直接通过网络设备端口采集数据流量,从而无法提供具体的点到点会话连接的信息,因此对网络数据流量具体流向的统计方法实现起来较为复杂,且不够准确,基于SNMP的流量监测与分析系统存在着系统性能瓶颈、在大型网络中进行部署存在一定困难。

Netflow 是为克服传统的网络流量监测与分析系统的不足,由思科研发的网络流量监测技术,广泛应用在运营商、组织机构的网络上。基于Netflow 的网络监测系统由于占用的资源较少,对运行网络不会产生较大的影响,提供使用率统计、业务流量统计、业务流向分析、异常预警等丰富的功能,具有实时性和准确率高的特点。

1.2 Netflow概念

Netflow 是由思科开发的一种基于flow 的流量分析技术。Netflow 的信息单元被称为flow ,flow是一个带有唯一标识编号的单向的输入流或输出流。其中每条流主要包含源IP 地址(Source IP address)、源端口(Source port)、目的IP 地址(Destination IP address)、目的端口(Destination port)、IP 协议类型(IP protocol type)、服务类型(Service type)、TCP 标记(TCP flag)、字节数(Bytes)等内容。一个flow 就是端到端的一次连接或者会话。Netflow 对流入和流出网络设备物理接口的所有流量进行采集,通过对这些数据进行分析,可以发现网络异常行为,找出形成网络拥塞的原因。Netflow 采集的数据通常存放在本地的缓存中,通过定义在用户数据报协议UDP 的9996 端口上,也可以将采集的数据传输给任意第三方的Netflow监测分析工具。

1.3 Netflow工作原理

1.3.1 高速缓存机制

NetFlow 在开始工作时生成一个数据高速缓存,当Flow 中的第一个IP 数据包到达时,由于没有匹配数据,此时会创建NetFlow 缓存。NetFlow 缓存中同时包含了flow 的流量占比、字节数、数据包个数以及时间戳等统计信息。当后面的数据流进来时,将按照缓存内容匹配在同一个数据流中进行传输,其他的访问控制之类的策略信息就不再匹配。这种高速缓存机制大大提高了数据包检查匹配的速度。

1.3.2 缓存和传输机制

NetFlow 由两个核心组件组成:NetFlow 缓存和NetFlow的数据传输机制。NetFlow缓存用来存储来自输入接口采集的IP 数据流信息;NetFlow 的数据输机制主要根据预先定义的策略规则,将数据发送到网络管理采集器,便于数据采集。

1.3.3 超时释放

当数据流的flow 信息被接收时,在NetFlow数据高速缓存中会保留相应的副本,当在规定的时间内没有匹配规则的的数据流通过时,则停止对这个数据流的传输与统计,并释放高速缓存资源。在NetFlow 中到期的flow,将被执行封装在UDP数据报中输出。

NetFlow 不同的版本对flow 记录数量上存在略微的区别。在NetFlow V1 中最多可以有25 个记录,V5 版本中最多可以有30 个flow 记录,V9版本中28个记录,每秒钟至少发一次flow。

1.4 Netflow数据封装格式

NetFlow 采用UDP 数据报(datagram)的形式进行封装,主要包括头标信息和信息流记录,NetFlow有多个不同版本,从version 1、version 5、version 7到version 9,目前常采用的是version 9。NetFlow version 9 是更加灵活和可扩展的Netflow数据输出格式,采用了基于模板(Template)的统计数据输出,支持用户自定义数据格式、添加需要输出的数据域等多种Netflow新功能。

表1 显示 了NetFlow 版 本1 的Packet Header头标信息格式,表2 显示了NetFlow 版本1 的Data FlowSet 数据流记录格式。

表1 NetFlow版本1头标信息格式

表2 NetFlow版本1数据流记录格式

2 网络规划与部署

2.1 IP地址规划

以一个小型公司的局域网为例,该公司规模不大,内网需要通过边界路由器与外部Internet连接,实现对Internet的正常访问。为了监测网络流量,发现网络用户异常行为,内网上部署 了NetFlow 收 集 器。IP 地 址 规 划 如 表3所示。

2.2 网络拓扑设计

按照表3 中的IP 地址规划,设计网络拓扑图,其中局域网上部署了NetFlow 收集器。如图1所示。

图1 网络拓扑

表3 IP地址规划

2.3 网络部署

使用思科的Packet Tracer 模拟器进行仿真,配置好各个路由器、服务器、DNS、PC 主机的接口IP 地址及子网掩码,设置好默认网关和DNS地址,参考配置如下。

2.3.1 边缘路由器配置

flow exporter myflowEx

destination 172.16.0.100 //配置NetFlow 流 量收 集 器地址

transport udp 9996 //定义传输端口号为udp 9996

!

flow record rec1 //设置流记录规则

match ipv4 source address

match ipv4 destination address

match transport source-port

match transport destination-port

match ipv4 protocol

collect timestamp sys-uptime first

collect timestamp sys-uptime last

collect transport tcp flags

collect counter bytes

collect counter packets

collect interface input

collect interface output

!

flow monitor mon1

record rec1

exporter myflowEx

!

interface GigabitEthernet0/0

ip flow monitor mon1 input //监控IP输入流

ip address 172.16.0.254 255.255.255.0

interface Serial0/0/1

ip flow monitor mon1 input //监控IP输入流

ip address 66.88.0.253 255.255.255.252

ip route 0.0.0.0 0.0.0.0 Serial0/0/1 //配置默认路由

ip flow-export version 9

!

2.3.2 ISP路由器配置

interface GigabitEthernet0/0

ip address 198.0.8.254 255.255.255.0

!

interface Serial0/0/0

ip address 66.88.0.254 255.255.255.252

clock rate 2000000

!

ip route 172.16.0.0 255.255.255.0 Serial0/0/0 //配置静

态路由

ip flow-export version 9 //定义流输出版本

!

2.3.3 服务器及站点配置

NetFlow 收集器、DNS、PC 机、www.test.cn等站点的地址按地址规划表中的参数,配置好相应的IP 地址、子网掩码、默认网关及DNS 解析地址,其中DNS 解析地址要指向ISP 提供的DNS服务器,IP地址为198.0.8.1。

2.3.4 测试网络连通性

使用ping 命令测试PC-1 与本地网关、Net-Flow 收集器、外部网站www.test.cn 的连通性,测试结果显示网络连通性正常,其它主机与本地网关连通性均正常。测试结果如图2所示。

图2 网络连通性测试

3 流量监测与分析

3.1 ICMP流量监测与分析

(1)打开NetFlow 收集器,观测流量情况。在PC-2的命令行窗口中输入ping 命令,测试与www.test.cn站点的连接。

C:>ping-t www.test.cn

(2)用ping 命令测试连通性时,通常第一个数据包会报告超时,在Packet Tracer模拟器中这是正常的,因为ARP 进程必须首先解析IP地址和MAC 地址,这个过程需要时间,另外在做DNS 解析时也需要花时间。短暂延迟之后,NetFlow 收集器屏幕将显示一个饼图。

(3)点击饼图或图例项,显示流记录详细信息,如图3所示。

图3 ICMP流量监测与分析

(4)流量内容分析。因为ping 命令采用了ICMP 协议机制,因此ping 命令请求和响应的数据包均遵循ICMP 协议。具体流量分析情况见表4。

表4 ICMP流量内容分析

3.2 TCP流量监测与分析

(1)流量采集。打开NetFlow 收集器,继续观测流量情况。在PC-3 的“桌面”选项卡中打开Web Browser 浏览器,在浏览器URL地址栏中输入:http://www.test.cn进行测试,此时PC-3将尝试与www.test.cn 站点进行TCP 会话连接,连接成功后,流量将在这个会话连接上传输。Net-Flow 收集器上显示的流量统计如图4所示。

图4 TCP流量监测与分析

(2)流量内容分析。表5 显示了完整的TCP数据流分析,从中可以看出,这是一个Web 浏览器发出的http 请求的数据流,从Web 服务器响应的http流与请求的数据流有所不同。

表5 TCP流量内容分析

4 结语

Netflow 克服了传统的基于SNMP 协议的网络流量监测与分析系统的不足,针对网络中每个会话进行业务流量统计、业务流向分析等,具有实时性和准确率高的特点,对运行网络影响小,广泛应用在ISP运营商以及组织机构的网络上。文中分析了Netflow 的工作机制以及报文封装格式,并针对一个具体的网络案例进行了ICMP、TCP 数据流的监测与分析,给出了数据流监测与分析的过程及方法。在生产环境中,组织机构的网络管理员和安全工程师可以根据Netflow 提供的数据流,发现网络异常,及时响应,从而阻断病毒、黑客以及其它的非授权访问,从而提高网络资源的利用率,保护组织机构的数据资产安全。

猜你喜欢

连通性网络流量数据流
植被覆盖度和降雨侵蚀力变化对小流域泥沙连通性的影响
优先级驱动的泛化航电网络实时性能分析
超越视野
数据流和波形诊断技术在发动机故障诊断中的应用
数据流安全查询技术综述
一种用于敏感图像快速加密的图像注入技术仿真
基于小波神经网络的网络流量预测研究
基于ACQI模型的枢纽机场航线网络规划模型评估
利用数据流进行电控故障诊断的案例分析
基于时间序列分析的网络流量预测模型研究