【技术前线】 何为 NetFlow?

IT专业人员通常使用NetFlow来解析网络流量：确定它来自哪里、去往何处、流量规模及路径。当IP网络流量从某个接口流入和流出时，NetFlow网络协议会对其进行采集。然后人们会对流量数据进行分析，从而对网络传输的流量和规模有一个总体的了解。

在引入NetFlow之前，网络工程师以及网络管理员使用简单网络管理协议 (Simple Network Management Protocol, SNMP)来监测网络流量。然而，尽管SNMP对网络监测和容量规划行之有效，但它无法提供对带宽使用情况的深度解析。现在，NetFlow已经成为IP数据流信息输出 (Internet Protocol Flow Information eXport, IPFIX) 国际互联网任务组 (Internet Engineering Task Force, IETF)) 标准的一部分，这一协议已被广大网络设备供应商广泛采用。

NetFlow 工作原理

NetFlow 工作流程为：数据采集、数据整理、数据分析。其主要组件包括，

IP 数据流

IP数据流，为一组含有相同IP数据包属性的数据包，这些数据包会发送到路由器或者交换机，并在这里接受数据属性检测，包括：IP源地址、IP目的地址、源端口、目的端口、第三层协议类型、服务等级以及路由或交换机接口。

NetFlow 的数据缓存

NetFlow的数据缓存是压缩信息数据库，数据包接受检测之后便存储在这一数据库中。

命令行界面

作为访问NeFlow数据的两个方法之一，命令行界面（Command Line Interface, CLI）提供了对网络流量的直观视图，对于排除故障大有裨益。

NetFlow 采集器

第二种访问NetFlow数据的方法，是将数据导出至NetFlow采集器。NetFlow采集器为报表服务器，可对流量信息加以收集和处理，处理后的数据更适合分析。

为什么要用到 NetFlow？

网络监测：在业务中，我们可以使用流量分析技术来实现分布于整个网路的流量类型的可视化。有了对流量走向的整体视图，网络运维团队和安全运维团队，就可以监测用户访问应用的频率。此外，通过监测这些数据，研究人员可对用户使用网络和应用情况形成一定了解和认识，从而发现一些潜在的安全或策略隐患。

网络规划：IT团队可借助NetFlow追踪并预测网络发展情况。比如，他们可以据此形成升级计划，以增加端口数量、路由设备以及更高带宽的接口，满足不断变化 的需求。

安全分析：借助NetFlow，安全团队可以侦测网络行为的变化，以此来发现安全漏洞的蛛丝马迹。数据可作为珍贵的审计工具来使用，有助人们加深对安全事件的了解和复盘，从安全团队提供借鉴。

NetFlow在工作时会对设备性能产生干扰。为了减小这种干扰，网络设备通常依赖于采样数据包来生成NetFlow统计表。低采样率，比如低到只有1000个数据包，会大大降低可视性，阻碍团队发现重大性能安全威胁

此外，NetFlow记录只分发至特定数量的采集器或监测工具。通常情况下，这一数量远远低于正常管理网络或者排除故障所需的工具数量。而且，业务数据和安全威胁在数量上不断增长，网络里正在进行的动作，如果只有一小部分才能被监测到的话，业务会因为缺少足够有效信息而无法应对安全威胁，从而面临巨大风险。

通过同时运行NetFlow 统计表和原始数据包，Gigamon借此消除与数据采样相关的风险。借助这一处理能力，Gigamon用户可以以非常高的采样率甚至以线速生成NetFlow统计表。

通常情况下，NetFlow生成于作为生产网一环的路由器和交换机之上，但是，正如上文所提到的，NetFlow确实对设备性能产生一定影响。随着数据量的增加以及网络速度的增长，大多数企业都有一种担忧：他们害怕没有足够的计算资源来满足这一不断增长的需求。

那么，Gigamon该如何解决这一挑战呢？那就是通过元数据。尽管NetFlow提供的是第4层流量生成数据，作为企业同样也需要能够接入第7层或者应用层元数据。Gigamon元数据生成功能（其中包括NetFlow），可以生成4层元数据和7层元数据，这两种数据都无须采样，对性能没有任何影响。

只要严格执行了Gigamon的解决方案，错报现象就会大大降低，检测威胁的时间大大加快，我们的安全团队就会大有作为。通过将Gigamon元数据生成功能集成于我们的安全信息及事件管理 (Security Information and Event Management, SIEM) 方案之中，我们就可以识别HTTP响应代码中的特殊类型，或者是特定域名显示有可能有安全漏洞，或者是有用户试图登录该站点，该站点由WoSign SSL 认证 。

NetFlow曾经是而且也继续是实现更强网络可视化的强大应用。通过减轻生成NetFlow的生产设备的负载，启用Gigamon Metadata Generation，安全团队和运维团队可以借此赶上数据的不断增长和网络的不断加速，并且不会牺牲对网络洞察的深度和广度，而这些都是从网络监测和安全分析中获得的。