Was passiert, wenn ein Switch ständig zu viele Pakete verliert?

837
mohamed nur

Ich habe mich nur gefragt, was passiert, wenn ein Switch zu viele Pakete verliert. Der Grund, den ich frage, ist, dass ich einen Schalter habe, der ständig überlastet ist. Dies wird durch Personen verursacht, die schwere Dateien im Netzwerk herunterladen. Ich habe einen Sicherungsschalter, falls dieser fehlschlägt.

illustration

2
Was passiert mit dem Switch: Nichts. Es fallen nur Pakete ab. Was mit den Verbindungen passieren könnte, ist etwas anderes. Einige TCP-Verbindungen verwenden möglicherweise den [Naggle-Algorithmus] (http://en.wikipedia.org/wiki/Nagle%27s_algorithm). Möglicherweise verfügen Sie auch über einen ausreichend intelligenten Schalter, mit dem versucht wird, eine Quellenlöschung zu senden. Hennes vor 8 Jahren 0

1 Antwort auf die Frage

1
flungo

Die kurze Antwort lautet "nicht viel". In Bezug auf das, was tatsächlich auf dem Switch passiert, sind die Pakete verloren - und das ist es. Dem Switch ist es egal, er protokolliert die Tatsache, dass er verloren wurde.

Im folgenden Abschnitt erfahren Sie genau, was zu Paketverlusten führt und wie das gesamte Netzwerk darauf ausgelegt ist.

Kurz gesagt, die Antwort auf den Paketverlust wird von Clients und nicht vom Switch übernommen. Es liegt in ihrer Verantwortung und die einzige Kontrolle, die der Switch über ihn hat, besteht in der Konfiguration seiner Warteschlangen und mit Funktionen wie QoS, die nur den Verkehr priorisieren (sie stoppen den Paketverlust nicht).

Was passiert mit dem Switch?

Switches verwenden Warteschlangen, um eine kleine Menge Puffer zwischen ein- und ausgehenden Paketen zuzulassen. Sie sind so etwas wie ein Cache und haben viele ähnliche Funktionen. Normalerweise möchten Sie, dass das Paket in den Switch eingeht und direkt ausgeht. Dies ist der schnellste Weg, aber das ist nicht immer möglich.

Wenn Sie mehrere Clients für eine Verbindung verwenden, der die Bandbreite fehlt, oder wenn Sie sich über eine geringere Bandbreite mit dem Ziel verbinden, können Pakete nicht so schnell gesendet werden, wie sie in das Gerät gelangen.

Die zusätzlichen Pakete häufen sich in den Warteschlangen, die innerhalb des Switch verwendet werden, in der Hoffnung, dass es sich um einen Paketburst handelt und dass weniger Pakete vorhanden sind, bevor der Cache vollständig gefüllt ist und er sich selbst einholen kann.

Wenn der Cache voll ist, bedeutet dies, dass alle anderen eingegangenen Pakete keinen Speicherort haben. Dort werden Pakete verworfen. Sie werden einfach verworfen, bis genügend Speicherplatz in der Warteschlange vorhanden ist.

Beispiel

Ein reales Beispiel dafür wäre ein Dateiserver in einem Büro. Angenommen, Sie hatten eine 48x100Mbps-Verbindung und 2x 1Gbps-Verbindungen (wobei die 48 für Clients und die 2 Gigabit mit dem Server verbunden sind). Wenn sonst niemand versucht hat, mit dem Server zu kommunizieren, kann ein Client problemlos seine volle 100-MBit / s-Verbindung nutzen (natürlich mit Overheads). Sobald jedoch mehr als 20 auf den Dateiserver zugreifen möchten, ist das bereits 2 Gbit, und die 21. Person kann dies nicht.

Pakete werden der Warteschlange auf der Basis von First-Come-First-Serve-Diensten hinzugefügt und mit der auf dem Switch konfigurierten Priorisierungseinstellung 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, etwas zu erkennen und etwas dagegen zu unternehmen.

Das typische Ergebnis würde available_bandwidth / (number_of_clients * bandwidth_of_clients)einen durchschnittlichen Durchsatz ergeben. Die Rate, die jeder Client erhält, ist proportional zu seiner Verbindungsgeschwindigkeit zum Switch. Dies ist nicht so sehr eine deterministische Entwurfsentscheidung, als eine Folge der Wahrscheinlichkeit, dass ein Paket von einem der Ports kommt, sobald Speicherplatz in einer Warteschlange verfügbar ist.

Was passiert mit dem Netzwerkverkehr?

Die Software / Hardware, die kommuniziert, sollte erkennen, dass Pakete verworfen werden, und eine Ratenbegrenzung implementieren, um die zu sendende Datenmenge zu reduzieren. Das heißt natürlich, wenn es sich bei den Daten um UDP handelt (normalerweise in Echtzeitanwendungen), gibt es keine ACK-Nachrichten, so dass es keine Ratenbegrenzung kennt.

Ratenbegrenzung ist in der Regel, wie der gesamte Verkehr die höchste Rate bestimmt, mit der er senden kann. Beispielsweise haben Sie möglicherweise eine 1-Gbit-Verbindung zu einem Router in einem einfachen Netzwerk. Wenn Sie jedoch versuchen, mehr als die Pakete zu senden, werden die Pakete nicht mehr geladen, und der PC erhält kein ACK, und die Geschwindigkeitsbegrenzung wird auferlegt Die maximale Geschwindigkeit, die im gesamten Netzwerk (einschließlich Internet) erreicht werden kann, wird an das Ziel angepasst.

In TCP wird der Algorithmus von Nagle verwendet, um diese Ratenbegrenzung aufzuerlegen, aber in einer UDP-Verbindung würde dies wahrscheinlich die Qualität beeinträchtigen (z. B. für einen Videostream) oder einfach ausfallen, aber der Fehler, genügend Daten zu erhalten, müsste explizit kommen das Ziel, und nicht durch das Fehlen einer Bestätigung.

Die Frage "Was passiert, wenn ein Switch zu viele Pakete verliert", ist wirklich nicht beantwortet. Erklären Sie, was passiert. Ich bin nicht sicher, was mit der Geschwindigkeitsbegrenzung zu tun hat, wenn ein Netzwerkgerät zu viele Pakete ablegt. Ramhound vor 8 Jahren 0
@Ramhound Wenn die Hardware die Pakete verwirft, werden sie einfach verworfen. Ihnen passiert nichts Besonderes, sie werden einfach komplett verworfen: Es liegt an dem Client und dem Transportprotokoll, ob das Paket nie gesendet wurde, und müssen daher erneut gesendet werden. Hilft das, was ich der Frage hinzugefügt habe? Ich werde das versuchen und versäumen und vielleicht ein Diagramm hinzufügen, wenn das die Visualisierung erleichtern würde? flungo vor 8 Jahren 0