用tc(traffic control)控制网络流量
1.用TC控制網絡延時。具體來說就是控制本機處理一個數據報文的時延,也就是rtt。
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% //取消設置
設置成功后,向這臺機器發送的數據包,有10%左右的丟包率。
?
3.控制本機的上行帶寬。(經常用來控制一臺服務器對外提供下載的總流量限制)
sudo?tc qdisc add dev eth0 root tbf rate 5800kbit latency 50ms burst 1540 //帶寬限制5800kbit
sudo tc qdisc del dev eth0 root tbf rate 5800kbit latency 50ms burst 1540 //取消限制
?
4.從服務器上,控制某一臺client的下載帶寬.(經常用來在服務器上設置,控制某一臺client的下載流量。)
登錄到服務器上,目的是控制ip為1.1.1.21 到本服務器的下載帶寬為 5120kbit。
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
轉載于:https://blog.51cto.com/chenwenming/1436573
總結
以上是生活随笔為你收集整理的用tc(traffic control)控制网络流量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle 11g安装
- 下一篇: iOS开发者工具功能详述