知识卡片
流监控:从抽样与精度的取舍理解NetFlow与sFlow
内容
网络流(flow)是共享源/目的IP、协议、端口等7个共同字段的一组单向数据包序列,流监控(NetFlow、sFlow、J-Flow、IPFIX等标准的统称)能按IP、协议、应用或服务维度分析带宽利用率,特别适合定位高带宽占用的活动或节点。这些标准的关键区别在于是否强制抽样:NetFlow(Cisco专有)默认收集每一个流,也可以配置为抽样;sFlow则必须对流进行抽样——用损失一定精度换取更低的性能开销和资源消耗,这个取舍在流量很大的网络里尤其重要,因为逐流采集会给设备带来明显负载,实践中建议用专门的硬件设备来采集流数据以减轻路由器压力。IPFIX是基于NetFlow v9的开放标准版本。发散:抽样换性能是一个反复出现的工程模式——[[百分位数用丢弃极端值换取对大多数情况的洞察|百分位数丢弃极端值换取对大多数情况的洞察]]、指标数据的老化归纳都是同一种”用部分精度换取可持续的规模”的取舍思路。
参考来源
《监控运维实践 原则与策略-2021》第9章《网络监控》