QoS (нстандартная схема)



  • Имеется:

    Системник (роутер):
    VIA VB7007-15 (Проц VIA C7®-D 1.5 GHz, 2хLAN)
    1 Gb RAM (определяется только 512 Mb)
    80 Gb HDD Samsung

    Инет:
    Домашний интернет с локальной сетью,
    прямой доступ без ВПН, внешний ип.

    Локалка:
    несколько игровых серверов,
    хттп сервер, фтп сервер,
    торрент, DC++, скайп, аська.

    Как работает сейчас:
    основной камень предкновения это торренты.
    если игровые сервера не кушают полосу отдачи в инет,
    то торенты отдают на полную, как только игровые серера
    начинают забирать на себя полосу отдачи в инет, то торенты
    автоматически ограничиваются. Как это организовано?
    Вот краткое описание:
    http://dslnet.ru/showpost.php?p=760410&postcount=341
    http://dslnet.ru/showthread.php?t=35423&page=35

    Что хочется получить (возможно ли получить):
    На роутере поставить в высокий приоритет трафик от игровых серверов,
    хттп сервера, фтп сервера, скайпа аськи, отбрасывать пакеты торрентов
    при подходе к лимиту отдачи по тарифу провайдера, трафик DC++
    мониторить но не отбрасывать пакеты, так как DC++ отдаёт только в
    локальную сеть, то есть не упрётся в шейпер провайдера.
    Так же будет использоваться ОpenVPN сервер, на пользователей этак
    50, возможно и больше. Их трафик так же должен быть с высоким приоритетом.

    Вот как-то так.
    Прошу вас разъяснить мне возможно ли такую систему организовать.
    Я поначалу узнал что DD-WRT может в QoS отбрасывать неприоритетный
    трафик, но эта софтина платная, в поисках открытого софта нашёл
    pfsense, очень надеюсь что поставлю себе данный софт.
    Я вообще виндузятник, очень люблю ГУИ, поэтому прошу
    вас объяснять мне всё с учётом этого.
    :)



  • Можно задать приоритеты. Пакеты будут отбрасываться при переполнении очередей.



  • Задачу так и не решил.
    Попробовал включить шейпер, но результат сильно
    неудовлетворительный. Как это вырожается:
    железно выделяется часть полосы пропускания.
    То есть для р2р выделено по правилам 10%
    и он всегда так и режется.

    Мне бы хотелось динамическое распределение полосы пропускания.
    То есть если общий суммарный трафик на отдау не приближается к
    определённому порогу то непреоритетный трафик (р2р) не
    отбрасывается, но когда другой приоритеный трафик растёт,
    то начинают отбрасываться р2р пакеты.
    Так же хотелось бы чтобы пакеты с приоритетным трафиком
    обрабатывались в первую очередь.

    Совет dvserg мне нравится, но как это организовать?



  • А если использовать параметр очереди
    Link share: - The bandwidth share of a backlogged queue - this overrides priority. (ширина канала разделяемая с простаивающими очередями - этот параметр отменяет приоритет)
    Как я понял это разделяемая полоса с другими очередями при простое.
    Т.е. как я понял, если для очереди с высоким приоритетом (Priority=6 например) поставить его в 100%, то при простое она будет отдавать свой канал другим очередям.
    Только вот с каким приоритетом ?
    Кроме того для высокого приоритета можно поставить большое значение m1 и d (особенно должно быть для http полезно)



  • Вот тут прочитал
    про linkshare. там пишут что его можно использовать только с параметрами m1, d, m2,
    иначе будет непорядок. в итоге я понял что мою схему не осуществить,
    в этом шейпере нет динамического перераспределения полос пропускания
    между очередями.
    :(



  • bandwidth - Если значение не определено, то по умолчанию размер равен 100% полосы пропускания родительской очереди.
    realtime: размер полосы пропускания, которая гарантируется очереди независимо от того, в какой полосе нуждается любая другая очередь.
    priority: Cbq и очереди типа HFSC с более высоким приоритетом обслуживаются первыми в случае, если канал выбран полностью, а полоса пропускания «realtime» также исчерпана.
    

    Получается, что если оставить bandwidth пустым, а задать priority и realtime, то трафик в дочерних очередях в пределах полосы realtime будет бегать свободно, а при увеличении нагрузки выше этого придела будет конкурировать с другими очередями согласно приоритету. Чем не шаринг полосы, если задать realtime не очень большим (я в пределах от 1 до 10% делаю на очередь.)?



  • Если правила назначаются визардом, то всюду устанавливается linkshare m2 одинаковый с bandwidth (с пустыми m1 и d). Судя по статье в ссылке, в этом случае используется значение  linkshare m2.



  • Знаете, всё гениальное - просто.
    :)

    Чисто в качестве эксперимента я решил попробовать вместо HFSC PRIQ.
    Так вот, оно работает так как мне нужно! При этом с минимальным
    количеством настроек. Пользовался стандартным визардом,
    просто выбрал PRIQ вместо HFSC. Вот что получилось:

    Для LAN не стал выкладывать, там ничего особенного, правда надо убрать
    ограничение на количество пакетов в секунду. У меня нормально п овечерам 4000 пакето
    ходит, а там по умолчанию ограничение в 500 устанавливается.

    Вот мои правила:

    Вот как оно работает:

    Надеюсь это кому-нибуть поможет.



  • А откуда у Вас правило для utorrent появилось и др?
    У меня в списке портов нет таких готовых шаблонов, просто диапазоны портов.



  • @choovak:

    Знаете, всё гениальное - просто.

    А где qDefault На LAN? Или какая очередь исп-ся как дефолтная ? И во Floating где правила для DNS, ICMP, HTTP(S) ? Т.е. у вас описаны правила для п2п , игр (где правило с высоким приоритетом для ICMP ?) , а DNS, серфинг где?

    ИМХО, HFSC все же как механизм шейпинга и новее и предпочтительнее.



  • qDefault не создается при работе мастера нa lan интерфейсах.
    Интересно почему. И не добавляется потом.



  • @nomeron:

    qDefault не создается при работе мастера нa lan интерфейсах.
    Интересно почему. И не добавляется потом.

    То что не создается - это не только Вы заметили  ;D А вот что не добавляется - это странно. Станьте на LAN и гляньте , есть ли там возможность создать новую очередь.
    Если нет , возможно, это особенность механизма PRIQ ? Значит используйте HFSC. Там есть такая возможность.

    P.s. Как вариант, править конфиг-файл шейпера вручную. Но за последствия не ручаюсь.



  • Так, начну по порядку.

    Правила на скринах уже созданы мной,
    то что создаётся визардом - это только заготовки,
    которые надо править под себя.

    На ЛАНе qDefault это qLink. Приоритет такой же как и у qDefault.
    Соответственно qDefault - это дефолтная очередь на ВАНе,
    а qLink - это дефолтная очередь на ЛАНе.

    Если следовать концепции, то эти правила создаются для исходящего
    трафика на ВАНе. Так как я не отдаю ни DNS, ни ICMP, то мне
    просто ненужны эти правила. HTTP я отдаю, но мне он не так важен, поэтому
    он попадает в дэфолтную очередь.

    Я не в коем разе не собираюсь утверждать что PRIQ лучше чем HFSC.
    Просто PRIQ отвечает моим потребностям.

    П. С.
    На правила ЛАНа можно не обращать внимания,
    так как там не устанавливается предел пропускной способности.
    Там пакеты вообще не отбрасываются.

    П. С. 2
    Хочу уточнить что у меня отдаётся ещё мног очего,
    несколько портов на ФТП, отдаётся хттп, удалённый доступ…
    Но меня устраивает чтобы всё это попадало в дефолтную очередь.
    А в правилах я просто отпределил что должно быть важнее,
    а что должно пренебрегаться.
    Соответственно р2р трафик отдаётся, но отбрасывается при приближении
    к пределу пропускной способности, так же он обрабатывается позже всего
    другого трафика, ну и соответственно весь остальной трафик
    имеет более высокое значение. Хотя я заметил что бывает
    немного пакетов от игр отбрасывается...
    Обидно, но я незнаю как это исправить.



  • 2 choovak

    Хм, а чего-то думал что для игр оч. немаленькое значение имеет ICMP . У вас же он попадает в дефолтную очередь вместе с HTTP, FTP и другим явно незаданным правилами трафиком.



  • На сколько я знаю, современные игры не используют
    ICMP трафик в своей работе.
    Современные игры используют определённое количество
    конкретных TCP/IP портов, и весь необходимый им
    трафик передаётся по ним.



  • Попробовал тоже PRIQ, но у меня получается как то криво.
    1. На Wan графики похожи, но у меня в очереди wan попадает только трафик интерфейса (без nat)
    2.Если смотреть  Status: Traffic shaper: Queues то весь интернет трафик только в очередях Lan
    3. В Status: RRD Graphs пустой график для Lan



  • Чесно говоря я не очень понял ваше описание.

    Если всё делать через мастера, то всё должно работать,
    далее просто те правила что создаются надо поправить под ваши
    реальные порты. Точнее опишите ваши настройки.
    НАТ, проброс портов, правила фаэрвола…



  • @choovak:

    На сколько я знаю, современные игры не используют
    ICMP трафик в своей работе.
    Современные игры используют определённое количество
    конкретных TCP/IP портов, и весь необходимый им
    трафик передаётся по ним.

    Да что вы говорите. Хоть и Педивикия , но так для примера - http://ru.wikipedia.org/wiki/Ping :

    Ping, также по русски это иногда называют пинг, это время ответа вашего компьютера на запрос. Другими словами, это промежуток времени, за который пакет, отосланный от компьютера-отправителя, проходит до компьютера-получателя в сети и возвращается обратно. Чем больше ping, тем больше время ожидания, необходимое для открытия интернет страницы, загрузки данных онлайн игры.

    Современные игры используют определённое количество
    конкретных TCP/IP портов

    ???  Для игр - TCP\UDP.



  • Заметил еще одну особенность, если на интерфейсе не настроена явно скорость то при включенном PRIQ в RRD Graphs пустой график очередей для интерфейса.
    Для HFSC вроде такого не наблюдалось. Я так понял, что на Lan интерфейсы, мастер скорость по умолчанию не ставит.


Log in to reply