class-map
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 |