img

Управление перегрузками в сетях

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

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

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


Своевременность: организация очередей с малой задержкой

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

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

По умолчанию перегруженные сетевые интерфейсы доставляют пакеты в порядке очереди (FIFO). FIFO не принимает стратегических решений на основе дифференцированных классов трафика; скорее, FIFO просто обслуживает буферизованные пакеты по порядку настолько быстро, насколько это позволяет выходной интерфейс. Для многих приложений FIFO - неплохой способ удаления пакетов из очереди. Например, в реальном мире может быть небольшое влияние, если пакет протокола передачи гипертекста (HTTP, протокол, используемый для передачи информации World Wide Web) с одного веб-сервера передается раньше, чем пакет с другого веб-сервера.

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

Голосовой трафик по IP (VoIP) должен вовремя. При рассмотрении голосового трафика подумайте о любом голосовом чате в реальном времени, который осуществляется через Интернет с помощью такого приложения, как Skype. В большинстве случаев качество связи приличное. Вы можете слышать другого человека. Этот человек может вас слышать. Разговор протекает нормально. С таким же успехом вы можете находиться в одной комнате с другим человеком, даже если он находится на другом конце страны.

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

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

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

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

Jitter при доставке пакетов в Сети? Отброшенные пакеты через маршрутизатор или коммутатор

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

  • Трафик VoIP должен быть доставлен: потеря пакетов VoIP приводит к слышимому прерыванию разговора.
  • Трафик VoIP должен доставляться вовремя: задержка или прерывание пакетов VoIP приводит к слышимым заиканиям.
  • Трафик VoIP не должен ограничивать пропускную способность других классов трафика: так же важно, как и VoIP, хорошо написанные политики QoS уравновешивают своевременную доставку голосовых пакетов с необходимостью для других классов трафика также использовать канал.

Распространенной схемой, используемой для определения приоритетов трафика, чувствительного к потерям и jitter, является организация очередей с низкой задержкой (LLQ). Никакие RFC IETF не определяют LLQ; скорее, поставщики сетевого оборудования изобрели LLQ в качестве инструмента в наборе политик QoS для определения приоритетов трафика, требующего низкой задержки, jitter и потерь, например, голоса.

LLQ есть два ключевых элемента.

  • Трафик, обслуживаемый LLQ, передается как можно быстрее, чтобы избежать задержки и минимизировать джиттер.
  • Трафик, обслуживаемый LLQ, не может превышать определенный объем полосы пропускания (обычно рекомендуется не более 30% доступной полосы пропускания). Трафик, превышающий предел пропускной способности, скорее отбрасывается, чем передается. Этот метод позволяет избежать потери трафика других классов.

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

В качестве иллюстрации предположим, что канал WAN имеет доступную пропускную способность 1024 Кбит/с. Этот канал соединяет головной офис с облаком WAN поставщика услуг, которое также соединяет несколько удаленных офисов с головным офисом. Это загруженный канал WAN, по которому проходит трафик VoIP между офисами, а также трафик веб-приложений и резервный трафик время от времени. Кроме того, предположим, что система VoIP кодирует голосовой трафик с помощью кодека, требующего 64 Кбит/с на разговор.

Теоретически, этот канал с пропускной способностью 1024 Кбит/с может обеспечить одновременные разговоры VoIP 16 × 64 Кбит/с. Однако это не оставит места для других типов трафика, которые присутствуют. Это занятое соединение WAN! Решение должно быть принято при написании политики QoS. Сколько голосовых разговоров будет разрешено LLQ, чтобы избежать нехватки оставшегося трафика полосы пропускания? Можно было бы сделать выбор, чтобы ограничить LLQ пропускной способностью только 512 Кбит/с, что было бы достаточно для обработки восьми одновременных разговоров, оставив остальную часть канала WAN для других классов трафика.

Предполагая, что канал перегружен, что произойдет с девятым разговором VoIP, если он должен находиться в ситуации, чтобы политика QoS была эффективной? Этот вопрос на самом деле наивен, потому что он предполагает, что каждый разговор обрабатывается отдельно политикой QoS. Фактически, политика QoS рассматривает весь трафик, обслуживаемый LLQ, как одну большую группу пакетов. После присоединения девятого разговора VoIP будет трафик на 576 Кбит/с, который будет обслуживаться LLQ, которому выделено только 512 Кбит/с. Чтобы найти количество отброшенного трафика, вычтите общий трафик, выделенный для LLQ, из общего предлагаемого трафика: 576 Кбит/с - 512 Кбит/с = 64 Кбит/с трафик LLQ будет отброшен в соответствии с ограничением полосы пропускания. Отброшенные 64 Кбит/с будут исходить от класса трафика LLQ в целом, что повлияет на все разговоры VoIP. Если десятый, одиннадцатый и двенадцатый разговор VoIP присоединиться к LLQ, проблема станет более серьезной. В этом случае 64 Кбит/с × 4 = 256 Кбит/с несоответствующего трафика, который будет отброшен из LLQ, что приведет к еще большим потерям во всех разговорах VoIP.

Как показывает этот пример, для управления перегрузкой необходимо знать состав приложений, время пиковой нагрузки, требования к полосе пропускания и доступные варианты сетевой архитектуры. Только после того, как будут учтены все моменты, можно найти решение, отвечающее бизнес-целям. Например, предположим, что 1024 Кбит/с - это максимальное значение, которое вы можете сделать для линии дальней связи из-за ограничений по стоимости. Вы можете увеличить ограничение полосы пропускания LLQ до 768 Кбит/с, чтобы обеспечить 12 разговоров со скоростью 64 Кбит/с каждый. Однако для другого трафика останется только 256 Кбит/с, чего, возможно, недостаточно для удовлетворения потребностей вашего бизнеса в других приложениях.

В этом случае можно согласовать с администратором системы голосовой связи использование голосового кодека, требующего меньшей полосы пропускания. Если новый кодек, требующий только 16 Кбит/с полосы пропускания на вызов, развернут вместо исходных 64 Кбит/с, 32 разговора VoIP могут быть перенаправлены без потерь через LLQ с выделенной полосой пропускания 512 Кбит/с. Компромисс? Качество голоса. Человеческий голос, закодированный со скоростью 64 Кбит/с, будет звучать более четко и естественно по сравнению с голосом, закодированным на скорости 16 Кбит/с. Также может быть лучше кодировать со скоростью 16 Кбит/с, чтобы отбрасывать меньше пакетов и, следовательно, общее качество лучше. Какое решение применить, будет зависеть от конкретной ситуации.

Через интерфейс может пройти больше трафика, чем указано в ограничении полосы пропускания LLQ. Если ограничение полосы пропускания для трафика, обслуживаемого LLQ, установлено на максимум 512 Кбит/с, возможно, что трафик класса более чем на 512 Кбит/с пройдет через интерфейс. Такое запрограммированное поведение проявляется только в том случае, если интерфейс не перегружен. В исходном примере, где используется кодек 64 Кбит/с, передача 10 разговоров со скоростью 64 Кбит/с по каналу приведет к передаче голосового трафика 640 Кбит/с по каналу пропускной способности 1024 Кбит/с (1024 Кбит/с - 640 Кбит/с = 384 Кбит/с осталось). Пока все другие классы трафика остаются ниже общего использования полосы пропускания 384 Кбит / с, канал не будет перегружен. Если канал не перегружен, политики QoS не вступают в силу. Если политика QoS не действует, то ограничение полосы пропускания LLQ в 512 Кбит/с не влияет на 640 Кбит/с агрегированного голосового трафика.

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

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Сети
Скидка 25%
Основы сетевых технологий
Стань сетевиком с нуля за 2 месяца. Веселая и дружелюбная подача информации с эмуляцией реальных задач.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
В начале 2000-х, когда идея мессенджеров только формировалась, расширяемый протокол обмена сообщениями и информацией о присутств
img
Задержка в сети, или сетевая задержка, - это временная задержка при передаче запросов или данных от источника к адресату в сетев
img
Система доменных имен (DNS – Domain Name System) обеспечивает сетевую коммуникацию. DNS может показаться какой-то невидимой сило
img
Wi-Fi это технология, которая использует радиоволны для отправки и получения сигналов от находящихся поблизости устройств, чтобы
img
BGP (Border Gateway Protocol) - это протокол граничного шлюза, предназначенный для обмена информацией о маршрутизации и доступно
img
Когда читаете данную статью, браузер подключается к провайдеру (или ISP) а пакеты, отправленные с компьютера, находят путь до се
21 ноября
20:00
Бесплатный вебинар
Введение в Docker