Was passiert auf dem Switch?

Was passiert auf dem Switch?

Ich habe mich nur gefragt, was passiert, wenn ein Switch zu viele Pakete verliert. Der Grund für meine Frage ist, dass ich einen Switch habe, der ständig überlastet ist. Dies wird dadurch verursacht, dass einzelne Personen große Dateien über das Netzwerk herunterladen. Ich habe einen Ersatz-Switch, falls dieser ausfällt.

Illustration

Antwort1

Die kurze Antwort lautet: „Nicht viel“. Was tatsächlich auf dem Switch passiert, ist, dass die Pakete verloren gehen – und das ist alles. Dem Switch ist das egal, er protokolliert lediglich die Tatsache, dass sie verloren gegangen sind.

Was genau Paketverluste verursacht und wie das gesamte Netzwerk darauf ausgelegt ist, damit umzugehen, erfahren Sie im Folgenden.

Noch einmal: Kurz gesagt, die Reaktion auf Paketverluste erfolgt durch die Clients und nicht durch den Switch. Es liegt in deren Verantwortung und die einzige Kontrolle, die der Switch darüber hat, ist die Konfiguration seiner Warteschlangen und Funktionen wie QoS, die lediglich den Datenverkehr priorisieren (sie verhindern den Paketverlust nicht).

Was passiert auf dem Switch?

Switches verwenden Warteschlangen, um einen kleinen Puffer zwischen eingehenden und ausgehenden Paketen zu ermöglichen. Sie sind eine Art Cache und haben viele ähnliche Funktionen. Normalerweise möchten Sie, dass das Paket beim Switch eingeht und direkt wieder ausgeht. Dies ist der schnellste Weg, aber nicht immer möglich.

Wenn mehrere Clients über eine Verbindung zusammenlaufen, deren Bandbreite nicht ausreicht, oder wenn Sie über eine geringere Bandbreite eine Verbindung zum Ziel herstellen, können Pakete nicht so schnell versendet werden, wie sie beim Gerät eingehen.

Die zusätzlichen Pakete stapeln sich in den im Switch verwendeten Warteschlangen, in der Hoffnung, dass es sich um einen Paket-Burst handelte und dass weniger Pakete vorhanden sein werden, bevor der Cache vollständig gefüllt ist und er seinen Rückstand aufholen kann.

Wenn der Cache voll wird, bedeutet dies, dass für alle anderen eingehenden Pakete kein Platz mehr zum Speichern vorhanden ist. Die Pakete werden verworfen – sie werden einfach verworfen, bis in der Warteschlange wieder ausreichend Platz ist.

Beispiel

Ein Beispiel aus der Praxis wäre ein Dateiserver in einem Büro. Angenommen, Sie haben 48 x 100 Mbit/s-Verbindungen und 2 x 1 Gbit/s-Verbindungen (wobei die 48 für Clients und die 2 Gigabit an den Server gebunden sind). Wenn niemand sonst versuchen würde, mit dem Server zu kommunizieren, könnte ein Client seine volle 100-Mbit/s-Verbindung problemlos nutzen (natürlich mit Overheads). Sobald jedoch mehr als 20 Personen auf den Dateiserver zugreifen möchten, sind das bereits 2 Gbit, und die 21. Person wird dazu nicht in der Lage sein.

Pakete werden nach dem Prinzip „Wer zuerst kommt, mahlt zuerst“ zur Warteschlange hinzugefügt und gemäß der auf dem Switch konfigurierten Priorisierung freigegeben – normalerweise First In First Out (FIFO), wenn keine Konfiguration wie QoS eingerichtet ist. Wenn dieser Puffer dann voll ist (zu viele Pakete), werden die Pakete vollständig verworfen und es liegt an den Clients, dies zu erkennen und etwas dagegen zu unternehmen.

Das typische Ergebnis wäre available_bandwidth / (number_of_clients * bandwidth_of_clients)ein durchschnittlicher Durchsatz. Dabei ist die Rate, die jeder Client erhält, proportional zu seiner Verbindungsgeschwindigkeit zum Switch. Dies ist nicht so sehr eine deterministische Designentscheidung, sondern vielmehr ein Ergebnis der Wahrscheinlichkeit, dass ein Paket von einem der Ports kommt, sobald Platz in einer Warteschlange verfügbar ist.

Was passiert mit dem Netzwerkverkehr?

Die kommunizierende Software/Hardware sollte erkennen, dass Pakete verloren gehen, und eine Ratenbegrenzung implementieren, um die zu sendende Datenmenge zu reduzieren. Das heißt natürlich, wenn die Daten UDP sind (normalerweise in Echtzeitanwendungen), gibt es keine ACK-Nachrichten, sodass keine Ratenbegrenzung erforderlich ist.

Durch Ratenbegrenzung wird im Allgemeinen die höchste Übertragungsrate für den gesamten Datenverkehr bestimmt. Sie haben beispielsweise eine 1-Gbit-Verbindung zu einem Router in einem einfachen Netzwerk, aber nur eine Upload-Geschwindigkeit von 20 Mbit. Wenn Sie versuchen, mehr zu senden, werden Ihre Pakete gelöscht, der PC erhält keine Bestätigung und es wird eine Ratenbegrenzung verhängt, die der maximalen Geschwindigkeit entspricht, die er im gesamten Netzwerk (einschließlich Internet) bis zum Ziel erreichen kann.

In TCPNagles Algorithmuswird verwendet, um diese Ratenbegrenzung durchzusetzen. Bei einer UDP-Verbindung wäre das Ergebnis jedoch wahrscheinlich eine Qualitätsminderung (beispielsweise bei einem Videostream) oder einfach ein Verbindungsfehler. Der Mangel an ausreichenden Daten müsste jedoch ausdrücklich vom Ziel ausgehen und nicht durch das Fehlen einer Bestätigung.

verwandte Informationen