Качество обслуживания (QoS) : QoS Packet Marking

Реализация политик QoS с кодами DSCP

23 марта 2008 - Перевод, выполненный профессиональным переводчиком
Другие версии: PDF-версия:pdf | Машинный перевод (28 июля 2013) | Английский (15 февраля 2008) | Отзыв

Содержание

Общие сведения
Предварительные условия
      Требования
      Используемые компоненты
      Базовые сведения
      Условные обозначения
Код DSCP
Гарантированная переадресация
Срочная переадресация
Использование поля кода DSCP
Классификация пакетов
Маркировка
Использование согласованной скорости доступа или применение политики на основе класса
Взвешенное случайное раннее обнаружение (WRED), согласующееся с кодом DSCP
Устранение известных ошибок в операционной системе Cisco IOS Release 12.2
Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения

Общие сведения

В данном документе описывается процедура установки значений кода DSCP в настройках качества обслуживания (QoS) маршрутизаторов Cisco, а также анализируются связи между приоритетом IP и DSCP.

Предварительные условия

Требования

Необходимо обладать знаниями о заголовках IP-пакетов и об интерфейсе командной строки операционной системы Cisco IOS®

Используемые компоненты

Сведения, содержащиеся в данном документе, не ограничены определенными версиями программного и аппаратного обеспечения.

Сведения, представленные в данном документе, были получены на тестовом оборудовании в специально созданных лабораторных условиях. При написании данного документа использовались только устройства с пустой (стандартной) конфигурацией. При работе с реально функционирующей сетью необходимо полностью осознавать возможные результаты использования всех команд.

Базовые сведения

Дифференцированные службы (DiffServ) — это новая модель, в которой трафик обрабатывается в промежуточных системах с учетом его относительной приоритетности, основанной на значении поля типа обслуживания (ToS). Описание модели DiffServ, которая заменяет исходные спецификации для определения приоритетности пакета (см. стандарт RFC 791 leavingcisco.com), содержится в стандартах RFC 2474 leavingcisco.com и RFC 2475 leavingcisco.com. DiffServ увеличивает количество уровней приоритета, поддающихся определению путем перераспределения битов IP-пакета для маркировки приоритета.

Архитектура DiffServ подразумевает определение поля DiffServ (DS), которое заменяет поле типа обслуживания в протоколе IPv4, используемое при принятии решений о пересылке данных через каждый узел (PHB) для классификации пакетов и функций согласования трафика, например таких, как измерение, маркирование, формирование и контроль.

Стандарты RFC не устанавливают метода реализации пересылок данных через каждый узел, перенося всю ответственность за это на производителя оборудования. Компания Cisco реализует технологию организации постановки в очередь, которая может основывать пересылку данных через каждый узел на базе IP-приоритетов или значений кода DSCP в заголовке IP-пакета. Основываясь на коде DSCP или IP-приоритете, трафик может быть вставлен в определенный класс обслуживания. Пакеты в рамках какого-либо класса обслуживания обрабатываются одинаково.

Условные обозначения

Дополнительные сведения об условных обозначениях см. в разделе "Технические рекомендации Cisco. Условные обозначения".

Код DSCP

Кодом DSCP называются шесть наиболее значимых бит поля DiffServ. Два последних неиспользуемых бита в поле DiffServ в рамках его структуры не определены, они в настоящее время используются в качестве битов явного уведомления о перегрузке (ECN). Оконечные маршрутизаторы классифицируют пакеты и присваивают им либо значение IP-приоритета, либо значение кода DSCP в сети Diffserv. Другие сетевые устройства в ядре, которое поддерживает Diffserv, используют значение DSCP в заголовке IP-пакета для выбора варианта пересылки данных пакета через каждый узел и обеспечивают адекватную обработку QoS.

На схемах в данном подразделе показаны различия между байтом ToS, определяемым стандартом RFC 791, leavingcisco.com и полем DiffServ.

Байт ToS

P2

P1

P0

T2

T1

T0

CU1

CU0

  • IP-приоритет — три бита (P2 – P0)

  • Задержка, пропускная способность и надежность — три бита (T2 – T0)

  • Два бита (CU1 – CU0) в настоящее время не используются

Поле DiffServ

DS5

DS4

DS3

DS2

DS1

DS0

ECN

ECN

  • Код DSCP — шесть бит (DS5-DS0)

  • Явное уведомление о перегрузке (ECN) — два бита

Значение стандартному полю DiffServ пакета присваивается таким образом, чтобы в каждом узле сети пакет подвергался определенной переадресации или пересылке данных через узел.

Значение по умолчанию кода DSCP равно 000 000. Коды DSCP для выбора класса — это значения, которые имеют обратную совместимость со значениями IP-приоритета. При преобразованиях между значением IP-приоритета и кодом DSCP, согласуются три наиболее значимых бита. Иначе говоря:

IP Prec 5 (101) maps to IP DSCP 101 000

Байт ToS

1

0

1

T2

T1

T0

CU2

CU0

Поле DiffServ

1

0

1

0

0

0

ECN

ECN

Стандарт DiffServ использует те же самые биты приоритета (наиболее значимые биты — DS5, DS4 и DS3) для установки первоочередности обработки пакетов, а также классифицирует очередность, предоставляя более подробную детализацию посредством использования следующих трех бит в коде DSCP. DiffServ реорганизует и переименовывает уровни приоритета (по-прежнему определяются тремя наиболее значащими битами кода DSCP) в этих категориях (эти уровни более подробно обсуждаются далее в этом документе):

Уровень приоритета

Описание

7

Остается тем же самым (канальный уровень и протокол маршрутизации поддерживают активность)

6

Остается тем же самым (используется для IP-протоколов маршрутизации)

5

Быстрая переадресация (EF)

4

Класс 4

3

Класс 3

2

Класс 2

1

Класс 1

0

Доставка по возможности

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

Стандарт DiffServ не дает точного определения понятиям "низкая", "средняя" и "высокая" вероятность сброса пакетов. Не все сетевые устройства распознают настройки DiffServ (DS2 и DS1), а в случаях, когда эти настройки распознаются, они не обязательно инициируют операцию обработки пересылки данных в каждом узле сети. Каждый узел сети реализует свой отклик на основе заданных настроек.

Гарантированная переадресация

Стандарт RFC 2597 leavingcisco.com дает определение гарантированной переадресации (AF) при пересылке данных через узел и описывает ее в качестве метода для DS-домена поставщика, обеспечивающего различные уровни гарантий переадресаций IP-пакетов, получаемых от клиентского DS-домена. Гарантированная переадресация при пересылке данных через узел предоставляет AF-классу определенное значение пропускной способности и позволяет получать доступ к дополнительной пропускной способности, если это возможно. Существует четыре AF-класса — обозначаемых как AF1x – AF4x. В рамках каждого класса существует три возможности сброса пакетов. В зависимости от имеющейся сетевой политики, пакеты могут выбираться для пересылки на основе необходимой пропускной способности, задержки, дрожания (изменений времени задержки), потерь или в соответствии с приоритетом доступа к службам сети.

Классы с 1 по 4 относятся к AF-классам. Следующая таблица иллюстрирует DSCP-кодирование для вероятностного определения AF-класса. Биты DS5, DS4 и DS3 определяют класс, биты DS2 и DS1 определяют вероятность сброса, а бит DS0 всегда устанавливается равным нулю.

Вероятность сброса

Класс 1

Класс 2

Класс 3

Класс 4

Низкая

001010

AF11

DSCP 10

010010

AF21

DSCP 18

011010

AF31

DSCP 26

100010

AF41

DSCP 34

Средняя

001100

AF12

DSCP 12

010100

AF 22

DSCP 20

011100

AF32

DSCP 28

100100

AF42

DSCP 36

Высокая

001110

AF13

DSCP 14

010110

AF23

DSCP 22

011110

AF33

DSCP 30

100110

AF43

DSCP 38

Срочная переадресация

Стандарт RFC 2598 leavingcisco.com определяет следующим образом срочную переадресацию (EF) при пересылке данных: "С помощью срочной переадресации при пересылке данных можно реализовать сквозное обслуживание с низким уровнем потерь, низкими задержками, низким дрожанием и гарантированной пропускной способностью через все домены DiffServ. Подобная служба реализуется в оконечных устройствах при двухточечном соединении или в "виртуальной арендуемой линии". Эта служба также считается привилегированной службой". Для срочной переадресации при пересылке данных рекомендуется кодовое значение 101110.

Кроме того, для реализации этих пересылок данных необходимо настраивать механизмы обработки данных определяемые производителем. Дополнительные сведения о срочной переадресации при пересылке данных см. в стандарте RFC 2598 leavingcisco.com.

Использование поля кода DSCP

Существует три способа использования поля кода DSCP:

  • Классификатор — выбирает пакет на основе содержания отдельных частей заголовка пакета и применяет пересылку данных на основе характеристики службы, определенной с помощью значения кода DSCP;

  • Маркер — присваивает значение полю кода DSCP на основе профиля трафика;

  • Измеритель — проверяет соответствие профилю трафика, используя либо формирователь, либо функцию сброса.

Операционная система Cisco IOS учитывает биты приоритета поля ToS, если существует трафик, который ставится в очередь при взвешенной справедливой постановке в очередь (WFQ), взвешенном случайном раннем обнаружении (WRED) или взвешенном циклическом обслуживании (WRR). Биты приоритета не учитываются при настройке маршрутизации на основе политик, постановки в очередь по приоритету (PQ), постановки в очередь определяемой пользователем (CQ) или взвешенной справедливой постановки в очередь на основе классов (CBWFQ).

Классификация пакетов

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

Можно применять либо списки контроля доступа (ACL), либо команду match в модульном интерфейсе командной строки службы QoS для согласования со значениям кода DSCP. Дополнительные сведения об использовании списков контроля доступа см. в документе Качество обслуживания для маршрутизаторов Cisco 7200/7500. Выбор значения кода DSCP в команде match был реализован в операционной системе Cisco IOS Release 12.1(5)T.

Router1(config)# access-list 101 permit ip any any ?
dscp       Match packets with given dscp value 
fragments  Check non-initial fragments 
log        Log matches against this entry 
log-input  Log matches against this entry, including input interface 
precedence Match packets with given precedence value 
time-range Specify a time-range 
tos        Match packets with given TOS value

Установка значения ip dscp в команде class map приводит к следующему результату:

Router(config)# class-map match-all VOIP 
 1751-uut1(config-cmap)# match ip dscp ? 
   <0-63>   Differentiated services codepoint value 
   af11     Match packets with AF11 dscp (001010) 
   af12     Match packets with AF12 dscp (001100) 
   af13     Match packets with AF13 dscp (001110) 
   af21     Match packets with AF21 dscp (010010) 
   af22     Match packets with AF22 dscp (010100) 
   af23     Match packets with AF23 dscp (010110) 
   af31     Match packets with AF31 dscp (011010) 
   af32     Match packets with AF32 dscp (011100) 
   af33     Match packets with AF33 dscp (011110) 
   af41     Match packets with AF41 dscp (100010) 
   af42     Match packets with AF42 dscp (100100) 
   af43     Match packets with AF43 dscp (100110) 
   cs1      Match packets with CS1(precedence 1) dscp (001000) 
   cs2      Match packets with CS2(precedence 2) dscp (010000) 
   cs3      Match packets with CS3(precedence 3) dscp (011000) 
   cs4      Match packets with CS4(precedence 4) dscp (100000) 
   cs5      Match packets with CS5(precedence 5) dscp (101000) 
   cs6      Match packets with CS6(precedence 6) dscp (110000) 
   cs7      Match packets with CS7(precedence 7) dscp (111000) 
   default  Match packets with default dscp (000000) 
   ef       Match packets with EF dscp (101110) 
 Router1(config-cmap)# match ip dscp af31 

Маркировка

Коду DSCP может быть присвоено необходимое значение оконечным маршрутизатором сети для того, чтобы облегчить для устройств ядра классификацию пакетов (см. подраздел Классификации пакетов) и обеспечить подходящий уровень обслуживания. Технология Маркирования пакетов на основе классов может использоваться для установки значения DSCP следующим образом:

policy-map pack-multimedia-5M 

!--- Создает схему политик под названием "pack-multimedia-5M".

  class management 
  

!--- Указывает создаваемую политику для систематизации 
!--- трафика с помощью управления классами.


    bandwidth 50 
    set ip dscp 8 
    
!--- Устанавливает значение DSCP для пакетов, 
!--- соответствующих управлению классами, равным 8.

  class C1 
    priority 1248 
    set ip dscp 40 
  class voice-signalling 
    bandwidth 120 
    set ip dscp 24

Использование согласованной скорости доступа или применение политики на основе класса

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

Дополнительные сведения см. в разделах Настройка применения политик к трафику и Сравнение согласованной скорости доступа и политик на основе классов.

interface Serial1/0.1 point-to-point 

bandwidth 5000 
ip address 192.168.126.134 255.255.255.252 
rate-limit output access-group 150 8000 1500 2000 conform-action 
  set-dscp-transmit 10 exceed-action set-dscp-transmit 20 

!--- Устанавливает значение DSCP для трафика, соответствующего списку 
!--– доступа 150, равным 10, а для несоответствующего – равным 20.

rate-limit output access-group 152 8000 1500 2000 conform-action 
  set-dscp-transmit 15 exceed-action set-dscp-transmit 25 
rate-limit output access-group 154 8000 1500 2000 conform-action 
  set-dscp-transmit 18 exceed-action set-dscp-transmit 28 
frame-relay interface-dlci 17 
class shaper-multimedia-5M

Взвешенное случайное раннее обнаружение (WRED), согласующееся с кодом DSCP

WRED избирательно сбрасывает трафик с низким приоритетом при возникновении перегрузки интерфейса. Механизм взвешенного случайного раннего обнаружения может обеспечить различные характеристики производительности для различных классов обслуживания. Это дифференцированное обслуживание может быть основано на коде DSCP следующим образом:

class C2 
    bandwidth 1750 
    random-detect dscp-based 
    
!--- Включает механизм WRED на основе DSCP в качестве политики сбрасывания.

    random-detect exponential-weighting-constant 7 
    
!--- Указывает экспоненциальный весовой коэффициент для 
!--- расчета средней длины очереди.
  
    random-detect dscp 16 48 145 10 
    
!--- Указывает минимальный и максимальный пределы 
!--- очереди для каждого значения DSCP.

    random-detect dscp 32 145 435 10

Дополнительные сведения см. в разделе DiffServ согласующийся с WRED документа Общие сведения о предотвращении перегрузок.

.

Устранение известных ошибок в операционной системе Cisco IOS Release 12.2

Дополнительные сведения о нижеследующих ошибках могут быть получены с помощью средства обнаружения ошибок Bug Toolkit (только для зарегистрированных пользователей):

  • CSCdt63295 (только для зарегистрированных пользователей) — если не удается установить байт ToS с помощью команд маркировки нового значения кода DSCP в точках вызова (устанавливается 0) в операционной системе Cisco IOS Release 12.2.2T, то пакеты не будут маркироваться и останутся с битом ToS равным нулю;

  • CSCdt74738 (только для зарегистрированных пользователей) — поддержка команды set ip dscp на маршрутизаторах Cisco 7200 и платформах младших моделей для широковещательных пакетов должна быть доступна в операционной системе Cisco IOS Release 12.2(3.6) и более поздних.


Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Дополнительные сведения


Document ID: 10103