Netflow
Netzwerkprotokoll
From Wikipedia, the free encyclopedia
Netflow ist eine Technik zur Ausleitung von statistischen Informationen über Datenverkehr in Rechnernetzen. Netflow-fähige Geräte, in der Regel Router oder Layer-3-Switches, erfassen Metadaten über zusammenhängende Kommunikationsströme (Flows), die über das Internet Protocol übertragen werden, und senden diese zur Speicherung und Auswertung an einen Netflow-Kollektor. Die anfallenden Daten werden zur Verkehrsanalyse, zur Dimensionierung oder zur QoS-Analyse verwendet.

Netflow wurde ursprünglich von Cisco Systems entwickelt und später von allen großen Netzwerkherstellern adaptiert. Die Übertragung der Flow-Informationen an den Netflow-Kollektor erfolgt über ein Netzwerkprotokoll, meist basierend auf dem User Datagram Protocol. Eine Weiterentwicklung des Protokolls ist als Internet Protocol Flow Information Export (IPFIX) standardisiert.
Technik
Netflow war ursprünglich eine Cisco-Technik, wird jetzt jedoch von vielen Herstellern unterstützt. Neben Netflow gibt es auch noch jFlow (Juniper) und Netstream (Huawei). Beide sind technisch identisch mit Netflow. Es existieren verschiedene Versionen von Netflow. Netflow Version 9 ist als offener Standard in der RFC 3954[1] beschrieben. Netflow Version 5 ist die in der Praxis am häufigsten verwendete Version. sFlow (RFC 3176[2]) verwendet statistisches Sampling und ist inkompatibel zu Netflow. Es existieren jedoch Konverter. Der IPFIX Standard (RFC 3917[3]) wird herstellerunabhängig entwickelt und stellt eine Erweiterung von Netflow Version 9 dar.
Ein Flow enthält typischerweise folgende Informationen:
- Versionsnummer und Sequenznummer
- Zeitstempel
- Byte- und Paketzähler
- IP-Adresse (Quell- und Zieladresse)
- Portnummer (Quell- und Zielport)
- Netzwerkschnittstelle, auf der der Verkehr entweder eingegangen oder ausgegangen ist
- Type-of-Service-Informationen
- AS-Nummern (BGP 4)
- TCP-Flags
- Protokoll-Typ (z. B. TCP, UDP oder ICMP)
Je nach Netflow-Version unterscheidet sich der Inhalt der Exportdatagramme leicht. Detaillierte Informationen können auf der Cisco-Seite gefunden werden.
Netflow ist, wie SNMP, ein passives Messverfahren, d. h. man beobachtet den Verkehr, ohne diesen zu beeinflussen. Wie alle passiven Messverfahren erzeugt auch Netflow Volumen-Informationen, typischerweise kBit/s.
Kollektor
Um die Netflow-Daten analysieren zu können, ist eine Kollektor-Software notwendig. Da die Netflow-Datagramme per UDP übertragen werden, muss der Kollektor schnell genug sein, die Daten zu empfangen, zu verarbeiten und zu speichern. Verlorene Datagramme können nicht wiederhergestellt werden. Besonders problematisch ist deshalb die Übertragung von Netflow-Daten über WAN-Strecken. Verteilte Systeme haben sich hier besonders gut bewährt. Einige Systeme sind in der Lage, Auswertungen in einem zentralen Data-Mart vorzuhalten. Das hat den Vorteil, dass Daten nicht wiederholt und mehrfach über WAN Strecken übertragen werden müssen.
Technisch verwenden die Hersteller meist eine zweistufige Verarbeitung. Zunächst werden die Netflow-Datagramm in Rohform gespeichert. Ein nachfolgender Prozess normalisiert die Daten und speichert das Ergebnis in einer Datenbank, meist einer relationalen Datenbank, auf die dann das Reporting-Frontend zugreift. Da die Daten hierbei einmal als Rohdaten und dann ein zweites Mal in einer normalisierten Form gespeichert werden, sind die Transferleistungen der Speichersysteme eine der wichtigsten und limitierenden Kenngrößen. Mit einem Hardware-RAID als Speicher wird eine höhere Transferleistung erreicht als mit einem Software-RAID.
Im Umfeld von Internetdienstanbietern ist die Mandantenfähigkeit eine wichtige Eigenschaft von Netflow-Systemen. Diese stellt sicher, dass Teilnehmer nur die für sie jeweils relevanten Daten einsehen können. Kunden haben hierbei dann nur Zugriff auf die Flows der eigenen Interfaces und nicht auf alle Interfaces des Flow-Senders.
Analyse
Es werden in der Regel zwei Arten von Analysen durchgeführt: Top-N-Analyse und Zeitanalyse.
Top-N-Analyse
Bei Top-N-Analysen werden in einem frei definierbaren Zeitraum, z. B. 24 Stunden, diejenigen Elemente gesucht, die den meisten Verkehr erzeugen. Kriterien können Sender-IP-Adressen (Top Talker), TCP-Ports (Top Applications) oder andere Einträge aus dem Netflow-Datagramm sein. In einigen Systemen wird diese Top-N-Analyse über SQL-Abfragen mittels Aggregatfunktion zur Laufzeit erzeugt, oder es werden separate Analyse-Datenbestände bereitgehalten. Diese speziellen Datenbestände werden durch den Kollektor zur Laufzeit aktuell gehalten. Hierbei hat man den Vorteil, dass das Reporting-Frontend schnell auf fertige Datenbestände zugreifen kann, auf der anderen Seite wächst der Bedarf an Speicherkapazität.
Zeitanalyse
Zeitanalysen zeigen das Verkehrsvolumen von Elementen über einer Zeitachse.
Implementierungen
Als Implementierungen sind sowohl freie Software als auch kommerzielle Software-Produkte verbreitet.
Freie Software
- flowd NetFlow collector
- Nagios
- NetWork analysis software
- nfdump, Kollector und Analyse Werkzeuge und nfsen, Webfrontend zu nfdump
- PMACCT Netflow, sFlow Collector. Verwendet libpcap
- Pandora FMS
Kommerzielle Software
| Produkt | Netflow | cFlow | jFlow | Netstream | sFlow | IPFIX | Verteilt | Mandantenfähig | Zentraler Data-Mart | Cluster oder Hierarchy | weitere-FlowVersionen | Max-Flow/Minute | Alarme based on Flows |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AdvaICT NetHound (online service) | ja | nein | nein | nein | nein | nein | nein | ja | ja | ||||
| Caligare Flow Inspector | ja | ja | ja | ja | nein | nein | ja | ja | ja | ||||
| Cisco | ja | ja | ja | ja | nein | nein | nein | nein | nein | ||||
| IBM Aurora | ja | ja | ja | ja | ja | ja | ja | nein | nein | ||||
| Infosim StableNet | ja | nein | nein | nein | nein | nein | nein | nein | nein | ||||
| INVEA-TECH FlowMon | ja | ja | ja | ja | ja | ja | ja | ja | ja | ||||
| IsarFlow | ja | ja | ja | ja | ja | ja | ja | ja | ja | Hierarchie | |||
| IS-IT-ON NetFlow Analyzer | ja | nein | nein | nein | nein | nein | ja | ja | ja | ||||
| ManageEngine NetFlow Analyzer | ja | ja | ja | ja | ja | ja | ja | ja | ja | ||||
| Paessler PRTG | ja | nein | ja | nein | ja | ja | ja | ja | ja | ||||
| Progress WhatsUp Gold (ehem. IPSwitch) | ja | ja | ja | ja | ja | ja | ja | ja | ja | ||||
| Riverbed Network Performance | ja | ja | ja | ja | ja | ja | ja | ja bezogen auf Dashboards | ja | Clusterfähig | NAM, NBAR, NBAR2, Cisco MediaNet, Cisco ASA NSEL, Citrix AppFlow, Packeteer FDR, Palo Alto Networks, and SteelFlow from SteelHead appliances | 10 M deduplizierte Flows/min (Clusterfähig) | ja |
| SolarWinds Orion NetFlow Traffic Analyzer | ja | nein | ja | nein | ja | ja | ja | ja | ja | ||||
| SevOne Dedicated Netflow Collector (DNC) (auch Bestandteil von PAS) | ja | ja | ja | ja | ja | ja | ja | ja | ja | Cluster | SFLow, Cisco-NAM, -NBAR, -Medianet, dFlow, jFlow, NSEL, jedes Flowfeld kann als Key oder Metric registriert werden | 12M Flows/min auf DNC1000HFC, Clusterfähig | ja |
| IPHost Monitor Networks Monitoring Software | ja | ja | ja | nein | ja | nein | ja | ja | ja | Hierarchie | Cisco-NAM/NBAR | ||
| THB-Netflow | ja | nein | nein | nein | nein | ja | ja | ja | ja | Cluster | Cisco-AVC, -NBAR, Medianet, Barracuda, jedes Flowfeld kann dynamisch konfiguriert werden | via Grafana |