Миф о службе QoS. Защищаемся маршрутизатором: QoS

Детские товары 07.07.2019
Детские товары

Пропускная способность локальной сети — тема, которая становится с распространением скоростного интернета все более актуальной. С каждым разом мы пытаемся подключить к роутеру все больше устройств, а программное обеспечение по умолчанию не всегда может с ними со всеми справиться. В этом случае на помощь приходит настройка приоритетов QoS пакетов пропускной способности локальной сети на маршрутизаторе. Она назначает приоритет на выполнение тех или иных самых важных на данный момент задач и доступна не только на топовых маршрутизаторах Mikrotik или Cisco, но и на любой недорогой модели TP-Link, Asus, Zyxel Keenetic, D-Link.

Большинство современных роутеров имеет встроенную возможность управлять потоками интернет-трафика внутри локальной сети , назначая приоритет при работе того или иного приложения. Ну например, вы играете в онлайн игру или просматриваете страницы любимых сайтов. И параллельно качаете интересный фильм по торренту. При этом игра начинает тормозить и файл качается еле-еле. Что делать?

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


Но пропускная способность локальной сети и канала интернет ограничена. Первая — возможностями роутера. Ппомните, мы говорили про ?.

Вторая — вашим тарифным планом от провайдера. Так как при этом разделяется приоритет на выполнение этих одновременных задач?

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

Именно поэтому в роутерах предусмотрена возможность настроить пропускную способность сети вручную. А именно распределить приоритет так, как вам это необходимо. Называется эта функция — QoS (Quality of Service). То есть технология предоставления различным классам трафика приоритетов в обслуживании.

Диспетчер трафика на роутере Asus

В разных моделях эта настройка может скрываться под различными названиями в пункте меню. У меня сейчас работает роутер Asus в новой прошивке — показываю на RT-N10U версии B1. И здесь настройка планировщика QoS осуществляется в разделе «Диспетчер трафика».

Для начала надо сменить активированный по умолчанию автоматический режим на один из двух. «Определяемые пользователем правила QoS» или «Определяемый пользователем приоритет»

Определяемые пользователем правила планировщика пакетов QoS

Данная настройка позволяет задать приоритет для уже предустановленных вшитых в программное обеспечение маршрутизатора программ из разных «весовых категорий». При этом заморачиваться с различными формулами и производить расчет пропускной способности сети не понадобится. Все уже придумано до нас. Без скриншота немного не понятно, поэтому привожу его:

Итак, сейчас на «Web Serf», то есть на подключения через браузер через используемый для этого 80 порт, стоит «Наивысший» приоритет. Кликнув по выпадающему списку, мы можем выбрать другой из предложенного списка. В то же время на «File Transfer», то есть для программ-загрузчиков файлов — наименьший. Поменяв эти параметры местами мы получим эффект, что при одновременной загрузке файла с какого-либо сайта и просмотре html-страницы, бОльшая скорость будет отдаваться первому процессу.


Но это еще не все. Для программ для передачи файлов посредством P2P (например, BitTorrent), или он-лайн игр, а также множества других приложений можно задать свои значения приоритета. Это делается добавлением нового правила к уже существующим.

Для его создания кликаем по пункту «Выберите» и из выпадающего списка выбираем интересующий нас тип передачи данных или предустановленные настройки для конкретного приложения. Например, можно задать в пропускной способности сети приоритет для почтовых приложений типа Outlook или TheBat (пункт SMTP, POP3…) или для ftp-клиентов (FTP, SFTP, WLM…). Также есть большой список популярных игр, например Counter Strike, и программ для обмена файлами — BitTorrent, eDonkey и т.д.

Выберем качалку торрентов. Автоматически проставятся используемые данной программой по умолчанию порты.
Но лучше на слово роутеру не верить и перепроверить их самостоятельно. Откроем программу (у меня uTorrent) и зайдем в «Настройки > Настройки программы > Соединения». Посмотрим, какой порт задан для работы этой проги.

Если он отличается от тех, которые были по дефолту прописаны в настройках роутера, то поменяйте. Либо там, либо тут, главное, чтобы они были одинаковыми. Сохраняем настройки в программе и, вернувшись в админку роутера, применяем параметры. Они активируются после перезагрузки аппарата.

Определяемый пользователем приоритет пакетов QoS

Это вторая настройка ручного управления пропускной способностью сети, которая позволяет настроить задаваемые в предыдущем разделе параметры. А именно определить, какая именно скорость в процентном соотношении будет назначены для каждого из параметров приоритета.

Например, для исходящего трафика на «Наивысший» в данный момент по умолчанию у меня задано 80% — минимальное значение и 100% — максимальное. Это означает, что те, у которых наивысший приоритет, будут получать не менее 80% ширины пропускаемости канала. Независимо от того, сколько бы одновременных процессов не производили исходящие соединения с интернетом. Те же, у кого приоритет «Высокий» — не менее 10%. И так далее — думаю, суть вы поняли. Отредактировав эти значения, можно детально управлять скоростью загрузки и выгрузки для разных категорий работающих программ.

Теперь предлагаю посмотреть развернутый видеоурок о настройке QoS на роутерах фирмы Cisco

Настройка планировщика пакетов QoS на роутере TP-Link

Ниже для вашего удобства приведу несколько скриншотов администраторских разделов для управления пропускной способностью с моделей других фирм. На роутерах TP-Link планировщик пакетов QoS находится в разделе меню «Контроль пропускной способности». Для его активации ставим галочку на «Включить контроль полосы пропускания» и задаем максимальную скорость для входящего и исходящего трафика.

По клику на кнопку «Добавить» можно добавить новое правило на приоритет для одного или нескольких компьютеров. Для этого необходимо вписать их IP адрес или диапазон адресов. А также указать порты и тип обмена пакетами, на которые данное правило будет распространяться.

Недавно у TP-Link появилась новая визуализация панели администратора, которая устанавливается на все новые модели. В ней планировщик QoS находится в «Дополнительных настройках» в разделе «Приоретизация данных». Включаем ее галочкой и регулируем ползунками три вида приоритетов:

  • Высокий
  • Средний
  • Низкий

Для добавления фильтра нажимаем на кнопку «Добавить» в одной из трех окон предустановленных настроек

Откроется список подключенных к роутеру клиентов — выбираем нужный и жмем на ссылку «Выбрать» и далее «ОК»

Пропускная способность сети IntelliQoS на Zyxel Keenetic

На маршрутизаторах Keenetic функция управления пропускной способностью сети называется IntelliQoS. Изначально данный модуль не присутствует в прошивке. Необходимо дополнительно >>установить компонент IntelliQoS из соответствующего раздела панели администратора. После чего в меню «Мои сети и WiFi» появится отдельный одноименный пункт.

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

Настройка пропускной способности сети на роутере D-Link

Для роутера D-Link в модель DIR-620 разработчики почему-то реализовали возможность установить QOS ограничения по скорости только на компьютеры, подключенные по кабелю к одному из LAN портов. Находится эта настройка в разделе «Дополнительно — Управление полосой пропускания»

Выбрав один из них, включаем ограничение и устанавливаем скорость

На этом пока все — пробуйте и экспериментируйте с пропускной способностью локальной сети для того, чтобы роутер не притормаживал работу тех программ, от которых вы ждете максимальной отдачи в данный момент.

Видео по настройке QoS на роутере

о телефонии мы обсудили общие причины проблем со связью. Но довольно часто они возникают, потому что не хватает пропускной способности роутера. Если один человек звонит, а пять его коллег одновременно слушают музыку, то возможны перебои. В этой статье мы разберем настройки, которые позволят дать “зеленый свет” в первую очередь данным IP-телефонии.

Телефонная связь через интернет возможна благодаря SIP-протоколу, который решает вопросы взаимодействия мультимедийных протоколов (видео/аудио). Более подробно этот процесс описан в статье . Когда один из собеседников говорит, звук его голоса кодируется и разбивается на пакеты, которые в течение разговора передаются другому устройству.

Но никто не использует интернет только ради IP-телефонии, поэтому через один канал передаются различные виды данных. Для роутера все они условно одинаковы, и такое “равноправие” иногда приводит к проблемам со связью.

Приведем упрощенный пример. Отец смотрит онлайн-трансляцию матча, сын слушает музыку в соцсети, а мать в это время хочет позвонить бабушке по скайпу. Но звук начинает прерываться, потому что аудио- и видео-трафик, который потребляют другие домочадцы, почти целиком “забил” канал. И пакеты с аудиоданными ожидают очереди на обработку, что приводит к проблемам со связью.

В большинстве случаев телефонный разговор гораздо важнее развлекательного ролика на Youtube или задержки в отправке письма, которая займет доли секунды. Но такая же задержка в случае со звуком ощутимо отразится на качестве связи. Поэтому желательно настраивать так называемую приоретизацию трафика , которая позволит пропускать данные IP-телефонии в первую очередь.

Quality of Service (QoS) - это технология предоставления различным классам данных различных приоритетов в обслуживании. QoS является встроенной функцией некоторых моделей роутеров.

Если настроить приоретизацию для данных IP-телефонии, то устройство будет определять их среди проходящего трафика и предоставлять им максимальный приоритет, что может значительно повысить качество связи. На картинке ниже наглядно показана разница в работе устройства с QoS и без него.

Источник изображения VAS Experts

Настройка QoS: что нужно учитывать

Перед тем, как настроить QoS, нужно учесть два момента. Во-первых, приоретизация оправдана, только если канал сильно загружен и возникает очередь на обслуживание пакетов. Если вам нужно лишь изредка звонить знакомым, то настройка QoS - лишняя трата времени. Но для компании, которая использует связь от оператора IP-телефонии, без этой технологии не обойтись. Аналогично, если вы используете коллтрекинг от Ringostat , поэтому ниже мы подготовили рекомендации по настройке.

Во-вторых, QoS - это не волшебная пилюля. Если канал слишком узкий, то приоретизация трафика все равно не поможет. Физический буфер устройства, куда помещаются все готовые к выходу пакеты, будет переполняться. И тогда вновь поступающие пакеты будут уничтожаться - даже если они важны для пользователя.

Поэтому обращайте внимание на характеристики роутера и максимальный размер очереди обработки пакетов. Например, на маршрутизаторах Cisco он составляет примерно 128–256 пакетов. Допустимо, если эта очередь превышает до 20% от его пропускной способности. Но если больше - то это повод заняться дизайном сети и прокладкой дополнительных маршрутов.

Настройка QoS

Чтобы избежать заторов в канале, мы должны “пометить” VoIP-данные и дать понять роутеру, что они важны для нас в первую очередь. Существует два варианта приоретизации трафика.

1. Выставление приоритета в веб-интерфейсе роутера

Не существует универсального способа настройки QoS для роутеров. Все зависит от конкретного устройства. Вот, например, как этот процесс описан в инструкции по настройке QoS для роутера TP-Link . В основном, приоритет назначается по протоколу - в случае с телефонией нам в первую очередь важен SIP/ RTP. RTP (Real-time Transport Protocol) - протокол, используемый для передачи звука.

Также приоретизацию можно настраивать по портам. В этом случае устройство будет понимать, что все данные, поступающие с конкретного порта, нужно пропускать в первую очередь. Так, при использовании программы для связи (диалера) VoIP-трафик будет поступать с порта 5060. Также доступна приоретизация по типу трафика. Выбор вида приоретизации зависит от количества трафика, его типа и настроек приложений, которые используются для связи и т. д.

2. Выставление приоритета в приложении для связи

Если говорить обобщенно, то в заголовках различных сетевых протоколов (Ethernet, IP, ATM, MPLS и др.) присутствуют специальные поля, выделенные для маркировки трафика. Вписывая туда нужные значения, вы отмечаете определенные данные как особенно важные. И роутер будет пропускать их в первую очередь.

В этом случае QoS настраивается не в устройстве для интернет-соединения, а в программе, с помощью которой вы звоните. Для этого нужно зайти в ее сетевые настройки и прописать нужные значения для пакетов с аудиоданными. Вот например, как это описано в инструкции для Zoiper .

Остановимся на этом способе подробней, потому что он позволяет быстрее обрабатывать информацию. В этом случае уже по самому IP-заголовку пакета роутер понимает, что это приоритетные данные, и пропускает их быстрее. А в первом случае ему дополнительно приходится “раскрывать” пакет, чтобы распознать, какое содержимое внутри. Кроме того, маркировать данные лучше всего ближе к их источнику. В нашем случае этим источником является программа для связи.

В качестве примера разберем настройку приоритетизации в приложении Zoiper. Для этого нужно найти в папке программы для связи конфигурационный файл. Например, для Zoiper это «Config.xml». С помощью редактора, совместимого с XML, найдите нужные строки и впишите в них значение EF, CS или AF . Выбор нужного значения зависит от возможностей роутера - более подробно свойства значений описаны в статье на Википедии , которая включает в себя список стандартов.

В настройках нужно указать значения для параметров:

EF

EF

Вот как выглядит содержимое пакета после настройки QoS в программе Zoiper. На скриншоте видны: протокол, его заголовок и значение, которое мы ввели. EF означает Expedited forwarding (англ. “ускоренная пересылка”) - т. е. в данном случае наивысший приоритет:

Единственный минус этого способа - хоть большинство роутеров и могут понимать приоритет по заголовку, но не все. Детали настройки зависят от устройства и сервиса, которые вы используете. Но инструкцию несложно найти, достаточно загуглить “как настроить QoS для N”.

Качество связи играет большую роль для бизнеса. У нас есть не один кейс о том, как настройка телефонии принесла увеличение количества заявок. Мы понимаем, что тема это непростая, поэтому не стесняйтесь - задавайте вопросы в комментариях. Если напишете в чат, расположенный справа, служба техподдержки ответит в течение пяти минут.

Сегодня мы расскажем, как настроить QoS. Что это за компонент, также подробно опишем далее. Начнем мы с определения, а далее коснемся тонкостей настроек и различных подходов к применению правил для обработки трафика.

Определение

Quality of Service (QoS) - это технология предоставления определенным классам трафика заданных приоритетов при обслуживании. Такой подход имеет смысл лишь при возникновении очереди. Последняя образуется в особо «узких» местах. И часто называют ее «бутылочным горлышком». Типичным примером очереди можно считать Интернет в офисе, где компьютеры подключены к сети со скоростью около 100 Мбит/сек. При этом все они используют единый канал. Однако технологию QoS нельзя считать панацеей. Если «горлышко» слишком узкое, часто переполняется буфер интерфейса. Именно в него помещаются пакеты данных.

Параметры

Далее будет подробно рассмотрена настройка QoS. Внесение изменений в очереди заключается в корректировке классов. Далее для них следует определить параметры для Теперь следует применить на интерфейс созданную конструкцию. Дальнейшая настройка QoS заключается в сортировке пакетов на классы. Для этого можно использовать различные атрибуты. Например, основываясь на поле DSCP, выделяя соответствующий конкретный протокол либо указывая как шаблон ACL. Давайте разберемся, откуда маршрутизатору известна вся полоса. Данные поступают из атрибута bandwidth в интерфейсе. Даже когда он явно не сконфигурирован, какое-то его значение возникает обязательно. Его можно увидеть при помощи команды sh int.

Принцип работы

Когда осуществляется настройка QoS, важно учесть, что по умолчанию в нашем распоряжении не вся полоса, а лишь 75 %. Пакеты, не попавшие в состав других классов, поступают в class-default. Маршрутизаторы следят, чтобы администратор не выдал больше полосы, чем имеет в распоряжении. Подобные попытки пресекаются. Создаётся впечатление, будто политика намерена выдавать классам не более заданного показателя. Однако подобная ситуация создается лишь в том случае, если наполнены все очереди. В случае опустения какой-либо, предназначенную ей полосу пропорционально делят наполненные «соседи». Если данные идут из класса, имеющего статус priority, маршрутизатор сосредотачивается именно на передаче подобных пакетов. Причем приоритетных очередей бывает несколько. В таком случае полоса между ними делится пропорционально заданным процентам. Когда приоритетные пакеты заканчиваются, наступает очередь для CBWFQ.

За каждый временной отсчёт из всех очередей «зачерпывается» доля данных. Ее необходимо указать в настройке соответствующего класса. Если часть очередей по определенным причинам пустует, их полоса пропорционально делится. Теперь разберем, что делать, когда необходимо строго рубить данные из класса, которые выходят за указанную скорость. Важно помнить, что указание bandwidth только распределяет полосу, когда очереди полностью загружены. Вы можете указать необходимую среднюю скорость и максимальный «выброс». Чем больше последний показатель, тем быстрее передача может отклоняться в сторону. Мы коротко описали, на каких принципах основывается настройка QoS.

Нет ни одного человека, который бы хоть раз не прочитал какой-нибудь FAQ по Windows XP. А раз так, то каждый знает, что есть такая вредная служба Quality of Service - сокращенно QoS. При настройке системы ее настоятельно рекомендуется отключать, потому что она по умолчанию ограничивает сетевую пропускную способность на 20%, и как будто бы эта проблема существует и в Windows 2000.

Вот эти строки:

"Q: Как полностью отключить службу QoS (Quality of Service)? Как ее настроить? Правда ли, что она ограничивает скорость сети? A: Действительно, по умолчанию Quality of Service резервирует для своих нужд 20% от пропускной способности канала (любого - хоть модем на 14400, хоть гигабитный Ethernet). Причем даже если удалить службу QoS Packet Scheduler из Properties-соединения, этот канал не освобождается. Освободить канал или просто настроить QoS можно здесь. Запускаем апплет Group Policy (gpedit.msc). В Group Policy находим Local computer policy и нажимаем на Administrative templates. Выбираем пункт Network - QoS Packet Sheduler. Включаем Limit reservable bandwidth. Теперь снижаем Bandwidth limit 20% до 0% или просто отключаем его. При желании здесь же можно настроить и другие параметры QoS. Для активации произведенных изменений остается только перезагрузиться ".

20% - это, конечно, очень много. Воистину Microsoft - "маздай". Утверждения подобного рода кочуют из FAQ в FAQ, из форума в форум, из СМИ в СМИ, используются во всевозможного рода "твикалках" - программах по "настройке" Windows XP (кстати говоря, откройте "Групповые политики" и "Локальные политики безопасности", и ни одна "твикалка" не сравнится с ними по богатству вариантов настройки). Разоблачать голословные утверждения такого рода нужно осторожно, что мы сейчас и сделаем, применив системный подход. То есть основательно изучим проблемный вопрос, опираясь на официальные первоисточники.

Что такое сеть с качественным сервисом?

Давайте примем следующее упрощенное определение сетевой системы. Приложения запускаются и работают на хостах и обмениваются данными между собой. Приложения отправляют данные операционной системе для передачи по сети. Как только данные переданы операционной системе, они становятся сетевым трафиком.

Сетевая служба QoS опирается на способность сети обработать этот трафик так, чтобы гарантированно выполнить запросы некоторых приложений. Это требует наличия фундаментального механизма по обработке сетевого трафика, способного идентифицировать трафик, имеющий право на особую обработку и право управлять этими механизмами.

Функциональные возможности QoS призваны удовлетворить двух субъектов сети: сетевые приложения и сетевых администраторов. Они часто имеют разногласия. Администратор сети ограничивает ресурсы, используемые специфическим приложением, в то же время приложение пытается захватить как можно больше сетевых ресурсов. Их интересы могут быть согласованы, принимая во внимание тот факт, что сетевой администратор играет главенствующую роль по отношению ко всем приложениям и пользователям.

Основные параметры QoS

Различные приложения имеют различные требования по обработке их сетевого трафика. Приложения в большей или меньшей степени терпимы к задержкам и потерям трафика. Эти требования нашли применение в следующих параметрах, связанных с QoS:

Bandwidth (полоса пропускания) - скорость, с которой трафик, генерируемый приложением, должен быть передан по сети
- Latency (задержка) - задержка, которую приложение может допустить в доставке пакета данных.
- Jitter - изменение времени задержки.
- Loss (потеря) - процент потерянных данных.

Если бы были доступны бесконечные сетевые ресурсы, то весь трафик приложения можно было бы передать с требуемой скоростью, с нулевым временем задержки, нулевым изменением времени задержки и нулевыми потерями. Однако сетевые ресурсы не безграничны.

Механизм QoS контролирует распределение сетевых ресурсов для трафика приложения, чтобы выполнить требования по его передаче.

Фундаментальные ресурсы QoS и механизмы обработки трафика

Сети, которые связывают хосты, используют разнообразные сетевые устройства включая сетевые адаптеры хостов, маршрутизаторы, свичи и хабы. Каждый из них имеет сетевые интерфейсы. Каждый сетевой интерфейс может принять и передать трафик с конечной скоростью. Если скорость, с которой трафик направлен на интерфейс, выше, чем скорость, с которой интерфейс передает трафик дальше, то возникает перегрузка.

Сетевые устройства могут обработать состояние перегрузки, организуя очередь трафика в памяти устройства (в буфере), пока перегрузка не пройдет. В других случаях сетевое оборудование может отказаться от трафика, чтобы облегчить перегрузку. В результате приложения сталкиваются с изменением времени ожидания (так как трафик сохраняется в очередях на интерфейсах) или с потерей трафика.

Способность сетевых интерфейсов к пересылке трафика и наличие памяти для сохранения трафика в сетевых устройствах (до тех пор, пока трафик не может быть послан дальше) составляют фундаментальные ресурсы, требующиеся для обеспечения QoS для потоков трафика приложений.

Распределение ресурсов QoS по сетевым устройствам

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

Для выполнения этой задачи сетевое устройство должно идентифицировать трафик путем классификации пакетов, а также иметь очереди и механизмы их обслуживания.

Механизм обработки трафика

Механизм обработки трафика включает в себя:

802.1p
- Дифференцированные услуги per-hop-behaviors (diffserv PHB).
- Интегрированные услуги (intserv).
- ATM и др.

Большинство локальных сетей основано на технологии IEEE 802 включая Ethernet, token-ring и др. 802.1p - это механизм обработки трафика для поддержки QoS в таких сетях.

802.1p определяет поле (уровень 2 в сетевой модели OSI) в заголовке пакета 802, которое может нести одно из восьми значений приоритета. Как правило, хосты или маршрутизаторы, посылая трафик в локальную сеть, маркируют каждый посланный пакет, присваивая ему определенное значение приоритета. Предполагается, что сетевые устройства, такие, как свичи, мосты и хабы, обработают пакеты соответствующим образом, используя механизмы организации очередей. Область применения 802.1p ограничена локальной сетью (LAN). Как только пакет пересекает локальную сеть (через уровень 3 OSI), приоритет 802.1p удаляется.

Diffserv - это механизм уровня 3. Он определяет поле в уровне 3 заголовка пакетов IP, названных diffserv codepoint (DSCP).

Intserv - это целый комплекс услуг, определяющий гарантированный сервис и сервис, управляющий загрузкой. Гарантированный сервис обещает нести некоторый объем трафика с измеримой и ограниченной задержкой. Сервис, управляющий загрузкой, соглашается нести некоторый объем трафика с "появлением легкой загруженности сети". Это - измеримые услуги в том смысле, что они определены, чтобы обеспечить измеримый QoS к определенному количеству трафика.

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

QoS имеет еще много разных сложных механизмов, обеспечивающих работу этой технологии. Отметим лишь один важный момент: для того, чтобы QoS заработала, необходима поддержка этой технологии и соответствующая настройка на всем протяжении передачи от начальной точки до конечной.

Для наглядности рассмотрим рис. 1.

Принимаем следующее:

Все маршрутизаторы участвуют в передаче нужных протоколов.
- Один QoS-сеанс, требующий 64 Kbps, инициализирован между хостом А и хостом B.
- Другой сеанс, требующий 64 Kbps, инициализирован между хостом А и хостом D.
- Для упрощения схемы полагаем, что маршрутизаторы сконфигурированы так, что могут резервировать все сетевые ресурсы.

В нашем случае один запрос о резервировании 64 Kbps достиг бы трех маршрутизаторов на пути данных между хостом А и хостом B. Другой запрос о 64 Kbps достиг бы трех маршрутизаторов между хостом А и хостом D. Маршрутизаторы выполнили бы эти запросы на резервирование ресурсов, потому что они не превышают максимума. Если вместо этого каждый из хостов B и C одновременно инициализировал бы 64 Kbps QoS-сеанс с хостом A, то маршрутизатор, обслуживающий эти хосты (B и C), запретил бы одно из соединений.

Теперь предположим, что администратор сети отключает обработку QoS в трех нижних маршрутизаторах, обслуживающих хосты B, C, D, E. В этом случае запросы о ресурсах до 128 Kbps удовлетворялись бы независимо от месторасположения участвующего в соединении хоста. При этом гарантии качества были бы низки, поскольку трафик для одного хоста подвергал бы риску трафик другого. Качество обслуживания могло бы быть сохранено, если бы верхний маршрутизатор ограничивал все запросы до 64 Kbps, однако это привело бы к неэффективному использованию сетевых ресурсов.

С другой стороны, пропускную способность всех сетевых связей можно было бы увеличить до 128 Kbps. Но увеличенная пропускная способность будет использоваться только когда хосты B и C (или D и E) одновременно затребуют ресурсы. Если это не так, то ресурсы сети опять будут использоваться неэффективно.

QoS-компоненты Microsoft

Windows 98 содержит компоненты QoS только пользовательского уровня включая:

Компоненты приложений.
- GQoS API (часть Winsock 2).
- QoS service provider.

Операционная система Windows 2000/XP/2003 содержит все описанное выше и следующие компоненты:

Resource Reservation Protocol Service Provider (Rsvpsp.dll) и службы RSVP (Rsvp.exe) и QoS ACS. В Windows XP, 2003 не используются. Управление трафиком (Traffic.dll).
- Generic Packet Classifier (Msgpc.sys). Классификатор пакетов определяет класс сервиса, которому принадлежит пакет. При этом пакет будет поставлен в соответствующую очередь. Очереди управляются Планировщиком пакетов QoS.
- Планировщик пакетов QoS (Psched.sys). Определяет параметры QoS для специфического потока данных. Трафик помечается определенным значением приоритета. Планировщик пакетов QoSпределяет график постановки в очередь каждого пакета и обрабатывает конкурирующие запросы между поставленными в очередь пакетами, которые нуждаются в одновременном доступе к сети.

Диаграмма на рис.2 иллюстрирует стек протоколов, компоненты Windows и их взаимодействие на хосте. Элементы, использовавшиеся в Windows 2000, но не использующиеся в Windows XP/2003, на диаграмме не показаны.

Приложения находятся наверху стека. Они могут знать или не знать о QoS. Чтобы использовать всю мощь QoS, Microsoft рекомендует использовать в приложениях вызовы Generic QoS API. Это особенно важно для приложений, требующих высококачественных гарантий обслуживания. Некоторые утилиты могут использоваться для вызова QoS от имени приложений, которые не знают о QoS. Они работают через API управления трафиком. Например, NetMeeting использует GQoS API. Но для таких приложений качество не гарантируется.

Последний гвоздь

Вышеизложенные теоретические моменты не дают однозначного ответа на вопрос, куда деваются пресловутые 20% (которые, замечу, никто еще точно не измерял). Исходя из вышесказанного, такого быть не должно. Но оппоненты выдвигают новый довод: система QoS хорошая, да реализация кривая. Стало быть, 20% все-таки "отжираются". Видать, проблема допекла и софтверного гиганта, поскольку он уже довольно давно отдельно опроверг подобные измышления.

Впрочем, дадим слово разработчикам и изложим избранные моменты из статьи "316666 - Windows XP Quality of Service (QoS) Enhancements and Behavior " литературным русским языком:

"Сто процентов сетевой полосы пропускания доступны для распределения между всеми программами, если какая-либо программа явно не запрашивает приоритетную полосу пропускания. Эта "зарезервированная" полоса пропускания доступна другим программам, если программа, которая ее затребовала, не отправляет данные.

По умолчанию программы могут резервировать до 20% основной скорости соединения на каждом интерфейсе компьютера. Если программа, которая резервировала полосу пропускания, не посылает достаточно много данных, чтобы использовать ее полностью, неиспользованная часть зарезервированной полосы пропускания доступна для других потоков данных.

Были заявления в различных технических статьях и телеконференциях, что Windows XP всегда резервирует 20% доступной полосы пропускания для QoS. Эти заявления неверны".

Если теперь у кого-то все еще "отжирается" 20% полосы пропускания, что ж, я могу посоветовать и дальше использовать побольше всевозможных "твикалок" и кривых сетевых драйверов. Еще и не столько будет "отжираться".

Начнем с определений:

Сравнение IPP и DSCP.

Per-Hop Behaviors (PHB)

1.Default PHB

3.Assured Forwarding PHB (AF)


4.Class Selector PHB (CS)

Попробуем разобраться, что такое QoS (Quality of Service), какие стандарты и определения к ней относятся. Поговорим о Best Effort Service, IntServ, DiffServ, PHB, ToS, CoS, IP Precedence (IPP), DSCP, AF, EF, Default PHB.

Давайте первым делом определимся, что же такое Quality of Service. Существует множество определений QoS, мне больше всего нравится вот это:

Под QoS (Quality of Service) следует понимать способность сети (сетевой инфраструктуры) обеспечить необходимый (требуемый) уровень сервиса заданному сетевуму трафику при использование различных технологий.

Под сервисом понимается множество параметров при передачи данных. Рассмотрим основные из них:

1. Bandwidth - ширина полосы пропускания. 2. End-to-end delay - задержка при передаче пакета. 3. Jitter - изменение задержки во времени при передаче пакетов. 4. Packet Loss – потеря (отбрасывание) пакетов при передачи данных.

Сервисные модели Quality of Service.

Существуют 3 различные сервисные моделей QoS.

1. Best Effort Service. Негарантированная доставка.

По сути, в этой модели отсутствуют какие-либо механизмы QoS. Используются все доступные ресурсы сети. Отсуствуют механизмы управления трафиком. Для улучшения QoS используется расширение полосы пропускания в узких местах, однако это не всегда даёт нужный эффект т.к. существуют типы трафика, чувствительные к задержкам и джиттеру (например VoIP).

2. Integrated Service (IntServ). Интегрированное обслуживание.

Обеспечивает сквозное (End-to-End) качество обслуживания, т.е. происходит резервирование ресурсов на всем пути прохождения трафиика. Для резирвирования ресурсов (Resource reservation) используется протокол RSVP, гарантируя необходимую пропускную способность. Существенным недостатком является постоянное резервирование ресурса, даже в том случае, если он не используется или используется не полностью.

3. Differentiated Service (DiffServ). Дифференцированное обслуживание.

Для обеспечения QoS используется ряд специальных компонентов, таких как классификаторы и формирователи трафика на границе сети, также применяются функции распределения ресурсов в ядре сети.

DiffServ выпоняет две функции:

1. Формирование трафика на границах сети - функции классификации, маркировки пакетов и управление интенсивностью. 2. Политика пошагового обслуживания PHB (Per-Hop Behavior) включает функции распределения ресурсов и отбрасывания пакетов.

QoS Классификация и маркировка пакетов.

Начнем с определений:

Классификация пакетов (Packet Classification) - отнесение пакета к определенному классу.

Маркировка пакетов (Packet Marking) - установка требуемого приоритета.

Следует отметить, что классификация и маркировка пакетов отличаются в зависимости от уровня OSI, на котором работает устройство. Как правило, все коммутаторы работают на уровне L2, а именно с Ethernet кадрами. Маршутизаторы работают на уровне L3 и уже не с кадрами, а пакетами.

Классификация и маркировка пакетов на уровне L2

В протоколе Ethernet отсуствует возможность классификации и маркировки пакетов. Классификация возможна лишь по номеру входящего порта (что в большинстве случаев не представляет никакого интереса), а маркировка вообще невозможна.

Однако не все так плохо. Появился стандарт IEEE 802.1Q, описывающий технологию виртуальных локальных сетей VLAN, вместе с которым был разработан стандарт 802.1P для обеспечения QoS в сетях Ethernet (классификации и маркировки Ethernet кадров).

В стандарте 802.1P предусмотрено поле User Priority или второе более позднее название CoS (Class of Service), состоящее из 3-х бит в заголовке 802.1Q, т.е. CoS может принимать значения от 0 до 7.

Формат Ethernet кадра 802.1Q.

Классы трафика согласно стандарту IEEE 802.1P.

Классификация и маркировка пакетов на уровне L3

На L3 мы имеем дело с протоколом IP (Internet Protocol). При разработке протокола IP для целей QoS было специально предусмотрено поле ToS (Type of Service) размером один байт.

Поле ToS может быть заполнен классификатором IP Precedence или DSCP в зависимости от задачи.

IP precedence (IPP) имеет размерность 3 бита, может принимать значения 0-7, т.е. можно говорить о 8-ми классах обслуживания. Изначально использовался классификатор IPP, но со временем появилась необходимость разделять трафиик на большее чем 8 классов обслуживания, следствием чего явилась разработка классификатора DSCP.

DSCP состоит из 6 бит (значения 0-63). Использование дополнительных 3-х бит позволяют ввести большее количество классов. DSCP обратно совместим с IPP. Важно понимать, что оборудование должно поддерживать обработку поля ToS заполненого классификатором DSCP, на старом оборудование с этим могут возникнуть проблемы.

Сравнение IPP и DSCP.

Per-Hop Behaviors (PHB)

Разберем более подробно понятие PHB.

Per-Hop Behaviors (PHB) - это политика пошагового обслуживания, иными словами, это некий алгоритм действий по обработки пакетов, выполняемый на каждом узле. PHB определяет, к какой из очередей отнести пакет, а также сброс пакетов в очереди в случае перегрузок.

Существуют 4 стандартизованных PHB.

1.Default PHB

Применяется для передачи Best-Efforts (негарантированая доставка) трафика, т.е. нет никакой маркировки, а точнее биты DSCP с 5 по 7 равны 000. Используется для совместимости с сетевыми устройствами, не поддерживающими маркировку или если она не используется.

Распределение бит DSCP в Default PHB.

2.Expedited Forwarding PHB (EF)

Используется для передачи трафика, чувствительного к задержкам. Биты DSCP с 5 по 7 равны 101. Пакеты, помеченные как EF, передаются с наименьшей задержкой в очереди.

Распределение бит DSCP в EF PHB.

3.Assured Forwarding PHB (AF)

Используется для гарантированной доставки. Значение бит DSCP с 5 по 7 может принимать 4 значения (001, 010, 011, 100), следовательно получается четыре стандартных класса AF (AF1, AF2, AF3, AF4), а внутри каждого класса может существует три уровня сбросса пакетов (low, medium, high).

Распределение бит DSCP в AF PHB.

aaa - номер класс обслуживания.
dd - вероятность сброса пакета.

4.Class Selector PHB (CS)

Значение бит DSCP со 2 по 4 равны 000, что дает обратную совместимось с полем ToS, заполненым классификатором IPP.

Распределение бит DSCP в Class Selector PHB.

Ниже приведу таблицу сравнения DSCP и IP Precedence.

Сравнительная таблица DSCP и IPP.

Вот и все. Я попытался коротко рассказать о QoS и понятиях, входящих в него, таких как Best Effort Service, IntServ, DiffServ, PHB, ToS, CoS, IPP, DSCP, AF, EF, Default PHB.



Рекомендуем почитать

Наверх