NetFlow学习笔记
标签: netflow
由于工作需要,对NetFlow做了一些学习和调研,并总结成文档以供学习分享。
背景:随着系统的升级与漏洞的修补,入侵主机进而进行破坏的病毒攻击方式在攻击中所占比例逐渐减少,这些攻击转而改为恶意的消耗网络有限的资源或占用系统,进而破坏系统对外提供服务的能力;但传统的系统升级无法检测并预防此类攻击。
针对此类攻击,业界提出了以检测网络数据流的方法来判断网络异常和攻击:借助实时的检测网络数据流信息,通过与历史记录模式匹配(判断是否正常)、或者与异常模式匹配(判断是否被攻击),让网络管理人员可以实时查看全网的状态,检测网络性能可能出现的瓶颈,并进行自动处理或告警显示,以保证网络高效、可靠地运转。
1、什么是NetFlow
NetFlow是由Cisco创造的一种流量轮廓监控技术,简单来说就是一种数据交换方式。Netflow提供网络流量的会话级视图,记录下每个TCP/IP事务的信息,易于管理和易读。
2、NetFlow版本
- Netflow V1:为Netflow技术的第一个实用版本。在如今的实际网络环境中已经不建议使用。
- Netflow V5:增加了对数据流BGP AS信息的支持。
- Netflow V7:思科Catalyst交换机设备支持的一个Netflow版本,需要利用交换机的MLS或CEF处理引擎。
- Netflow V8:增加了网络设备对Netflow统计数据进行自动汇聚的功能,可以大大降低对数据输出的带宽需求。
- Netflow V9:一种全新的灵活和可扩展的Netflow数据输出格式,采用了基于模板(Template)的统计数据输出。方便添加需要输出的数据域和支持多种Netflow新功能,如Multicast Netflow,MPLS Aware Netflow,BGP Next Hop V9,Netflow for IPv6等。
3、NetFlow用途
利用Netflow技术可以监测网络上的IP Flow信息
IP Flow信息,可以回答用户的下面问题(5W1H):
- who:源IP地址
- when:开始时间、结束时间
- where:从哪:From(源IP,源端口)、到哪:To(目的IP,目的端口)
- what:协议类型,目标IP,目标端口
- how:流量大小,流量包数
- why:基线,阈值,特征
采集到的netflow流量信息可以帮助进行:
- 网络行为分析
- 业务访问情况分析
- 网络规划
- 流量计费
- 病毒检测
- 等等
4、NetFlow工作原理
首先先创建一个缓冲流NetFlow cache
NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成NetFlow 缓存
随后进行两大职能:
- 同样的流,直接从缓存读,不走路由表
- 缓存同时也进行了统计
5、NetFlow七元组
NetFlow使用七元组来区分每一个Flow,包括以下字段:
- 源IP地址
- 源端口号
- 目的IP地址
- 目的端口号
- 协议类
- 服务种类
- 输入接口
七元组的实际含义:
- 如果两段流量,其七元组都相同,就认为是一个流。
- 如果两段流量,其七元组至少有一个不同,就是不同的流。
6、NetFlow数据格式
一个NetFlow流定义为在一个源IP地址和目的IP地址间传输的单向数据包流,且所有数据包具有共同的传输层源、目的端口号。
基于NFC采集的网络流量数据如下:
61...68|61...195|64917|Others|9|13|4528|
数据中各字段的含义如下:
源地址|目的地址|源自治域|目的自治域|流入接口号|流出接口号|源端口|目的端口|协议类型|包数量|字节数|流数量
7、NetFlow优点
- NetFlow采集实施成本较低、安装方便。
- NetFlow的非常适用于大型网络。
- NetFlow记录的流包含了丰富的信息,非常适合于网络性能分析。