Wenn ich an einem Problem arbeite, bitte ich die Leute oft, mir einen Netzwerk-Trace zu schicken. Ein Netzwerk-Trace weist oft auf die Grundursache des Problems hin. Zumindest reduziert sie den Problembereich auf etwas, das handhabbar ist. Als zum Beispiel ein Netzwerkdrucker anfing, Müll zu drucken, verbrachten wir mehrere Tage damit, TTPs zu untersuchen; als wir schließlich einen Netzwerk-Trace bekamen, stellten wir fest, dass wir einwandfreien Text sendeten; das Problem lag beim Drucker. In einem anderen Fall schien ein OSL-Leistungsproblem zwischen Modulen, die mehrere tausend Kilometer voneinander entfernt waren, ein Netzwerkproblem zu sein, aber ein Trace zeigte eindeutig, dass das Problem auf dem Servermodul lag. Ich würde immer noch an beiden Problemen arbeiten, wenn es nicht den Netzwerk-Trace gäbe.
Wie erhalten Sie eine Netzwerkaufzeichnung? Es gibt drei Möglichkeiten.
Paket_Überwachung
Mit dem VOS-Befehl packet_monitor können Sie, mit einigen Einschränkungen, alles überwachen, was das Modul an das Netzwerk sendet und von diesem empfängt. Weitere Informationen finden Sie unter http://community.stratus.com/blog/openvos/getting-most-out-packetmonitor und http://stratadoc.stratus.com/vos/17.0.1/r419-09/wwhelp/wwhimpl/js/html/wwhelp.htm?context=r419-09&file=ch9r419-09i.html.
Der Befehl packet_monitor hat mehrere Einschränkungen. Sie können nicht zu 100 % sicher sein, dass ein als gesendet gemeldeter Frame tatsächlich gesendet wurde. Zum Beispiel können Fehler auf dem Adapter verhindern, dass der Frame gesendet wird. Außerdem werden Frames, die mit Fehlern empfangen werden, wie z. B. einem CRC-Fehler, nicht stromaufwärts gesendet, so dass packet_monitor sie sehen kann. Da packet_monitor den Adapter nicht in den Promiscuous-Modus versetzt, werden nur die Frames, die an den Adapter oder die Broadcast-Adresse adressiert sind, stromaufwärts an ihn weitergeleitet. Ein Link kann zu 90 % ausgelastet sein, während packet_monitor nur 1 Frame pro Sekunde meldet, da dies der einzige Frame ist, der an den Adapter oder die Broadcast-Adresse adressiert ist.
Im Allgemeinen sind hostbasierte Monitore, wie z. B. packet_monitor, nur als Ergänzung zu anderen Formen der Ablaufverfolgung sinnvoll oder wenn keine andere Form der Netzwerkablaufverfolgung verfügbar ist.
Port Mirroring aka SPAN (Switch Port for ANalysis) port
Ein Mirror- oder Span-Port ist ein Port an einem Switch, der den gesamten Datenverkehr repliziert, der an einem oder mehreren Ports (oder sogar in einem VLAN) des Switches gesehen wird. Der Mirror-Port muss mit einer Netzwerküberwachungs-Appliance verbunden sein. Bei dieser Appliance kann es sich um ein spezielles Gerät oder einen PC unter Linux oder Microsoft Windows mit einem Host-basierten Monitor wie Wireshark(http://www.wireshark.org/) oder tcpdump handeln. Mirror-Ports sind einfach einzurichten und erfordern nur die Eingabe einiger weniger Befehle am Switch.
Leider gibt es mehrere große Nachteile bei der Verwendung eines Mirror-Ports. Erstens muss der Port korrekt konfiguriert sein. Falsch konfigurierte Ports können zu fehlenden oder duplizierten Frames in der Netzwerkverfolgung führen. Zweitens replizieren Switches keine Frames mit Fehlern, so dass diese Frames nicht verfolgt werden können. Drittens kann ein beschäftigter Switch Frames verwerfen, anstatt sie an den Mirror-Port zu replizieren. Viertens kann ein Mirror-Port, der Frames von einem ganzen VLAN oder von mehreren Switch-Ports oder sogar nur einem Vollduplex-Port annimmt, überlastet werden und daher einige Frames verwerfen. Fünftens können Fehler, die zwischen dem Switch und dem Host auftreten, nicht von der Netzwerküberwachungsanwendung gesehen werden, die mit einem völlig anderen Switch-Port verbunden ist. Umgekehrt geben Fehler, die zwischen dem Mirror-Port und der Netzwerkanwendung auftreten, der Netzwerkanwendung ein verzerrtes Bild dessen, was der Host tatsächlich vom Switch empfängt.
Netzwerkabgriffe
Taps sind passive Geräte, die zwischen dem Switch und dem Host angeschlossen werden; sie zapfen die Netzwerkverbindung buchstäblich an. Wie ein Mirror-Port müssen sie an eine Netzwerk-Appliance angeschlossen werden, aber sie haben weniger Nachteile als ein Mirror-Port.
Erstens gibt es in der Regel keine Konfiguration; Sie schließen es einfach an und es funktioniert. Zweitens benötigen die fortschrittlicheren Anzapfungen nur Strom, um Frames an den Überwachungsport zu replizieren. und verfügen über zwei Stromversorgungen, um sicherzustellen, dass die Replikationsaktivität zuverlässig ist. Wenn die Stromversorgung ausfällt, leiten diese Taps weiterhin Frames zwischen den Netzwerk-Ports weiter; nur die Replikation stoppt. Drittens hat ein Tap nur eine Funktion, nämlich die Replikation und Weiterleitung von Frames an die Netzwerkmonitor-Anwendung. Es ist viel unwahrscheinlicher, dass ein Tap durch ein hohes Verkehrsaufkommen überlastet wird. Darüber hinaus verfügen Aggregations-Taps über Pufferspeicher, so dass sie hohe Datenmengen auf einer Vollduplex-Verbindung weiterleiten können, ohne Frames zu verwerfen. Natürlich kann eine anhaltend hohe Rate den Puffer trotzdem überfordern. Aggregierende Abgriffe ermöglichen es Ihnen auch, mehrere Eingänge zu kombinieren. Mit einem Gerät mit zwei Ports können Sie zum Beispiel sowohl den aktiven als auch den Standby-Adapter eines Duplex-Paares von Adaptern überwachen. Dies gewährleistet eine kontinuierliche Überwachung, selbst wenn ein Adapter ausfällt. Schließlich haben Sie durch den Anschluss des Abgriffs am Host-Adapter die bestmögliche Sicherheit, dass die Netzwerküberwachungsanwendung alle Frames sieht, die den Host-Adapter verlassen und alle Frames, die vom Switch zum Host-Adapter kommen.
Ein Nachteil, den viele Taps mit einem Mirror-Port teilen, ist, dass sie beschädigte Frames verwerfen. Da viele Netzwerküberwachungsgeräte, insbesondere solche, die nur PCs mit Standard-Ethernet-Hardware sind, ebenfalls beschädigte Frames verwerfen, betrachten die Hersteller von Abgriffen dies nicht als kritischen Fehler.
Weitere Kommentare zu Taps im Vergleich zu Switch-Ports finden Sie unter http://www.lovemytool.com/blog/2007/08/span-ports-or-t.html oder http://taosecurity.blogspot.com/2009/01/why-network-taps.htm l oder geben Sie "network taps and span ports" in Ihre bevorzugte Suchmaschine ein.
Herausforderungen bei der Überwachung
Die erste Herausforderung ist, wann und wie lange überwacht werden soll. Idealerweise sollten kritische Netzwerkverbindungen in einem Produktionssystem kontinuierlich überwacht werden. Ein Problem beim ersten Auftreten zu erfassen und einen Netzwerk-Trace zur Hand zu haben, ist viel schneller, als ein Problem festzustellen, die Überwachung einzurichten und entweder zu versuchen, es zu duplizieren oder zu warten, bis es wieder auftritt. Trace-Dateien können groß sein; eine 50%ige Auslastung einer Gigabit-Verbindung erzeugt etwa 62,5 Megabyte pro Sekunde oder 3,75 Gigabyte pro Minute. Trace-Dateien müssen nicht länger als Ihre Worst-Case-Reaktionszeit aufbewahrt werden. Wenn Sie auf ein gemeldetes Problem innerhalb einer Stunde reagieren können, müssen Sie nur eine Stunde an Trace-Daten aufbewahren. Je mehr Trace-Daten Sie speichern, desto mehr Spielraum haben Sie, um zu reagieren oder zu erkennen, dass es ein Problem gab, das untersucht werden muss. Große Festplatten sind recht preiswert, zumindest im Vergleich zu den Kosten einer Störung, daher sollten Sie die Anschaffung einer oder mehrerer Festplatten in Terabyte-Größe für die Speicherung der Trace-Daten in Betracht ziehen.
Die Aufrechterhaltung dieses Überwachungsniveaus kann bei der Verwendung eines Span-Ports schwierig sein. In einem komplexen Netzwerk werden die Netzwerkadministratoren in viele Richtungen gezogen und die Aufrechterhaltung eines Span-Ports und die kontinuierliche Überwachung für den Fall, dass etwas schief geht, kann schwierig sein.
Auf der anderen Seite ist ein neben dem Host installierter Netzwerkabgriff für diesen Host bestimmt. Sie können eine ausgeklügelte Netzwerküberwachungs-Appliance kaufen oder einen einfachen PC mit einer 1-Terabyte-Festplatte verwenden, auf dem Linux oder Windows läuft und auf dem das Programm tshark (die Nicht-GUI-Schnittstelle zu wireshark) ausgeführt wird. Mit diesem Setup erhalten Sie 266 Minuten Trace-Daten (bei einer Datenrate von 500 MBit/s) und sind für die meisten Zwecke vollkommen ausreichend. Sie können ein 1-Terabyte-Laufwerk für weniger als 100 Dollar kaufen, wenn Sie sich umsehen.
Der Zustand des zugrunde liegenden Netzwerks ist für eine kontinuierlich verfügbare Anwendung entscheidend. Machen Sie sich die Mühe, die Netzwerkaktivität routinemäßig genau zu erfassen. Wenn Probleme auftauchen, können Sie sie schnell beheben, ohne darauf zu warten, dass sie erneut auftreten. Als Bonus können Sie die Trace-Daten auch analysieren und Dinge über Ihr Netzwerk erfahren, die vorher verborgen waren.