Миф о службе QoS. Миф, касающийся работы службы QoS

  • 21.07.2019

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

Механизмы QoS

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

Рассмотрим следующие модели:

  • Best Effort –негарантированная доставка используется во всех сетях по умолчанию. Положительная сторона заключается в том, что эта модель не требует абсолютно никаких усилий для реализации. Не используются никакие механизмы QoS, весь трафик обслуживается по принципу “пришел первым – обслужили первым”. Такая модель не подходит для современных сетевых сред;
  • Integrated Services (IntServ) – эта модель интегрированного обслуживания использует метод резервирования. Например, если пользователь хотел сделать VoIP вызов 80 Кбит/с по сети передачи данных, то сеть, разработанная исключительно для модели IntServ , зарезервировала бы 80 Кбит/с на каждом сетевом устройстве между двумя конечными точками VoIP, используя протокол резервирования ресурсов RSVP (Resource Reservation Protocol) . На протяжении звонка эти 80 Кбит/с будут недоступны для другого использования, кроме как для VoIP звонка. Хотя модель IntServ является единственной моделью, обеспечивающей гарантированную пропускную способность, она также имеет проблемы с масштабируемостью. Если сделано достаточное количество резервирований, то сеть просто исчерпает полосу пропускания;
  • Differentiated Services (DiffServ) – модель дифференцированного обслуживания является самой популярной и гибкой моделью для использования QoS. В этой модели можно настроить каждое устройство так, чтобы оно могло использовать различные методы QoS, в зависимости от типа трафика. Можно указать какой трафик входит в определенный класс и как этот класс должен обрабатываться. В отличие от модели IntServ , трафик не является абсолютно гарантированным, поскольку сетевые устройства не полностью резервируют полосу пропускания. Однако DiffServ получает полосу, близкую к гарантированной полосе пропускания, в то же время решая проблемы масштабируемости IntServ . Это позволило этой модели стать стандартной моделью QoS;

Инструменты QoS

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

  • Классификация и разметка (Classification and Marking) - Эти инструменты позволяют идентифицировать и маркировать пакет, чтобы сетевые устройства могли легко идентифицировать его по мере пересечения сети. Обычно первое устройство, которое принимает пакет, идентифицирует его с помощью таких инструментов, как списки доступа (access-list), входящие интерфейсы или deep packet inspection (DPI), который рассматривает сами данные приложения. Эти инструменты могут быть требовательны к ресурсам процессора и добавлять задержку в пакет, поэтому после того как пакет изначально идентифицирован, он сразу помечается. Маркировка может быть в заголовке уровня 2 (data link ), позволяя коммутаторам читать его и/или заголовке уровня 3 (network ), чтобы маршрутизаторы могли его прочитать. Для второго уровня используется протокол 802.1P , а для третьего уровня используется поле Type of Service . Затем, когда пакет пересекает остальную сеть, сетевые устройства просто смотрят на маркировку, чтобы классифицировать ее, а не искать глубоко в пакете;
  • Управление перегрузками (Congestion Management) – Перегрузки возникают, когда входной буфер устройства переполняется и из-за этого увеличивается время обработки пакета. Стратегии очередей определяют правила, которые маршрутизатор должен применять при возникновении перегрузки. Например, если интерфейс E1 WAN был полностью насыщен трафиком, маршрутизатор начнет удерживать пакеты в памяти (очереди), чтобы отправить их, когда станет доступна полоса пропускания. Все стратегии очередей направлены на то, чтобы ответить на один вопрос: “когда есть доступная пропускная способность, какой пакет идет первым?“;
  • Избегание заторов (Congestion Avoidance) – Большинство QoS механизмов применяются только тогда, когда в сети происходит перегрузка. Целью инструментов избегания заторов является удаление достаточного количества пакетов несущественного (или не очень важного) трафика, чтобы избежать серьезных перегрузок, возникающих в первую очередь;
  • Контроль и шейпинг (Policing and Shaping) – Этот механизм ограничивает пропускную способность определенного сетевого трафика. Это полезно для многих типичных «пожирателей полосы» в сети: p2p приложения, веб-серфинг, FTP и прочие. Шейпинг также можно использовать, чтобы ограничить пропускную способность определенного сетевого трафика. Это нужно для сетей, где допустимая фактическая скорость медленнее физической скорости интерфейса. Разница между этими двумя механизмами заключается в том, что shaping формирует очередь из избыточного трафика, чтобы выслать его позже, тогда как policing обычно сбрасывает избыточный трафик;
  • Эффективность линков (Link Efficiency) – Эта группа инструментов сосредоточена на доставке трафика наиболее эффективным способом. Например, некоторые низкоскоростные линки могут работать лучше, если потратить время на сжатие сетевого трафика до его отправки (сжатие является одним из инструментов Link Efficiency);
Механизмы Link Efficiency

При использовании медленных интерфейсов возникают две основных проблемы:

  • Недостаток полосы пропускания затрудняет своевременную отправку необходимого объема данных;
  • Медленные скорости могут существенно повлиять на сквозную задержку из-за процесса сериализации (количество времени, которое маршрутизатору требуется на перенос пакета из буфера памяти в сеть). На этих медленных линках, чем больше пакет, тем дольше задержка сериализации;

Чтобы побороть эти проблемы были разработаны следующие Link Efficiency механизмы:

  • Сжатие полезной нагрузки (Payload Compression) – сжимает данные приложения, оправляемые по сети, поэтому маршрутизатор отправляет меньше данных, по медленной линии;
  • Сжатие заголовка (Header Compression) – Некоторый трафик (например, такой как VoIP) может иметь небольшой объем данных приложения (RTP-аудио) в каждом пакете, но в целом отправлять много пакетов. В этом случае количество информации заголовка становится значимым фактором и часто потребляет больше полосы пропускания, чем данные. Сжатие заголовка решает эту проблему напрямую, устраняя многие избыточные поля в заголовке пакета. Удивительно, что сжатие заголовка RTP, также называемое сжатым транспортным протоколом реального времени (Compressed Real-time Transport Protocol - cRTP ) уменьшает 40-байтовый заголовок до 2-4 байт!;
  • Фрагментация и чередование (Link Fragmentation and Interleaving) - LFI решает проблему задержки сериализации путем измельчения больших пакетов на более мелкие части до их отправки. Это позволяет маршрутизатору перемещать критический VoIP-трафик между фрагментированными частями данных (которые называются «чередованием» голоса);
Алгоритмы очередей

    Постановка в очереди (queuing ) определяет правила, которые маршрутизатор должен применять при возникновении перегруженности. Большинство сетевых интерфейсов по умолчанию используют базовую инициализацию First-in, First-out (FIFO) . В этом методе сначала отправляется любой пакет, который приходит первым. Хотя это кажется справедливым, не весь сетевой трафик создается равным. Основная задача очереди - обеспечить, чтобы сетевой трафик, обслуживающий критически важные или зависящие от времени бизнес-приложения, отправлялся перед несущественным сетевым трафиком. Помимо очередности FIFO используются три первичных алгоритма очередности:

  • Weighted Fair Queuing (WFQ) – WFQ пытается сбалансировать доступную полосу пропускания между всеми отправителями равномерно. Используя этот метод, отправитель с высокой пропускной способностью получает меньше приоритета, чем отправитель с низкой пропускной способностью;
  • Class-Based Weighted Fair Queuing (CBWFQ) – этот метод массового обслуживания позволяет указать гарантированные уровни пропускной способности для различных классов трафика. Например, вы можете указать, что веб-трафик получает 20 процентов полосы пропускания, тогда как трафик Citrix получает 50 процентов пропускной способности (вы можете указать значения как процент или конкретную величину полосы пропускания). Затем WFQ используется для всего неуказанного трафика (остальные 30 процентов в примере);
  • Low Latency Queuing (LLQ) - LLQ часто упоминается как PQ-CBWFQ, потому работает точно так же, как CBWFQ, но добавляется компонент приоритета очередей (Priority Queuing - PQ ). Если вы указываете, что определенный сетевой трафик должен идти в приоритетную очередь, то маршрутизатор не только обеспечивает пропускную способность трафика, но и гарантирует ему первую полосу пропускания. Например, используя чистый CBWFQ, трафику Citrix может быть гарантированно 50% пропускной способности, но он может получить эту полосу пропускания после того, как маршрутизатор обеспечит некоторые другие гарантии трафика. При использовании LLQ приоритетный трафик всегда отправляется перед выполнением любых других гарантий. Это очень хорошо работает для VoIP, делая LLQ предпочтительным алгоритмом очередей для голоса;

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

Полезна ли Вам эта статья?

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас:(Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

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

Рубрика «Консультация» cоздана на портале «Цифровая подстанция» для того, чтобы каждый читатель мог получить ответ на интересующий его вопрос. Свои вопросы участники могут направлять на адрес [email protected] . Сегодня мы рассматриваем следующий вопрос:

Когда речь идет о коммутаторах и о передаче данных по информационной сети Ethernet часто возникает такое понятие как QoS (Quality of Service). Что это такое?

Отвечает начальник отдела инжиниринга компании «ТЕКВЕЛ» Дмитрий Стешенко:

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

Качество обслуживания на втором уровне модели OSI (канальном) в пределах одного сетевого элемента обеспечивается за счет использования модели дифференцированного обслуживания (Differentiated Service – DiffServ) и обеспечивается:

  • Классификацией и разметкой трафика.
  • Управлением перегрузками (механизмы очередей).

Следует отметить, что данная модель начинает работать лишь в случае появления очередей и перегрузок.

Согласно стандарту МЭК 61850 все коммуникационные процессы передачи данных осуществляются посредством технологии Ethernet. Данная технология определяет формат Ethernet кадров (фреймов), линии соединения (среду передачи), электрические и световые сигналы на физическом уровне, протоколы управления доступом к среде - на втором уровне модели OSI (канальном). Основные методы и технологии Ethernet описываются семейством протоколов IEEE 802.3.

Протокол Ethernet в чистом виде не поддерживает функцию приоритезации трафика, поэтому наряду со стандартным протоколом Ethernet IEEE 802.3, организация IEEE разработала стандарт создания виртуальных локальных сетей VLAN IEEE 802.1q. В стандарте IEEE 802.1q предусматривается вставка дополнительного четырехбайтового тега VLAN в заголовок Ethernet исходного фрейма, содержащий метку приоритета (Priority) класса обслуживания (Class of Service – CoS) IEEE 802.1p (см. рис. 1).

Рис. 1. Структура кадра Ethernet согласно стандарту IEEE 802.1q

КЛАССИФИКАЦИЯ И РАЗМЕТКА ТРАФИКА

К примеру, коммутаторы 2–го уровня PULLNET семейства AGENT-2 позволяют различать кадры Ethernet (классифицировать трафик) по параметрам метки приоритета (Priority) IEEE 802.1p. Значения приоритета в зависимости от типа трафика приведены в таблице ниже. Стандарт МЭК 61850 по умолчанию предусматривает для GOOSE сообщений и выборок мгновенных значений SV приоритет равный 4.

Таблица 1. Классы трафика согласно стандарту IEEE 802.1p.

Биты приоритета

Обозначение

Класс приоритета трафика

NC (Network Controlled)

Критически важный для сети. Трафик управления сетью

Интерактивный мультимедийный (видео)

CL (Controlled Effort)

Контролируемый. Потоковый мультимедийный

EE (Excellent Effort)

Приоритетный

Стандартный (Экономный)

BE (Best Effort)

Низший. Трафик передаваемый с максимальными усилиями («по возможности»). Вариант по умолчанию

Таким образом, классификация и разметка трафика решает две задачи:

  • Отнесение передаваемых данных к определенному классу трафика.
  • Назначение передаваемому фрейму соответствующего приоритета.

УПРАВЛЕНИЕ ПЕРЕГРУЗКАМИ (МЕХАНИЗМЫ ОЧЕРЕДЕЙ)

Перегрузка возникает в случае переполнения выходных буферов передающего трафик оборудования. Основными механизмами возникновения перегрузок (или, что равнозначно, скоплений – congestions) является агрегация трафика (когда скорость входящего трафика превышает скорость исходящего) и несогласованность скоростей на интерфейсах. Управление пропускной способностью в случае перегрузок (узких мест) осуществляется с помощью механизма очередей. Кадры Ethernet помещаются в очереди, которые упорядоченно обрабатываются по определенному алгоритму. Фактически, управление перегрузками – это определение порядка, в котором фреймы выходят из интерфейса (очередей) на основе приоритетов. Если перегрузок нет – очереди не работают.

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

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

Приоритезация используется для классификации фреймов путем их привязки к одной из очередей выхода. Метка приоритета IEEE 802.1p для назначений очереди определяется пользователем. Коммутаторы 2–го уровня PULLNET семейства AGENT-2 поддерживают 4 очереди приоритетов. В таблице ниже представлена подробная информация по меткам приоритета для параметров очереди, установленных на коммутаторе PULLNET по умолчанию.

Таблица 2. Привязка Class of Service (CoS) к очереди пересылки данных по умолчанию.

Значение приоритета

CoS IEEE 802.1p

IEEE 802.1p

Номер очереди

по умолчанию

в PULLNET AGENT-2

q0 (низший приоритет)

q3 (максимальный приоритет)

После процесса классификации фреймы можно привязать к определенной очереди (очередям) в зависимости от метки приоритета CoS.

Настройка очередей выхода осуществляется с помощью схемы планирования одного из следующих способов:

  • Строгий приоритет (Strict Priority – SP).
  • Взвешенный циклический алгоритм (Weighted Round Robin –WRR).

Строгий приоритет (Strict Priority) – гарантирует, что чувствительные ко времени приложения передаются всегда. Строгий приоритет (Strict Priority) позволяет присвоить трафику, зависящему от целевого назначения и чувствительности ко времени, наивысший приоритет перед менее чувствительными ко времени данными. Т.е. фреймы, находящиеся в очереди с высоким приоритетом, обрабатываются первыми. Кадры Ethernet из следующей по приоритету обслуживания очереди начнут передаваться только после того, как опустеет высокоприоритетная очередь. Например, передача голоса по IP осуществляется до пересылки трафика FTP или электронной почты (SMTP). Недостатком данного метода является то, что данные с низким приоритетом могут длительное время не обрабатываться.


Рис. 2. Механизм обработки очередей “Строгий приоритет” (Strict Priority) при постановке фреймов в очередь в соответствии с настройками по умолчанию в коммутаторах PULLNET.

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

При наличии нескольких очередей фреймы могут быть помещены в разные очереди и обслуживаться по взвешенному циклическому алгоритму (Weighted Round Robin – WRR). Внутри очереди устанавливаются весовые коэффициенты (Weight Value) – в коммутаторах AGENT-2 это значения от 1 до 20. Они играют роль исходных точек, по которым определяется, с какой вероятностью может быть отброшен пакет. Процесс обработки очередей осуществляется по круговому принципу, начиная с самой приоритетной очереди. Из каждой непустой очереди передается некоторый объем трафика, пропорциональный назначенному ей весовому коэффициенту, после чего выполняется переход к следующей по убыванию приоритета очереди и так далее по кругу.


Рис. 3. Механизм обработки очередей “Взвешенный циклический алгоритм” (Weighted Round Robin).

Все очереди, за исключением очередей SP, могут работать по схеме WRR. Очереди SP обслуживаются непосредственно перед очередями WRR. Если поток трафика минимален и очереди SP не занимают всю полосу пропускания, назначенную для порта, то очереди WRR используют полосу пропускания совместно с очередями SP. При этом оставшаяся часть полосы пропускания распределяется в соответствии с весовыми коэффициентами. Данный комбинированный механизм «SP+WRR» доступен в коммутаторах PULLNET AGENT-2.

Нет ни одного человека, который бы хоть раз не прочитал какой-нибудь 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% полосы пропускания, что ж, я могу посоветовать и дальше использовать побольше всевозможных "твикалок" и кривых сетевых драйверов. Еще и не столько будет "отжираться".