Was ist der Unterschied zwischen netFlow und sFlow?


22

Inwiefern unterscheidet sich sFlow von netFlow und wie wird jeder von verschiedenen Anbietern unterstützt?

Antworten:


22

NetFlow ist ein Protokoll zum Exportieren aggregierter IP-Flow-Summen. Als solches ist es gut für die Abrechnung von IP-Verkehr auf Internet-Routern geeignet. Mit Netflow V9 (AKA IPFIX kann auch Layer 2-Verkehr untersucht werden)

sFlow ist eine allgemeine Technologie für Netzwerkverkehrsmesssysteme. sFlow kann in jedes Netzwerkgerät eingebettet werden und liefert fortlaufende Statistiken zu jedem Protokoll (L2, L3, L4 und bis zu L7), sodass der gesamte Datenverkehr in einem Netzwerk genau charakterisiert und überwacht werden kann. Diese Statistiken sind für die Überlastungskontrolle, Fehlerbehebung, Sicherheitsüberwachung, Netzwerkplanung usw. unerlässlich. Sie können auch für Zwecke der IP-Abrechnung verwendet werden.

Netflow spiegelt den gesamten Datenverkehr und belastet die CPU, wenn sie verwendet wird.

SFlow ist eine Paketsampling-Technologie, bei der der Switch jedes 100. Paket (konfigurierbar) pro Schnittstelle erfasst und an den Collector sendet. sFlow ist in den ASIC integriert und belastet die CPU nur minimal.

Netflow wird von Cisco, Juniper, Alcatel Lucent, Huawei, Enterasys, Nortel und VMWare unterstützt

sFlow unterstützt von Alaxala, Alcatel Lucent, Allied Telesis, Arista Networks, Brocade, Cisco, Dell, D-Link, Enterasys, Extreme, Fortinet, Hewlett-Packard, Hitachi, Huawei, IBM, Wacholder, LG-Ericsson, Mellanox, MRV, NEC, Netgear, Proxim Wireless, Quanta Computer, Vyatta, ZTE und ZyXEL ( siehe sFlow-Link )


1
Das Sampling-Konzept gilt für netflow / ipfix genauso wie für sflow
Brad Hein,

Abgesehen von der Stichprobe, wie würden sich zwei Pakete aus demselben Verkehr auf Netflow und sFlow unterscheiden. Vielleicht vergleichen Sie sie mit einem rohen Paket von zB tcpdump? Der Unterschied ist mir immer noch nicht ganz klar.
Nagev

7

Der einzige Unterschied, der darin besteht, dass "NetFlow Cisco-geschützt ist, sFlow nicht", ist nicht genau richtig.

NetFlow begann ursprünglich als Cisco-proprietäres Produkt, ging aber genauso vor wie GRE oder EIGRP. Seit NetFlow v5 wurde es auf der Hardware anderer Hersteller implementiert und unterstützt.

Der Hauptunterschied zwischen NetFlow und sFlow besteht darin, dass NetFlow nur auf IP beschränkt ist, wohingegen sFlow über die Fähigkeit verfügt, alles abzutasten (unabhängig von der Netzwerkschicht).

BEARBEITEN: Das obige scheint nicht mehr korrekt zu sein (zumindest ab dem IPFIX-Standard). Ich habe den folgenden Blog-Beitrag gefunden (Warnung: scheint eine "sflow" -spezifische URL zu sein, nehmen Sie ihn also mit ein wenig Salz, wenn Sie möchten), der die Unterschiede zwischen der IPFIX-Spezifikation und sFlow recht gut umreißt


4
NetFlow v9 und v10 (IPFIX) senden regelmäßig Vorlagenmeldungen, in denen angegeben wird, wie die Beispiele gelesen werden sollen. Diese Vorlagen sind sehr flexibel und können beliebig erweitert werden. iana.org/assignments/ipfix/ipfix.xml zeigt, welche Standards heute unterstützt werden, und Ethertype, dmac, smac usw. sind bereits vorhanden. sFlow otoh ist statisch. Wenn sFlow5 nicht das unterstützt, was Sie tun möchten, benötigen Sie ein ganz neues sFlow-Protokoll, während Sie in IPFIX das Protokoll überhaupt nicht ändern müssen.
Ytti

Sehr interessant! Danke für den Link. Zeigt, wie sehr ich mit NetFlow Schritt gehalten habe. :-) Ich frage mich, was sFlow auf den Hecht gebracht hat. Anscheinend würden "sFlow-Fans" einfach "irgendetwas über Ethernet" als Gegenargument zur Notwendigkeit der Definition neuer IPFIX-Felder sagen. Es gibt auch die zahlreichen Sampling-Algorithmen, die NetFlow / IPFIX verwendet, im Vergleich zu nur einem von sFlow.
John Jensen

1
Als FYI ist L2-Netflow auf einer Reihe von Cisco-Plattformen unter Verwendung von Version 9 oder neuerdings IPFIX verfügbar.
rnxrx

Danke, aber darauf wurde bereits in den obigen Kommentaren hingewiesen. :-)
John Jensen

1
Ein unabhängiger Anbieter mit umfassenden Kenntnissen zu diesem Thema sagt Folgendes : plixer.com/blog/netflow/… . Sie sollten auch prüfen, ob auf einer bestimmten Plattform NetFlow / sFlow in Hardware oder Software ausgeführt wird.
Generalnetworkerror

2

Cisco-Geräte versuchen, Datenflüsse zu aggregieren (Sie können sich diese als Konversationen vorstellen) und dann Informationen über sie an einen Collector zu exportieren. Dies erfordert Speicher, um diese zwischenzuspeichern.

sFlow hat zwei Hauptkomponenten: eine, in der regelmäßig Statistiken wie Schnittstellenzähler und CPU-Auslastung in einen Collector exportiert werden, und eine, in der 1 in N (konfigurierbar, normalerweise 512 bis 32768) Frames, die einen Router passieren, zufällig erfasst werden Exportieren Sie die ersten 256 Bytes. Sie können dann statistische Analysen des Datenverkehrs durchführen, der durch Ihr Netzwerk fließt.

sFlow-Paketbeispiele werden mit Informationen aus der Routing-Tabelle wie z. B. AS-Pfaden erweitert. Im Gegensatz zu NetFlow sind v4 und v6 auch agnostisch, was Sie zu einem unangenehmen Kompromiss zwingt, je nachdem, welche Art von Daten Sie empfangen möchten.

NetFlow kann auf eine Zeit zurückblicken, in der Flow-basiertes Routing noch kein Scherz war. Da sFlow kein TLV-Format ist, ist es nahezu unmöglich, Herstellererweiterungen portabel zu implementieren.


Einige irreführende Kommentare hier ... NetFlow verwendet Cache und kann aggregiert / nicht aggregiert, abgetastet oder nicht aggregiert werden. Dies sind Merkmale der Daten, die Sie erfassen, und es liegt an Ihnen, sie zu definieren. NetFlow-Daten können auch Daten enthalten, z als AS-Pfade "und es ist kein sFlow-Unterscheidungsmerkmal und war es auch nie. NetFlow wurde nur als Flow-Switching-Lösung als Prototyp entwickelt und fast sofort auf einen Informationserfassungsmechanismus umgestellt Wenn Sie nicht per Flow, sondern per Paket arbeiten, verlieren Sie sofort an Genauigkeit. Schauen Sie in den Archiven von Cisco-nsp @ nach.
Łukasz Bromirski

0

Netflow ist ein firmeneigenes Cisco-Protokoll und wird daher nur von Cisco-Geräten unterstützt.

sFlow ist ein IETF-Standard, um so ziemlich dasselbe zu tun, aber in einem Standard, der keinem bestimmten Hersteller gehört.


2
AFAIK sFlow ist kein IETF-Produkt mehr, sondern ein Produkt des 'sFlow-Konsortiums'. IPFIX ist der IETF-Standard Netflow 9 (Versionsnummer auf 10 erhöht und geringfügige Änderungen). Der Hauptunterschied besteht darin, dass sflow ein einzelnes Paket exportiert (mit einer genau definierten Stichprobenmethode) und Sie die Extrapolation durchführen, während IPFIX / netflow viele andere Aufgaben übernehmen kann, einschließlich dieser, aber auch Daten für Sie aggregieren kann. Ich würde sagen, dass netflow / IPFIX viel flexibler ist, was auch bedeutet, dass Sie netflow / IPFIX auf eine Weise in Ihre Ausrüstung implementieren können, die es unbrauchbar macht, während sflow ziemlich streng ist, wie es implementiert werden muss.
27.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.