Emulowanie opóźnień sieci rozległej
Jest to najprostszy przykład, po prostu dodaje stałą ilość opóźnienia do wszystkich pakietów wychodzących z lokalnej sieci Ethernet.
# tc qdisc add dev eth0 root netem delay 100ms
Teraz prosty test ping do hosta w sieci lokalnej powinien wykazać wzrost o 100 milisekund. Opóźnienie jest ograniczone rozdzielczością zegara jądra (Hz). W większości systemów 2.4 zegar systemowy pracuje z częstotliwością 100 Hz, co pozwala na opóźnienia w odstępach co 10 ms. W wersji 2.6 wartością jest parametr konfiguracyjny od 1000 do 100 Hz.
Późniejsze przykłady zmieniają parametry bez ponownego ładowania qdisc
Rzeczywiste sieci rozległe wykazują zmienność, dzięki czemu można dodawać zmienność losową.
# tc qdisc change dev eth0 root netem delay 100ms 10ms
To powoduje, że dodane opóźnienie wynosi 100 ± 10 ms. Zmienność opóźnienia sieci nie jest czysto losowa, więc aby naśladować, że istnieje również wartość korelacji.
# tc qdisc change dev eth0 root netem delay 100ms 10ms 25%
To powoduje, że dodane opóźnienie wynosi 100 ± 10 ms, przy czym następny losowy element zależy od 25% od ostatniego. To nie jest prawdziwa korelacja statystyczna, ale przybliżenie.
Opóźniona dystrybucja
Zazwyczaj opóźnienie w sieci nie jest jednolite. Bardziej powszechne jest użycie czegoś w rodzaju rozkładu normalnego do opisania zmiany opóźnienia. Dyscyplina netem może wziąć tabelę, aby określić nierównomierny rozkład.
# tc qdisc change dev eth0 root netem delay 100ms 20ms distribution normal
Rzeczywiste tabele (normal, pareto, paretonormal) są generowane jako część kompilacji iproute2 i umieszczane w / usr / lib / tc; więc możliwe jest z pewnym wysiłkiem stworzenie własnej dystrybucji w oparciu o dane eksperymentalne.
tc
jest nawet obecny w obecnych systemach SLES i RHEL.