Существует такая служба как QoS. Расшифровывается сия аббревиатура, как Quality of Service. В случае настройки системы ее крайне нежелательно активировать, так как она имеет свойство существенно уменьшать пропускную способность сети (приблизительно на 20 процентов)
Сейчас, пожалуй, невозможно найти такого человека, который бы ни разу не читал ни одно из FAQ, касающихся работы Windows.
20% — это, разумеется, просто безумно много. И конечно же Майкрософт – должен погибнуть. Утверждения такого плана переходят из одного ФАКа в другой, бродят по форумам, средствам массовой информации, пользуются огромным успехом во всяких «твикалках» — программному обеспечению по «обучению» Windows. Раз облачать подобного рода утверждения необходимо крайне осторожно, этим-то мы сейчас и займемся, качественно применяя системный подход. То бишь крайне детально рассмотрим проблемный вопрос, будем опираться на авторитетные первоисточники.
Что есть сеть с качественным сервисом?
Предлагаем вам принять такое определение сетевой системы, которое максимально упрощено. Приложения начинают свою работу, делают ее на хостах и в результате своей деятельности меняются информацией друг с другом. Приложения шлют информацию ОС для передачи по сети. Как только нужная информация передается ОС, она автоматически становится сетевым трафиком.
QoS в свою очередь опирается на возможности сети обрабатывать такой трафик таким образом, чтобы точно выполнить запросы не одного, а сразу нескольких приложений. Это требует наличия базового механизма по переработке трафика из сети, который способен различать и классифицировать этот трафик, который имеет право на особенную обработку и право на управление самими механизмами.
Функциональные возможности этой службы созданы для того чтобы удовлетворять нескольких сетевых субъектов: во-первых, сетевых администраторов, а во-вторых, сами сетевые приложения. Зачастую, они имеют некоторые разногласия. Сетевой администратор стремится ограничить ресурсы, которые используются специфическим приложением, в то время как это же приложение стремится захватить как можно большее количество свободных ресурсов из сети. Интересы их могут согласовываться, если учитывать тот факто, что администратор сети будет играть самую главную роль, по отношению ко всем пользователям и приложениям.
Основные параметры службы QoS
Разные приложения имеют совершенно разные требования к переработке их трафика. Приложения в некоторой степени более или менее терпимы к потере и несущественным задержкам сетевого трафика.
Эти требования находят своё применение в таких параметрах, которые связанны с QoS:
Полоса пропускания (англ. Bandwidth) – та скорость с которой трафик, который генерируется приложением, может быть и должен быть передан по сети
Задержка (Latency) – время задержки, которое может допустить само приложение при доставке пакета информации
Изменение задержки (Jitter)
Потеря (Loss) – коэффициент потери информации.
Если бы мы имели доступ к вечным ресурсам сети, то абсолютно весь трафик приложения мы могли бы распределять с нужной скоростью, с временем задержки, равным нулю, изменениями времени тоже равным нулю и с отсутствием каких-либо потерь. Но сетевые ресурсы далеко не вечны.
Механизм рассматриваемой службы держит под контролем распределение ресурсов сети для трафика приложения, для того чтобы выполнить необходимые условия для его передачи.
Базовые ресурсы службы QoS и способы обработки трафика
Сети, которые занимаются поддержанием связи между хостами, пользуются самыми разными сетевыми устройствами, в число которых также входят хабы, маршрутизаторы, свичи, а также сетевые адаптеры хостов. Любой из перечисленных имеет сетевые интерфейсы. Любой сетевой интерфейс способен передавать и принимать трафик с завершенной скоростью. Когда скорость, с которой трафик направлялся на интерфейс, превышает ту скорость, с которой интерфейс осуществляет передачу дальше трафика, то зачастую получается перегрузка.
Сетевые устройства способны обрабатывать состояние перегрузки, организовывая целую цепь трафика в памяти устройства (в его буфере), пока она (перегрузка) не пройдет. В иных же случаях оборудование может не принимать трафик, для того чтобы сделать перегрузку менее тяжелой. Как результат, приложения встречаются со значительным изменением времени ожидания (потому что трафик остается в очередях на интерфейсах) или даже с полной потерей трафика.
Возможности интерфейсов, касающиеся пересылки сетевого трафика и наличие памяти, предназначенной для хранения трафика в сетевых устройствах будут составлять фундаментальные ресурсы, которые в свою очередь требуются для обеспечения службы QoS для продолжения потоков трафика в приложениях.
Распределение ресурсов службы QoS по сетевым устройствам
Устройства, которые поддерживают рассматриваемую службу, относительно рационально пользуются ресурсами сети для передачи сетевого трафика. То бишь трафик приложений, которые соответственно более терпимы к задержкам, хранится в буфере, а трафик приложений, который в определенной степени более критичен к задержкам, отсылается дальше.
Для того, чтобы решить эту проблему сетевое устройство должно прежде всего осуществлять идентификацию трафика путем распределения пакетов, а также составлять очереди и осуществлять посредством собственных механизмов, их обслуживание
Механизмы и способы обработки трафика
Подавляющее большинство локальных сетей основывается на технологии iEEE 802 и включает token—ring, Ethernet и так далее. 802.1p является механизмом обработки трафика для поддержки службы QoS в подобного рода сетях.
802.1p способно определить поле (второй уровень в сетевой модели OSI) в заглавии пакета 802, которое несет какое-то значение приоритета. Обычно, маршрутизаторы или же хосты, отсылая свой трафик в локальную сеть, маркируют все посланные ими пакеты, присваивая им какое-то значение приоритета. Подразумевается, что свичи, хабы, мосты и иные сетевые устройства будут обрабатывать пакеты путем организации очередей. Область применения указанного механизма обработки трафика ограничивается LAN. В тот же момент, когда пакет пересекает LAN (через третий уровень OSI), приоритет 802.1p сразу же удаляется
Механизм третьего уровня – Diffserv, который определяет в поле в третьем уровне загаловка IP-пакетов, которые называются DSCP (расш. Diffserv codepoint)
Itserv представляет из себя законченный пакет услуг, который определяет гарантированных сервис и сервис, который управляет перегрузками. Гарантированный сервис способен нести какой-то объем трафика с ограниченной задержкой. Сервис, который управляет загрузкой, вызывается нести какой-то объем трафика когда «появляется легкая загруженность сетей». Они являются в какой-то степени измеримыми услугами, так как они определяются, для того чтобы обеспечить соотношение QoS к какому-то количеству трафика.
Так как технология ATM может фрагментировать пакеты в сравнительно небольшие ячейки, то оно способно предложить весьма заниженное время задержки. Если нужно передать пакет срочно, то интерфейс ATM может всегда освободиться для передачи на время, которое нужно, чтобы передать лишь одну ячейку.
Также служба QoS имеет в своём распоряжении довольно много непростых механизмов, которые обеспечивают работу такой технологии. Хотим отметить только лишь один, но очень существенный момент: для того, чтобы служба начала функционировать, нужна поддержка такой технологии и наличие необходимой настройки на всех передачах от первоначального пункта и до конечного
Нужно принять:
Абсолютно все маршрутизаторы принимают участие в передаче необходимых протоколов;
Первый QoS—сеанс, который требует 64 кбпс, инициализируется между хостами A и B
Второй сеанс, который требует 64 кбпс, инициализируется между хостами A и D
Для того, чтобы значительно упростить схему предпологаем, что конфигурация маршрутизаторов конструируется таким образом, что они имеют возможность резервировать абсолютно все сетевые ресурсы.
Для нас важно, что один вопрос о резервировании 64 кбпс должен был достигнуть трех маршрутизаторов по пути потока информации между хостами A и B. Следующий запрос о 64 кбпс смог бы достигнуть трех маршуртизаторов между хостами A и D. Маршрутизаторы бы смогли исполнить запросы на резервировании ресурсов, так как они не больше максимально указанной точки. Если же вместо этого любой из хостов B и C смог бы инициализировать 64 кбпс QoS-сеанс с А-хостом, то в таком случае маршрутизатор, который обслуживает указанные хосты, скорее всего запретил бы какое-то одно соединение.
А сейчас попробуем представить, что сетевой администратор выключает обработку службы в трех маршрутизаторах, которые обслуживают хост E,D,C,B. В таком случае запросы о ресурсах больших 64 кбпс будут удовлетворяться вне зависимости от расположения хоста, который принимает участие в создании. В этом случае гарантии качества были бы крайне низки, так как трафик для единого хоста наносил бы ущерб трафику другого. Качество обслуживания, скорее всего, могло бы остаться прежним, если бы верхний маршрутизатор смог ограничить запросы до 64кбпс, но это бы привело к крайне неэффективному использованию ресурсов сети.
С другой же стороны, пропускную способность всех связей в сети мы могли бы увеличить до 128 кбпс. Однако увеличенная пропускная способность будет использоваться только лишь если два хоста будут одновременно требовать ресурсы. Если это не будет так, то сетевые ресурсы вновь станут использоваться крайне неэффективно
Майкрософтовские QoS-компоненты
98 версия Windows располагает лишь компонентами QoS только для уровня пользователей:
QoS сервис провайдер
Winsock 2 (GQoS API)
Некоторые компоненты приложений
Более поздние операционные системы компании Майкрософт содержат все, что указано выше, а также такие компоненты, как:
Traffic.dll – возможность управления трафиком
Rsvpsp.dll и службы rsvp.exe, а также QoS ACS. В XP и 2003 не используются
Mspgps.sys – классификатор пакетов, способен определить класс сервиса, принадлежащий пакету.
Psched.sys является планировщиком пакетов службы QoS. Его функция заключается в определении параметров службы для специфического потока информации. Весь трафик будет отмечаться каким-то значением приоритета. Планировщик пакетов будет определять трафик, путем постановки в очередь всех покетов и обрабатывать конкурирующие запросы через поставленные в очередь пакеты данных, которые нуждаются в своевременном доступе к сети.
Планировщик пакетов QoS (Psched.sys). Определяет параметры QoS для специфического потока данных. Трафик помечается определенным значением приоритета. Планировщик пакетов QoS определяет график постановки в очередь каждого пакета и обрабатывает конкурирующие запросы между поставленными в очередь пакетами, которые нуждаются в одновременном доступе к сети.
Финальный аккорд
Все вышеизложенные моменты не могут дать одного ответа на вопрос, куда же все-таки уходят те самые 20 процентов (которые, к слову сказать, никто еще точно не измерил). Исходя из всей информации, которая указана выше, этого быть ни в коем случае не должно. Однако оппоненты выдвигают свой довод: система QoS отличная, да вот реализована неважно. И, как следствие, 20% все же уходят. Скорее всего, проблема допекла и самого гиганта софта, так как он уже очень давно в свою очередь стал опровергать подобного плата мысли.