Einführung von Flow-Formaten und deren Unterschieden

Einführung von Flow-Formaten und deren Unterschieden

Es gibt mehrere Flow-Formate. Worin bestehen die Unterschiede? Welche werden von Flowmon unterstützt? Überprüfen Sie den Beitrag, um die Antworten zu sehen.

Flow Monitoring hat sich zur weit verbreiteten Methode zur Traffic-Überwachung in Hochgeschwindigkeitsnetzen entwickelt. Es gibt mehrere Standards für das Flow-Format und es kann schwierig sein, den richtigen für Ihre Bedürfnisse zu wählen. In diesem Artikel werden wir die gängigsten Flow-Formate durchgehen und einen grundlegenden Überblick über ihre Geschichte und Unterschiede geben.

Historie des Flow Monitoring

Die Geschichte der Flow Monitoring geht auf das Jahr 1996 zurück, als das NetFlow-Protokoll von Cisco Systems patentiert wurde. Flow-Daten stellen einen einzelnen Paketfluss im Netzwerk mit der gleichen 5-Tupel-Identifikation dar, die sich aus Quell-IP-Adresse, Ziel-IP-Adresse, Quell-Port, Ziel-Port, Ziel-Port und Protokoll zusammensetzt. Basierend darauf werden Pakete zu Flow Records aggregiert, die die Menge der übertragenen Daten, die Anzahl der Pakete und andere Informationen aus der Netzwerk- und Transportschicht sammeln. Ein typischer Flow-Monitoring-Aufbau besteht aus drei Hauptkomponenten:

Flow Exporter – Erstellen von Flow-Datensätzen durch Aggregation von Paketinformationen und exportieren der Datensätze an einen oder mehrere Flow-Kollektoren (z.B. Flowmon Probe).

Flow Collector – sammelt und speichert die Flow-Daten (z.B. Flowmon Collector).

Analyseapplikation – ermöglicht die Visualisierung und Analyse der empfangenen Flow-Daten (z.B. Flowmon Monitoring Center – native Applikation des Flowmon Collectors).

Cisco hat das Protokoll ursprünglich für seine Produkte entwickelt. Andere Hersteller haben einen solchen Ansatz verfolgt und mehr oder weniger ähnliche proprietäre Flow-Datenformate entwickelt.

Cisco standards

NetFlow v5

Die erste weit verbreitete Version war NetFlow v5, die 2006 verfügbar wurde. NetFlow v5 ist nach wie vor die häufigste Version und wird von einer Vielzahl von Routern und Switches unterstützt. Sie erfüllt jedoch nicht mehr die Anforderungen an ein genaues Flow Monitoring, da sie IPv6-Verkehr, MAC-Adressen, VLANs oder andere Erweiterungsfelder nicht unterstützt.

NetFlow v9

NetFlow v9 brachte mehrere zusätzliche Verbesserungen. Das Wichtigste ist die Unterstützung von Vorlagen, die eine flexible Definition des Flow-Exports ermöglichen und sicherstellen, dass NetFlow an die Unterstützung neuer Protokolle angepasst werden kann. Weitere Verbesserungen sind die Unterstützung von IPv6, Virtual Local Area Networks (VLANs), Multiprotocol Label Switching (MPLS) und anderen Funktionen. NetFlow v9 wird von den meisten der aktuellen Cisco-Router und -Switches unterstützt.

Flexible NetFlow

Cisco arbeitet weiterhin an der Verbesserung der NetFlow-Technologie. Die nächste Generation heißt Flexible NetFlow und erweitert NetFlow v9 weiter. Was Flexible NetFlow exportieren kann, ist in hohem Maße anpassbar, so dass Kunden fast alles exportieren können, was über den Router läuft.

Andere Hersteller

jFlow, NetStream, cflowd

Alle oben genannten Standards ähneln dem ursprünglichen Cisco NetFlow-Standard. jFlow wurde von Juniper Networks, NetStream von Huawei und cflowd von Alcatel-Lucent entwickelt.

Unabhängiger Standard

IPFIX

Der Vorschlag für das IPFIX-Protokoll (Internet Protocol Flow Information eXport) wurde 2008 von der IETF veröffentlicht. IPFIX ist von NetFlow v9 abgeleitet und sollte als universelles Protokoll für den Export von Flussinformationen aus Netzwerkgeräten an einen Kollektor oder ein Netzwerkmanagementsystem dienen. IPFIX ist flexibler als NetFlow und ermöglicht, die Flow-Daten um zusätzliche Informationen über den Netzwerkverkehr zu erweitern. Als Beispiel bereichern unsere Flowmon IPFIX-Erweiterungen die IPFIX-Flowdaten mit Metadaten des Application Layer Protokolls, Netzwerkleistungsstatistiken und anderen Informationen.

In der Cisco-Welt wird IPFIX üblicherweise als NetFlow v10 bezeichnet und bietet verschiedene Erweiterungen ähnlich wie Flowmon.

Verwandte Standards

NSEL

NSEL (NetFlow Security Event Logging) ermöglicht den Export von Flow-Daten aus Cisco’s ASA-Familie von Sicherheitsgeräten. Es hat ein ähnliches Format wie NetFlow, erfordert aber eine andere Interpretation und hat unterschiedliche Anwendungsfälle – der Zweck von NSEL ist es, Firewall-Ereignisse und Protokolle über NetFlow zu verfolgen. Leider kam es manchmal vor, dass die Leute durch die Terminologie verwirrt wurden und NSEL als kompatibel mit NetFlow betrachteten. Tatsächlich gibt es mit NSEL nicht genügend Informationen, um Verkehrskarten bereitzustellen oder detaillierte Drill-Downs und Fehlersuche zu unterstützen.

sFlow

Im Gegensatz zu NetFlow basiert sFlow auf Stichproben. Ein sFlow-Agent erhält Verkehrsstatistiken mit sFlow-Sampling, kapselt sie in sFlow-Pakete, die dann an den Collector gesendet werden. sFlow bietet zwei Sampling-Modi – Flow und Counter Sampling:

 

Flow Sampling, bei dem der sFlow-Agent Pakete in eine Richtung oder beide Richtungen auf einer Schnittstelle basierend auf dem Sampling-Verhältnis abtastet und die Pakete analysiert, um Informationen über den Inhalt der Paketdaten zu erhalten.

 

Counter Sampling, bei dem der sFlow-Agent periodisch Verkehrsstatistiken über eine Schnittstelle erhält.

 

Flow Sampling konzentriert sich auf Verkehrsdetails, um das Verkehrsverhalten im Netzwerk zu überwachen und zu analysieren, während Counter Sampling sich auf allgemeine Verkehrsstatistiken konzentriert.

Aufgrund von Paket-Sampling ist es jedoch nicht möglich, eine genaue Darstellung des Datenverkehrs zu erhalten und einige Daten werden verpasst. Daher kann die Sampling-Funktion die Verwendung von Flow-Daten in Fällen wie der Erkennung von Netzwerkanomalien einschränken. Andererseits kann sFlow für Top-Statistiken oder die Erkennung von DDoS-Angriffen verwendet werden. Cisco hat eine sehr ähnliche Technologie wie sFlow eingeführt, die den Namen NetFlow Lite trägt.

Welche Formate unterstützt Flowmon?

Unsere eigenständige Probe ermöglicht den Export von Strömungsdaten im NetFlow v5/v9 und IPFIX-Format. Zusätzlich kann die Sonde die Flowmon IPFIX-Erweiterung verwenden, die es ermöglicht, die Flowdaten mit zusätzlichen Informationen wie Netzwerkleistungsstatistiken (z.B. Round-Trip Time, Server Response Time und Jitter) und Informationen aus den Anwendungsprotokollen (HTTP, DNS, DHCP, SMB, E-Mail, MSSQL und andere) zu erweitern.

Der Flowmon Collector kann Netzwerkverkehrsstatistiken aus verschiedenen Quellen und Flow-Standards verarbeiten, einschließlich:

  • NetFlow v5/v9
  • IPFIX
  • NetStream
  • jFlow
  • cflowd
  • sFlow, NetFlow Lite

Fazit: Welches Flow-Format sollte verwendet werden?

Flowmon unterstützt die gängigsten Flow-Formate. Obwohl das Format, das Sie verwenden können, von Ihrer Netzwerkinfrastruktur abhängt, empfehlen wir Ihnen aufgrund unserer Erfahrung bei der Implementierung leistungsstarker Netzwerküberwachungsgeräte dringend die Verwendung von NetFlow v9/IPFIX-Exportformaten, da sie die genauesten und umfassendsten Informationen liefern.

Anwendungs-Risikomanagement

Die Einführung von DevOps und Agile hat den Lebenszyklus der Anwendungsentwicklung verkürzt und vereinfacht. Mit zunehmender Fokussierung auf die Schnelligkeit der Markteinführung steigt jedoch das Risiko, dass die Anwendung hinter ihren Zielen zurückbleibt. Dieses Risiko wird noch verstärkt, wenn die Anwendung – wie die meisten heute – von verteilten Netzwerken abhängig ist.

Vernetzte Anwendungen sind das Herzstück unseres Handelns. Von CRM bis Social Networking, von der Bestellung eines Taxis bis zum Geldtransfer haben sie unser Geschäfts- und Privatleben verändert. Militär, Gesundheitswesen und Rettungsdienste verlassen sich auf Apps, um Leben zu retten. Apps stärken unser persönliches, berufliches und öffentliches Leben, also müssen sie einfach funktionieren.

Application Risk Management (AppRM) ist ein neuer Prozess, der Softwarearchitekten, Entwicklern und Testern hilft, sicherzustellen, dass sie die Risiken während des gesamten Lebenszyklus der Anwendungsentwicklung und -bereitstellung richtig eingeschätzt und verwaltet haben. Es ist ein Prozess zur Identifizierung, Qualifizierung und Minderung potenzieller Fehler und Leistungsprobleme, von der Entwicklung bis zur Bereitstellung – vom Design bis zum Start der Anwendung.

AppRM ermöglicht es Entwicklern und Testern, alle mit der Anwendungsleistung verbundenen Risiken vorherzusagen und zu verwalten, wodurch Kosten und Markteinführungszeit durch frühzeitiges Erkennen von Schwachstellen und Risiken, insbesondere bei externen Faktoren, reduziert werden. So muss beispielsweise eine Anwendung, egal wie elegant sie gestaltet ist – egal wie gut sie in der Sicherheit und im Komfort des Prüflabors abschneidet – mit den Problemen des Betriebs über reale Netzwerke fertig werden, weshalb Systemarchitekten zunehmend einen neuen Ansatz für dieses spezielle Anwendungs-Risikomanagement verfolgen. Network Profiling und Virtual Test Networks sind eine leistungsstarke neue Art des Testens, die den intelligenten Weg bietet, die Risiken der Bereitstellung von Anwendungen in potenziell ungünstigen Netzwerkumgebungen zu managen.

Application Risk Management hat eine einfache Idee im Kern: Um die potenziellen Risiken zu beseitigen, indem man versteht, wie eine App in jeder Phase des Entwicklungsprozesses funktioniert, wie z.B. das Verständnis, wie sie in der realen vernetzten Umgebung funktioniert – Seine Anwender wissen, dass sie öffentliche Netzwerke nicht verbessern können, aber sie können die Toleranz und Widerstandsfähigkeit der App verbessern. Letztendlich müssen sie zunächst wissen, an welchem Punkt die App wahrscheinlich ausfällt.

In einem Umfeld, in dem das Risiko einer fehlgeschlagenen Anwendungseinführung oder -migration Einnahmen, Markenreputation, Arbeitsplätze oder sogar Leben kosten könnte, sollte die effektive Bewertung und Bewältigung dieses Risikos integraler Bestandteil jedes Entwicklungsprozesses sein und als solcher stärker in den Mittelpunkt gerückt werden.

 

Firewall Performance Testing mit Xena VulcanBay

In diesem konkreten Testfall haben wir einen Xena VulcanBay mit 2x 40 Gbps QSFP+ Interfaces verwendet, um einige Next-Generation Firewalls bezüglich ihrer Performance zu testen. Konkret waren wir an folgenden Testszenarien interessiert:

  • Reiner Durchsatz (Throughput)
  • Hohe Anzahl von Verbindungen (Session Load)
  • Einsatz von NAT
  • Realistischer Traffic
  • Längere Testzeiträume, währenddessen wir neue Firewallregeln “gepusht” haben, um potentielle Einbrüche im Durchsatz feststellen zu können

In diesem Beitrag wollen wir zeigen, wie wir den Xena VulcanBay inkl. dessen Management, dem VulcanManager, sowie einen Cisco Nexus Switch zum Verbinden der Firewall-Cluster eingesetzt haben. Wir listen unsere Testszenarien auf und geben ein paar Hinweise zu potentiellen Stolpersteinen.

Für unsere Tests hatten wir einen Xena VulcanBay Vul-28PE-40G mit Firmware Version 3.6.0, Lizenzen für die beiden 40 G Interfaces sowie die vollen 28 Packet Engines zur Verfügung. Der VulcanManager lief auf Version 2.1.23.0. Da wir nur einen einzelnen VulcanBay (und nicht mehrere an verteilten Standorten) verwendet haben, konnte der einzige Admin-User die vollen 28 Packet Engines auf diese beiden Ports gleichermaßen verteilen.

Für Tests mit bis zu 80 G Durchsatz reichten zwei QSFP+ Module (links) sowie die Verteilung der Packet Engines auf eben diese Ports (rechts).

Verkabelung

Für den Anschluss des VulcanBays an die jeweiligen Firewall-Cluster haben wir einen einzelnen Cisco Nexus Switch mit genügend QSFP+ Modulen und entsprechendem Durchsatz verwendet. Da wir alle Firewall-Cluster als auch den VulcanBay gleichzeitig an diesen Switch angeschlossen hatten, und für die Tests stets die gleichen IPv4/IPv6 Adressbereiche genommen hatten, konnten wir rein mit dem “shutdown / no shutdown” einzelner Interfaces darüber entscheiden, welchen Firewallhersteller wir nun testen wollten. Somit war das komplette Labor aus der Ferne steuerbar. Sehr praktisch für den typischen Fall eines Homeoffice Mitarbeiters. Außerdem war es so einfach möglich, den VulcanBay auch “mit sich selbst” zu verbinden, um aussagekräftige Referenzwerte aller Tests zu bekommen. Hierfür wurden temporär beide 40 G Interface zum VulcanBay in das gleiche VLAN konfiguriert.

Mit jeweils zwei Leitungen für Client und Server wurden alle Firewall Cluster an einen zentralen Switch gekoppelt. Ebenso der VulcanBay von Neox Networks.

Es gibt Switche mit QSFP+ Modulen, welche allerdings als 4x 10 G ausgeführt sind und *nicht* als 1x 40 G. Für den Anschluss des VulcanBay mit seinen 40 G Interfacen ist letzteres unumgänglich.

Dank moderner QSFP+ Slots mit 40 G Interfaces erreicht man mit nur zwei Anschlüssen einen Duplex Durchsatz von 80 Gbit/s.

IP Subnets

In unserem Fall wollten wir verschiedene Firewalls im Layer 3 Modus testen. Um dieses “Device Under Test” (DUT) routingtechnisch einzubinden haben wir entsprechende Subnetze angelegt – sowohl für das veraltete IPv4 Protokoll als auch für IPv6. Die vom VulcanBay simulierten IP Subnetze liegen nachher an der Firewall direkt an. Im Falle eines /16er IPv4 Netztes muss also genau dieses /16 Netz auch an der Firewall konfiguriert werden. Wichtig ist vor allem der Default Gateway, beispielsweise 10.0.0..1 für das Client IPv4 Netz. Verwendet man zusätzlich die Option “Use ARP” (rechte Seite), muss man sich um die eingeblendeten MAC Adressen nicht kümmern. Der VulcanBay löst diese selbst auf.

Der Adressbereich muss zwingend angepasst werden, damit die durchgeführten Tests nicht einem MAC Flooding gleichkommen.

Bei IPv6 verhält es sich gleichermaßen. Hier wird das Netzwerk nicht in der sonst üblichen Slash-Notation eingegeben, sondern einfach nur der Gateway und der Address Range bestimmt. Per “Use NDP” löst auch hier der VulcanBay die Layer 2 MAC-Adresse zur Layer 3 IPv6-Adresse selbstständig auf.

Per “Use Gateway” teil man dem VulcanBay mit, dass ein dazwischenliegender Router/Firewall für die Tests verwendet werden soll.

MAC Flooding! Je nach verwendeten Test Szenarios simuliert der VulcanBay mitunter Millionen von IPv4/IPv6 Adressen im Client oder Server Segment. Dies ist für jeden dazwischenliegenden Switch oder Firewall eine reine Flut von MAC Adressen. Gängige High-End Swichte können maximal 128 k MAC Adressen in ihrer MAC-Address-Table halten. Belässt man die von Xena Networks per default eingestellt Range von 16 Millionen (!) IPv4 Adressen, bzw. 1,8 x 10^19 IPv6 Adressen sind hernach jedwede Testergebnisse nichts aussagend. Daher strikt die Empfehlung, die Address Ranges von vornherein auf realitische Werte zu verkleinern, wie in dem Screenshot oben zu sehen ist (gelb markiert: 65 k Adressen).

Für Referenzwerte wurde der VulcanBay für alle Tests auch “mit sich selbst” verbunden. Während man bei IPv4 die gleichen “Subnets” Netze mit den unterschiedlichen Adressbereichen weiterverwenden konnte, waren bei IPv6 Subnetze innerhalb des *gleichen* /64 Präfix nötig.

Testcases

1) Reiner Durchsatz (Throughput): In dem ersten Testszenario ging es uns rein um den Durchsatz der Firewalls. Hierfür haben wir das Szenario “Pattern” gewählt, einmal für IPv4 und einmal für IPv6, was automatisch die Ratio auf 50-50 legt. In den Einstellungen haben wir zusätzlich “Bidirectional” ausgewählt um in beiden Fällen Daten in beide Richtungen, also Duplex, durchzuschieben. So konnten wir mit den 2x 40 G Interfaces den maximalen Durchsatz von vollen 80 G erreichen. Um die Bandbreite über mehrere Sessions zu verteilen (was im echten Leben der realistischere Testfall ist), wählten wir 1000 User aus, welche jeweils von 100 Source Ports zu 10 Servern Verbindungen aufbauen sollten. Macht für IPv4 und IPv6 jeweils 1 Million Sessions. Bei einer Ramp-Up Time von 5 Sekunden, also einem sanften Anstieg der Verbindungen anstelle der sofortigen vollen Last, lief der reine Test danach 120 Sekunden durch, bevor er ebenfalls eine Ramp-Down Time von 5 Sekunden hatte.

Testszenario “Pattern” mit einer 50-50 Verteilung von IPv4 und IPv6. Das “Load Profile” (rechts) zeigt die zu simulierenden User anhand der Zeitachse.

Während des Tests zeigt der VulcanManager bereits einige nützliche Daten an, wie beispielsweise die TCP Connections oder den Layer 1 Durchsatz. Anhand der Grafiken im oberen Bereicht bekommt man auf einen Blick einen guten Eindruck. Im folgenden Screenshot lässt sich so erkennen, dass die Anzahl der aktiven Verbindungen weniger als die Hälfte der geplanten schafft (schlecht), während der Layer 5-7 Goodput einen unschönen Knick zu Beginn des Tests hat. Beide Probleme haben sich im Nachgang als Fehler bei der IPv6 Implementation des getesteten Geräts herausgestellt.

Während theoretisch 2 Millionen Sessions bei 80 G Durchsatz die Firewall hätten passieren sollen, ist hier weniger als die Hälfte sauber durchgekommen.

Die Grafik “Active Sessions” zeigt sowohl in dem Live-View während des Tests als auch in dem späteren PDF Bericht nicht die tatsächlichen aktiven Sessions, sondern die Anzahl der simulierten User an. Während die Grafik für die 2000 User zwar stimmt, waren es während des Tests tatsächlich 2 Millionen Sessions.

2) Hohe Anzahl von Verbindungen (Session Load): Ebenfalls für IPv4 und IPv6 wurden bei diesem Test 20 Millionen parallele TCP Sitzungen aufgebaut und aufrechterhalten. Nicht nur die Summe der Sessions war relevant, sondern vor allem die kurze Ramp-Up Zeit von nur 30 Sekunden, was einem Aufbaurate von 667.000 Verbindungen pro Sekunde entsprach! Für 60 Sekunden wurden die Sessions stehen gelassen, jedoch ohne Daten zu transferieren. Über weitere 30 Sekunden wurden sie, TCP-typisch per FIN-ACK, wieder abgebaut. Ziel war es, dass die zu testenden Firewalls erstens die Verbindungen alle sauber durchließen und sie zweitens auch wieder sauber aubbauen (und somit ihren Speicher freigeben) konnten.

Vor jedem Test haben wir sowohl die MAC-Address-Table auf dem Switch, als auch die Session, ARP und NDP Caches auf den Firewalls gelöscht. Somit wurde jeder Test aufs Neue von Null auf durchgeführt.

3) NAT Szenarien: Hierbei wurde genau der gleiche Test wie unter 1) verwendet, mit dem einzigen Unterschied, dass die IPv4 Verbindungen vom Client- zum Servernetz mit einem Source-NAT auf den Firewalls versehen wurden. Ziel war es herauszufinden, ob dies eine Leistungsverringerung bei den Firewalls verursacht.

4) Realistischer Traffic: Per vordefiniertem “Datacenter Mix” konnten wir mit wenigen Klicks den Ablauf von zwei HTTPS, SMB2, LDAP und AFS (über UDP und TCP) Verbindungen für mehrere Tausend Nutzer simulieren. Hierbei ging es nicht um einen vollen Lasttest der Firewalls, sondern um die Auf- und Abbaugeschwindigkeiten sowie die Applikationserkennungen. Je nachdem, ob die App-IDs der Firewalls aktiviert oder deaktiviert waren, gab es hier große Unterschiede.

5) 10 Minuten Dauerfeuer mit Commits: Dieser etwas speziellere Tests bestand aus den Szenarien 1 und 4, also volle Last (1) bei gleichzeitig konstantem Session Auf- und Abbau (4). Dies lief für 10 Minuten konstant durch, während wir weitere 500 Regeln auf die jeweilige Firewall installiert haben. Hierbei wollten wir herausfinden, ob dieser Prozess auf den Firewalls einen messbaren Knick in dem Durchsatz erzeugt, was teilweise auch der Fall war.

Testergebnisse

Am Ende eines jeden Tests zeigt der VulcanManager die “Statistics and Reporting” Seite mit allen erdenklichen Details an. Per “Create Report” lässt man sich ein PDF erstellen, was neben allen Details auch Informationen über das gewählte Testszenario sowie Angaben zu dem getesteten Gerät beinhält. Die Herausforderung besteht darin, die relevanten von den weniger relevanten Zahlen zu unterscheiden und sie in den richtigen Kontext zu stellen um letztendlich aussagekräftige Ergebnisse zu bekommen. Während unserer Vergleiche von verschiedenen Next-Generation Firewalls beschränkten wir uns beispielsweise rein auf den “Layer 1 steady throughput (bps)” für den Durchsatz-Test, oder die “Successful TCP Connections” für den Verbindungs-Test. Verglichen mit den Referenzwerten bei denen der VulcanBay mit sich selbst verbunden war, gab dies bereits sinnvoll vergleichbare Ergebnisse, die sich sowohl tabellarisch als auch grafisch einfach darstellen ließen.

Die Statistics and Reporting Seite gibt neben einem groben Überblick (Mitte) die Möglichkeit, Testwerte aus allen OSI-Schichten und der gewählten Testszenarios auszulesen (Links, aufklappbare Reiter).

Ausschnitt eines PDF Reports mit allen Details.

Die vielfältig vorhandenen “Application Mix” Szenarien von Xena Networks dienen nicht dem direkten Vergleich von Firewall Performance Werten, sondern dem gezielten Generieren von Netzwerkverkehr. So können damit Applikationserkennungen überprüft werden oder andere parallel ausgeführte Szenarien etwas mehr “gestresst” werden.

Weitere Features

Beachten Sie, dass der VulcanManager einige weitere interessante Funktionen hat, die wir in dieser Fallstudie nicht verwendet haben, wie TLS Traffic (zum Testen von TLS-Interception) und Packet Replay (zum Testen eigener und spezifischerer Szenarien, die aus hochgeladenen PCAPs extrahiert werden). Auch haben wir nicht viele anwendungs- oder protokollorientierte Testszenarien wie Dropbox, eBay, LinkedIn oder HTTPS, IMAP, NFS genutzt. Dies ist auf unsere Testzwecke zurückzuführen, die stark auf den reinen Durchsatz und Anzahl der Sessions fokussiert waren.

Fazit

Der VulcanBay von XENA Networks ist das ideale Testgerät für die Vergleiche diverser Next-Generation Firewalls. Innerhalb kürzester Zeit hatten wir diverse Testszenarien konfiguriert und getestet. Lediglich die Fülle an Testergebnissen war anfänglich überfordernd. Die Kunst bestand darin, sich gezielt auf die relevanten Informationen zu konzentrieren.

Bis zu 14x Leistungssteigerung durch Wireshark – Napatech Link™ Capture Software für Napatech SmartNIC

Lösungsbeschreibung

 

Wireshark ist ein weit verbreiteter Netzwerkprotokollanalysator, mit dem Benutzer auf mikroskopischer Ebene sehen können, was in ihren Netzwerken passiert. Er ist der De-facto-Standard bei vielen kommerziellen und gemeinnützigen Unternehmen, Regierungsbehörden und Bildungseinrichtungen für die Fehlersuche und Protokollanalyse.

Wireshark verfügt über einen umfangreichen Funktionsumfang, welcher eine gründliche Inspektion von Hunderten von Protokollen, Live-Capture und Offline-Analyse umfasst. So leistungsfähig Wireshark bei der Inspektion und Analyse von Netzwerkprotokollen auch ist, es wird nur so effektiv sein wie seine Implementierung.

Die Fähigkeit, Datenverkehr verlustfrei aufzuzeichnen und zu analysieren, ist von größter Bedeutung für den Erfolg von Wireshark. Um den gesamten Verkehr auszuwerten, ist es eine grundlegende Anforderung, dass Wireshark “alles sieht”. Sollten einzelne Datenpakete nicht erfasst werden, ist eine vollständige Protokollanalyse nicht möglich. Und wenn der Capture-Server überlastet und zu langsam ist, um die eingehende Paketrate zu verarbeiten, werden Pakete verworfen und die darin enthaltenen Informationen gehen für immer verloren.

Aber die Untersuchung des Inhalts jedes Netzwerkpakets ist extrem CPU-intensiv, insbesondere bei einer Multi-Gigabit Netzwerkauslastung. Und das ist der limitierende Faktor in der Wireshark-Performance: die Paketverarbeitung mittels CPU.

Um dieser Herausforderung zu begegnen, hat Napatech eine Hardwarebeschleunigungslösung auf Basis der Napatech Link™ Capture Software entwickelt, welche die CPU entlastet und damit die Capture Performance von Wireshark deutlich erhöht.

Wichtigste Lösungsmerkmale

 

  • Verlustfreie Erfassung und Protokolldekodierung für bis zu 13 Gbit/s auf einem einzigen Thread zur Verkehrsanalyse, Inspektion und Erkennung
  • Onboard-Paketpufferung während Micro-Burst- oder PCI-Express-Busüberlastungsszenarien
  • Erweiterte Hostspeicher-Pufferverwaltung für extrem hohe CPU-Cacheleistung
  • Paketklassifizierung, Match-/Aktionsfilterung und Null-Kopie-Weiterleitung
  • Intelligente und flexible Lastverteilung auf bis zu 64 Queues, die die CPU-Cache-Leistung verbessert, indem sie immer die gleichen Abläufe an die gleichen Kerne liefert

Der Napatech-Unterschied

 

Die Napatech Link™ Capture Software erhöht die Capture Performance und Protokollanalyse drastisch und ermöglicht es Netzwerkingenieuren, die volle Leistung von Wireshark zu nutzen, um den Netzwerkverkehr zu verstehen, Anomalien zu finden und Netzwerkprobleme mit unglaublicher Geschwindigkeit zu diagnostizieren. Die Lösung entlastet die Anwendungssoftware von der Verarbeitung und Analyse des Netzwerkverkehrs und sorgt gleichzeitig für eine optimale Nutzung der Ressourcen der Hardware, was zu einer effektiveren Nutzung von Wireshark führt.

Hervorragende verlustfreie Leistung

 

Optimiert für die Erfassung des gesamten Netzwerkverkehrs bei voller Auslastung der Netzwerkleitung und nahezu ohne CPU-Belastung des Hostservers, weist die Lösung enormeLeistungsvorteile für Wireshark auf: bis zu 14-fache verlustfreie Aufzeichnungs- und Dekodierleistung im Vergleich zu einer Standard-Netzwerkschnittstellenkarte (NIC).

Aus Beschleunigung wird Wert

Diese Leistungsvorteile ermöglichen Ihnen letztendlich folgendes:

  • Maximieren Sie Ihre Serverleistung, indem Sie die CPU-Auslastung verbessern
  • Minimieren Sie Ihre Gesamtbetriebskosten, indem Sie die Anzahl der Server reduzieren und so den Rackspace, Stromverbrauch, Kühlung und die Betriebskosten optimieren
  • Verkürzen Sie Ihre Time-to-Resolution und ermöglichen Sie so eine deutlich höhere Effizienz

Testkonfiguration

 

Die herausragenden Verbesserungen, die mit dieser Lösung erzielt wurden, wurden durch den Vergleich der Wireshark-Leistung auf einem Dell PowerEdge R740 mit einer Standard 40G NIC-Karte und der Napatech NT200 SmartNIC mit Link™ Capture Software demonstriert. Testkonfiguration: Dual-Sockel Dell R740 mit Intel® Xeon® Gold 6138 2,0 GHz, 128GB RAM mit Ubuntu 14.04 LTS.

Verlustfreie Durchsatzprüfungen

 

Für den verlustfreien Durchsatztest wurde Datenverkehr mit festen Raten und Paketgrößen gesendet und der Durchsatz als die Rate gemessen, mit der Wireshark die Pakete empfangen und analysieren kann.

Zusätzliche Tests für “Back-to-Back-Frames” wurden wie in der RFC 2544 Benchmarking-Methodik beschrieben durchgeführt, um einen Burst von Frames mit minimalem Inter-Frame-Gap an das „Device Under Test“ (DUT) zu senden und die Anzahl der vom DUT empfangenen/weitergeleiteten Frames zu zählen. Der Back-to-Back-Wert ist definiert als die Anzahl der Frames im längsten Burst, die das DUT ohne den Verlust von Frames verarbeiten kann. Mit gleich großen Capture-Pufferkonfigurationen bietet die Napatech SmartNIC eine 60-mal höhere Back-to-Back-Frame-Leistung. Bei Bedarf für stark gebündelte Datenverkehrsmuster kann die Napatech-Lösung deutlich größere Host-Puffer zuweisen, die eine hundertmal höhere Back-to-Back-Capture Performance bieten.

Napatech Link™ Capture Software

 

Die atemberaubenden Benchmarks für Wireshark wurden durch den Einsatz der Reconfigurable Computing Platform von Napatech erreicht, die auf FPGA-basierter Link™ Capture Software und Napatech SmartNIC Hardware basiert.

Die Reconfigurable Computing Platform von Napatech entlastet, beschleunigt und sichert flexibel offene, standardisierte, hochvolumige und kostengünstige Serverplattformen, so dass sie die Leistungsanforderungen für Netzwerk-, Kommunikations- und Cybersicherheitsanwendungen erfüllen können.

Wireshark

 

Wireshark, einer der führenden Netzwerkprotokollanalysatoren der Branche, ist ein ideales Beispiel für die Art von kritischen Unternehmensanwendungen, die durch Hardwarebeschleunigung mit der Napatech LinkTM Capture Software eine bessere Leistung erzielen können.

Wireshark kann mit nativer Unterstützung für Hardwarebeschleunigung auf Basis der Intel-Hardware und Napatech-Software kompiliert werden. Spezifische Anweisungen zur Implementierung von Wireshark mit Unterstützung für Napatech finden Sie in der Installations-Kurzanleitung, die im Napatech-Dokumentationsportal verfügbar ist.

Ethernet Pakete lügen nicht – nun ja, zumindest in den meisten Fällen.

Sie sagen die Wahrheit, sofern sie nicht falsch erfasst wurden. In diesen Fällen können Pakete in der Tat fett gedruckte Lügen erzählen.

Beim Durchsuchen von Trace-Dateien können wir in den Paketen auf Symptome stoßen, bei denen so mancher überrascht die Stirn runzeln würde. Dies sind Ereignisse, die auf der Oberfläche seltsam erscheinen und sogar unsere Fehlerbehebung für eine Zeit ablenken können. Einige dieser Probleme haben tatsächlich Netzwerk Analysten stundenlang irregeleitet, wenn nicht sogar Tage, wodurch sie Problemen und Ereignissen nachgejagt haben, die einfach nicht im Netzwerk existieren.

Die meisten dieser Beispiele können einfach vermieden werden, indem die Pakete von einem Netzwerk Test Access Point (TAP) aus erfasst werden, anstatt auf dem Rechner, auf dem der Verkehr erzeugt wird. Mit einem Netzwerk TAP können Sie die Netzwerkdaten transparent und unverfälscht erfassen und sehen was wirklich über die Leitung übertragen wird.

Sehr große Pakete

In den meisten Fällen sollten Pakete nicht größer als das Ethernet-Maximum von 1518 Bytes sein, oder das was für die Link-MTU festgelegt wurde. Dies gilt jedoch nur dann, wenn wir nicht mit 802. 1Q-Tags verwenden oder uns in einer Jumbo Frame Umgebung befinden.

Wie ist es möglich Pakete zu haben, die größer sind als das Ethernet-Maximum? Einfach ausgedrückt, wir erfassen sie, bevor sie von der NIC segmentiert werden. Viele TCP/IP-Stacks verwenden heutzutage TCP Segmentation Offload, welche die Last der Segmentierung von Paketen an die NIC delegiert. Der WinPcap- oder Libpcap-Treiber erfasst die Pakete, bevor dieser Vorgang stattfindet, sodass einige der Pakete viel zu groß erscheinen können, um legitim zu sein. Wenn die gleiche Aktivität auf dem Netzwerk erfasst wurde, würden diese großen Frames für den Transport in mehrere kleinere segmentiert.

Zero Delta Zeiten

Zero Delta Zeiten bedeutet, dass es keine gemessene Zeit zwischen den Paketen gibt. Wenn diese Pakete in das Erfassungsgerät gelangen, erhalten sie einen Zeitstempel und eine messbare Delta Zeit. Der Zeitstempel für den Eintritt auf dem Erfassungsgerät konnte nicht mit dem Paketaufkommen mithalten. Würden diese Pakete hingegen mit einem externen Tap-Server erfasst, könnten wir wahrscheinlich eine fehlerfreie Zeitstempelung erhalten.

Vorherige Pakete nicht erfasst

Diese Warnung wird angezeigt, weil Wireshark eine Lücke im TCP-Datenstrom bemerkt hat. Es kann anhand der sequenzierten Zahlen feststellen, dass ein Paket fehlt. Manchmal ist dies aufgrund des Upstream-Paketverlusts berechtigt. Allerdings kann es auch ein Symptom sein, dass der Analysator oder SPAN das Paket fallen gelassen hat, weil es nicht mit der Belastung mithalten konnte.

Nach dieser Warnung sollten Sie nach einer Reihe von doppelten ACK-Paketen suchen, anstatt eines defekten Pakets. Dies deutet darauf hin, dass ein Paket tatsächlich

verloren gegangen ist und erneut übertragen werden muss. Wenn Sie keine erneute Übertragung oder defekte Pakete sehen, konnte der Analyzer oder SPAN wahrscheinlich nicht mit dem Datenstrom mithalten. Das Paket war tatsächlich im Netzwerk, aber wir haben es nicht gesehen.

TCP ACKed unbemerkte Segmente

In diesem Fall wird eine Bestätigung für ein Datenpaket angezeigt, das nicht erfasst wurde. Das Datenpaket hat eventuell einen anderen Weg genommen, oder das Erfassungsgerät hat es einfach nicht wahrgenommen.

Vor Kurzem habe ich diese Ereignisse bei Trace-Dateien gesehen, die von Switches, Routern und Firewalls erfasst wurden. Da die Erfassung von Datenverkehr eine niedrigere Priorität als eine Weiterleitung hat (Gott sei Dank!), kann das Gerät schlichtweg einige der Frames im Datenstrom übersehen. Da wir die Bestätigung gesehen haben, wissen wir, dass das Paket es zu seinem Bestimmungsort geschafft hat.

Zum größten Teil sagen Pakete die Wahrheit. Sie können uns zur Hauptursache unserer Netzwerk- und Anwendungsprobleme führen. Da sie solche klaren und detaillierten Daten präsentieren, ist es sehr wichtig, dass wir sie so nah am Netzwerk wie möglich aufzeichnen. Das bedeutet, dass wir sie während der Übertragung erfassen müssen, und nicht auf dem Server selbst. Dies hilft uns dabei, keine Zeit mit falschen Negativwerten zu verschwenden.

Wenn Sie mehr über die Berücksichtigungen von Netzwerkvisualisierungen für Fachleute erfahren möchten, dann laden Sie unsere kostenlose Informationsschrift herunter, TAP vs SPAN.

https://www.garlandtechnology.com/tap_vs_span_lp