Gibt es eine Methode zur Simulation einer hohen Latenz?


Antworten:


14

Sie können dies mit tun netem. Von ihrer Homepage :

Emulieren von Verzögerungen im Weitverkehrsnetz

Dies ist das einfachste Beispiel. Es fügt lediglich allen Paketen, die aus dem lokalen Ethernet gesendet werden, eine feste Verzögerung hinzu.

# tc qdisc add dev eth0 root netem delay 100ms

Ein einfacher Ping-Test zum Hosten im lokalen Netzwerk sollte nun einen Anstieg von 100 Millisekunden anzeigen. Die Verzögerung wird durch die Taktauflösung des Kernels (Hz) begrenzt. Auf den meisten 2.4-Systemen läuft der Systemtakt mit 100 Hz, was Verzögerungen in Schritten von 10 ms ermöglicht. Bei 2.6 ist der Wert ein Konfigurationsparameter von 1000 bis 100 Hz.

Spätere Beispiele ändern nur die Parameter, ohne die qdisc neu zu laden

Reale Weitverkehrsnetze weisen Variabilität auf, sodass zufällige Variationen hinzugefügt werden können.

# tc qdisc change dev eth0 root netem delay 100ms 10ms

Dies bewirkt, dass die zusätzliche Verzögerung 100 ± 10 ms beträgt. Die Variation der Netzwerkverzögerung ist nicht rein zufällig, um zu emulieren, dass es auch einen Korrelationswert gibt.

# tc qdisc change dev eth0 root netem delay 100ms 10ms 25%

Dies bewirkt, dass die hinzugefügte Verzögerung 100 ± 10 ms beträgt, wobei das nächste zufällige Element 25% vom letzten abhängt. Dies ist keine echte statistische Korrelation, sondern eine Annäherung.

Verzögerungsverteilung

Typischerweise ist die Verzögerung in einem Netzwerk nicht einheitlich. Es ist üblicher, eine Art Normalverteilung zu verwenden, um die Variation der Verzögerung zu beschreiben. Die Netem-Disziplin kann anhand einer Tabelle eine ungleichmäßige Verteilung angeben.

# tc qdisc change dev eth0 root netem delay 100ms 20ms distribution normal

Die tatsächlichen Tabellen (normal, pareto, paretonormal) werden im Rahmen der iproute2-Kompilierung generiert und in / usr / lib / tc abgelegt. So ist es mit einigem Aufwand möglich, eine eigene Verteilung basierend auf experimentellen Daten zu erstellen.


3
Großartig - und tcist sogar bei aktuellen SLES- und RHEL-Systemen vorhanden.
Nils
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.