Schlagwort-Archive: netzwerkanalyse

Monitoring-Ressourcen effektiver nutzen dank intelligenter Lastverteilung

Problemstellung

Oftmals besitzen Analyse-, Monitoring- und Security-Systeme mehr als nur einen Anschluss, um ankommende Daten von den entsprechenden Netzwerk-Abgriffspunkten anzunehmen und zu verarbeiten. Viele dieser Systeme haben mindestens 2, oder aber 4 oder sogar noch mehr Ports, welche zur Datenaufnahme bereitstehen.

Je nach Art und Standort der verschiedenen Netzwerk-Abgriffspunkte bietet das dem Anwender die Möglichkeit pro abgegriffener Leitung einen dedizierten physischen Port zur Verfügung zu stellen. Voraussetzung dafür sind aber mehrere Faktoren.

Die Geschwindigkeit und Topologie der zu analysierenden Netzwerkleitungen muss identisch sein zu den Anschlüssen des Analysesystems und es ist auszuschließen, dass in Zukunft weitere Abgriffspunkte hinzukommen, welche vom gleichen Analysesystem auszuwerten sind.

Lösungsansätze

Abseits der Problematik mit Geschwindigkeiten und Topologien kann man natürlich jederzeit zusätzliche Analysesysteme installieren, sollte die Anzahl der überwachenden Leitungen steigen.
Oftmals ist dies jedoch die kostspieligste und aufwendigste Alternative. Neben der erforderlichen Beschaffung würde es für den Anwender bedeuten, sich mit einem weiteren System auseinander zu setzen; ein vermeidbarer administrativer Mehraufwand.

Um solch eine Situation zu vermeiden, gibt es verschiedene Optionen und je nach bereits vorhandenem Setup kann man technische Verfahren einsetzen, um die ankommenden Daten der Messpunkte effektiver auf die bereits bestehenden physikalischen Ports zu verteilen.
Des Öfteren ist es nämlich primär das Verhältnis von Datenmenge und Anzahl der Messpunkte zu der Anzahl an verfügbaren Ports auf dem Analysesystem und nicht etwa die grundsätzliche Höhe des Datenvolumens, was zu Engpässen physikalischer Natur führen kann.

Hier kann sowohl (semi-dynamisches) Load Balancing als auch Dynamic Load Balancing helfen, ein Feature, welches die meisten Network Packet Broker mitbringen.
Hierbei wird auf dem Network Packet Broker eine Gruppe/Anzahl an physikalischen Ports zusammengefasst und als eine einzelne logische Ausgangsinstanz definiert. Datenströme, welche über diese Portgruppierung den Network Packet Broker verlassen, werden auf alle Ports, welche Teil dieser Gruppierung sind, verteilt, wobei die einzelnen Sessions jedoch erhalten bleiben.

Beispiel

Dynamic Load Balancing Beispiel-Diagramm

Nehmen wir folgendes Beispiel an: Es wurden 8 Messpunkte im lokalen Netzwerk verteilt gesetzt. Über jeden Abgriffspunkt läuft jeweils eine Session zwischen 2 Endpunkten. Das eingesetzte Analysesystem ist mit insgesamt 4 Ports zur Datenaufnahme ausgestattet.
Selbst wenn man davon ausgeht, dass die Messpunkte ausschließlich SPAN- oder Mirror-Ports sind, besteht immer noch das Problem, dass zu viele Messpunkte auf zu wenige Ports treffen.

Und genau hier kommen die Network Packet Broker mit Load Balancing ins Spiel. Die Lastverteilung sorgt dafür, dass jede Session zwischen 2 Endpunkten eines jeden Messpunktes als Ganzes an einen einzigen Port des angeschlossenen Analysesystems gesendet wird.
Der Einfachheit halber ist anzunehmen, dass die 8 Sessions der 8 Messpunkte zu gleichen Teilen auf die 4 Ports des Analysesystems verteilt werden, pro Port 2 Sessions.

Das alles ist komplett dynamisch und nachträglich hinzukommende Sessions zwischen Endpunkten werden vollautomatisch an die in der Portgruppierung zugehörigen Anschlüsse des Analysesystems gesendet. Eine nachträgliche Einrichtung oder Änderung der Konfiguration des Network Packet Brokers ist nicht nötig, die eingebauten Automatismen erlauben das automatisierte und zuverlässige Verteilen von weiteren Datenströmen an das Analysesystem.

Selbstverständlich ist es auch möglich, sowohl zusätzliche Abgriffspunkte an den Network Packet Broker anzuschließen und deren Daten in die Lastverteilung mit einfließen zu lassen, als auch die oben erwähnte Portgruppierung um zusätzliche Ausgangsports zu erweitern.
All diese Schritte können im laufenden Betrieb vorgenommen werden, die zusätzlichen Datenströme werden in Echtzeit ohne Unterbrechungen an die neu hinzugekommenen Ports des Analysesystems verteilt.

Auch ein Entfernen von Ports, selbst während des Betriebs, ist kein Problem! Der Network Packet Broker ist in der Lage, dafür zu sorgen, dass die Pakete/Sessions ohne Zeit- und Paketverlust an die verbliebenen Ports des Analysesystems weitergereicht werden.

Dynamic-Load-Balancing_2

Sessions & Tupels

Doch wie kann der Network Packet Broker sicherstellen, dass immer ganze Sessions auf den einzelnen Ports der oben genannten Load Balancing Gruppe verteilt werden?

Hierfür wird aus jedem einzelnen Paket ein Hash-Wert generiert. Eine integrierte Funktion stellt sicher, dass im Falle einer bi-direktionalen Kommunikation die Pakete beider Transportrichtungen auf demselben Port den Network Packet Broker wieder verlassen.

Diese Hash-Werte werden mittels dem sogenannten „5-Tuple“-Mechanismus ermittelt, wobei jedes Tupel ein bestimmtes Feld im Header eines jeden Ethernet-Frames darstellt. Die verfügbaren Tupels auf dem Network Packet Broker (bspw. NEOXPacketLion), welche für die dynamische Lastverteilung genutzt werden, sind:

  • Input Port (Physikalischer Anschluss)
  • Ethertype
  • Source MAC
  • Destination MAC
  • VLAN Label
  • MPLS Label
  • GTP Tunnel Endpoint Identifier
  • GTP Inner IP
  • IP Protocol
  • Source IP
  • Destination IP
  • Layer-4 Source PORT
  • Layer-4 Destination PORT

Je nach Struktur und Aufbau des Netzwerks und je nachdem, ob Pakete mittels NAT transportiert werden, ist eine weitere, sehr verbreitete Verteilung der Tupels:

  • IP Protocol
  • Source IP
  • Destination IP
  • Layer-4 Source PORT
  • Layer-4 Destination PORT

Bei der „5-Tuple“-basierten Lastverteilung werden alle oben genannten Tupel genutzt, um einen Hash-Wert zu bilden, welcher sicherstellt, dass alle Pakete inklusive der entsprechenden Rückrichtung immer über denselben Port den Network Packet Broker verlassen und somit beispielsweise das eingesetzte Security-System immer und grundsätzlich nur vollständige Sessions zur Auswertung erhält.

Hash-Werte

Um den eigentlichen Hash-Wert überhaupt generieren zu können, auf welchem die Lastverteilung basiert, stehen dem Benutzer zwei verschiedene Funktionen zur Verfügung, CRC32 und XOR.

Mittels der CRC32-Funktion lassen sich Hash-Schlüssel mit einer Länge von 32 Bits generieren und können sowohl symmetrisch als auch asymmetrisch genutzt werden, während die XOR-Funktion einen 16 Bit langen Hash-Schlüssel erstellt, welcher je nach Einsatzzweck eine höher auflösende Verteilung der Daten erlaubt, diese jedoch ausschließlich symmetrisch ausgeben kann.

Diese Symmetrie bedeutet, dass selbst wenn Source IP und Destination IP vertauscht werden, wie man es aus regulären Layer-3-Konversationen kennt, die Funktion dennoch den gleichen Hash-Schlüssel errechnet und damit auch die vollen Layer-3-Konversationen immer auf demselben physikalischen Port den Network Packet Broker verlassen.

Im Falle einer asymmetrischen Verteilung, welche nur von der CRC32-Funktion unterstützt wird, würde der Network Packet Broker PacketLion bei der oben beschriebenen Situation unterschiedliche Hash-Werte errechnen und somit auch entsprechend auf unterschiedlichen physikalischen Ports ausgegeben werden.

Dynamic Load Balancing - Screenshot - NEOXPacketLion Network Packet Broker
NEOXPacketLion Network Packet Broker – Screenshot

Dynamic Load Balancing

Eine weitere, zusätzliche Funktion der Lastverteilung ist die mögliche Dynamik, mit welcher dieses Feature erweitert werden kann. Im Falle einer dynamischen Lastverteilung wird zusätzlich zum oben erklärten Hash-Wert noch die prozentuale Auslastung eines jeden Ports, welcher Teil der Load-Balancing-Portgruppe ist, mit in die Kalkulation einbezogen.

Selbstverständlich werden auch bei diesem Verfahren keine Flows aufgesplittet, weiterhin wird auch sichergestellt, dass, wenn ein Flow basierend auf den Berechnungen auf einem bestimmten Port ausgegeben wird, dieser Flow auch in Zukunft immer über denselben Port den Network Packet Broker verlässt.

Mittels eines konfigurierbaren Timeouts kann der Nutzer definieren, ab wann ein Flow seine Zugehörigkeit zu einem Ausgangsport verliert. Dieser wird bei einem Wiederauftreten dann wieder regulär an die Teilnehmer der Load-Balancing-Portgruppe ausgegeben und sowohl durch Erkennung der Auslastung im TX Stream, als auch anhand der Hash-Wert-Generierung wird ermittelt, welcher Ausganssport des Network Packet Brokers derzeit am geeignetsten ist, um die Daten auf das angeschlossene Analysesystem zu bringen.

Fazit

Es zeigt sich, dass die Verteilung der ankommenden Datenlast mittels Load Balancing seit vielen Jahren ein probates Mittel zur effektiven Ausnutzung von Security-, Analyse- und Monitoring-Systemen ist. Über die Jahre wurde dieses Verfahren immer weiter verbessert und gipfelt in der dynamischen Lastverteilung, welches die PacketLion Serie innehat.

Ein ständiges Nachfassen der Konfiguration in Bezug auf die Verteilung der einzelnen Sessions auf die angeschlossenen Systeme entfällt komplett, dies übernimmt mittlerweile die Intelligenz der Network Packet Broker und erlaubt es dem Anwender, das volle Potential seiner Systeme zu nutzen und unnötige Ausgaben zu vermeiden.

Netzwerkanalyse – Packet Capturing

netzwerk-analyse_packet-capturing

Die Netzwerk-Paketanalyse ist eine großartige Methode für die Diagnose von Netzwerkproblemen. Dabei werden die Daten im Netzwerk oder auf den betroffenen Geräten aufgezeichnet und mit speziellen Analysegeräten untersucht.

Durch diese Technik bekommt man einen tiefen Einblick in die Datenpakete und kann so, sehr präzise Fehler identifizieren und beheben. Die Netzwerkanalyse mittels „capturing“ Verfahren gehört zu den zuverlässigsten Analysemethoden, da Sie dabei unverfälschte Informationen aus den entsprechenden Netzwerkverbindungen zu Ihrem Netzwerk, Server, Client und Applikation erhalten und diese Daten verlustfrei und ohne Beeinträchtigung auswerten können.

Dabei werden die zu analysierenden Daten vollständig und transparent unter Beibehaltung der Datenintegrität von sogenannten Netzwerk-TAPs zum Analysegerät weitergereicht.

Messpunkt – Single oder Multiple?

Als Messpunkt kommt oft ein SPAN-Port zum Einsatz, da hier der geringste Installationsaufwand betrieben werden muss, um an die relevanten Netzwerkdaten heranzukommen.

Der bessere Messpunkt ist jedoch ein Netzwerk-TAP. Die Vorteile von Netzwerk(Ethernet)-TAPs habe ich in meinem vorherigen Beitrag beschrieben und gehe davon aus, dass diese bekannt sind. Sicherlich ist es möglich mittels einem einzelnen Messpunkt im Netzwerk die Ursache des Problems zu untersuchen, doch, um die Position des Problems zu bestimmen, können weitere Messpunkte von Vorteil sein.

Je nachdem wo man die Daten aufzeichnet, bekommt man ein unterschiedliches Bild über die Kommunikation. Speziell um „one-way-delay“ oder den Ort von Paketverlusten zu ermitteln, ist es ratsam mehrere Messpunkte in Betracht zu ziehen.

Zudem kann durch die Nutzung von mehreren Analysepunkten die Qualität der Messung und Problemanalyse deutlich gesteigert werden.

So kann man die aufgezeichneten Daten bequem miteinander vergleichen und dabei Latenz, one-way-delay, Paketverluste und andere wichtige Parameter ermitteln. Ohne Zweifel lassen sich auch mit nur einem Messpunkt Standard Fehler eingrenzen bzw. diagnostizieren, aber aufgrund von immer komplexeren Netzwerkinfrastrukturen, ergeben sich wesentliche Vorteile der Mehrpunktanalyse.

Sie selbst bestimmen die Capture Punkte und können so einfacher und genauer den Transportweg der Pakete analysieren und die Identifizierung von Problemstellen schneller diagnostizieren. Anomalien erkennen und Ihrem Netzwerk wieder auf die Sprünge helfen wird dadurch zum Kinderspiel.

Wie funktioniert eine Multi-Segment Analyse?

Bei dieser Methode werden die Netzwerkdaten an mehreren Stellen im Netzwerk untersucht und miteinander verglichen. Gerade aber bei der Multi-Segment-Analyse ist die Zeitsynchronisierung immens wichtig, da das Ergebnis durch unsaubere Methoden stark beeinflusst und verfälscht wird.

Wenn ich Latenz und Delays präzise und akkurat messen möchte, dann benötige ich eine Hardware womit ich die Pakete Nanosekundengenau erfassen und mit einer absoluten Zeit versehen kann. Mit speziellen Netzwerk Capture Karten die mittels FPGA die Daten aufnehmen, kann man heute Datenpakete mit 8ns Genauigkeit aufzeichnen. Diese Methode wird auch Timestamping genannt und wird von allen professionellen Analyse und Messwerkzeugen unterstützt.

Aber auch ohne solche FPGA Karten kann man Mehrpunkt Analysen durchführen, nämlich indem man die Daten an einem Analysepunkt korreliert, z.B. mit Link-Aggregation-TAPs, aufnimmt oder OmniPeek Enterprise zur Analyse verwendet. Werden die Daten beim Abgriff aggregiert ist es wichtig, den Datenverkehr vorher mit einem VLAN Tag zu markieren oder man kennzeichnet die Messpunkte direkt beim Capturen, um so die Herkunft der Daten bei der Analyse erkennen zu können.

Nicht selten kommt es vor, dass man aus zeitlichen Gründen, den schnellen Weg zum Capturen von Daten bevorzugt und die Netzwerkdaten auf den betroffenen Systemen sammelt. Dabei kann man auf Tools wie TCPDump oder Wireshark (PCAP) zurückgreifen oder aber auch den OmniPeek Remote Assistant zur Hilfe heranziehen.

Liegen die Trace Daten nun von verschieden Systemen (TAP, Client, Server etc.) vor, bedarf es einer Korrektur der absoluten Zeit, da sonst eine Analyse nahezu unmöglich ist. Eine spezielle Funktion in OmniPeek Enterprise erlaubt es mittels Offset Anpassungen die Zeitdifferenzen von den verschiedenen Trace Files manuell zu korrigieren. Gerne übernimmt OmniPeek diese Aufgabe für Sie und synchronisiert die Zeitabstände, damit Sie sich auf das Wesentliche konzentrieren können.

Je mehr Messpunkte ich im Netzwerk ausrollen möchte, desto mehr Netzwerk Schnittstellen benötigt man auf dem Analyse Rechner. Wir gehen in unserem Beispiel von wir 4 Messpunkten aus. Bei diesem Setup liegen die Daten in 4 facher Form vor und müssen entsprechend weggeschrieben werden. Ist man aber nur an den Daten einer einzelnen Applikation interessiert, kann man mit Filtern den ungewünschten Traffic vor dem Capturen ignorieren und die Last auf dem Analysetool reduzieren.

Welchen Vorteil bringt mir die Multi-Segment Analyse?

Nun es geht darum die Qualität der Messung zu erhöhen und wertvolle Informationen aus dem Netzwerk zu gewinnen. Idealerweise greift man die Daten einmal am Client und einmal am Server ab und die anderen Messpunkte platziert man im Netzwerk z.B. im Distribution und Core Bereich.

Damit wären wir technisch in der Lage die Datenpakete und Transaktionen von einem bestimmten Client zum Server genauestens zu analysieren und den Ort von möglichen Fehlern zu lokalisieren. Proxy’s und viele andere Security Tools können aufgrund von Performance Problemen Latenzen erzeugen oder andere kritische Fehler verursachen, diese gilt es festzustellen.

Warum treten Retransmissions auf und wodurch werden diese verursacht. Wo treten Paketverluste auf und was ist die Ursache; liegt es an passiven Komponenten oder sind Netzwerkkomponenten Schuld? Habe ich Latenz oder Jitter dann möchte ich wissen wo genau diese entstehen. Diese und viele andere Fragen lassen sich mittels einer Multi-Segment Analyse beantworten.

Anwendung der Multi-Segment-Analyse

Heutzutage gibt es Analysetools, die eine automatisierte Multi-Segment Analyse ermöglichen und das manuelle Durchforsten von Paketen überflüssig machen. Erfreulicherweise unterstützt das Produkt OmniPeek die Multi-Segment Analyse und zeigt Ihnen die Laufwege der Pakete grafisch an und vereinfacht so die Auswertung dieser Daten.

Die Netzwerkdaten werden korreliert auf einem Bildschirm gemeinsam mit den Paketpfaden und den einzelnen Hops angezeigt. Dabei sieht man auf einem Blick, ohne intensiv analysieren zu müssen, die verursachten Latenzen und aufgetretenen Paketverluste.

Das Wertvolle daran ist, man sieht sofort wo die Latenzen und Paketverluste entstehen und vor allem in welcher Richtung. Ferner lassen sich so die Routen und Hops von Netzwerkpaketen analysieren und man könnte damit die Laufzeiten oder die Qualität bzw. Konvergenzzeit von HA Verbindungen messen. Insbesondere bei Echtzeitanwendungen wie VoIP möchte ich wissen, wo Jitter bzw. Delay entsteht.

Gerade bei VoIP ist es nicht schwierig Qualitätsprobleme zu erkennen, diese aber präzise zu orten stellt einen Netzwerk Administrator meist vor schwierigen Herausforderungen. Auch die Latenzzeit oder andere Netzwerkfehler zwischen dem WLAN und dem LAN Netzwerk kann man mit OmniPeek’s Multi-Segment Analyse messen und diagnostizieren.

Proaktiv nicht reaktiv

Daher ist es bei Netzwerkanalysen- und Troubleshooting-Aufgaben vorteilhaft feste Messpunkte im Netzwerk zu haben, worüber man unkompliziert im Bedarfsfall an die Netzwerkpakete heran kommt. Des Weiteren ist eine proaktive Analyse sehr hilfreich, da Fehler oftmals auftreten und kurze Zeit später wieder verschwinden.

Insbesondere bei sporadisch auftretenden Fehlern ist es sehr ratsam feste Messpunkte zu haben und die Daten für einen bestimmten Zeitraum aufzuzeichnen. Dies erleichtert die Fehlersuche enorm und erlaubt es in der Vergangenheit aufgetretene Fehler rasch zu identifizieren. Andernfalls tap(p)t man im Dunkeln und kann gegebenenfalls den Fehler nicht eingrenzen, da dieser nicht mehr vorhanden ist oder nur bei bestimmten Events auftritt.

Thank you for your upload