随着企业数字化转型、算力网络等趋势发展,业务SLA要求越来越高,业务类型也逐渐丰富及多样,这对IP网络业务流量监控及分析提出了更高的要求,网络运维需要知道网络流量从哪里来,到哪里去,流量有多大等信息,以保障网络的稳定性。本文从Netflow的工作原理分析介绍了基于Netflow的网络流量监控及分析的功能实现建议,并描述了Netflow网络流量分析应用场景分析,以期能为网络流量分析人员以参考。

基于Netflow的网络流量分析探索

亚信科技(中国)有限公司

1

引言

Netflow是一种网络监测功能,可以收集出入网络设备的IP流量数据。分析Netflow收集到的流量数据,网络管理人员可以知道IP包的来源及目的地,网络服务的种类,以及造成网络拥塞的原因。

交换机、路由器在某种意义上是黑盒子,网络管理员不知道黑盒子里面发生了什么。比如,黑盒子里面的数据都在干什么,谁发出的,到哪里去,流量有多大?等等这些指标,网络管理员都是不知道的。

为了解决这类问题,1996年,Cisco的Darren Kerr和Barry Bruins开发了一种流量监控技术,即Netflow。作为业界事实标准,Netflow描述了路由器IP流统计信息的方法。网络管理员能从Netflow的信息中,获取到IP流信息,这些信息解答了是什么流量?从哪里来?要到那里去?时间区间内,产生了多少流量等问题。Netflow数据可被广泛用于各种用途,如数据分析、网络规划、生成报表等等。目前Netflow已经成为了当今互联网领域公认的最主要的IP/MPLS流量分析,统计和计费行业标准。

2

Netflow实现方案分析

2.1 Netflow组成原理

Netflow主要有三个组成部分,如图1所示:

图1:Netflow组成

Netflow生成系统:Netflow Generator,一般由被监控的交换机或者路由器承担。将端口进出方向的数据包进行分析,把相关信息(源地址,目的地址,源端口,目的端口,协议等信息)放进Netflow包中,发到采集器。

Netflow采集系统:Netflow Collector,采集器对Netflow生成器发送过来数据进行整理、分析和存库。

Netflow分析系统:Netflow Analysis,消费Netflow采集系统提供的数据,进行数据分析、网络规划、生成报表,开放能力。

2.2 Netflow功能架构建议

Netflow功能架构如下图2所示,其中后端服务分成五个部分:

1、采集服务:实时监听上送Netflow报文的端口,按照Netflow的协议格式,解析报文后,转换为字符串类型的数据,写入Kafka中。采集服务服务主要承担两个作用,解析Netflow原始报文和作为Kafka数据的生产者。

2、消息系统:高吞吐量的分布式发布订阅消息系统,承接多个生产者和消费者。

3、分析系统:订阅kafka的数据进行消费,获得基础的结构化流量数据,根据既定的规则进行分析,获得可被应用的统计分析结果。

4、存储服务:基础的流量数据,以及统计分析结果存放ES中。

5、北向接口:对外开放Netflow的数据能力。

图2:Netflow功能架构

2.3 Netflow采集实现

采集服务承担两个功能,图3所示:

1、接收并解析Netflow原始报文

这部分的功能由开源软件nfdump来承担,nfdump是一款开源的Netflow收集、存储、过滤、统计分析软件。目前支持 Netflow v5、v7和v9版本。它是一套工具的组合。

nfcapd从网络中捕获Netflow数据,开源软件的处理是将这些数据存到文件中,然后它会每隔n(一般为5)分钟在这些文件中轮转。这种方式不便于我们使用它的解析结果,因此我们将其改造为将数据写入kafka中。

2、作为Kafka数据的生产者

librdkafka是C语言实现的Apache kafka的高性能客户端,为生产和使用kafka提供高效可靠的客户端,并且提供了C++接口。

在开源nfcapd的基础上,开发了一套封装librdkafka的生产者接口,使用该接口,将Netflow的数据写入kafka中。

图3:Netflow采集

一个IP Flow至少定义了下面七个关键元素:

· IP source address

· IP destination address

· Source port

· Destination port

· Layer 3 protocol type

· Class of Service

· Router or switch interface

上述字段定义了唯一的一个IP Flow,通过在网络的关键路由器、交换机开启Netflow采集网络流量,以对网络流量进行监控及分析。

3

Netflow流量检测应用场景

通过基于Netflow技术对网络内流量的实时分析,能够及时发现网络中的异常流量(如DDoS等),分析其来源、目的及流量特征,以及时处理故障。通过流量分析,可以对多出口流量进行负载均衡,重要链路的带宽设置,QoS设定等进行网络优化。

3.1 流量负载分担

负载分担是指在去往同一个目的地址有多条链路的情况下,将流量分担到多条链路,如图4所示。部署负载分担有以下优点:

1、将流量分担到不同的链路上,可以充分利用网络资源。2、将流量分担到多条链路上,当负载分担链路中的一条链路出现故障后,流量可以从其它链路继续转发,从而提高链路的可靠性。

负载分担,又分为等价负载分担和非等价负载分担。等价负载分担:允许配置多条目的地相同且优先级也相同的路由。当没有到同一目的地的更高优先级路由时,这几条路由都被采纳,在转发去往该目的地报文时,依次通过各条路径发送,从而实现路由的负载分担。

对于等价负载分担,流量是在这些负载分担路径上进行平分的,不会考虑链路带宽的差异问题。这种方式可能造成一些低带宽链路拥塞,而另一些高带宽链路空闲。如果能够按照出接口的带宽进行流量的负载分担,则能解决这个问题,这就是非等价负载分担。这两个原理相同,只是后者考虑了带宽的因素。

图4:负载分担示例

负载分担算法,分为逐包和逐流两种:

逐包负载分担,设备启用了一个定时器,每来一个包,计数器加1,根据计数器的值选择出接口;逐流负载分担采用哈希算法,选择的出接口和流的元素有关。

因为逐包负载分担对于同一条流可能会从不同的接口出去,存在乱序的风险,一般很少采用。实际应用中,逐流负载分担应用较为广泛,后续如果没有特殊说明,负载分担一般指的是逐流负载分担。

哈希算法将任意长度的二进制值按某种哈希函数映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。计算出哈希值后,再根据哈希值按某种算法映射到出接口,并将报文从对应的出接口发送。逐流负载分担就是采用哈希算法。

哈希算法的输入是各报文的特征值,被称为“哈希因子”。可作为哈希因子的报文特征值包括但不限于:

a)以太帧头:源MAC、目的MAC

b)IP首部:源IP、目的IP、协议号

c)TCP/UDP首部:源端口号、目的端口号

3.2 异常流量检测与处理

异常流量检测与处理,遵循如下的流程:

1、异常流识别:什么是异常流?

2、异常流标记:把识别的异常流标记出来,供前端展示;

3、异常流处理:前端判断异常流确实存在风险,可以选择将对应的风险流阻断;

4、异常流阻断:阻断包括两个部分,将前端的阻断转换为设备的配置;配置生效后,设备阻断异常流;

5、异常流阻断仿真:仿真异常流阻断后的效果,也支持自定义流量的仿真和阻断下发。

Netflow可以采集到流的信息,基于已有的流信息进行分析。存在如下的几个异常流场景:

a)源IP是境外IP

b)一个结算周期内收到大量的ICMP报文,带宽利用率超过50%的情况下,占到当时总流量的10%

c)一个结算周期内收到大量的ARP报文,带宽利用率超过50%的情况下,占到当时总流量的10%

d)一个结算周期内收到大量的短报文(报文长度小于80),带宽利用率超过50%的情况下,占到当时总流量的10%

4

结束语

Netflow是一种基于网络流量信息的统计技术。网络设备作为Netflow的客户端,主动向Netflow服务端上报流量采样数据,服务端对流量数据进行解析,提取二层MAC,三层IP,四层协议类型和端口号信息,然后对这些信息进行分类统计,可获得网络的通信流量和资源使用情况。同时基于预置的流量规则,甄别正常的业务流量和异常流量 ,对业务和资源进行监控和管理。基于Netflow的流量检测能够支撑IP网络做更深入分析,以支撑自智网络向L3及更高水平的提升。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包,需要点击下方链接即可前往获取

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
在这里插入图片描述

在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)
在这里插入图片描述

在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

在这里插入图片描述

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

更多推荐