Приоритет IP и значения DSCP в QoS (Quality of Service)

Рассмотрим, что такое приоритет IP и значения DSCP в QoS (Quality of Service). Одним из полей IP-пакета является поле «Тип обслуживания» (Type of Service field), также известное как байт TOS. Первоначальная идея байта TOS заключалась в возможности указать приоритет и запросить маршрут для обеспечения высокой пропускной способности, низкой задержки и высокой надежности обслуживания. Байт TOS был определен в 1981 году в RFC 791, но за эти годы способ его использования значительно изменился. В этой статье рассмотрим, что нужно знать о байте TOS, приоритете IP и значениях DSCP.

Для примера будет использоваться IP-заголовок со всеми его полями, включая байт TOS:

IP-DSCP-header

 

Примечание: Не стоит путать Type of Service (Тип обслуживания) и Class of Service (Класс обслуживания). TOS находится в заголовке IP-пакета (уровень 3), а COS — в заголовке 802.1Q (уровень 2) и используется для обеспечения качества обслуживания (QoS) по магистральным каналам.

 

Содержание:

  1. Приоритет IP
  2. Дифференцированные услуги (DSCP)
    1. Базовый PHB
    2. Класс-селектор PHB
    3. Гарантированная пересылка PHB
  3. Ускоренная пересылка
  4. Практическое применение
  5. Выводы

Приоритет IP

Первоначально 8 битов байта TOS были определены следующим образом:

IP-DSCP-TOS-Byte

Первые 3 бита используются для определения приоритета (Precedence). Чем выше значение, тем важнее IP-пакет. В случае переполнения маршрутизатор прежде отбросит пакеты с меньшим приоритетом. Тип служебных битов TOS используется для определения того, какую задержку (delay), пропускную способность (bandwidth) и надежность (reliability) рассчитываем получить.

Ниже представлен список битов и возможных комбинаций:

Приоритет (Precedence):

000 Routine
001 Priority
010 Immediate
011 Flash
100 Flash Override
101 Critic/Critical
110 Internetwork Control
111 Network Control

 

Тип обслуживания (Type of Service):

Bit 3:  0 = normal delay  1 = low delay
Bit 4:  0 = normal throughput  1 = high throughput
Bit 5:  0 = normal reliability  1 = high reliability
Bit 6-7: Reserved for future use

 

Минус первоначальной версии в том, что биты TOS, которые определяют задержку, пропускную способность и надежность, никогда не использовались. Только биты приоритета используются для назначения приоритета IP-пакетам.

Спустя 11 лет в 1992 году был создан RFC 1349, который поменял определение байта TOS, до следующего вида:

IP-DSCP-TOS-Byte-2

 

Первые 3 старших бита остались неизменными, но тип служебных битов изменился. Вместо 5 бит теперь используются только 4 бита для назначения TOS, а последний бит называется MBZ (Must Be Zero) — «должен быть нулем». Обычно этот бит не используется и маршрутизаторы игнорируют его, поскольку бит использовался только для экспериментов.

Тип служебных битов TOS выглядит следующим образом:

1000 minimize delay
0100 maximize throughput
0010 maximize reliability
0001 minimize monetary cost
0000 normal service

Дифференцированные услуги

Прошло ещё 6 лет с момента последних изменений в TOS. И в 1998 году был создан RFC 2474 , который описывает, что байт TOS получил новое название и теперь называется полем DS (Differentiated Services) — «дифференцированные услуги». Также изменению подверглись 8 битов:

IP-DSCP-DS-Field

Первые 6 битов поля DS используются для установки кодовой точки (codepoint), которая будет влиять на PHB (Per Hop Behavior) — политику пошагового обслуживания на каждом узле.

Кодовая точка — аналогична приоритету (precedence), используется для установки определенного приоритета.

Для понимания набора PHB представим сеть, состоящую из трёх расположенных подряд маршрутизаторов и двух телефонов в противоположных концах топологии:

IP-DSCP

 

Настройку QoS для определения приоритетности пакетов VoIP нужно выполнить на всех устройствах топологии. В то время, как R1 и R3 настроены на обработку приоритетов VoIP-пакетов, R2 продолжает рассматривать оставшиеся IP-пакеты. Не исключено, что R2 столкнётся с перегруженностью. И в связи с этим можно испытать проблемы с качеством телефонной связи.

Для исправной работы QoS необходимо настроить его как end-to-end (сквозное шифрование). Есть два способа это реализовать:

  • использовать резервирование (каждое устройство в сети будет резервировать пропускную способность для телефонного звонка);
  • настроить отдельно каждое устройство для определения приоритетов пакетов VoIP.

 

Резервирование — хороший вариант, поскольку есть гарантия, что сможем совершить телефонный звонок. Однако это не очень масштабируемое решение, потому как необходимо резервировать номера для каждого телефонного звонка. Что если один из маршрутизаторов потеряет информацию о резервировании? Идея использования резервирования для обеспечения сквозного QoS называется IntServ (Integrated Services) — «интегрированные услуги».

Противоположностью IntServ является DiffServ (дифференцированные услуги), где каждое устройство настраивается отдельно для определения приоритетов конкретного трафика. Это масштабируемое решение, поскольку сетевым устройствам не нужно обмениваться и запоминать какую-либо информацию о резервировании.

С 6 битами для кодовых точек (codepoints) можно создать множество разных приоритетов. Теоретически есть 64 возможных значения.

Идея, лежащая в основе PHB (Per Hop Behavior), заключается в том, что пакеты, помеченные конкретной кодовой точкой, получат определенную обработку QoS — например, организация очередей (queuing), контроль (policing) или формирование (shaping).

Базовый PHB (Default PHB)

Существуют сетевые узлы, которые не маркируют трафик. Чтобы они могли передавать данные по сети, используется значение пакета DSCP 000000. Этот пакет следует рассматривать как best effort — «негарантированная доставка».

Класс-селектор PHB (Class-selector PHB)

Ранее некоторые старые сетевые устройства поддерживали только IP-приоритет, а современные сетевые устройства использовали дифференцированные услуги (DiffServ). Чтобы убедиться, что они совместимы, можно применить кодовые точки выбора класса (class-selector codepoints):

IP-DSCP-DS-Field-2

 

В таком случае используются только первые 3 бита, как в поле с приоритетом IP. Ниже представлен список возможных кодовых точек выбора класса:

Class selector name DSCP value
IP Precedence value  IP Precedence name
Default / CS0 000000 000 Routine
CS1 001000 001 Priority
CS2 010000 010 Immediate
CS3 011000 011 Flash
CS4 100000 100 Flash Override
CS5 101000 101 Critic/Critical
CS6 110000 110 Internetwork Control
CS7 111000 111 Network Control

 

Обратите внимание, что CS1 — то же самое, что и «приоритет», а CS4Flash Override. Данную информацию можно использовать для совместимости между «старым» байтом TOS и «новым» полем DS.

Гарантированная пересылка PHB (Assured Forwarding PHB)

Приблизительно через год вышел RFC 2597, который описывает гарантированную пересылку (Assured Forwarding). Гарантированная пересылка AF PHB имеет две основные функции:

  • организация очередей;
  • предотвращение перегрузки.

 

Существует 4 класса (class), и каждый из них будет помещён в свою очередь. Также в каждом классе существует вероятность сброса (drop probability) — когда очередь заполнена, пакеты с высокой вероятностью отбрасывания будут удалены из очереди раньше других пакетов. Всего есть 3 уровня для приоритета отбрасывания:

IP-DSCP-DS-Field-3

 

Первые 3 бита используются для определения класса (class), а следующие 3 бита используются для определения вероятности сброса (drop probability). Class 4 имеет самый высокий приоритет. Например, любой пакет из class 4 будет обработан лучше, чем пакет из class 3. Ниже приведены возможные значения:

Drop Class 1 Class 2 Class 3 Class 4
Low 001010 (AF11) 010010 (AF21) 011010 (AF31) 100010 (AF41)
Medium 001100 (AF12) 010100 (AF22) 011100 (AF32) 100100 (AF42)
High 001110 (AF13) 010110 (AF23) 011110 (AF33) 100110 (AF43)

 

 

Примечание: Некоторые поставщики предпочитают использовать десятичные значения вместо AF11, AF32 и т.д. Быстрый способ преобразования значения AF в десятичное значение заключается в использовании формулы 8x + 2y, где X = класс и Y = вероятность отбрасывания. Например, AF31 в десятичном виде — 8 x 3 + 2 x 1 = 26.

Ускоренная пересылка (Expedited Forwarding)

PHB EF (Expedited Forwarding) — «ускоренная пересылка», которая также имеет две функции:

  • организация очередей (Queuering);
  • контроль (Policing).

Цель ускоренной пересылки EF — поместить пакеты в очередь, где они охватывают минимальную задержку и потерю пакетов. Для обеспечения этого используется приоритетная очередь (priority queue). Если в очереди с приоритетом есть пакеты, они будут отправлены раньше всех остальных очередей. Но есть вероятность того, что другие очереди не получат возможность отправлять свои пакеты, поэтому необходимо установить «ограничение скорости» для этой очереди. Делается это с помощью контроля (policing).

Значение DSCP обычно называется EF: в двоичном виде это 101110, десятичное значение 46.

Практическое применение

Много было рассказано о PHB (Per Hop Behavior), и слово Behavior («поведение») звучит так, будто при использовании определенного значения DSCP маршрутизатор автоматически ставит в очередь пакеты, отслеживает или отбрасывает их. Но это не так, поскольку необходимо настроить эти действия самостоятельно.

Есть много различных значений, которые можно использовать для байта TOS: приоритет IP, CS, AF и EF. Так что же действительно используется в сетях? Ответ прост —  это действительно зависит от поставщика сетевых услуг. Значение приоритета IP 5 или DSCP EF обычно используется для голосового трафика. В то время как значение приоритета IP 3 или DSCP CS3 или AF31 применяется для сигнализации вызова.

Выводы

Спасибо за уделенное время на прочтение статьи. Теперь Вы знаете, что такое приоритет IP и значения DSCP в QoS.

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню