Пакеты qos windows 7. Как использовать QoS для обеспечения качества доступа в интернет. Распределение ресурсов QoS по сетевым устройствам

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

QoS — Что Это В Роутере?

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

Нужно выбрать, какое действие для вас в данный момент является более важным. Наверное, это все-таки онлайн игра. Поэтому с помощью настройки планировщика пакетов 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 на роутере

Спасибо! Не помогло

Никто не любит, когда при загрузке веб-страницы они открывают очень долго, а закачка файлов не происходит на том уровне, на каком хотелось бы. Хотя, при заказе услуги у провайдера там ясно значилось 20 или даже 100 Мб/с, а на деле мы не получаем такой скорости.

Конечно, этому есть объяснение. Во-первых, система забирает порядка 20% на свои нужды, во-вторых, браузеру поступает ответ с DNS-серверов, правда на это нужно время.

Чтобы там не было, мы сейчас разберемся, как увеличить скорость интернета в несколько раз.

Отключаем ограничение скорости QoS

Обычно в системе стоит ограничение в 20% по скорости, хотя у всех может быть по-разному. Для увеличения скорости интернета необходимо отключить этот параметр. Для этого мы будем пользоваться локальными групповыми политиками. К сожалению, данная функция доступна только на Pro редакциях Windows.

Откройте окошко «Выполнить», с помощью комбинации Win+R и в появившемся окне напишите такую команду: gpedit.msc .

С левой стороны открывшегося окна идём в раздел: Конфигурация компьютера Административные шаблоны – Сеть – Планировщик пакетов QoS Ограничить резервируемую пропускную способность .

Находим там пункт «Ограничить резервную пропускную способность». Нажмите на нём дважды и установите параметр в положение «Включено» , а потом впишите цифру “0” в «Ограничение пропускной способности». Нажмите «Применить».

Чтобы убедиться, работает ли сетевое устройство с планировщиком пакетов QoS нужно зайти в Центр управления сетями и общим доступом. Попасть туда можно, если нажать на панели задач по значку Wi-Fi, либо проводному подключению правой кнопкой мыши. Слева переходим в раздел «Изменение параметров адаптера». Нажимаем правой кнопкой мыши по своему подключению и выбираем «Свойства». Там должен появится параметр «QoS Packet Scheduler» , отмеченный галочкой.

Отключение QoS через реестр

При наличии другой версии Windows, кроме PRO эта инструкция может вам подойти. Переходим в реестр, для этого используем комбинацию Win+R и вводим команду regedit .

Идём в следующий раздел:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft

Здесь находим раздел Windows , нажимаем по нему правой кнопкой мыши и создаём новый раздел с именем Psched .

Переходим в созданный раздел и справа создаем параметр DWORD 32 бита с именем NonBestEffortLimit . Этому параметру мы присваиваем значение «0» .


После проделанной работы перезагружаем компьютер.

Отключаем ограничение скорости интернета в ПО

Бывает, что при использовании программ, требующих интернета, например, торрент-клиенты, есть функции ограничения скорости, которые могут быть активны у вас.

Взять к примеру торрент-клиент. Если нажать правой кнопкой мыши по активной закачке, то там есть пункт «Ограничение приёма» . Направляем на него мышь и смотрим. Активен должен быть режим «Неограниченно» .


С другими торрент-клиентами аналогично. В других же типах программ придется покопаться и найти что-то похожее.

Как увеличить DNS-кэш для увеличения скорости?

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

Поехали! Нажимаем Win+R и вводим команда для входа в реестр – regedit. Открывается окно, где мы слева должны перейти в этот раздел:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNScache\Parameters

Справа вам нужно нажать правой кнопкой мыши по пустому месту и создать 4 параметра «DWORD» и дать им такие имена – CacheHashTableBucketSize , CacheHashTableSize , MaxCacheEntryTtlLimit , MaxSOACacheEntryTtlLimit .

У каждого из них должны быть эти значения (по порядку к каждому) – 1, 384, 64000 и 301.

Для успешного завершения работы перезагрузите компьютер.

Автоподстройка TCP – отключаем

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

Чтобы выполнить эту задачу нам нужно открыть командную строку с повышенными привилегиями и выполнить там такую команду:

Турбо режим браузеров для ускорения загрузки сайтов

Во многих браузерах существует функция «Турбо-режим», который ускоряет открытие страниц. Пока что он доступен на следующих популярных браузерах: Opera и Яндекс браузер. Для других же вы можете загрузить специальные расширения.

В Опере эта функция включается, если нажать в левом верхнем углу по кнопке «Opera». Находим функцию «Opera Turbo» и активируем её.

В Яндекс браузере эта функция включается в настройках – Показать дополнительные настройки. Рядом с разделом «Турбо» ставим «Всегда включен» .

Утилита NameBench для повышения загрузки страниц

Многие провайдеры, особенно коммерческие, всегда хотят сэкономить на оборудовании. А когда вы начинаете посещать веб-сайты, происходит обращение к DNS-серверам (оборудованию провайдеров). Если оно дешевое, то и скорость загрузки страниц у вас будет очень медленная. Чтобы исправить эту проблему нам необходимы быстрые DNS-сервера, а найти их нам поможет программка NameBench. «Start Benchmark» . Программа начнет тестирование большого количества DNS-серверов и выберет наиболее быстрый.

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

Обновление прошивки роутера

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

Вот собственно и все методы, которые можно использовать на современных версиях Windows. Хотя, может быть и еще что-то есть, а если и появится, то мы не обойдем это стороной.

В первой части этой серии статей я рассказывал о том, что делает QoS, и для чего он используется. В этой части я продолжу разговор объяснением того, как работает QoS. По мере прочтения этой статьи, пожалуйста, учитывайте, что информация, представленная здесь, основана на Windows Server 2003 применении QoS, которое отличается от применения QoS в Windows 2000 Server.

API управления трафиком

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

Здесь в игру вступает Traffic Control API (программный интерфейс управления трафиком). Traffic Control API – это программный интерфейс приложения, позволяющий применять параметры QoS к индивидуальным пакетам. Traffic Control API работает на основе определения отдельных потоков трафика, и применения различных способов QoS контроля к этим потокам.

Первое, что делает Traffic Control API, это создает то, что известно под названием filterspec. Filterspec – это, по сути, фильтр, определяющий, что значит для пакета принадлежать к определенному потоку. Некоторые атрибуты, используемые filterspec, включают IP адрес источника и назначения пакета и номер порта.

Как только filterspec был определен, API позволяет создать flowspec. Flowspec определяет QoS параметры, которые будут применяться к последовательности пакетов. Некоторые из параметров, определяемые flowspec, включают скорость передачи (допустимую скорость передачи) и тип службы.

Третий концепт, определяемый интерфейсом Traffic Control API – это концепт потока. Поток представляет собой простую последовательность пакетов, которые подвержены одному flowspec. Проще говоря, filterspec определяет, какие пакеты будут включены в flowspec. Flowspec определяет, будут ли пакеты обрабатываться с более высокими приоритетами, а поток – это собственно передача пакетов, которые подвергаются обработке flowspec. Все пакеты в потоке обрабатываются равноправно.

Следует упомянуть, что одним из преимуществ Traffic Control API над Generic QoS API, использовавшемся в Windows 2000, является способность использовать агрегирование (объединение). Если узел имеет несколько приложений, передающих множественные потоки данных в общее место назначения, то эти пакеты могут быть объединены в общий поток. Это действует, даже если приложения используют различные номера портов, но при условии, что IP адрес источника и назначения одинаков.

Классификатор общих пакетов (Generic Packet Classifier)

В предыдущем разделе я рассказал о взаимоотношениях между flowspec, filterspec и потоком. Однако важно помнить, что интерфейс Traffic Control API – это просто программный интерфейс приложения. Будучи таковым, его работа заключается в определении и назначении приоритетов потокам трафика, а не создание этих потоков.

За создание потоков отвечает Generic Packet Classifier. Как вы помните из прошлого раздела, одним из атрибутов, который определялся в flowspec, был тип службы. Тип службы, по сути, определяет приоритет потока. Generic Packet Classifier отвечает за определение типа службы, который был назначен для flowspec, после чего он помещает связанные пакеты в очередь, соответствующую типу службы. Каждый поток помещается в отдельную очередь.

QoS Packet Scheduler (планировщик пакетов)

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

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

На самом деле, здесь присутствует два типа маркировки. Планировщик пакетов QoS использует Diffserv маркировку, которая распознается устройствами третьего уровня, и маркировку 802.1p, которая распознается устройствами второго уровня.

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

Прежде чем я покажу вам, как работает маркировка, следует отметить, что вам нужно будет настроить планировщика пакетов QoS, чтобы все работало. В Windows Server 2003 планировщик пакетов QoS относится к необязательным сетевым компонентам, так же как и клиент для сетей Microsoft или TCP/IP протокол. Чтобы включить планировщика пакетов QoS, откройте страницу свойств вашего сетевого подключения сервера и поставьте флажок рядом со строкой планировщик пакетов QoS, как показано на рисунке A. Если планировщик пакетов QoS отсутствует в списке, нажмите кнопку «Установить» и следуйте указаниям.

Рисунок A: Планировщика пакетов QoS необходимо включить, прежде чем вы сможете использовать QoS

Еще один момент, который вам нужно знать касаемо планировщика пакетов QoS, заключается в том, что для его корректной работы ваш сетевой адаптер должен поддерживать 802.1p маркировку. Чтобы проверить свой адаптер, нажмите кнопку «Настроить», рисунок A, и Windows отобразит свойства вашего сетевого адаптера. Если вы посмотрите во вкладку «Дополнительно» на странице свойств, вы увидите различные свойства, которые поддерживает ваш сетевой адаптер.

Если вы посмотрите на рисунок B, вы увидите, что одним из свойств в списке является 802.1Q / 1P VLAN Tagging. Вы также видите, что это свойство отключено по умолчанию. Чтобы включить 802.1p маркировку, просто включите это свойство и нажмите OK.

Рисунок B: Вы должны включить 802.1Q/1P VLAN Tagging

Вы, возможно, заметили на рисунке B, что свойство, которое вы включили, связано с VLAN тегированием, а не с пакетной маркировкой. Причина тому кроется в том, что маркеры приоритетов включаются в VLAN теги. 802.1Q стандарт определяет VLANs и VLAN теги. Этот стандарт на самом деле резервирует три бита в VLAN пакете, которые используются для записи кода приоритетности. К сожалению, 802.1Q стандарт никогда не определяет, каковы должны быть эти коды приоритетности.

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

Заключение

В этой статье мы обсудили некоторые основные понятия в архитектуре Windows Server 2003′s QoS. В третьей части я подробнее расскажу о том, как планировщик пакетов QoS маркирует пакеты. Я также расскажу о том, как работает QoS в условиях сети с низкой пропускной способностью.

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

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

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

В Windows XP Professional, QoS в первую очередь работает как механизм резервирования пропускной способности. Когда QoS включена, приложению разрешено резервировать до 20% всей пропускной способности сети, обеспечиваемой каждым сетевым адаптером машины. Однако количество резервируемой приложением пропускной способности сети можно настраивать. Я покажу вам, как изменять количество резервируемой пропускной способности в третьей части.

Чтобы посмотреть, как используется резервная пропускная способность, предположим, у вас есть приложение для проведения видеоконференций, требующее приоритетной полосы пропускания для правильной работы. Предположив, что для этого приложения включена QoS, можно сказать, что оно резервирует 20% всей полосы пропускания машины, оставляя 80% пропускной способности для остального сетевого трафика.

Все приложения, кроме приложений для видеоконференций, используют технологию под названием наилучшая доставка (best effort delivery). Это означает, что пакеты отправляются с одинаковыми приоритетами "первый доставленный пакет обслуживается в первую очередь". С другой стороны, трафик приложений для видеоконференций всегда будет иметь более высокий приоритет по сравнению с остальным трафиком, но приложению никогда не будет позволено потреблять более 20% всей пропускной способности.

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

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

Как я уже говорил, QoS - это стандарт индустрии, а не технология Microsoft. Будучи таковой, QoS используется в Windows, но Windows не может делать эту работу самостоятельно. Чтобы QoS работал, каждый компонент оборудования между отправителем и получателем должен поддерживать QoS. Это означает, что сетевые адаптеры, коммутаторы, маршрутизаторы и все остальные используемые устройства должны знать о QoS, равно как и операционные системы получателя и отправителя.

Если вам интересно, то вам нет необходимости устанавливать какую-то безумную экзотическую сетевую инфраструктуру, чтобы использовать QoS. Асинхронный режим передачи (Asynchronous Transfer Mode - АTM) - является отличной сетевой технологией для использования QoS, поскольку это технология, ориентированная на подключения, однако вы можете использовать QoS и с другими технологиями, такими как Frame Relay, Ethernet и даже Wi-FI (802.11x).

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

В среде ATM ресурсы распределяются сразу, на уровне физических устройств. Поскольку Ethernet и прочие сходные технологии не могут распределять ресурсы таким способом, технологии такого типа основываются на присвоении приоритетов, а не на истинном выделении ресурсов. Это означает, что резервирование пропускной способности происходит на более высоком уровне модели OSI. Как только пропускная способность была зарезервирована, пакеты с более высокими приоритетами передаются в первую очередь.

Одним моментом, который следует учитывать, если вы собираетесь применить QoS через Ethernet, Wi-Fi или другие схожие технологии, является то, что такие технологии не имеют соединения. Это означает, что у отправителя нет возможности проверить состояние получателя или состояние сети между отправителем и получателем. А это в свою очередь означает, что отправитель может гарантировать отправку пакетов с более высокими приоритетами в первую очередь, но не может гарантировать доставку этих пакетов в течение определенного времени. С другой стороны, QoS способен дать такого рода гарантии на ATM сети, поскольку ATM является технологией, ориентированной на подключение.

Windows 2000 vs. Windows Server 2003

Ранее я говорил о том, что Microsoft впервые представила QoS в Windows 2000, и что это применение QoS с того времени значительно эволюционировало. Поэтому я хочу немного рассказать о различиях между QoS в Windows 2000 и в Windows XP и Windows Server 2003 (в которых этот стандарт используется примерно одинаково).

В Windows 2000 применение QoS было основано на архитектуре Intserv, которая не поддерживается в Windows XP или Windows Server 2003. Причина, по которой Microsoft решила не использовать такую архитектуру, крылась в том, что лежащий в основе API было трудно использовать, и архитектура имела проблемы с масштабностью.

Некоторые организации все еще используют Windows 2000, поэтому я решил дать вам немного информации о том, как работает архитектура Windows 2000 QoS. Windows 2000 использует протокол под названием RSVP для резервирования ресурсов пропускной способности. Когда запрашивается пропускная способность, Windows необходимо определить, когда пакеты можно передавать. Для этого Windows 2000 использует протокол сигнала под названием SBM (менеджер пропускной способности подсети - Sunbelt Bandwidth manager), чтобы сообщать отправителю о том, что она готова принимать пакты. Служба Admission Control Service (ACS) проверяет, что эффективная пропускная способность доступна и затем, либо предоставляет, либо отвергает запрос на пропускную способность.

API управления трафиком

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

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

Первое, что делает Traffic Control API, это создает то, что известно под названием filterspec. Filterspec - это, по сути, фильтр, определяющий, что значит для пакета принадлежать к определенному потоку. Некоторые атрибуты, используемые filterspec, включают IP адрес источника и назначения пакета и номер порта.

Как только filterspec был определен, API позволяет создать flowspec. Flowspec определяет QoS параметры, которые будут применяться к последовательности пакетов. Некоторые из параметров, определяемые flowspec, включают скорость передачи (допустимую скорость передачи) и тип службы.

Третий концепт, определяемый интерфейсом Traffic Control API - это концепт потока. Поток представляет собой простую последовательность пакетов, которые подвержены одному flowspec. Проще говоря, filterspec определяет, какие пакеты будут включены в flowspec. Flowspec определяет, будут ли пакеты обрабатываться с более высокими приоритетами, а поток - это собственно передача пакетов, которые подвергаются обработке flowspec. Все пакеты в потоке обрабатываются равноправно.

Следует упомянуть, что одним из преимуществ Traffic Control API над Generic QoS API, использовавшемся в Windows 2000, является способность использовать агрегирование (объединение). Если узел имеет несколько приложений, передающих множественные потоки данных в общее место назначения, то эти пакеты могут быть объединены в общий поток. Это действует, даже если приложения используют различные номера портов, но при условии, что IP адрес источника и назначения одинаков.

Классификатор общих пакетов (Generic Packet Classifier)

В предыдущем разделе я рассказал о взаимоотношениях между flowspec, filterspec и потоком. Однако важно помнить, что интерфейс Traffic Control API - это просто программный интерфейс приложения. Будучи таковым, его работа заключается в определении и назначении приоритетов потокам трафика, а не создание этих потоков.

За создание потоков отвечает Generic Packet Classifier. Как вы помните из прошлого раздела, одним из атрибутов, который определялся в flowspec, был тип службы. Тип службы, по сути, определяет приоритет потока. Generic Packet Classifier отвечает за определение типа службы, который был назначен для flowspec, после чего он помещает связанные пакеты в очередь, соответствующую типу службы. Каждый поток помещается в отдельную очередь.

QoS Packet Scheduler (планировщик пакетов)

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

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

На самом деле, здесь присутствует два типа маркировки. Планировщик пакетов QoS использует Diffserv маркировку, которая распознается устройствами третьего уровня, и маркировку 802.1p, которая распознается устройствами второго уровня.

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

Прежде чем я покажу вам, как работает маркировка, следует отметить, что вам нужно будет настроить планировщика пакетов QoS, чтобы все работало. В Windows Server 2003 планировщик пакетов QoS относится к необязательным сетевым компонентам, так же как и клиент для сетей Microsoft или TCP/IP протокол. Чтобы включить планировщика пакетов QoS, откройте страницу свойств вашего сетевого подключения сервера и поставьте флажок рядом со строкой планировщик пакетов QoS, как показано на рисунке A. Если планировщик пакетов QoS отсутствует в списке, нажмите кнопку «Установить» и следуйте указаниям.

Рисунок A: Планировщика пакетов QoS необходимо включить, прежде чем вы сможете использовать QoS

Еще один момент, который вам нужно знать касаемо планировщика пакетов QoS, заключается в том, что для его корректной работы ваш сетевой адаптер должен поддерживать 802.1p маркировку. Чтобы проверить свой адаптер, нажмите кнопку «Настроить», рисунок A, и Windows отобразит свойства вашего сетевого адаптера. Если вы посмотрите во вкладку «Дополнительно» на странице свойств, вы увидите различные свойства, которые поддерживает ваш сетевой адаптер.

Если вы посмотрите на рисунок B, вы увидите, что одним из свойств в списке является 802.1Q / 1P VLAN Tagging. Вы также видите, что это свойство отключено по умолчанию. Чтобы включить 802.1p маркировку, просто включите это свойство и нажмите OK.

Рисунок B: Вы должны включить 802.1Q/1P VLAN Tagging

Вы, возможно, заметили на рисунке B, что свойство, которое вы включили, связано с VLAN тегированием, а не с пакетной маркировкой. Причина тому кроется в том, что маркеры приоритетов включаются в VLAN теги. 802.1Q стандарт определяет VLANs и VLAN теги. Этот стандарт на самом деле резервирует три бита в VLAN пакете, которые используются для записи кода приоритетности. К сожалению, 802.1Q стандарт никогда не определяет, каковы должны быть эти коды приоритетности.

802.1P стандарт был создан в качестве дополнения к 802.1Q. 802.1P определяет маркировку приоритетности, которая может быть заключена в VLAN тег.

802.1P сигнал

Как я говорил в предыдущей части, передача сигнала 802.1p осуществляется на втором уровне модели OSI. Этот уровень используется такими физическими устройствами, как коммутаторы. Устройства второго уровня, поддерживающие 802.1p, могут просматривать маркировку приоритетов, которые назначены пакетам, а затем группировать эти пакеты в отдельные классы трафика.

В сетях Ethernet маркировка приоритетов включена в тэги VLAN. VLANs и VLAN тэги определяются 802.1Q стандартом, который определяет поле трехразрядных приоритетов, но на самом деле не определяет то, как это поле приоритетов должно использоваться. Именно здесь в игру вступает 802.1P стандарт.

802.1P определяет различные классы приоритетов, которые можно использовать совместно с 802.1Q стандартом. В конечном счете, 802.1Q оставляет право выбора маркировки приоритетов за администратором, поэтому технически вам не нужно следовать указаниям 802.1P, но 802.1P, кажется, является тем, что все выбирают.

Хотя идея использования 802.1P стандартов для обеспечения маркировки второго уровня, вероятно, звучит как чистая теория, на самом деле она может определяться с помощью параметров групповой политики. Стандарт 802.1P обеспечивает восемь различных классов приоритетов (варьирующихся в пределах от 0 до 7). Пакеты с приоритетами более высокого класса обрабатываются QoS с более высоким приоритетом доставки.

По умолчанию Microsoft назначает следующие маркировки приоритетов:

Но как я упомянул ранее, вы можете изменять эти приоритеты, модифицируя различные параметры групповой политики. Для этого нужно открыть редактора групповой политики и перейти в древе консоли по ветвям Конфигурация компьютера \ Шаблоны администрирования \ Сети \ Планировщик QoS пакетов \ Значение приоритетов второго уровня. Как видно из рисунка A, есть параметры групповой политики, соответствующие каждой маркировке приоритетов, которые я перечислил выше. Вы можете назначить свои уровни маркировки приоритетов любому из этих типов служб. Однако не следует забывать о том, что эти параметры групповой политики действуют только для хостов, на которых используется Windows XP, 2003 или Vista.

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

Раздельные службы (Differentiated Services)

Как я объяснял в предыдущей статье, QoS выполняет маркировку приоритетов на втором и третьем уровнях модели OSI. Это обеспечивает учет приоритетов на протяжении всего процесса доставки пакетов. К примеру, коммутаторы работают на втором уровне модели OSI, но маршрутизаторы, как правило, работают на третьем уровне. Таким образом, если бы пакеты использовали только 802.1p маркировку приоритетов, то приоритеты этим пакетам назначал бы коммутатор, однако эти приоритеты игнорировались бы сетевыми маршрутизаторами. Чтобы препятствовать этому, QoS использует протокол Differentiated Services protocol (Diffserv) для назначения приоритетов трафику на третьем уровне модели OSI. Маркировка Diffserv включена в IP заголовки пакетов с помощью TCP/IP.

Архитектура, используемая Diffserv, была изначально определена RFC 2475. Однако многие спецификации архитектуры были переписаны в RFC 2474. RFC 2474 определяет Diffserv архитектуру для IPv4 и IPv6.

Интересный момент IPv4 применения в RFC 2474 заключается в том, что даже, несмотря на тот факт, что Diffserv был абсолютно переопределен, он все еще обратно совместим с оригинальной RFC 2475 спецификацией. Это означает, что более старые маршрутизаторы, которые не поддерживают новые спецификации, могут распознавать назначенные приоритеты.

Текущее Diffserv применение использует октеты типов служб пакетов Type of Service (TOS) для хранения Diffserv значения (которое называется DSCP значением). В рамках этого октета первые шесть битов хранят DSCP значение, а последние два бита не используются. Причина, по которой эти маркировки обратно совместимы с RFC 2475 спецификацией, заключается в том, что RFC 2475 требовала первые три бита в том же октете для использования в информации посследовательности IP. Хотя DSCP значения в длину составляют шесть бит, первые три бита все равно отражают IP последовательность.

Как и в случае с маркировкой 802.1p, которую я демонстрировал ранее, вы можете настраивать Diffserv приоритеты с помощью различных параметров групповой политики. Прежде чем я покажу вам как, я представлю стандартные Diffserv приоритеты, используемые в Windows:

Вы, возможно, заметили, что маркировки приоритетов Diffserv используют абсолютно другой диапазон, нежели 802.1P. Вместо поддержки диапазона 0 - 7, Diffserv поддерживает диапазон маркировки приоритетов в пределах от 0 до 63, при этом большие числа имеют более высокие приоритеты.

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

Учитывая это, вы можете настроить маркировку приоритетов Diffserv, открыв редактора групповой политики, и перейдя в древе консоли по ветвям Конфигурация компьютера \ Шаблоны администрирования \ Сеть \ Планировщик пакетов QoS.

Если вы посмотрите на рисунок B, вы заметите, что там есть две вкладки, связанных с DSCP, которые расположены под вкладкой планировщика пакетов QoS. Одна из этих вкладок позволяет вам назначать маркировку приоритетов DSCP для пакетов, соответствующих flowspec, а вторая позволяет вам устанавливать маркировку приоритетов DSCP для несоответствующих пакетов. Действительные параметры сами по себе сходны для обеих вкладок, как показано на рисунке C.

Рисунок B: Windows управляет маркировками приоритетов DSCP отдельно для пакетов, которые соответствуют flowspec, и которые не соответствуют.

Рисунок C: Вы можете вручную назначить маркировку приоритетов DSCP для различных типов служб.

Разнообразные параметры групповой политики

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

Параметр Limit Outstanding Packets, по сути, представляет собой значение порога службы. Если количество превосходящих пакетов достигает определенного значения, то QoS запретит любые дополнительные выделения пропускной способности для сетевого адаптера, пока значение не опустится ниже максимально допустимого порога.

Параметр Limit Reservable Bandwidth управляет процентом общей пропускной способности, которую могут зарезервировать приложения с поддержкой QoS. По умолчанию приложения с поддержкой QoS могут резервировать до 80% процентов пропускной способности сети. Конечно, любая часть полосы пропускания, зарезервированная, и в данный момент не используемая QoS приложениями, может использоваться другими приложениями.

Параметр Set Timer Resolution управляет минимальными единицами времени (в микросекундах) которые планировщик пакетов QoS будет использовать для планирования пакетов. По сути, этот параметр контролирует максимальную частоту, с которой пакеты могут ставиться в очередь на доставку.

QoS и модемы

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

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

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

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

Как только соединение создано, Windows начинает динамически настраивать размер окна получения TCP. Размер окна получения TCP - это объем данных, который можно отправить, прежде чем ожидать подтверждения, что данные были получены. Чем больше размер окна получения TCP, тем больше пакеты, которые отправитель может передать, прежде чем ждать подтверждения успешной доставки.

Размер окна получения TCP нужно настраивать аккуратно. Если окно получения TCP слишком маленькое, будет страдать и эффективность, так как TCP требует очень частых подтверждений принятия. Однако если окно получения TCP слишком большое, то машина может передать слишком много данных, прежде чем узнает, что во время передачи возникла проблема. В результате требуется повторная передача большого объема данных, что также воздействует на эффективность.

Когда приложение начинает использовать dial-up подключение к интернету, Windows динамически настраивает размер окна получения TCP по мере отправления пакетов. Целью Windows здесь является достижение стабильного состояния, в котором размер окна получения TCP настроен оптимально.

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

Хорошая новость заключается в том, что вы можете избежать этих проблем в Windows XP и Windows Server 2003 путем простого запуска планировщика пакетов QOS. После этого планировщик пакетов QOS будет автоматически использовать технологию под названием Deficit Round Robin всякий раз, когда Windows обнаруживает медленную скорость подключения.

Принцип работы Deficit Round Robin заключается в динамическом создании отдельных очередей для каждого приложения, которому требуется доступ к интернету. Windows обслуживает эти очереди в виде циклического алгоритма, который значительно улучшает эффективность всех приложений, нуждающихся в доступе к интернету. Если вам интересно, Deficit Round Robin также доступен в Windows 2000 Server, но не включается автоматически.

Совместное использование интернет соединения

В Windows XP и Windows Server 2003, QoS также способствует совместному использованию интернет подключения. Как вы, вероятно, знаете, совместное использование интернет соединения является упрощенным вариантом создания маршрутизатора на базе NAT. Компьютер, к которому интернет соединение подключено физически, играет роль маршрутизатора и DHCP сервера для других компьютеров в сети, тем самым обеспечивая им доступ к интернету через этот хост. Совместное использование интернет подключения обычно используется только в малых, пиринговых сетях, в которых отсутствует инфраструктура домена. Сети больших размеров обычно используют маршрутизаторы на базе физических устройств, или маршрутизацию и службы удаленного доступа.

В вышеприведенном разделе я уже объяснял, как Windows динамически настраивает размер окна получения TCP. Однако такая динамическая настройка может вызывать проблемы при совместном использовании интернет подключения. Причина тому кроется в том, что подключение между компьютерами в локальной сети обычно относительно быстрое. Обычно такое подключение состоит из 100 Mb Ethernet, или из 802.11G беспроводного соединения. Хотя эти типы соединения далеко не самые быстрые, но они гораздо быстрее большинства подключений к интернету, доступных в США. Именно здесь кроется проблема.

Клиентскому компьютеру нужно взаимодействовать через интернет, но он не может сделать этого напрямую. Вместо этого он использует хост совместного использования подключения к интернету в качестве модуля доступа. Когда Windows высчитывает оптимальный размер окна получения TCP, он делает это, основываясь на скорости соединения между локальной машиной и машиной Internet Connection Sharing. Разница между объемом данных, которые локальная машина может действительно получить из интернета, и объемом, которые она думает, что сможет получить, основываясь на скорости подключения к хосту Internet Connection Sharing, может вызывать проблемы. Если говорить точнее, разница в скорости подключения может потенциально вызывать ситуации, в которых данные создают резервные копии в очереди, подключенной к низкоскоростному соединению.

Здесь в игру вступает QoS. Если вы установите планировщик пакетов QOS на узле Internet Connection Sharing, то хост Internet Connection Sharing аннулирует размер окна получения TCP. Это означает, что хост Internet Connection Sharing будет задавать размер окна получения TCP для локальных хостов на такое же значение, которое у них было бы в случае прямого подключения к интернету. Это устраняет проблемы, вызванные несовпадением скоростей сетевого подключения.

Заключение

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

Брайн Позей (Brien Posey)

Ответы:

Рыжанов Денис Иванович:
Нажимаете WinKey+R, пишите там "gpedit.msc", давите "Enter", дальше идете в закладку "Политика "Локальный компьютер"", "Административные шаблоны", "Сеть", "Диспетчер пакетов QoS", выбираете там вкладку "Ограничить резервируемую пропускную способность", кликаете по ней два раза мышкой, в появившемся окне выбираете вкладку "Включить, а чуть ниже выставляете "0%". Перезапускаете машину, чтобы изменения вступили в силу.

Alexey:
Не пользоваться ей! У вас просто нет таких приложений которые используют эту службу. Её используют некоторые Интернет-телефоны, и вообще она никак не мешает работе в Интернет. Благодаря этой службе возможна работа приложений, требовательных к времени задержки. Кстати, а есть все-таки одна прога - какая-то качалка от Microsoft, которая использует эту службу специально. Но, поверьте, эта служба ничего не забирает от канала - только во время передачи по этой службе она может забрать себе некую часть трафика (установленный предел, обычно 20%).

Shurovik:
Настроить его значение на 0%.

Vladimir Nozdrin:
Прочитайте статью: "Миф о QoS".

Максим:
Первое время пугали, что QoS резервирует 20% канала. Успокойтесь, это не так. Так что отключать не надо.

TU-154:
Зайдя в систему под Администратором, в редакторе Групповой политики (Пуск - Выполнить - gpedit.msc), Политика "Локальный компьютер" - Административные шаблоны - Сеть - Диспетчер пакетов QoS - Ограничить резервируемую пропускную способность включите этот параметр и выставьте ограничение в 0. Распространены сведения, что эта служба никак не влияет на скорость работы. Может быть, это и так, но в моем случае ее отключение приводит в увеличению скорости закачки с 2,5 до 2,9 Кбайт/с (по данным ReGet, то есть как раз примерно на 20%), и при работе в локальной сети - к увеличению степени использования канала с 80 до 95%.

Hotfrost:
Если удалить службу QoS Packet Scheduler из Properties соединения, этот канал не освобождается. Освободить канал, или просто настроить QoS, можно здесь: Запускаем апплет Group Policy (gpedit.msc). В Group Policy находим Localcomputer policy и нажимаем на Administrative templates. Выбираем пункт Network -- QoS Packet Sheduler. Включаем Limit reservable bandwidth. Теперь cнижаем Bandwidth limit 20% до 0, или просто отключаем его. При желании здесь же можно настроить и другие параметры QoS. Для активации произведённых изменений остаётся только перезагрузиться.

Basil:
Оставьте службу QoS в покое. Миф о 20% ограничении трафика давно развенчан. Авторы твикеров даже исключили этот пункт из своих программ.

RiLL-SV:
Ничего подобного! Проверь в пинг в интернет играх при нетронутом QoS и при его значении на 0! Вот тогда ты и поймешь, в чем разница между нетронутым QoS и QoS, который стоит на 0!