Linux 中使用 tc 進行流量管理,具體命令的使用可參考 tc 的man手冊
1.模擬網絡延遲
將 eth0 網卡的傳輸設置為延遲 100 毫秒發送
tc qdisc add dev eth0 root netem delay 100ms
將 eth0 網卡的傳輸設置為延遲 100ms ± 10ms (90 ~ 110 ms 之間的任意值)發送
tc qdisc add dev eth0 root netem delay 100ms 10ms
將 eth0 網卡的傳輸設置為 100ms ,同時,大約有 30% 的包會延遲 ± 10ms 發送
tc qdisc add dev eth0 root netem delay 100ms 10ms 30%
2、模擬網絡丟包
將 eth0 網卡的傳輸設置為隨機丟掉 1% 的數據包
tc qdisc add dev eth0 root netem loss 1%
將 eth0 網卡的傳輸設置為隨機丟掉 1% 的數據包,成功率為 30%
tc qdisc add dev eth0 root netem loss 1% 30%
3、模擬包重復
將 eth0 網卡的傳輸設置為隨機產生 1% 的重復數據包
tc qdisc add dev eth0 root netem duplicate 1%
4、模擬數據包損壞
將 eth0 網卡的傳輸設置為隨機產生 0.2% 的損壞的數據包
tc qdisc add dev eth0 root netem corrupt 0.2%
5、模擬包亂序
將 eth0 網卡的傳輸設置為:有 25% 的數據包(50%相關)會被立即發送,其他的延遲10 毫秒。
tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%