tc
Ve netem
araçlarını kullanarak trafik oranını sınırlamak mümkündür, ancak bu, bilgisayarın ağ arayüzü için oranı sınırlar. Yalnızca kullandığınızı wget
veya curl
başka hiçbir uygulamanın ağ arayüzü üzerinden trafik alışverişinde bulunmadığını kabul ediyorum .
tc
oranı kontrol etmek için Token Kova Filtresi (TBF) kullanır.
TBF'nin bir örneği şu şekilde olabilir (ref. Http://www.lartc.org/manpages/tc-tbf.html ):
Sürekli olarak maksimum 0.5 mb / s hızında, bir 1.0 mb / s'lik bir zirve hızına sahip 5 TB'lık bir tamponu olan bir TBF'yi bağlamak için hesaplanan bir ön-kova kuyruk büyüklüğü sınırına sahip bir 5-klobit tamponu , konu:
# tc qdisc add dev eth0 root tbf rate 0.5mbit \ burst 5kb latency 70ms peakrate 1mbit \ minburst 1540
Usign tc ve netem'in bir başka örneği şu şekilde olabilir ( http://www.linuxfoundation.org/collaborate/workgroups/networking/netem adresinde bulunur ):
Netem disipline yerleşik bir hız kontrolü yoktur, bunun yerine hız kontrolü yapan diğer disiplinlerden birini kullanın. Bu örnekte, çıkışı sınırlamak için Token Bucket Filter (TBF) kullanıyoruz.
Eth0 arabiriminden geçen / gelen her paketin gecikmesini eklemek
# tc qdisc add dev eth0 root handle 1:0 netem delay 100ms
Veri hızını tbf, paket tampon boyutu ve maksimum patlama limiti olarak eklemek
# tc qdisc add dev eth0 parent 1:1 handle 10: tbf rate 256kbit buffer 1600 limit 3000
Eth0 arabirimine tc ile atanan kuralların listesini görmek için
# tc -s qdisc ls dev eth0
Yukarıdaki komutun çıktısı aşağıdaki gibi olacaktır.
qdisc netem 1: limit 1000 delay 100.0ms
Sent 0 bytes 0 pkts (dropped 0, overlimits 0 )
qdisc tbf 10: rate 256Kbit burst 1599b lat 26.6ms
Sent 0 bytes 0 pkts (dropped 0, overlimits 0 )
Tampon seçeneklerini kontrol edin ve bunlardan daha büyük varsayılanlara ihtiyacınız olduğunu bulabileceğinizden sınırlayın (bayt cinsinden)