kostas Posted August 17, 2009 · Report post Коллеги, доброго времени суток. Прошу помощи в настройке PCQ на микротике. Не пойму, как-то странно работают очереди. Входящий трафик режут более менее нормально - похоже на правду, а вот с исходящим трафиком беда - скорость нестабильная и не соответствует установленным лимитам. Крашу исходящий трафик в цепочке prerouting (сразу замечу, что пробовал красить в forward - все тоже самое) [admin@MikroTik] > ip firewall mangle print chain=rate-limit-up Flags: X - disabled, I - invalid, D - dynamic 0 ;;; rate upload chain=rate-limit-up action=mark-packet new-packet-mark=unlim_500_up passthrough=no src-address-list=Speed_Limit_500 1 chain=rate-limit-up action=mark-packet new-packet-mark=unlim_1000_up passthrough=no src-address-list=Speed_Limit_1000 2 chain=rate-limit-up action=mark-packet new-packet-mark=unlim_2000_up passthrough=no src-address-list=Speed_Limit_2000 3 chain=rate-limit-up action=mark-packet new-packet-mark=unlim_3000_up passthrough=no src-address-list=Speed_Limit_3000 4 chain=rate-limit-up action=mark-packet new-packet-mark=unlim_4000_up passthrough=no src-address-list=Speed_Limit_4000 5 chain=rate-limit-up action=mark-packet new-packet-mark=unlim_5000_up passthrough=no src-address-list=Speed_Limit_5000 6 chain=rate-limit-up action=mark-packet new-packet-mark=unlim_6000_up passthrough=no src-address-list=Speed_Limit_6000 7 chain=rate-limit-up action=mark-packet new-packet-mark=unlim_8000_up passthrough=no src-address-list=Speed_Limit_8000 8 chain=rate-limit-up action=mark-packet new-packet-mark=unlim_10000_up passthrough=no src-address-list=Speed_Limit_10000 Задал типы очередей в соответствии со скоростями (исходящий намеренно завысил, чтобы хоть как-то приблизиться к нужным границам) [admin@MikroTik] > queue type print 0 name="default" kind=pfifo pfifo-limit=500 1 name="ethernet-default" kind=pfifo pfifo-limit=50 2 name="wireless-default" kind=sfq sfq-perturb=5 sfq-allot=1514 3 name="synchronous-default" kind=red red-limit=60 red-min-threshold=10 red-max-threshold=50 red-burst=20 red-avg-packet=1000 4 name="hotspot-default" kind=sfq sfq-perturb=5 sfq-allot=1514 5 name="PCQ_download" kind=pcq pcq-rate=64000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 6 name="PCQ_upload" kind=pcq pcq-rate=30000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 7 name="unlim_500_download" kind=pcq pcq-rate=500000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 8 name="unlim_500_upload" kind=pcq pcq-rate=600000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 9 name="unlim_1000_download" kind=pcq pcq-rate=1000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 10 name="unlim_1000_upload" kind=pcq pcq-rate=2000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 11 name="unlim_3000_download" kind=pcq pcq-rate=3000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 12 name="unlim_3000_upload" kind=pcq pcq-rate=5000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 13 name="unlim_5000_download" kind=pcq pcq-rate=5000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 14 name="unlim_5000_upload" kind=pcq pcq-rate=7000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 15 name="unlim_2000_download" kind=pcq pcq-rate=2000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 16 name="unlim_2000_upload" kind=pcq pcq-rate=3000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 17 name="unlim_4000_download" kind=pcq pcq-rate=4000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 18 name="unlim_4000_upload" kind=pcq pcq-rate=6000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 19 name="unlim_6000_download" kind=pcq pcq-rate=6000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 20 name="unlim_6000_upload" kind=pcq pcq-rate=8000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 21 name="unlim_8000_download" kind=pcq pcq-rate=8000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 22 name="unlim_8000_upload" kind=pcq pcq-rate=10000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 23 name="unlim_10000_download" kind=pcq pcq-rate=10000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000 24 name="unlim_10000_upload" kind=pcq pcq-rate=12000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000 25 name="default-small" kind=pfifo pfifo-limit=10 Построил дерево (использьзуются ветки Total_download и Total_upload) [admin@MikroTik] > queue tree print Flags: X - disabled, I - invalid 0 name="queue1" parent=global-in packet-mark=all limit-at=0 queue=PCQ_download priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 1 name="queue2" parent=global-out packet-mark=all limit-at=0 queue=PCQ_upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 2 name="Total_download" parent=LAN packet-mark="" limit-at=0 queue=default priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 3 name="Total_upload" parent=global-out packet-mark="" limit-at=0 queue=default priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 4 name="Unlim_500_download" parent=Total_download packet-mark=unlim_500_dn limit-at=0 queue=unlim_500_download priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 5 name="Unlim_1000_download" parent=Total_download packet-mark=unlim_1000_dn limit-at=0 queue=unlim_1000_download priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 6 name="Unlim_2000_download" parent=Total_download packet-mark=unlim_2000_dn limit-at=0 queue=unlim_2000_download priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 7 name="Unlim_500_upload" parent=Total_upload packet-mark=unlim_500_up limit-at=0 queue=unlim_500_upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 8 name="Unlim_1000_upload" parent=Total_upload packet-mark=unlim_1000_up limit-at=0 queue=unlim_1000_upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 9 name="Unlim_2000_upload" parent=Total_upload packet-mark=unlim_2000_up limit-at=0 queue=unlim_2000_upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 10 name="Unlim_3000_download" parent=Total_download packet-mark=unlim_3000_dn limit-at=0 queue=unlim_3000_download priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 11 name="Unlim_4000_download" parent=Total_download packet-mark=unlim_4000_dn limit-at=0 queue=unlim_4000_download priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 12 name="Unlim_5000_download" parent=Total_download packet-mark=unlim_5000_dn limit-at=0 queue=unlim_5000_download priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 13 name="Unlim_3000_upload" parent=Total_upload packet-mark=unlim_3000_up limit-at=0 queue=unlim_3000_upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 14 name="Unlim_4000_upload" parent=Total_upload packet-mark=unlim_4000_up limit-at=0 queue=unlim_4000_upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 15 name="Unlim_5000_upload" parent=Total_upload packet-mark=unlim_5000_up limit-at=0 queue=unlim_5000_upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 16 name="Unlim_6000_download" parent=Total_download packet-mark=unlim_6000_dn limit-at=0 queue=unlim_6000_download priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 17 name="Unlim_8000_download" parent=Total_download packet-mark=unlim_8000_dn limit-at=0 queue=unlim_8000_download priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 18 name="Unlim_10000_download" parent=Total_download packet-mark=unlim_10000_dn limit-at=0 queue=unlim_10000_download priority=8 max-limit=0 burst-limit=> burst-threshold=0 burst-time=0s 19 name="Unlim_6000_upload" parent=Total_upload packet-mark=unlim_6000_up limit-at=0 queue=unlim_6000_upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 20 name="Unlim_8000_upload" parent=Total_upload packet-mark=unlim_8000_up limit-at=0 queue=unlim_8000_upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s 21 name="Unlim_10000_upload" parent=Total_upload packet-mark=unlim_10000_up limit-at=0 queue=unlim_10000_upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s Для Total_upload пробовал указывать очередь внешнего интерфейса - все одно и тоже. Есть подозрение, что неправильно настроены типы очередей, а вернее их лимиты. Ваше мнение? Share this post Link to post Share on other sites
martini Posted August 17, 2009 · Report post а зачем в дереве указывать ограничения ??? они же в ПЦкЮ указаны ... У тебя ограничение ветки накладывается на всех юзеров из подсети которую нужно нарезать. Share this post Link to post Share on other sites
kostas Posted August 17, 2009 · Report post а зачем в дереве указывать ограничения ??? они же в ПЦкЮ указаны ... У тебя ограничение ветки накладывается на всех юзеров из подсети которую нужно нарезать. Не совсем понял. У меня в дереве вроде не указано ограничение, а только соответствующая очередь и цвет пакетов. А вот сами типы очереди - там да, указаны ограничения. Разве не так должно быть? Задача этого дерева была сделать соответствующее ограничение каждому, чей пакет покрасился в тот или иной цвет (именно каждому выделить необходимую скорость, а не на всех общую трубу). Я не так сделал, Вы это хотели сказать? Share this post Link to post Share on other sites
martini Posted August 18, 2009 · Report post сам тип ПЦкЮ уже режет юзера на столько сколько указано в типе ПЦкЮ, а вы еще и ветку дерева ограничиваете, тем замым зажимаете всех из этой ветки еще в одно ограничение. Вот и получается - чем больше юзеров- тем меньше у них скорость Share this post Link to post Share on other sites
kostas Posted August 18, 2009 · Report post сам тип ПЦкЮ уже режет юзера на столько сколько указано в типе ПЦкЮ, а вы еще и ветку дерева ограничиваете, тем замым зажимаете всех из этой ветки еще в одно ограничение. Вот и получается - чем больше юзеров- тем меньше у них скорость Ничего не понимаю - где я ветку ограничиваю? Покажите пальцем :) Share this post Link to post Share on other sites
martini Posted August 18, 2009 · Report post )) я тормозил ночью )) попутал название и лимит-алл. Конфиг правильный, проблема с исходящим в том что на этом же роутере у тебя и нас поднят, я прав ?? Share this post Link to post Share on other sites
kostas Posted August 18, 2009 · Report post )) я тормозил ночью )) попутал название и лимит-алл. Конфиг правильный, проблема с исходящим в том что на этом же роутере у тебя и нас поднят, я прав ?? Да, все верно - NATим здесь же, где и режем скорость. Share this post Link to post Share on other sites
martini Posted August 18, 2009 · Report post в этом и проблема, изза ната микрик думает что дст адрес один и тотже, я когдато выкрутился, но не припомню точно как. Вобщем есть 2 варианта - 1 - поставить отдельно роутер для ната и шейпить все на форвардинговом роутере, проблем не будет. 2 - попробовать в аплоад ПЦкЮ поставить не срц-адрес а дст-адрес и запарентить его ветки на инерфейс который смотрит в инет, тоесть сделать аналог даунлоада для внутренней сетки. И красить пакеты только в прероутинге - так как он до НАТа идет. Кстати, так и непонял зачем правмла 0 и 1 в дереве ?? шейпить всех кто не попал с адресс листы ? Share this post Link to post Share on other sites
kostas Posted August 19, 2009 · Report post Т.к. мы красим трафик в прероутинге, то там нормальные локальные адреса и по сути он их должен нормально видеть. Более того - трафик режется, но как-то странно -- ниже установленно граници. Еще интересный момент - Simple Queue отрабатывались стабильно, там таких проблем не замечалось. Переходить на них не очень хочется :( Из всего вышеизложенного, есть подозрение, что все таки не правильно настроено либо парент для дерева, либо типы очередей (их параметры). Как Вы считаете? PS: 0 & 1 правила не используются, просто затесались в листинг :) Share this post Link to post Share on other sites
martini Posted August 19, 2009 · Report post а какое количество клиентов в адресс листах примерно ?? может выходите за рамки ?? Но скорее всего это изза НАТа, так как входяший трафик шейпится нормально, попробуй всетаки вариант который я написал выше. Share this post Link to post Share on other sites
kostas Posted August 19, 2009 · Report post клиентов не много - исчесляется десятками Попробую, спасибо. Правда не понял пока, как оно будет работать, т.к. dst на исходящих пакетах будет всяко не клиентским... Share this post Link to post Share on other sites
kaktatak Posted August 30, 2009 · Report post Вот пример нашего дерева. Работает стабильно уже полгода. 0 name="INPUT" parent=global-out packet-mark="" limit-at=0 queue=queue_tree priority=2 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 1 name="6 - 256k dst" parent=INPUT packet-mark=256k dst limit-at=256000 queue=256k dst priority=6 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 2 name="6 - 512k dst" parent=INPUT packet-mark=512k dst limit-at=512000 queue=512k dst priority=6 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 3 name="6 - 1024k dst" parent=INPUT packet-mark=1024k dst limit-at=1024000 queue=1024k dst priority=6 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 4 name="6 - 2048k dst" parent=INPUT packet-mark=2048k dst limit-at=2048000 queue=2048k dst priority=6 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 5 name="8 - 3072k dst" parent=INPUT packet-mark=3072k dst limit-at=3072000 queue=3072k dst priority=8 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 6 name="8 - 4096k dst" parent=INPUT packet-mark=4096k dst limit-at=4000000 queue=4096k dst priority=8 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 7 name="OUTPUT" parent=global-out packet-mark="" limit-at=0 queue=queue_tree priority=1 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 8 name="6 - 256k src" parent=OUTPUT packet-mark=256k src limit-at=256000 queue=256k src priority=6 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 9 name="6 - 512k src" parent=OUTPUT packet-mark=512k src limit-at=512000 queue=512k src priority=6 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 10 name="7 - 2048k src" parent=OUTPUT packet-mark=2048k src limit-at=2048000 queue=2048k src priority=7 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 11 name="7 - 1024k src" parent=OUTPUT packet-mark=1024k src limit-at=1024000 queue=1024k src priority=7 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 12 name="8 - 3072k src" parent=OUTPUT packet-mark=3072k src limit-at=3076000 queue=3072k src priority=8 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 13 name="8 - 4096k src" parent=OUTPUT packet-mark=4096k src limit-at=4000000 queue=4096k src priority=8 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 14 name="2 - lite dst" parent=INPUT packet-mark=lite dst limit-at=8000000 queue=lite dst priority=2 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 15 name="2 - simple dst" parent=INPUT packet-mark=simple dst limit-at=20000000 queue=simple dst priority=2 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 16 name="2 - simple src" parent=OUTPUT packet-mark=simple src limit-at=20000000 queue=simple src priority=2 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 17 name="2 - lite src" parent=OUTPUT packet-mark=lite src limit-at=8000000 queue=lite src priority=2 max-limit=60000000 burst-limit=0 burst-threshold=0 burst-time=0s 18 name="6 - 96k dst" parent=INPUT packet-mark=96k dst limit-at=96000 queue=96k dst priority=6 max-limit=100000> burst-limit=0 burst-threshold=0 burst-time=0s максимальное количество одновременных клиентов до 400. Правда последние дни наблюдается ккая то аномалия, при 20 мегабитах свободных на внешнем канале, у не которых абонентов наблюдается резкое падение скорости. Пока не поняли в чем проблема. Share this post Link to post Share on other sites