В обзоре ZyXEL Keenetic
Ultra II и Giga III, которые нам очень понравились, мы обещали
познакомить наших читателей с дополнительной функциональностью этих
новинок. Что же, пора исполнять данное обещание, благо за полтора месяца
с момента выхода предыдущего материала разработчики успели выпустить
несколько обновлений прошивок и довезти до тестовой лаборатории модули
ZyXEL Keenetic Plus DECT и DSL. Для начала познакомимся с функциями
шейпера и IntelliQoS, помогающими управлять шириной пропускания канала.
Во второй части материала подробнее рассмотрим DECT-базу для организации
домашней SIP-телефонии и опробуем в деле DSL-модуль, который позволяет
подключаться к ADSL2(+)/VDSL2-провайдерам и создавать прямые
VDSL2-соединения между маршрутизаторами посредством телефонной линии.
Одной из важнейших особенностей шейпера в серии Keenetic, по словам создателей, является то, что несмотря на её чисто программную реализацию она весьма экономно относится к имеющимся ресурсам CPU роутера, не слишком сильно нагружая его. Так что пользоваться ей без проблем можно будет и на младших Keenetic’ах. Например, на Omni II загрузка CPU с включенным шейпером в среднем на пару процентов выше, чем без оного. Впрочем, если клиент за шейпером ничего не потребляет, то и нагрузки на процессор тоже нет. Важно отметить, что клиенты за шейпером никак не влияют на пропускную способность других потребителей трафика, и те могут, например, использовать аппаратное ускорение NAT. Такая схема, по словам разработчиков, намного эффективнее конкурирующих решений. В видео ниже приведена короткая демонстрация работы шейпера – сначала для проверки скачиваем свежий дистрибутив без всяких ограничений, а затем последовательно меняем лимиты скорости для нашего клиента, попутно наблюдая за тем, как резво меняется скорость в торрент-клиенте в зависимости от заданных лимитов.
Функция IntelliQoS также использует шейпер. При её включении маршрутизатор автоматически анализирует текущий трафик, разбирая пакеты (DPI, Deep Packet Inspection) и определяя, сколько и какого именно контента потребляют пользователи в данный момент. А затем делает одну простую вещь – динамически ограничивает наиболее неуёмные в своих сетевых аппетитах приложения с помощью шейпера так, чтобы они не мешали прохождению видеотрафика, который наиболее чувствителен к любым затыкам в Сети. Речь идёт в первую очередь об обеспечении бесперебойного проигрывания видеопотока с онлайн-хостингов вроде YouTube, Vimeo, Megogo и других, но так чтобы и другие пользователи не чувствовали себя совсем уж ущемлёнными. Больше всего проблем пользователям, согласно статистике ZyXEL, доставляет BitTorrent, который при удачном стечении обстоятельств – а в случае, например, с популярными сериалами (естественно, легальными, что вы такое говорите?!) они всегда удачны – способен полностью забить и так-то не очень широкий канал. Впрочем, из собственного опыта заметим, что когда домашние пытаются выкачать очередной апдейт к онлайн-игре гигабайт эдак на тридцать в официальном клиенте, который хоть прямо в этом и не признаётся, но всё же построен на базе BitTorrent, то сетевая жизнь остальных и на вполне приличном стомегабитном канале становится ох какой тяжкой.
Интереснее всего устроена работа 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 смотреть, и любимые торренты качать, и веб-сёрфингом заниматься.
⇡#Шейпер и IntelliQoS
Стоит сразу отметить, некоторые пользователи путают функцию шейпинга трафика с функцией QoS (англ. quality of service — качество обслуживания). В представленном ZyXEL варианте шейпера нет никакой приоритезации трафика, это именно ограничение пропускной способности канала у заданного клиента. Говоря проще, пользователь может указать для выбранных устройств и сегментов локальной сети максимальную доступную им скорость доступа в Интернет. Обратите внимание, что речь идёт именно о верхнем пороге, выше которого они не смогут «прыгнуть», а не о гарантированной скорости доступа. Да-да, всё как у любого интернет-провайдера, который в своих заманчивых тарифах скромно указывает мелким шрифтом, что покупателю будет доступно, к примеру, не «ровно 100 Мбит/c», а всего лишь «до 100 Мбит/с», ну а дальше уж как повезёт. Например, если у вас есть канал 50 Мбит/с, а одному из клиентов выставлено ограничение в 10 Мбит/с, то оставшиеся 40 Мбит/с будут отданы остальным пользователям. Если на таком же канале для пяти клиентов выставить лимит в 20 Мбит/с каждому, то, конечно, никакого чуда не произойдёт – канал в итоге всё равно будет делиться между всеми.Одной из важнейших особенностей шейпера в серии Keenetic, по словам создателей, является то, что несмотря на её чисто программную реализацию она весьма экономно относится к имеющимся ресурсам CPU роутера, не слишком сильно нагружая его. Так что пользоваться ей без проблем можно будет и на младших Keenetic’ах. Например, на Omni II загрузка CPU с включенным шейпером в среднем на пару процентов выше, чем без оного. Впрочем, если клиент за шейпером ничего не потребляет, то и нагрузки на процессор тоже нет. Важно отметить, что клиенты за шейпером никак не влияют на пропускную способность других потребителей трафика, и те могут, например, использовать аппаратное ускорение NAT. Такая схема, по словам разработчиков, намного эффективнее конкурирующих решений. В видео ниже приведена короткая демонстрация работы шейпера – сначала для проверки скачиваем свежий дистрибутив без всяких ограничений, а затем последовательно меняем лимиты скорости для нашего клиента, попутно наблюдая за тем, как резво меняется скорость в торрент-клиенте в зависимости от заданных лимитов.
Функция IntelliQoS также использует шейпер. При её включении маршрутизатор автоматически анализирует текущий трафик, разбирая пакеты (DPI, Deep Packet Inspection) и определяя, сколько и какого именно контента потребляют пользователи в данный момент. А затем делает одну простую вещь – динамически ограничивает наиболее неуёмные в своих сетевых аппетитах приложения с помощью шейпера так, чтобы они не мешали прохождению видеотрафика, который наиболее чувствителен к любым затыкам в Сети. Речь идёт в первую очередь об обеспечении бесперебойного проигрывания видеопотока с онлайн-хостингов вроде YouTube, Vimeo, Megogo и других, но так чтобы и другие пользователи не чувствовали себя совсем уж ущемлёнными. Больше всего проблем пользователям, согласно статистике ZyXEL, доставляет BitTorrent, который при удачном стечении обстоятельств – а в случае, например, с популярными сериалами (естественно, легальными, что вы такое говорите?!) они всегда удачны – способен полностью забить и так-то не очень широкий канал. Впрочем, из собственного опыта заметим, что когда домашние пытаются выкачать очередной апдейт к онлайн-игре гигабайт эдак на тридцать в официальном клиенте, который хоть прямо в этом и не признаётся, но всё же построен на базе BitTorrent, то сетевая жизнь остальных и на вполне приличном стомегабитном канале становится ох какой тяжкой.
Интереснее всего устроена работа 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 смотреть, и любимые торренты качать, и веб-сёрфингом заниматься.
Комментариев нет:
Отправить комментарий