Команда 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 |