class-map

Команда class-map используется для задания класса трафика и критериев этого класса, на основе которых сетевой трафик будет группироваться в классы (классифицироваться).

Синтаксис

class-map [match-all|match-any] class-map-name 

no class-map [match-all|match-any] class-map-name

class-map-name

имя класса трафика

match-all

указывает, что классу будут принадлежать пакеты, удовлетворяющие всем критериям, заданным в режиме настройки класса (config-cmap).

match-any

указывает, что классу будут принадлежать пакеты, удовлетворяющие хотя бы одному критерию, заданному в режиме настройки класса (config-cmap).

Значение по

умолчанию

match-all

Режимы команды

Global configuration

Рекомендации по

использованию

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

      Формирование трафика выполняется в три шага:

     пакеты распределяются по классам (команды class-map);

     задаются правила для каждого класса (команды policy-map);

     заданная политика привязывается к интерфейсу (команды service-policy).

      Используемая здесь технология QoS - Дифференцированное обслуживание (DiffServ) - основана на классификации трафика и его маркировке.

      С помощью команды class-map можно задать несколько классов обслуживания и критерии этих классов.

Например, когда трафик из подсети поступает на внутренний интерфейс шлюза, то сначала он разбивается на множество классов обслуживания на основе полей (IP-адрес, порт, поле ToS) заголовка пакета сетевого и транспортного уровней, заданных командой class-map.

      Затем на этом же интерфейсе производится маркировка пакетов - изменяется поле ToS - переносится значение Precedence (приоритет) или значение DSCP, установленные командами set precedence или set dscp в режиме настройки команды policy-map, в поле ToS. Маркировка производится в соответствии с тем классом обслуживания, к которому принадлежит пакет.

      В названии команды policy-map слово «политика» имеет тот смысл, что установленные значения Precedence и DSCP определяют набор процедур, которые будут обеспечивать заданный класс обслуживания.

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

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

      При IPsec обработке исходящего пакета классификация и маркирование пакета будет производиться до его инкапсуляции, для входящего пакета - после его декапсуляции.

•   При IPsec обработке пакетов будет происходить копирование поля ToS из внутреннего во внешний заголовок.

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

     match access-group - означает, что классу принадлежат пакеты, которые попадают под действие указанного списка доступа (access-list);

     match any - означает, что все пакеты принадлежат этому классу;

     match dscp - означает, что классу принадлежат пакеты, у которых значение DSCP равно одному из указанных;

     match precedence - означает, что классу принадлежат пакеты, у которых значение Precedence  равно одному из указанных.

      Для одного класса можно задать любое количество критериев выбора трафика.

      При повторном задании критериев для данного класса ключевое слово match-all или match-any можно не указывать, сохранится прежний тип класса. Если же указать другой тип (например, match-all вместо match-any), то тип класса изменится.

      Удаление класса производится командой:

no class-map [match-all|match any] class-map-name

      Если данный класс используется в команде policy-map, то класс не удаляется, а выводится сообщение об ошибке:

% Class-map <class-map-name> is being used

Пример

Router(config)# class-map match-any class1

Router(config-cmap)# match access-group 101

Router(config-cmap)# match dscp af41 af31 af21

Router(config-cmap)#exit