Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам:
Итак, мы уже обсудили QoS, и рассмотрели, как она используется для регулирования потока трафика в сети. Все части этой серии были посвящены тому, как 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 может заставить сеть работать гораздо эффективнее, формируя трафик таким образом, что он может пользоваться моментами наименьшей загруженности в сети, и гарантировать быструю доставку трафика с более высоким приоритетом.
www.windowsnetworking.com
Tags: nat, qos, Windows XP