有谁知道如果tc(iproute2)可以用来百分比当前可用的带宽? 我们正在使用可用带宽频繁变化的GPRS连接。 我想达到的是以下几点:
通过使用tc,我设法通过使用htb qdisc来实现这个方向,并创build了3个类,速率为60/30/10 kbps。 通过使用100kbs的上限,类可以使用100kbs以下的任何可用带宽(如果可用的话),但从不会更多。
然而,这种静态configuration的带宽并不是一种适用于我们的解决scheme,因为我们的带宽变化很大,我们不想configuration天花板。 我们的目标是尽可能使用可用的带宽。 理想情况下,我们不想以字节/秒为单位configuration速率,但是以百分比表示。 这是可能的吗? 我看了一下prio qdisc,但那里的文档真的很缺乏。
谢谢!
经过一番研究和感谢EEAA的评论,很明显,将可用带宽百分比划分是不可能的。
你应该能够用hfsc来形成你的stream量:linkshare m2带宽应该是百分比的。 这是一些文件:( 1,2,3 )
你可以尝试这个代码例如:
iptables -t mangle -A POSTROUTING -p tcp --dport 80 -j CLASSIFY --set-class 1:100 iptables -t mangle -A POSTROUTING -p tcp --dport 80 -j ACCEPT iptables -t mangle -A POSTROUTING -p tcp --dport 22 -j CLASSIFY --set-class 1:200 iptables -t mangle -A POSTROUTING -p tcp --dport 22 -j ACCEPT iptables -t mangle -A POSTROUTING -j CLASSIFY --set-class 1:300 tc qdisc del dev enp0s3 root tc qdisc add dev enp0s3 root handle 1:0 hfsc default 100 tc class add dev enp0s3 parent 1:0 classid 1:10 hfsc ls m2 1000kbit tc class add dev enp0s3 parent 1:10 classid 1:100 hfsc ls m2 600kbit tc qdisc add dev enp0s3 parent 1:100 handle 110: fq_codel tc class add dev enp0s3 parent 1:10 classid 1:200 hfsc ls m2 300kbit tc qdisc add dev enp0s3 parent 1:200 handle 210: fq_codel tc class add dev enp0s3 parent 1:10 classid 1:300 hfsc ls m2 100kbit tc qdisc add dev enp0s3 parent 1:300 handle 310: fq_codel