Geniş alan ağı gecikmelerini taklit etme
Bu en basit örnektir, yerel Ethernet'ten çıkan tüm paketlere sabit miktarda gecikme ekler.
# tc qdisc add dev eth0 root netem delay 100ms
Şimdi yerel ağda barındırmak için basit bir ping testi 100 milisaniyelik bir artış göstermelidir. Gecikme çekirdeğin saat çözünürlüğü (Hz) ile sınırlıdır. Çoğu 2.4 sistemde, sistem saati 100 Hz'de çalışır ve bu da 10 ms'lik artışlarla gecikmelere izin verir. 2.6'da, değer 1000 ila 100 Hz arasındaki bir yapılandırma parametresidir.
Sonraki örnekler sadece qdisc'i yeniden yüklemeden parametreleri değiştirir
Gerçek geniş alan ağları değişkenlik gösterir, bu nedenle rasgele varyasyon eklemek mümkündür.
# tc qdisc change dev eth0 root netem delay 100ms 10ms
Bu, eklenen gecikmenin 100 ± 10 ms olmasına neden olur. Ağ gecikmesi değişimi tamamen rastgele değildir, bu nedenle bir korelasyon değerinin de olduğunu taklit etmek için.
# tc qdisc change dev eth0 root netem delay 100ms 10ms 25%
Bu, eklenen gecikmenin 100 ± 10 ms olmasına neden olur ve bir sonraki rastgele eleman sonuncusunda% 25'e bağlıdır. Bu gerçek istatistiksel korelasyon değil, bir yaklaşımdır.
Gecikme dağılımı
Tipik olarak, bir ağdaki gecikme aynı değildir. Gecikmedeki değişimi tanımlamak için normal dağılım gibi bir şey kullanmak daha yaygındır. Netem disiplini, eşit olmayan bir dağılım belirtmek için bir tablo alabilir.
# tc qdisc change dev eth0 root netem delay 100ms 20ms distribution normal
Gerçek tablolar (normal, pareto, paretonormal) iproute2 derlemesinin bir parçası olarak oluşturulur ve / usr / lib / tc içine yerleştirilir; bu nedenle deneysel verilere dayalı olarak kendi dağıtımınızı yapmak için biraz çaba sarf etmek mümkündür.
tc
mevcut SLES ve RHEL sistemlerinde bile var.