NetFlow 使用数据流的概念划分 TCP/IP 通信,以便记录统计信息。 数据流是特定源系统和特定目的地之间的单向数据包流。 图中演示了数据流的概念。

对于 NetFlow,它基于 TCP/IP 构建,源和目的决定于其网络层 IP 地址及其传输层的源端口号和目的端口号。

NetFlow 技术已历经几代,定义流量越来越复杂,但是“原 NetFlow”使用七个字段的组合来区分数据流。 如果其中一个字段的值与其他数据包的值不同,则可以安全地确定数据包来自不同的数据流:

NetFlow 用来识别数据流的前四个字段应当比较熟悉。 源和目的 IP 地址以及源和目的端口标识源和目的应用程序之间的连接。 第 3 层协议类型标识遵循 IP 报头的报头类型(通常是 TCP 或 UDP,其他选项包括 ICMP)。 IPv4 报头中的 ToS 字节包含有关设备如何对数据流中的数据包应用服务质量 (QoS) 规则的信息。

Flexible NetFlow 支持具有流数据记录的更多选项。 Flexible NetFlow 可以让管理员指定用户定义的可选字段和必选字段来自定义数据集合,以定义 Flexible NetFlow 数据流监控器缓存的记录,从而满足特定需求。 在定义 Flexible NetFlow 数据流监控器缓存的记录时,它们被称为用户定义的记录。 可选字段的值被添加到数据流,提供有关数据流中流量的其他信息。 可选字段的值发生变化不会创建新的数据流。