用tc(traffic control)控制網絡流量

1.用TC控制網絡延時。具體來講就是控制本機處理一個數據報文的時延,也就是rtt。html

sudo tc qdisc add dev eth0 root netem delay 1000ms //設置1秒的延時
sudo tc qdisc del dev eth0 root netem delay 1000ms //取消設置服務器

設置成功後,能夠簡單的從其餘機器上ping一下這臺機器,你會看到ping的response time是1秒左右。網絡

 

2.控制丟包率:
sudo tc qdisc add dev eth0 root netem loss 10% //設置本機丟包率10%
sudo tc qdisc del dev eth0 root netem loss 10% //取消設置ide

設置成功後,向這臺機器發送的數據包,有10%左右的丟包率。spa

 

3.控制本機的上行帶寬。(常常用來控制一臺服務器對外提供下載的總流量限制)orm

sudo tc qdisc add dev eth0 root tbf rate 5800kbit latency 50ms burst 1540 //帶寬限制5800kbithtm

sudo tc qdisc del dev eth0 root tbf rate 5800kbit latency 50ms burst 1540 //取消限制blog

 

4.從服務器上,控制某一臺client的下載帶寬.(常常用來在服務器上設置,控制某一臺client的下載流量。)ip

登陸到服務器上,目的是控制ip爲1.1.1.21 到本服務器的下載帶寬爲 5120kbit。it

sudo tc qdisc add dev eth0 root handle 2: htb
sudo tc class add dev eth0 parent 2: classid 2:1 htb rate 5120kbit
sudo tc class add dev eth0 parent 2:1 classid 2:21 htb rate 5120kbit ceil 6000kbit burst 100k
sudo tc qdisc add dev eth0 parent 2:21 handle 21: sfq
sudo tc filter add dev eth0 parent 2:0 protocol ip prio 4 u32 match ip dst 1.1.1.21 flowid 2:21


本文轉載:http://blog.sina.com.cn/s/blog_71ad0d3f0100y54f.html

相關文章
相關標籤/搜索