CBQ를 이용한 트래픽 제한의 정확성에 대해...

무혼인형의 이미지

ADSL 장치 = ppp0 , 속도 = 6Mbit/s

eth0에 pc가 있고 다운로드 속도를 제한하려고 합니다.

1. 먼저 2975Kbit/s 로 속도제한을 하기 위해 아래와 같이 설정하였을 경우

tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1 cbq bandwidth 100Mbit avpkt 1000 cell 8
tc class change dev eth0 root cbq weight 10Mbit allot 1514

tc class add dev eth0 parent 1: classid 1:10 cbq bandwidth 100Mbit rate 6000Kbit weight 600Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc qdisc add dev eth0 parent 1:10 handle 10 sfq perturb 10

tc class add dev eth0 parent 1:10 classid 1:100 cbq bandwidth 100Mbit rate 2975Kbit weight 297.5Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc qdisc add dev eth0 parent 1:100 handle 100 sfq perturb 10
tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.1.0/24 classid 1:100

결과는 3Mbit이하로 제한이 됩니다.

2. 2976kbit/s 로 속도제한을 하기 위해 아래와 같이 설정하였을 경우(같은 스크립트에서 2975->2976으로 변경, 297.5->297.6 으로 변경함)

tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1 cbq bandwidth 100Mbit avpkt 1000 cell 8
tc class change dev eth0 root cbq weight 10Mbit allot 1514

tc class add dev eth0 parent 1: classid 1:10 cbq bandwidth 100Mbit rate 6000Kbit weight 600Kbit prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc qdisc add dev eth0 parent 1:10 handle 10 sfq perturb 10

tc class add dev eth0 parent 1:10 classid 1:100 cbq bandwidth 100Mbit rate [b]2976Kbit [/b]weight [b]297.6Kbit[/b] prio 5 allot 1514 cell 8 maxburst 20 avpkt 1000 bounded
tc qdisc add dev eth0 parent 1:100 handle 100 sfq perturb 10
tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.1.0/24 classid 1:100

결과는 6Mbit가 나오면 전혀 속도가 제한되지 않습니다.

기타 여러가지 테스트를 통하여 제한속도가 적을수록 정확하게 제한되며, 2976kbit/s 이상에서는 속도제한이 전혀 되지 않습니다.

CBQ를 이용하여 100M 대역폭에서 정확히 속도제한을 할수 있는지와 2976kbit/s 이상의 속도를 정확히 제어할 수 있는지 궁금합니다.
만약 된다면 어떻게 설정하여야 하는지 조언을 부탁드립니다.