SORU
5 Mart 2009, PERŞEMBE


Gecikmeli taklit ve Linux paketlerini düştü

Linux üzerinde uygulama performansını ölçmek için paket UDP TCP için gecikme ve kayıp simüle etmek istiyorum. Bunu yapmak için basit bir yolu var mı?

CEVAP
5 Mart 2009, PERŞEMBE


netem işlev zaten Linux ve kullanıcı programları içine inşa edilmiş durumdadır ağları taklit. Bu Mark'ın cevap için ne ifade eder aslında, farklı bir isimle.

their homepage örnek zaten istediğiniz şeyi elde edebilirsiniz nasıl gösterir:

Örnekler

Geniş Alan Ağı gecikmeler taklit

En basit örneği bu, sadece tüm paketleri yerel Ethernet dışına gecikme sabit bir miktar ekler.

# tc qdisc add dev eth0 root netem delay 100ms

Şimdi yerel ağdaki ana bilgisayar için basit bir ping testi 100 milisaniyelik bir artış göstermesi gerekir. Gecikme çekirdek saat çözünürlük (Hz) ile sınırlıdır. En 2.4 sistemlerde, sistem saati 10 ms aralıklarla gecikmeler veren 100 Hz'de çalışır. 2.6, değeri 1000 100 Hz yapılandırma parametresi.

Daha sonra örnekler sadece qdisc yeniden olmadan parametreleri değiştirmek

Gerçek geniş alan ağları rasgele varyasyon eklemek mümkün yani değişkenlik gösteriyor.

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

Bu ek gecikme 100 ± 10 ms neden olur. Ağ gecikme varyasyonu da korelasyon değeri olduğunu taklit yani tamamen rastgele değil.

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

Bu ek Gecikme, Bir sonraki rasgele elemanı son bir % olarak 100 ± 10 ms neden olur. Bu gerçek istatistiksel korelasyon, ama bir yaklaşım değil.

Dağıtım gecikme

Genellikle, bir ağ gecikmesi düzenli değildir. Daha yaygın gecikme varyasyonu tanımlamak için normal dağılım gibi bir şey kullanmaktır. Netem disiplin bir tablo düzgün olmayan bir dağılımı belirlemek için alabilir.

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

Gerçek tablolar (normal, pareto, paretonormal) oluşturulan bir parçası olarak iproute2 derleme ve yer yer /usr/lib/tc; böylece mümkün olan biraz çaba yapmak için kendi dağıtım dayalı deneysel veriler.

Paket kaybı

Rastgele paket kaybı 'tc' yüzde komut. belirtilen Mümkün olan en küçük sıfır olmayan değer

2-32= 0.0000000232%

# tc qdisc change dev eth0 root netem loss 0.1%

Bu bir yüzde (örneğin 1 1000) 1/10 olur.

İsteğe bağlı bir ilişki de eklenebilir. Bu rasgele sayı daha az rastgele jeneratör neden olur ve bir paket patlamış kayıpları taklit etmek için kullanılabilir.

# tc qdisc change dev eth0 root netem loss 0.3% 25%

Bu paketlerin 0.3% kaybetmenize sebep olacak ve birbirini izleyen her olasılık son bir çeyrek bağlıdır.

Probn= 0.25 × Probn-10.75 × Rastgele

Eğer varsa zaten bu arabirim için kurallar varsa o arabirimi tc qdisc change için hiç bir kural varsa tc qdisc add kullanmanız gerektiğini unutmayın. Hiçbir kural ile bir arayüz tc qdisc change kullanmaya çalışırken hata RTNETLINK answers: No such file or directory verecektir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Hak5

    Hak5

    7 EYLÜL 2005
  • iZAPPA

    iZAPPA

    16 Temmuz 2010
  • The CGBros

    The CGBros

    20 AĞUSTOS 2011