kostas Опубликовано 17 августа, 2009 · Жалоба Коллеги, доброго времени суток. Прошу помощи в настройке 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 пробовал указывать очередь внешнего интерфейса - все одно и тоже. Есть подозрение, что неправильно настроены типы очередей, а вернее их лимиты. Ваше мнение? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
martini Опубликовано 17 августа, 2009 · Жалоба а зачем в дереве указывать ограничения ??? они же в ПЦкЮ указаны ... У тебя ограничение ветки накладывается на всех юзеров из подсети которую нужно нарезать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kostas Опубликовано 17 августа, 2009 · Жалоба а зачем в дереве указывать ограничения ??? они же в ПЦкЮ указаны ... У тебя ограничение ветки накладывается на всех юзеров из подсети которую нужно нарезать. Не совсем понял. У меня в дереве вроде не указано ограничение, а только соответствующая очередь и цвет пакетов. А вот сами типы очереди - там да, указаны ограничения. Разве не так должно быть? Задача этого дерева была сделать соответствующее ограничение каждому, чей пакет покрасился в тот или иной цвет (именно каждому выделить необходимую скорость, а не на всех общую трубу). Я не так сделал, Вы это хотели сказать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
martini Опубликовано 18 августа, 2009 · Жалоба сам тип ПЦкЮ уже режет юзера на столько сколько указано в типе ПЦкЮ, а вы еще и ветку дерева ограничиваете, тем замым зажимаете всех из этой ветки еще в одно ограничение. Вот и получается - чем больше юзеров- тем меньше у них скорость Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kostas Опубликовано 18 августа, 2009 · Жалоба сам тип ПЦкЮ уже режет юзера на столько сколько указано в типе ПЦкЮ, а вы еще и ветку дерева ограничиваете, тем замым зажимаете всех из этой ветки еще в одно ограничение. Вот и получается - чем больше юзеров- тем меньше у них скорость Ничего не понимаю - где я ветку ограничиваю? Покажите пальцем :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
martini Опубликовано 18 августа, 2009 · Жалоба )) я тормозил ночью )) попутал название и лимит-алл. Конфиг правильный, проблема с исходящим в том что на этом же роутере у тебя и нас поднят, я прав ?? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kostas Опубликовано 18 августа, 2009 · Жалоба )) я тормозил ночью )) попутал название и лимит-алл. Конфиг правильный, проблема с исходящим в том что на этом же роутере у тебя и нас поднят, я прав ?? Да, все верно - NATим здесь же, где и режем скорость. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
martini Опубликовано 18 августа, 2009 · Жалоба в этом и проблема, изза ната микрик думает что дст адрес один и тотже, я когдато выкрутился, но не припомню точно как. Вобщем есть 2 варианта - 1 - поставить отдельно роутер для ната и шейпить все на форвардинговом роутере, проблем не будет. 2 - попробовать в аплоад ПЦкЮ поставить не срц-адрес а дст-адрес и запарентить его ветки на инерфейс который смотрит в инет, тоесть сделать аналог даунлоада для внутренней сетки. И красить пакеты только в прероутинге - так как он до НАТа идет. Кстати, так и непонял зачем правмла 0 и 1 в дереве ?? шейпить всех кто не попал с адресс листы ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kostas Опубликовано 19 августа, 2009 · Жалоба Т.к. мы красим трафик в прероутинге, то там нормальные локальные адреса и по сути он их должен нормально видеть. Более того - трафик режется, но как-то странно -- ниже установленно граници. Еще интересный момент - Simple Queue отрабатывались стабильно, там таких проблем не замечалось. Переходить на них не очень хочется :( Из всего вышеизложенного, есть подозрение, что все таки не правильно настроено либо парент для дерева, либо типы очередей (их параметры). Как Вы считаете? PS: 0 & 1 правила не используются, просто затесались в листинг :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
martini Опубликовано 19 августа, 2009 · Жалоба а какое количество клиентов в адресс листах примерно ?? может выходите за рамки ?? Но скорее всего это изза НАТа, так как входяший трафик шейпится нормально, попробуй всетаки вариант который я написал выше. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kostas Опубликовано 19 августа, 2009 · Жалоба клиентов не много - исчесляется десятками Попробую, спасибо. Правда не понял пока, как оно будет работать, т.к. dst на исходящих пакетах будет всяко не клиентским... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kaktatak Опубликовано 30 августа, 2009 · Жалоба Вот пример нашего дерева. Работает стабильно уже полгода. 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 мегабитах свободных на внешнем канале, у не которых абонентов наблюдается резкое падение скорости. Пока не поняли в чем проблема. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...