Общие сведения
Предварительные условия
Требования
Используемые компоненты
Базовые сведения
Условные обозначения
Код DSCP
Гарантированная переадресация
Срочная переадресация
Использование поля кода DSCP
Классификация пакетов
Маркировка
Использование согласованной скорости доступа или применение политики на основе класса
Взвешенное случайное раннее обнаружение (WRED), согласующееся с кодом DSCP
Устранение известных ошибок в операционной системе Cisco IOS Release 12.2
Дополнительные сведения
В данном документе описывается процедура установки значений кода DSCP в настройках качества обслуживания (QoS) маршрутизаторов Cisco, а также анализируются связи между приоритетом IP и DSCP.
Необходимо обладать знаниями о заголовках IP-пакетов и об интерфейсе командной строки операционной системы Cisco IOS®
Сведения, содержащиеся в данном документе, не ограничены определенными версиями программного и аппаратного обеспечения.
Сведения, представленные в данном документе, были получены на тестовом оборудовании в специально созданных лабораторных условиях. При написании данного документа использовались только устройства с пустой (стандартной) конфигурацией. При работе с реально функционирующей сетью необходимо полностью осознавать возможные результаты использования всех команд.
Дифференцированные службы (DiffServ) — это новая модель, в которой трафик обрабатывается в промежуточных системах с учетом его относительной приоритетности, основанной на значении поля типа обслуживания (ToS). Описание модели DiffServ, которая заменяет исходные спецификации для определения приоритетности пакета (см. стандарт RFC 791 ), содержится в стандартах RFC 2474
и RFC 2475
. DiffServ увеличивает количество уровней приоритета, поддающихся определению путем перераспределения битов IP-пакета для маркировки приоритета.
Архитектура DiffServ подразумевает определение поля DiffServ (DS), которое заменяет поле типа обслуживания в протоколе IPv4, используемое при принятии решений о пересылке данных через каждый узел (PHB) для классификации пакетов и функций согласования трафика, например таких, как измерение, маркирование, формирование и контроль.
Стандарты RFC не устанавливают метода реализации пересылок данных через каждый узел, перенося всю ответственность за это на производителя оборудования. Компания Cisco реализует технологию организации постановки в очередь, которая может основывать пересылку данных через каждый узел на базе IP-приоритетов или значений кода DSCP в заголовке IP-пакета. Основываясь на коде DSCP или IP-приоритете, трафик может быть вставлен в определенный класс обслуживания. Пакеты в рамках какого-либо класса обслуживания обрабатываются одинаково.
Дополнительные сведения об условных обозначениях см. в разделе "Технические рекомендации Cisco. Условные обозначения".
Кодом DSCP называются шесть наиболее значимых бит поля DiffServ. Два последних неиспользуемых бита в поле DiffServ в рамках его структуры не определены, они в настоящее время используются в качестве битов явного уведомления о перегрузке (ECN). Оконечные маршрутизаторы классифицируют пакеты и присваивают им либо значение IP-приоритета, либо значение кода DSCP в сети Diffserv. Другие сетевые устройства в ядре, которое поддерживает Diffserv, используют значение DSCP в заголовке IP-пакета для выбора варианта пересылки данных пакета через каждый узел и обеспечивают адекватную обработку QoS.
На схемах в данном подразделе показаны различия между байтом ToS, определяемым стандартом RFC 791, и полем 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 дает определение гарантированной переадресации (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 определяет следующим образом срочную переадресацию (EF) при пересылке данных: "С помощью срочной переадресации при пересылке данных можно реализовать сквозное обслуживание с низким уровнем потерь, низкими задержками, низким дрожанием и гарантированной пропускной способностью через все домены DiffServ. Подобная служба реализуется в оконечных устройствах при двухточечном соединении или в "виртуальной арендуемой линии". Эта служба также считается привилегированной службой". Для срочной переадресации при пересылке данных рекомендуется кодовое значение 101110.
Кроме того, для реализации этих пересылок данных необходимо настраивать механизмы обработки данных определяемые производителем. Дополнительные сведения о срочной переадресации при пересылке данных см. в стандарте RFC 2598 .
Существует три способа использования поля кода 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 следующим образом:
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 документа Общие сведения о предотвращении перегрузок.
.Дополнительные сведения о нижеследующих ошибках могут быть получены с помощью средства обнаружения ошибок 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) и более поздних.