netFlow和sFlow有什么区别?


Answers:


22

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,Alcatel Lucent,Allied Telesis,Arista Networks,Brocade,Cisco,Dell,D-Link,Enterasys,Extreme,Fortinet,Hewlett-Packard,Hitachi,Huawei,IBM,Juniper,LG-Ericsson,Mellanox,MRV, NEC,Netgear,Proxim Wireless,Quanta Computer,Vyatta,ZTE和ZyXEL(请参见sFlow链接


1
采样概念适用于的NetFlow / IPFIX只是因为它用的sFlow
布拉德·海恩

除了采样,来自相同流量的两个数据包在Netflow和sFlow上有何不同。也许将它们与tcpdump中的原始数据包进行比较?对我来说,区别仍然不是很清楚。
纳吉夫

7

唯一的区别是“ NetFlow是Cisco专有的,sFlow不是”是不完全正确的。

NetFlow最初是思科专有的,但其发展方式与GRE或EIGRP相同。从NetFlow v5开始,它已在其他供应商的硬件上实现并受支持。

NetFlow和sFlow之间的主要区别是NetFlow仅限于IP,而sFlow可以对所有内容进行采样(独立于网络层)。

编辑:以上似乎不再正确(至少从IPFIX标准开始)。我发现以下博客文章(警告:似乎是“ sflow”特定的URL,因此,如果需要的话,可以加一点盐)在概述IPFIX规范和sFlow之间的差异方面做得很好


4
NetFlow v9和v10(IPFIX)定期发送模板消息,告知如何读取样本,该模板非常灵活,可以任意扩展。iana.org/assignments/ipfix/ipfix.xml显示了当今标准支持的内容,并且ethertype,dmac,smac等已经存在。sFlow otoh是静态的,如果sFlow5不支持您想要的功能,则需要全新的sFlow协议,而在IPFIX中,您根本不需要更改协议。
ytti 2013年

很有意思!感谢您的链接。显示我一直在跟上NetFlow的程度。:-)我想知道什么是sFlow。似乎“ sFlow爱好者”只是说“以太网上的任何内容”,以作为必须定义新IPFIX字段的反论点。NetFlow / IPFIX使用的采样算法也很多,而sFlow只是其中一种。
约翰·詹森

1
作为FYI,使用v9或最近使用IPFIX在许多Cisco平台上都可以使用L2 netflow。
rnxrx

谢谢,但是上面的评论中已经指出了这一点。:-)
约翰·詹森

1
关于这个问题的深入知识的独立供应商这样说: plixer.com/blog/netflow/...。您还应该考虑给定平台是否在硬件或软件中运行NetFlow / sFlow。
generalnetworkerror

2

思科设备尝试汇总流量(您可以将其视为对话),然后将有关流量的信息导出到收集器。这需要内存来缓存它们。

sFlow有两个主要组成部分:一个将定期将接口计数器和CPU使用率之类的统计信息导出到收集器,另一个将随机捕获N个(通过路由器,通常可配置为512,最多为32768)帧中的1个,以及导出前256个字节。然后,您可以对通过网络的流量进行统计分析。

sFlow数据包样本通过路由表中的信息(例如AS路径)得到增强。它与v4和v6无关,与NetFlow不同,它会根据您要接收的数据类型迫使您做出不舒服的妥协。

NetFlow可以追溯到一个时代,在这个时代,基于流的路由尚未被视为一个笑话。sFlow并非TLV格式,因此以可移植的方式实现供应商扩展几乎是不可能的。


这里有些误导性的评论... NetFlow使用缓存,并且可以聚合/不聚合,采样或不采样-这些是您正在收集的数据的特征,由您自己定义。NetFlow数据还可以包含数据“例如作为AS路径”,它不是sFlow的区别点,而且从来没有。NetFlow只是作为流交换解决方案的原型,几乎立即被转换为信息收集机制。就实际差异而言,采样之间有很大差异:在sFlow采样中按数据包而不是按流完成,您会立即失去准确性。请查看cisco-nsp @档案。
卢卡斯Bromirski

0

Netflow是Cisco专有协议,因此Cisco设备以外的任何设备均不支持。

sFlow是一种IETF标准,用于执行几乎相同的操作,但该标准不属于某个特定制造商。


2
AFAIK sFlow不再是IETF,而是“ sFlow联盟”产品。IPFIX是IETF标准netflow v9(版本号升至v10,并进行了较小的更改)。我猜主要的区别是sflow会导出单个数据包(使用定义明确的采样方法),您将进行推断,而IPFIX / netflow可以做很多其他事情,包括这些,但也可以为您汇总数据。我想说netflow / IPFIX更加灵活,这也意味着您可以在设备中实现netflow / IPFIX的方式使其变得无用,而sflow在实现方式上非常严格。
ytti 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.