КабельщикПоддержка службы QoS в операционной системе (ОС) Windows

Джозеф Дэвис (Joseph Davies)

Эта статья частично основана на предварительной версии «Longhorn» ОС Windows Server. Любая содержащаяся в ней информация может быть изменена.

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

назначать приоритеты и регулировать трафик. Например служба QoS может применяться для назначения приоритета обмену данными, чувствительному к задержке (например в голосовых или видеоприложениях), и управления трафиком, менее чувствительным к задержкам, таким как передача больших объемов данных. Для приоритетного обмена данными по протоколу TCP/IP требуется поддержка со стороны узлов и устройств сетевой инфраструктуры. В этом разделе описываются методы использования службы QoS на узлах, работающих под управлением ОС Microsoft® Windows®.

Главная проблема определения службы QoS для сетей с протоколом TCP/IP заключается в том, как задать и обеспечить приоритетный обмен данными по протоколу IP. Хотя базовая спецификация RFC 791 для протокола IP определяла возможность указания в поле Type of Service (TOS) параметров старшинства, задержки, пропускной способности, надежности и стоимости, протокол IP по существу реализует технологию коммутации пакетов по принципу «наибольших усилий» на основе датаграмм, в которой каждый пакет обычно обрабатывается одинаково по принципу «первым прибыл — первым обслужен».

Настройка приоритетного обмена данными

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

При обмене данными по протоколу TCP/IP можно использовать несколько методов обеспечения приоритетов обмена. Например на уровне сетевого интерфейса для сетей Ethernet по стандарту IEEE 802.1 для разметки кадров, отправляемых узлом с приоритетной доставкой, используется 3-битовое поле Priority в заголовке виртуальной локальной сети (VLAN) кадра протокола Ethernet. Заголовок VLAN помещается в заголовок кадра протокола Ethernet между полем Source Address (Адрес источника) и полем Length (Длина) для кадра IEEE 802.3 или EtherType (Тип сети) для кадра Ethernet II.

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

На уровне сетевого интерфейса для беспроводных сетей стандарта IEEE 802.1 сертификация Wi-Fi Alliance для мультимедиа Wi-Fi (WMM) определяет четыре категории доступа при назначении приоритетов сетевого трафика. Этими категориями (в порядке убывания приоритета) являются голос, видео, «наибольшие усилия» и фоновый режим. Для поддержки приоритетов беспроводного мультимедиа (WMM) на узле требуется, чтобы WMM поддерживали адаптеры беспроводной сети и их драйверы. В точках беспроводного доступа также должен быть включен режим WMM.

На уровне Интернета можно использовать дифференцированные службы и задать значение поля дифференцирования трафика DSCP (Differentiated Services Code Point) в IP-заголовке. Спецификация RFC 2472 определяет значение поля DSCP как старшие 6 битов поля TOS протокола IP версии 4 (IPv4) и поле Traffic Class протокола IP версии 6 (IPv6).

Корпоративные маршрутизаторы последних моделей поддерживают дифференцирование трафика DSCP, которое, однако, по умолчанию обычно отключено. При пересылке маршрутизаторы, поддерживающие дифференцирование трафика, считывают значение поля DSCP и помещают пакет в соответствующую очередь. Например можно настроить маршрутизаторы таким образом, чтобы в соответствии с заданным значением поля DSCP отправляемые пакеты помещались в очередь высокого приоритета, «наибольшего усилия» или более низкого приоритета. При настроенных очередях и значениях поля DSCP трафик с разметкой приоритетности может различать уровни обслуживания. Например критичный к потере информации сетевой трафик получает приоритет при пересылке данных и не задерживается другим трафиком массовой передачи данных, имеющим более низкий приоритет. Спецификация WMM определяет порядок обращения беспроводного мультимедиа к схеме сопоставления категорий со значениями поля DSCP. Точка беспроводного доступа с поддержкой беспроводного мультимедиа считывает значение поля DSCP и обрабатывает трафик в соответствии с его категорией доступа.

На уровне Интернета можно также использовать протокол резервирования ресурсов (RSVP), сигнальный протокол, описанный в спецификации RFC 2205. С помощью этого протокола узлы могут пытаться зарезервировать пропускную способность на маршруте к конечной точке. Протокол RSVP, однако, пока широко не развернут в сетях и в настоящее время не поддерживается в ОС Windows XP, Windows Server® 2003, Windows Vista™ и в следующей версии ОС Windows Server с кодовым названием «Longhorn» (в данный момент доступна его бета-версия).

Для отправки пакетов, помеченных приоритетной доставкой, приложения или компоненты операционной системы должны быть в состоянии задать значение приоритета разметки 802.1p или поля DSCP. В следующих разделах показано, как компоненты ОС Windows или ее приложения могут задать приоритет разметки 802.1p для кадров протокола Ethernet или значение поля DSCP для обмена данными по протоколу TCP/IP.

Служба QoS в ОС Windows XP и Windows Server 2003

Операционные системы Windows XP и Windows Server 2003 предоставляют интерфейсы приложений для назначения трафику параметров службы QoS. Разработчики для применения параметров QoS на уровне приложения к отдельным сокетам могут использовать службы прикладных интерфейсов Windows Sockets (Winsock) и Generic QoS (GQoS). Администраторы сетей с помощью средств управления трафиком, предназначенных для вызова прикладного интерфейса управления трафиком (TC API), могут применять параметры службы QoS на уровне узла.

С помощью службы Winsock и параметра сокета IP_TOS можно задавать значения поля DSCP для исходящих пакетов канала. Однако по умолчанию стековая память протокола TCP/IP игнорирует параметр сокета IP_TOS. Чтобы использовать параметр сокета IP_TOS, необходимо сначала создать DWORD-значение реестра DisableUserTOSSetting=0 в следующем разделе реестра (см. рис. 1):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Рис. 1 Создание параметра реестра DisableUserTOSetting

Рис. 1** Создание параметра реестра DisableUserTOSetting **

Чтобы этот параметр реестра вступил в силу, необходимо перезагрузить компьютер.

Чтобы задать значение поля DSCP для трафика, не прибегая к использованию параметра сокета IP_TOS, можно использовать прикладные интерфейсы службы GQoS. Служба GQoS входит в состав службы Windows Sockets 2.0 (Winsock2). Для реализации возможностей службы QoS в ОС Windows большинство приложений, поддерживающих службу QoS, использует прикладной интерфейс службы GQoS. Служба GQoS в ОС Windows XP с пакетом обновления 2 (SP2) позволяет приложению задавать значение поля DSCP и регулировать свой исходящий трафик. Для назначения приоритетов разметки 802.1p на компьютерах, работающих под управлением ОС Windows XP SP2, необходимо использовать интерфейс TC API.

Интерфейс TC API обеспечивает доступ к механизмам управления трафиком, которые регулируют сетевой трафик на локальном узле. Этот интерфейс позволяет осуществлять прямое управление значениями поля DSCP, разметкой 802.1p и ограничением скорости. Администраторы сети могут использовать программы управления трафиком для вызова интерфейса TC API непосредственно из приложений, не поддерживающих службу QoS. Поскольку TC API является интерфейсом более низкого уровня, чем прикладной интерфейс службы GQoS, то для работы с ним требуются привилегии администратора.

В отличие от прикладного интерфейса службы GQoS интерфейс TC API допускает на одном и том же отправляющем узле объединение трафика от нескольких приложений в один поток службы QoS. В этом объединенном потоке трафик может определяться комбинацией его исходного и конечного IP-адресов, исходного и конечного портов и протокола (TCP или UDP). Например на данном узле весь трафик к определенному конечному IP-адресу может быть включен в общий поток службы QoS для любого исходного и конечного портов независимо от отправляющего приложения. С другой стороны, прикладной интерфейс службы GQoS позволяет определить в приложении его собственную процедуру QoS-обработки данных, которые оно отправляет через сокет.

Для поддержки службы QoS на компьютерах, работающих под управлением ОС Windows XP и Windows Server 2003, должен быть установлен компонент QoS Packet Scheduler (Планировщик пакетов QoS) и включен в окне свойств сетевых подключений папки Network Connections (Сетевые подключения), см. рис. 2. На компьютерах с ОС Windows XP планировщик пакетов QoS (Psched.sys) установлен и включен по умолчанию. Планировщик пакетов можно установить и в ОС Windows Server 2003.

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

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

Служба QoS в ОС Windows Vista и Windows Server «Longhorn»

Поддержка службы QoS в ОС Windows Vista и Windows Server «Longhorn» расширена и упрощена. Для установки значения поля DSCP и управления скоростью отправки данных приложением ИТ-специалисты теперь могут использовать службу QoS на основе политик, не прибегая к использованию прикладных интерфейсов или изменению существующих приложений. Разработчики смогут воспользоваться поддержкой прикладных интерфейсов для службы GQoS и интерфейса TC API, хотя в будущих версиях ОС Windows поддержка этих интерфейсов не планируется. Кроме того, удален параметр Winsock IP_TOS. В качестве замены прикладных интерфейсов для службы GQoS и интерфейса TC API и для упрощения поддержки службы QoS в обновляемых и будущих приложениях ОС Windows Vista и Windows Server «Longhorn» поддерживают новый прикладной интерфейс для службы QoS2, также известный как интерфейс qWAVE (Quality Windows Audio-Video Experience).

Служба QoS на основе политик в ОС Windows Server «Longhorn» и Windows Vista повышает удобство работы конечного пользователя, улучшает управление стоимостью пропускной способности и создает предпосылки для получения более выгодных уровней обслуживания от поставщиков сетевых услуг или подразделений предприятия. Становится возможной централизованное управление пропускной способностью сети компьютеров, работающих под управлением ОС Windows Vista или Windows Server «Longhorn» независимо от приложения и в масштабах всей инфраструктуры службы Active Directory®. Поскольку управление трафиком происходит ниже уровня приложения, изменять существующие приложения для управления трафиком с помощью службы QoS на основе политик не требуется.

Параметры службы QoS на основе политик в ОС Windows Server «Longhorn» и Windows Vista позволяют задавать приоритеты и управлять скоростью отправки данных для исходящего трафика с учетом следующих условий:

  • отправляющее приложение (путь и имя исполняемого модуля);
  • исходные и конечные адреса или префиксы адресов IPv4 или IPv6;
  • протокол (TCP, UDP или оба);
  • исходные и конечные порты или диапазоны портов (TCP или UDP).

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

С помощью службы QoS на основе политик можно определить приоритет трафика. В политике службы QoS может быть настроена маркировка исходящего трафика адресов IPv4 или IPv6 определенным значением поля DSCP. Можно также управлять использованием пропускной способности сети для исходящего трафика. В политике службы QoS можно задать ограничение скорости для исходящего трафика. С помощью этой настройки компоненты службы QoS ограничивают скорость составного исходящего сетевого трафика заданным значением. На компьютерах можно управлять использованием пропускной способности для входящего трафика. Для этого имеются дополнительные параметры входящей пропускной способности для трафика по протоколу TCP, задающие максимальный размер окна приема.

На компьютерах с ОС Windows Vista and Windows Server «Longhorn» планировщик пакетов QoS по умолчанию установлен и включен. Компонент Pacer.sys — это новый облегченный драйвер фильтров NDIS (Network Device Interface Specification) версии 6.0, который управляет планированием пакетов для службы QoS на основе политик и для трафика приложений, поддерживающих службу QoS. Компонент Pacer.sys заменяет планировщик пакетов Psched.sys, используемый в ОС Windows XP и Windows Server 2003.

Чтобы развернуть службу QoS на основе политик в интрасети, настройте политики службы QoS на основе пользователей или компьютеров и примените их к необходимому контейнеру службы Active Directory. Компьютеры, работающие под управлением ОС Windows Vista или Windows Server «Longhorn», загружают и применяют параметры службы QoS на основе политик при обновлении групповой политики конфигурации пользователя или конфигурации компьютера.

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

Интерфейс qWAVE в ОС Windows Vista обеспечивает совокупность программных модулей службы QoS, которые решают сетевые проблемы, связанные с AV-приложениями и беспроводными сетями. Интерфейс qWAVE интегрирован в подсистему службы QoS и работает с несколькими технологиями задания приоритета пакетов на уровне Интернета и сетевого интерфейса. Интерфейс qWAVE поддерживает одновременно несколько AV-потоков (потоки реального времени, требующие использования службы QoS) и потоков данных (потоки «наибольшего усилия», такие как электронная почта и передача файлов).

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

Прикладной интерфейс службы QoS2, который в ОС Windows Vista и Windows Server «Longhorn» введен вместо интерфейса GQoS и параметра Winsock IP_TOS, значительно проще в использовании, чем прикладной интерфейс службы GQoS.

Дополнительные сведения

На веб-странице TechNet есть множество превосходных материалов о службе QoS. Начните с веб-страницы веб-узла службы Microsoft Quality of Service. Просмотрите также раздел службы QoS блога Windows Core Networking (на английском языке).

Джозеф Дэвис (Joseph Davies) работает техническим писателем в корпорации Майкрософт. С 1992 года занимается преподаванием и пишет о сетях ОС Windows. Джозеф Дэвис написал пять книг, опубликованных издательством Microsoft Press®, и ведет ежемесячную рубрику TechNet Cable Guy(на английском языке).

© 2008 Корпорация Майкрософт и компания CMP Media, LLC. Все права защищены; полное или частичное воспроизведение без разрешения запрещено.