Дросселирование пропускной способности с помощью 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, но не включается автоматически.