Tc(iproute2)を使用して、現在利用可能な帯域幅をパーセントで分割できるかどうかを誰かが知っていますか?使用可能な帯域幅が頻繁に変更されるGPRS接続を使用しています。私が達成したいのは次のとおりです。
Tcを使用して、htb qdiscを使用し、60/30/10 kbpsのレートで3つのクラスを作成することにより、この方向で何かを達成することができました。 100kbsの上限を使用することにより、クラスは100kbs未満の利用可能な帯域幅を使用しますが、それ以上は使用しません。
ただし、この種の静的に構成された帯域幅は、帯域幅が非常に可変であり、上限を構成したくないため、私たちにとって有効なソリューションではありません。私たちの目標は、利用可能な帯域幅を可能な限り使用することです。理想的には、レートをバイト/秒ではなくパーセンテージで構成する必要があります。これは可能ですか?私はprioqdiscを見ましたが、そこにあるドキュメントは本当に不足しています。
ありがとう!
いくつかの調査の後、EEAAのコメントのおかげで、利用可能な帯域幅をパーセントで分割することは不可能であることは明らかです。
あなたはhfscであなたのトラフィックを形作ることができるはずです:linksharem2帯域幅はパーセントであると思われます。ここにいくつかのドキュメントがあります:( 1 、 2 、)
たとえば、次のコードを試すことができます。
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