sFlow 与 netFlow 有何不同,不同供应商如何支持它们?
netFlow 和 sFlow 有什么区别?
NetFlow是一种用于导出聚合 IP 流总数的协议。因此,它非常适合 Internet 路由器上的 IP 流量记帐。使用 Netflow V9(也称为 IPFIX,它也可以查看第 2 层流量)
sFlow是一种通用的网络流量测量系统技术。sFlow 旨在嵌入任何网络设备,并提供有关任何协议(L2、L3、L4 和最高 L7)的连续统计数据,以便可以准确地表征和监控整个网络中的所有流量。这些统计数据对于拥塞控制、故障排除、安全监控、网络规划等至关重要。它们也可用于 IP 计费目的。
Netflow镜像所有流量,并在使用时对 CPU 施加负载。
SFlow是一种数据包采样技术,其中交换机捕获每个接口的每 100 个数据包(可配置)并将其发送到收集器。sFlow 内置于 ASIC 中,对 CPU 的负载最小。
思科、瞻博网络、阿尔卡特朗讯、华为、Enterasys、北电、VMWare 支持Netflow
sFlow的支持Alaxala,阿尔卡特朗讯,安奈特,Arista网络,博科,思科,戴尔,d-Link的,Enterasys公司,至尊,Fortinet公司,惠普,日立,华为,IBM,瞻博网络,LG,爱立信,Mellanox公司,MRV, NEC、Netgear、Proxim Wireless、Quanta Computer、Vyatta、ZTE 和 ZyXEL(参见 sFlow 链接)
唯一的区别是“NetFlow 是 Cisco 专有的,sFlow 不是”并不完全正确。
NetFlow 最初是作为 Cisco 专有的,但在某种程度上与 GRE 或 EIGRP 相同。自 NetFlow v5 以来,它已在其他供应商的硬件上实现和支持。
NetFlow 和 sFlow 之间的主要区别在于 NetFlow 仅限于 IP,而 sFlow 具有采样一切的能力(独立于网络层)。
编辑:以上似乎不再正确(至少从 IPFIX 标准开始)。我发现了以下博客文章(警告:似乎是一个“sflow”特定的 URL,所以如果你愿意,可以加一点盐)很好地概述了 IPFIX 规范和 sFlow 之间的差异
Cisco 设备尝试聚合流(您可以将它们视为对话),然后将有关它们的信息导出到收集器。这需要内存来缓存这些。
sFlow 有两个主要组件:一个是它会定期将接口计数器和 CPU 使用率等统计信息导出到收集器,另一个是它会随机捕获通过路由器的 N(可配置,通常为 512 到 32768)帧中的 1 个,以及导出前 256 个字节。然后,您可以对流经网络的流量执行统计分析。
sFlow 数据包样本使用来自路由表的信息(例如 AS 路径)进行了增强。它也是 v4 和 v6 不可知的,与 NetFlow 不同,它迫使您根据要接收的数据类型做出不舒服的妥协。
NetFlow 的历史可以追溯到基于流的路由还没有被视为笑话的时代。sFlow 不是 TLV 格式,因此以可移植的方式实现供应商扩展几乎是不可能的。
Netflow 是 Cisco 专有协议,因此除 Cisco 设备之外的任何设备都不支持。
sFlow 是一种 IETF 标准,用于做几乎相同的事情,但在一个不属于某个特定制造商的标准中。