GeeksforGeeks

Was ist Überlastung?
Ein Zustand, der in der Netzwerkschicht auftritt, wenn der Nachrichtenverkehr so stark ist, dass die Antwortzeit des Netzwerks verlangsamt wird.
Auswirkungen von Staus
  • Mit zunehmender Verzögerung nimmt die Leistung ab.
  • Wenn die Verzögerung zunimmt, tritt eine erneute Übertragung auf, was die Situation verschlimmert.
Überlastungskontrollalgorithmen
  • Leaky Bucket Algorithmus
Betrachten wir ein Beispiel, um zu verstehen
Stellen Sie sich einen Eimer mit einem kleinen Loch in der bottom.No egal mit welcher Geschwindigkeit Wasser in den Eimer gelangt, der Abfluss ist konstant.Wenn der Eimer mit Wasser gefüllt ist, läuft zusätzliches Wasser über die Seiten und geht verloren.
 Undichter Eimer
In ähnlicher Weise enthält jede Netzwerkschnittstelle einen Leaky Bucket, und die folgenden Schritte sind am Leaky Bucket-Algorithmus beteiligt:
  1. Wenn der Host ein Paket senden möchte, wird das Paket in den Bucket geworfen.
  2. Der Bucket leckt mit einer konstanten Rate, was bedeutet, dass die Netzwerkschnittstelle Pakete mit einer konstanten Rate überträgt.
  3. Bursty-Verkehr wird durch den undichten Eimer in einen gleichmäßigen Verkehr umgewandelt.
  4. In der Praxis ist der Bucket eine endliche Warteschlange, die mit einer endlichen Rate ausgegeben wird.
  • Token-Bucket-Algorithmus
Notwendigkeit eines Token-Bucket-Algorithmus:-
Der Leaky-Bucket-Algorithmus erzwingt das Ausgabemuster mit der durchschnittlichen Rate, unabhängig davon, wie hoch der Datenverkehr ist. Um mit dem rasanten Datenverkehr fertig zu werden, benötigen wir einen flexiblen Algorithmus, damit die Daten nicht verloren gehen. Ein solcher Algorithmus ist der Token-Bucket-Algorithmus.
Schritte dieses Algorithmus können wie folgt beschrieben werden:
  1. In regelmäßigen Abständen werden Token in den Eimer geworfen. ƒ
  2. Der Eimer hat eine maximale Kapazität. ƒ
  3. Wenn ein fertiges Paket vorhanden ist, wird ein Token aus dem Bucket entfernt und das Paket gesendet.
  4. Wenn sich kein Token im Bucket befindet, kann das Paket nicht gesendet werden.
Lassen Sie uns anhand eines Beispiels verstehen,
In Abbildung (A) sehen wir einen Bucket mit drei Token, wobei fünf Pakete darauf warten, übertragen zu werden. Damit ein Paket übertragen werden kann, muss es ein Token erfassen und zerstören. In Abbildung (B) sehen wir, dass drei der fünf Pakete durchgekommen sind, aber die anderen beiden warten darauf, dass weitere Token generiert werden.

Möglichkeiten, wie Token Bucket Leaky Bucket überlegen ist:
Der Leaky-Bucket-Algorithmus steuert die Geschwindigkeit, mit der die Pakete in das Netzwerk eingeführt werden, ist jedoch sehr konservativ. Im Token-Bucket-Algorithmus wird eine gewisse Flexibilität eingeführt. Im Token-Bucket werden bei jedem Tick (bis zu einem bestimmten Limit) Algorithmus-Token generiert. Damit ein eingehendes Paket übertragen werden kann, muss es ein Token erfassen und die Übertragung erfolgt mit der gleichen Geschwindigkeit. Daher werden einige der Datenpakete mit der gleichen Rate übertragen, wenn Token verfügbar sind, und führt somit zu einer gewissen Flexibilität im System.

Formel: M * s = C + ρ * s
wobei S – die benötigte Zeit ist
M – Maximale Ausgaberate
ρ – Token-Ankunftsrate
C – Kapazität des Token-Buckets in Byte

Lassen Sie uns anhand eines Beispiels verstehen,
 bild0031
Link zur Frage zum Leaky Bucket Algorithmus: https://www.geeksforgeeks.org/computer-networks-set-8/amp/

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.