同时限制两个流量源的带宽,但不限制其中一个流量源的带宽

同时限制两个流量源的带宽,但不限制其中一个流量源的带宽

流量来源有两个

其中第一个不应该受到任何阻碍,它应该能够吸引尽可能多的可用流量。

另一方面,第二个源应该受到限制,以使它们两者加起来不能超过某个限制。也就是说,它们可以超过这个限制,但这不应该是第二个源的“错误”——在这种情况下,所有流量都由第一个源吸引。

可以用 来做到这一点吗tc

目前有一个解决方案可以限制两者的流量:

tc qdisc add dev eth0 root handle 1: htb default 101
tc qdisc add dev eth1 root handle 1: htb default 101

tc class add dev eth0 parent 1: classid 1:1 htb rate 50000kbit
tc class add dev eth1 parent 1: classid 1:1 htb rate 50000kbit

tc class add dev eth0 parent 1:1 classid 1:101 htb rate 49500kbit ceil 50000kbit prio 0 quantum 16000
tc qdisc add dev eth0 parent 1:101 handle 101: sfq perturb 10
tc filter add dev eth0 parent 1:0 protocol ip prio 0 handle 1 fw classid 1:101

tc class add dev eth1 parent 1:1 classid 1:101 htb rate 49500kbit ceil 50000kbit prio 0 quantum 16000
tc qdisc add dev eth1 parent 1:101 handle 101: sfq perturb 10
tc filter add dev eth1 parent 1:0 protocol ip prio 0 handle 1 fw classid 1:101

tc class add dev eth0 parent 1:1 classid 1:102 htb rate 500kbit ceil 50000kbit prio 1 quantum 16000
tc qdisc add dev eth0 parent 1:102 handle 102: sfq perturb 10
tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 2 fw classid 1:102

tc class add dev eth1 parent 1:1 classid 1:102 htb rate 500kbit ceil 50000kbit prio 1 quantum 16000
tc qdisc add dev eth1 parent 1:102 handle 102: sfq perturb 10
tc filter add dev eth1 parent 1:0 protocol ip prio 1 handle 2 fw classid 1:102

答案1

删除ceil第一个类的参数应该可以解决问题。没有它,您的第一个流量来源就不会受到任何硬性限制。

相关内容