引用Wikipedia的定义“NetFlow是Cisco路由器上引入的一项功能,它提供在进入或离开接口时搜集IP网络流量的能力。通过分析NetFlow提供的数据,网络管理员可以确定流量的来源和目的地,服务类别已经拥堵原因等。“
如今,NetFlow通常与元数据搜集联系在一起。这是一种生成有意义的信息的一种非常有用的方法,网络管理员可以利用这些信息来排除网络故障。从监控的角度来看,它本质上是来自网络的聚合数据样本。这使得它不同于数据包数据,后者是数据包中确切数据的副本。使用数据包数据,您可以获得实际数据包的副本,而不是像使用NetFlow那样获得的高级数据流。这两种数据格式都是必须的,因为监控工具只针对这两种特定格式中的一种构建,而并非两者都适用。
NetFlow的用途
NetFlow的第一个版本是Cisco在1996年推出的专有协议。它经历了一些重要的里程碑,比如版本5(2009年)。它后来与IETF Internet协议流信息输出(IPFIX)标准保持一致,现在NetFlow版本9和10支持IPFIX。版本5和9可能是当今使用最广泛的版本。它们用于许多网络路由器和交换机。引入用户定义的流密钥是IPFIX的一项重要改进。
NetFlow的工作方式是让称为“出口商或生成器“的设备,诸如网络路由设备和监控设备(例如,网络数据包代理)创建NetFlow数据,并将其转发给其他设备,这些设备被称为”收集器“(通常是像Splunk之类的仪表板),这些设备将数据编译成有意义的信息。
以下参数构成NetFlow数据中包含的基本信息子集:
- 入口接口(SNMP索引)
- 源IP地址
- 目标IP地址
- IP协议
- UDP和TCP的源端口(其他协议为0)
- UDP和TCP的目的端口,ICMP的类型和代码,其他协议为0
- IP服务类型
NetFlow典型应用案例
使用NetFlow的典型监控设置由三个主要组件组成:
- “流导出器”将数据包聚合到流中,并将流记录导出到流收集器
- “流收集器”负责接收、存储和预处理从流导出器接收的流数据
- 分析应用程序将完成高级流处理以监测入侵探测。
实施这些组件后,您可以增强以下工作:
- 减少网络和应用程序故障排除时间和工作量
- 发现可以帮助您改进威胁监测过程的危害指标
- 进行应用程序级过滤
- 改善法规遵从性举措
- 最大限度提高性能监控力度
NetFlow解决方案注意事项
在考虑基于NetFlow的监视解决方案时,请注意以下几点:
您的设备支持哪些NetFlow版本?
随着版本的发展,NetFlow发生了变化。版本5和版本9(支持前面提到的IPFIX协议)之间存在差异。版本9还引入了用户定义的流密钥,这是一个重大增强,并允许额外的NetFlow信息,即由供应商创建的NetFlow扩展。确保您具有支持您使用的NetFlow版本的正确设备(基础结构、数据包代理和监视工具)。
您的监控需求
您想要解决什么问题,需要什么数据?例如,您需要流数据还是数据包数据?两者都需要吗?您是否需要作为基本协议扩展的地理位置和其他额外的NetFlow数据?这些都是需要明确的问题。