Linux Altında QOS - 6- TC ile SFQ queuing ” Stochastic Fairness Queuing”

5 April, 2009 (19:34) | Linux QOS | By: alper

SFQ : Stothastic Fairness Queuing tcp ve udp bağlantıları eşit olarak dağıtmaya çalışarak tek bir bağlantının tüm hattı bloke etmesini önler.

SFQ

Yukardaki resimden anlayacağınız üzere , SFQ için ayrılmış qdisc’e gelen tcp udp flow lar belirli sayıdaki kanallara bölünüp scheduler dan geçerek port a giderler. SFQ hangi flow’un hangi kapıya gideceğini round-robbin ile karar verir ( neredeyse rasgele ) . yani bir kuyrukta birden fazla flow olabilir. SFQ bunu engellemek için belirli aralıklarla bu dağılımı yeniden configure eder. hemen uygulamaya geçersek daha iyi anlaşılacağını düşünüyorum.

bash-3.2# tc qdisc add dev wlan0 root sfq perturb 10
bash-3.2# tc qdisc show dev wlan0
qdisc sfq 8001: root limit 127p quantum 1514b perturb 10sec
bash-3.2#

önce komutumuzu inceleyelim :

tc, wlan0 device i için qdisc ekle sfq için root olsun dağıtımı 10 saniyede bir yeniden düzenle.

ve gördüğümüz çıktı :

qdisc sfq : SFQ için qdisc

8001: eklediğimiz kural için otamatik atanmış handle ( manual da verebilirdik )

root limit 127p : bu kuyrukta 127 paket bekleyebilir.

quantum 1514b : bir stream de izin verilen byte miktarı ( MTU dan düşük ayarlanamaz ! )

perturb 10sec : her 10 saniyede bir dağılımı yeniden konfigure eder.

sfq ile verilebilecek parametreler :

perturb : kaç saniyede bir dağılımın yeniden konfigure edileceği. kesinlikle atanmalıdır.

quantum : bir stream de izin verilen byte miktarı, MTU dan düşük olmamalı ne yaptığınızı bilmiyorsanız kesinlikle kullanmayın.

limit : kuyrukta kaç paket bekleyebileceği.

SFQ her hangi bir bant genişliği tanımlamamıza izin vermez. hangi paketin hangi öncelikle işleneceğine de izin vermez. bunun yanında ayarlanması en kolay queuing disiplini olması sebebiyle diğer algoritmalar la sık sık kullanılır. tek başına kullanıldığında sadece giden trafik tamamiyle dolu ise işe yarar.

Write a comment