NetFlow ist ein von Cisco entwickeltes Verfahren, um den Datenverkehr im Netzwerk als Flows zu erfassen und auszuwerten. Ein Flow fasst alle Pakete zusammen, die dieselben Merkmale teilen: Quell- und Ziel-IP, Quell- und Ziel-Port, Protokoll, TOS-Wert und Eingangs-Interface.
So funktioniert NetFlow
Ein Router oder Switch erkennt neue Flows, legt sie in einem Flow-Cache ab und aktualisiert Zähler, solange der Verkehr läuft. Endet ein Flow oder füllt sich der Cache, exportiert das Gerät die Flow-Records an einen Collector — üblicherweise per UDP auf Port 2055 (Cisco) oder 9995/9996 bei v9. Der Collector speichert und analysiert die Daten, etwa mit nfdump und nfsen oder in einem Grafana-Stack.
Versionen und IPFIX
NetFlow v5 nutzt ein festes Record-Format. v9 führte template-basierte, erweiterbare Records ein. IPFIX (RFC 7011) ist die herstellerneutrale IETF-Standardisierung von NetFlow v9. Flexible NetFlow erlaubt eigene Feld-Kombinationen, zum Beispiel zusätzliche MPLS- oder MAC-Angaben.
NetFlow und sFlow im Vergleich
NetFlow zählt jeden Flow vollständig (sofern nicht gesampelt) und liefert damit detaillierte Daten für Kapazitätsplanung und Forensik — das kostet aber Ressourcen auf dem Gerät. sFlow ist die leichtere Alternative: Es nimmt nur Stichproben von Paketen und skaliert dadurch besser auf sehr schnellen Leitungen. Während NetFlow also das Gesamtbild pro Kommunikationspaar liefert, schätzt sFlow den Verkehr über Samples.
Praxis
Typische Fragen, die NetFlow beantwortet: Welche Geräte sprechen miteinander? Welche Anwendungen verbrauchen die Bandbreite? Läuft ein ungewöhnlicher Datenabfluss? NetFlow-Daten sind daher auch in der Sicherheitsanalyse beliebt, etwa zum Erkennen von Command-and-Control-Kommunikation.
Verwandte Grundlagen: Netzwerkprotokoll, Netzwerkpaket, IP-Adresse, TCP, UDP, SNMP, sFlow, Monitoring.