Регулирование пропускной способности с помощью QoS (часть 4)

Опубликовано: 23 Марта, 2023

  • Регулирование пропускной способности с помощью QoS (часть 1)
  • Регулирование пропускной способности с помощью QoS (часть 2)
  • Регулирование пропускной способности с помощью QoS (часть 3)

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

QoS и модемы

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

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

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

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

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

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

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

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

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

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

Совместное использование подключения к Интернету

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

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

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

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

Вывод

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

  • Регулирование пропускной способности с помощью QoS (часть 1)
  • Регулирование пропускной способности с помощью QoS (часть 2)
  • Регулирование пропускной способности с помощью QoS (часть 3)