понедельник, 21 декабря 2015 г.

Обзор USB-модулей ZyXEL Keenetic Plus, функций шейпера и IntelliQoS

В обзоре ZyXEL Keenetic Ultra II и Giga III, которые нам очень понравились, мы обещали познакомить наших читателей с дополнительной функциональностью этих новинок. Что же, пора исполнять данное обещание, благо за полтора месяца с момента выхода предыдущего материала разработчики успели выпустить несколько обновлений прошивок и довезти до тестовой лаборатории модули ZyXEL Keenetic Plus DECT и DSL. Для начала познакомимся с функциями шейпера и IntelliQoS, помогающими управлять шириной пропускания канала. Во второй части материала подробнее рассмотрим DECT-базу для организации домашней SIP-телефонии и опробуем в деле DSL-модуль, который позволяет подключаться к ADSL2(+)/VDSL2-провайдерам и создавать прямые VDSL2-соединения между маршрутизаторами посредством телефонной линии.
ZyXEL Keenetic Giga III с модулями Keenetic Plus DSL и DECT
ZyXEL Keenetic Giga III с модулями Keenetic Plus DSL и DECT

#Шейпер и IntelliQoS

Стоит сразу отметить, некоторые пользователи путают функцию шейпинга трафика с функцией QoS (англ. quality of service — качество обслуживания). В представленном ZyXEL варианте шейпера нет никакой приоритезации трафика, это именно ограничение пропускной способности канала у заданного клиента. Говоря проще, пользователь может указать для выбранных устройств и сегментов локальной сети максимальную доступную им скорость доступа в Интернет. Обратите внимание, что речь идёт именно о верхнем пороге, выше которого они не смогут «прыгнуть», а не о гарантированной скорости доступа. Да-да, всё как у любого интернет-провайдера, который в своих заманчивых тарифах скромно указывает мелким шрифтом, что покупателю будет доступно, к примеру, не «ровно 100 Мбит/c», а всего лишь «до 100 Мбит/с», ну а дальше уж как повезёт. Например, если у вас есть канал 50 Мбит/с, а одному из клиентов выставлено ограничение в 10 Мбит/с, то оставшиеся 40 Мбит/с будут отданы остальным пользователям. Если на таком же канале для пяти клиентов выставить лимит в 20 Мбит/с каждому, то, конечно, никакого чуда не произойдёт – канал в итоге всё равно будет делиться между всеми.
 
Ограничение скорости для отдельного клиента и для гостевой беспроводной сети
Одной из важнейших особенностей шейпера в серии Keenetic, по словам создателей, является то, что несмотря на её чисто программную реализацию она весьма экономно относится к имеющимся ресурсам CPU роутера, не слишком сильно нагружая его. Так что пользоваться ей без проблем можно будет и на младших Keenetic’ах. Например, на Omni II загрузка CPU с включенным шейпером в среднем на пару процентов выше, чем без оного. Впрочем, если клиент за шейпером ничего не потребляет, то и нагрузки на процессор тоже нет. Важно отметить, что клиенты за шейпером никак не влияют на пропускную способность других потребителей трафика, и те могут, например, использовать аппаратное ускорение NAT. Такая схема, по словам разработчиков, намного эффективнее конкурирующих решений. В видео ниже приведена короткая демонстрация работы шейпера – сначала для проверки скачиваем свежий дистрибутив без всяких ограничений, а затем последовательно меняем лимиты скорости для нашего клиента, попутно наблюдая за тем, как резво меняется скорость в торрент-клиенте в зависимости от заданных лимитов.
Пример работы шейпера на ZyXEL Keenetic Ultra II
Функция IntelliQoS также использует шейпер. При её включении маршрутизатор автоматически анализирует текущий трафик, разбирая пакеты (DPI, Deep Packet Inspection) и определяя, сколько и какого именно контента потребляют пользователи в данный момент. А затем делает одну простую вещь – динамически ограничивает наиболее неуёмные в своих сетевых аппетитах приложения с помощью шейпера так, чтобы они не мешали прохождению видеотрафика, который наиболее чувствителен к любым затыкам в Сети. Речь идёт в первую очередь об обеспечении бесперебойного проигрывания видеопотока с онлайн-хостингов вроде YouTube, Vimeo, Megogo и других, но так чтобы и другие пользователи не чувствовали себя совсем уж ущемлёнными. Больше всего проблем пользователям, согласно статистике ZyXEL, доставляет BitTorrent, который при удачном стечении обстоятельств – а в случае, например, с популярными сериалами (естественно, легальными, что вы такое говорите?!) они всегда удачны – способен полностью забить и так-то не очень широкий канал. Впрочем, из собственного опыта заметим, что когда домашние пытаются выкачать очередной апдейт к онлайн-игре гигабайт эдак на тридцать в официальном клиенте, который хоть прямо в этом и не признаётся, но всё же построен на базе BitTorrent, то сетевая жизнь остальных и на вполне приличном стомегабитном канале становится ох какой тяжкой.
 
Настройки IntelliQoS
Интереснее всего устроена работа DPI – в ZyXEL реализовали функцию распознавания типов трафика с нуля, а в дальнейшем она будет выделена в отдельный продукт. Тонких деталей реализации алгоритмов DPI создатели не раскрывают, но в общих чертах выглядит это примерно так – анализу подвергаются потоки трафика с момента инициализации соединения. Собственно говоря, уже на этом этапе можно распознать или хотя бы предположить, что это за трафик, анализируя, например, DNS-запросы или наблюдая за процессом «рукопожатия» между клиентом и сервером при установке соединения. Впрочем, в первую очередь рассматривается именно сам поток и его особенности – частоты встречаемости символов и их последовательностей, нюансы структуры пакетов/кадров, общий характер протекания потока и так далее. В дальнейшем классификация идёт примерно по 20 признакам, который группируются в массив порядка 400 × 400. Сочетание отдельных элементов массива для текущего потока – естественно, с некой долей вероятности – указывает, что этот поток принадлежит к такому-то типу приложений/классу трафика.
Характерные срезы на графике скоростей – результат «игры» с шейпером в реальном времени
Характерные срезы на графике скоростей – результат использования шейпера в реальном времени
Затем эта информация передаётся другим компонентам ПО роутера, которые используют их по своему усмотрению. Система IntelliQoS как раз и получает информацию о том, что, к примеру, такой-то хост включил торрент-клиент и отъел слишком большой кусок интернет-канала, что может помешать другому хосту, который обратится к Vimeo. Так что первый хост неплохо было бы урезонить, и IntelliQoS передаёт соответствующую команду шейперу. Даже если никто не смотрит видео прямо сейчас, хосту с включенным торрент-клиентом всё равно отдаётся 80% ширины канала, чтобы у других потребителей онлайн-видео смогло хотя бы запуститься. Любопытно, что для определения типа трафика, по словам разработчиков ZyXEL, требуется всего-то порядка 30 первых пакетов и около одного килобайта RAM для каждого потока. После этого трафик по возможности передаётся обратно на аппаратный уровень для ускорения работы – от обычных HW NAT с WMM до коммутаторов с поддержкой аппаратного ускорения и приоритизации, если таковые имеются – а запись о его типе сохраняется в отдельный файл, где она и находится до завершения потока.
Классификатор трафика пополняется в полуавтоматическом режиме на стороне разработчиков, а затем регулярно передаётся на маршрутизаторы вместе с обновлением прошивки. Для включения шейпера необходимо установить соответствующий компонент, а затем в списке подключенных клиентов выбрать нужного и выставить ограничение скорости. Для задействования функции IntelliQoS достаточно включить одну галочку и указать скорость доступа в Сеть согласно тарифу – всё остальное роутер сделает сам. Обе функции пока доступны только в свежих прошивках NDMS 2.06 для Giga III и Ultra II. Шейпер также имеется во всех прошивках версии 2.05 для моделей Ultra, Giga II, Keenetic II, Viva, Extra, Omni II, Lite III и других. А вот IntelliQoS достанется только некоторым старшим моделям из этого ряда. Шейпер и IntelliQoS рассчитаны в основном на пользователей с не очень быстрым Интернет-каналом, которым хочется одновременно и IPTV смотреть, и любимые торренты качать, и веб-сёрфингом заниматься.

Комментариев нет:

Отправить комментарий