[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

деление траффика cbq, htb and etc.



Dear alex,

Thursday, September 12, 2002, 7:21:24 PM, you wrote:

aucu> Когдато делал при помощи cbq там надо было модуль в ядро всунуть,

[shaper, igor][~]$ ls /lib/modules/2.2.21-universal/misc/
cls_u32.o  sch_cbq.o  sch_prio.o  sch_sfq.o  sch_tbf.o

aucu> ну и потом его както мрачно конфигурять,

MEDIA_BANDW=100Mbit
MEDIA_WEIGHT=10Mbit
INTER_BANDW=1984Kbit
INTER_WEIGHT=198Kbit

/sbin/tc qdisc add dev eth0 root handle 10: cbq bandwidth $MEDIA_BANDW avpkt 1000

/sbin/tc class add dev eth0 parent 10:0 classid 10:10 cbq bandwidth $INTER_BANDW \
rate $INTER_BANDW allot 1514 weight $INTER_WEIGHT prio 8 maxburst 20 avpkt 1000  \
bounded

/sbin/tc class add dev eth0 parent 10:10 classid 10:11 cbq bandwidth $INTER_BANDW \
rate 128Kbit allot 1514 weight 12Kbit prio 5 maxburst 20 avpkt 1000 bounded

/sbin/tc qdisc add dev eth0 parent 10:11 sfq quantum 1514b perturb 15

/sbin/tc filter add dev eth0 parent 10:0 protocol ip prio 100 u32 match ip src \
xxx.xxx.xxx.xxx/26 flowid 10:11

в результате для xxx.xxx.xxx.xxx будет создана исходящая "труба" на 128К
при общем канале в 2 Мбита. аналогично делается для входящего трафика. если
убрать слово bounded, скорость сможет разгоняться до скорости родительской
"трубы", если у той есть свободные ресурсы.

не так уж и сложно.

aucu> вроде работало. Но он насколько я помню может обрубать только
aucu> трафик этого хоста а остальных вроде как нет.

Остальных обычно гасят различными "нюкерами". :-)

Он может ограничивать только исходящий трафик с интерфейса. И все
манипуляции доступны только в пределах одного интерфейса. Т.е.
сказать, что вот эти вот 512К доступны для потоков на eth1 и eth2
не выйдет.

aucu> Это лучше на cisco делать там это намного лучше выходит.

И стоит в разы дороже.

--
Igor



Reply to: