Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дибров М.В. Маршрутизаторы.pdf
Скачиваний:
770
Добавлен:
06.03.2016
Размер:
5.01 Mб
Скачать

19 Маршрутные карты

19.1 Понятие маршрутных карт

Рассмотренные ранее методы контроля перераспределения маршрутной информации при помощи списков доступа или списков префикса, позволяли проводить выбор, относительно того следует или не следует производить перераспределение маршрутной информации. Однако критерии выбора маршрутов ограничивались лишь IP адресом сети получателя или длинной префикса сети, когда у любого маршрута есть гораздо больше параметров, по которым требуется производить выбор. К таким параметрам, например, относятся:

Тип маршрута;

Метрика маршрута;

Выходной интерфейс маршрутизатора;

IP адрес маршрутизатора заявившего маршрут.

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

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

Маршрутная карта – это логическое выражение, состоящее из одного или нескольких выражений, каждое из которых может содержать ноль, одно или несколько условий совпадения и ноль, одно или несколько предопределенных действий. Как и именованные списки доступа или выражения списков префиксов, выражения маршрутных карт имеют порядковые номера. При перераспределении сети получателя в протокол маршрутизации маршрутизатор проверяет соответствие условиям совпадения выражениям, указанным в маршрутной карте в порядке возрастания номеров выражений. Маршрутизатор обнаруживает соответствие сети получателя и выражения маршрутной карты только в том случае, если все условия совпадения в данном выражении соблюдаются. Если совпадение обнаружено, маршрутизатор перераспределяет данную сеть получатель в соответствии с действиями определенными в выражении. Если не обнаруживается совпадения ни с одним выражением, сеть получатель не перераспределяется.

Подобно выражениям списков доступа и списков префиксов, выражения маршрутных карт могут возвращать значения permit или deny. Если сеть получатель соответствует выражению deny маршрутной карты, сеть получатель не

310

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

Выражение маршрутной карты, не содержащие условий совпадения, соответствует всем маршрутам.

19.2 Настройка маршрутной карты

Описание маршрутной карты, осуществляется последовательным добавлением в конфигурацию маршрутизатора выражений маршрутной карты, используя команду route-map. Синтаксис команды приводится в примере 19.1.

Пример 19.1 – Синтаксис команды route-map

(config)# route-map map-tag [permit | deny] [sequence-number] (config)# no route-map map-tag [permit | deny] [sequence-number]

Описание параметров команды route-map приводиться в таблице 18.1.

Таблица 19.1 – Параметры команды route-map

Параметр

Описание

map-tag

Имя маршрутной карты.

deny

Отбросить сеть получатель при поло-

permit

жительном выполнении выражения.

Пропустить сеть получатель при поло-

sequence-number

жительном выполнении выражения.

Порядковый номер выражения в

 

маршрутной карте.

Условия совпадения описываются внутри выражения маршрутной карты с помощью команд группы match. Каждая из команд группы match применяется для установления совпадения по определенному параметру сети получателя. В примерах с 19.2 по 19.8 приводятся синтаксисы возможных команд группы match, применяемых при перераспределении маршрутной информации.

Пример 19.2 – Синтаксис команды match interface

(config-route-map)# match interface interface-type interface-number [... in-

terface-type interface-number]

(config-route-map)# no match interface interface-type interface-number [...

interface-type interface-number]

311

Команда match interface применяется для определения соответствия сети получателя по типу и номеру выходного интерфейса маршрутизатора определенного в маршруте для рассматриваемой сети получателя. Как видно из синтаксиса команды, она может содержать одну или несколько пар тип/номер интерфейса для поиска соответствия в маршрутной информации. Для выполнения условия команды достаточно одного соответствия проверяемой сети получателя интерфейсам, описанным в команде.

Пример 19.3 – Синтаксис команды match ip address

(config-route-map)# match ip address {access-list-number [access-list-

number... | access-list-name...] | access-list-name [access-list-number...| access-list-name] | prefix-list prefix-list-name [prefix-list-name...]} (config-route-map)# no match ip address {access-list-number [access-list-num-

ber... | access-list-name...] | access-list-name [access-list-number...| ac- cess-list-name] | prefix-list prefix-list-name [prefix-list-name...]}

Команда match ip address применяется для определения соответствия сети получателя по IP адресу сети получателя. В качестве параметра команды могут выступать один или несколько нумерованных, именованных списков доступа или один или несколько списков префиксов. Для выполнения условия команды достаточно одного соответствия проверяемой сети получателя IP адресам, описанным в команде.

Пример 19.4 – Синтаксис команды match ip next-hop

(config-route-map)# match ip next-hop {access-list-number | access-list-name}

[...access-list-number | ...access-list-name]

(config-route-map)# no match ip next-hop {access-list-number | access-list- name}[...access-list-number | ...access-list-name]

Команда match ip next-hop применяется для определения соответствия сети получателя по IP адресу следующего перехода. В качестве параметра команды могут выступать один или несколько нумерованных, именованных списков доступа или один или несколько списков префиксов. Для выполнения условия команды достаточно одного соответствия проверяемой сети получателя IP адресам, описанным в команде.

Пример 19.5 – Синтаксис команды match ip route-source

(config-route-map)# match ip route-source {access-list-number | access-list-

name}[...access-list-number | ...access-list-name]

(config-route-map)# no match ip route-source {access-list-number | access- list-name}[...access-list-number | ...access-list-name]

Команда match ip route-source применяется для определения соответствия сети получателя по IP адресу маршрутизатора, от которого был получен

312

маршрут. В качестве параметра команды могут выступать один или несколько нумерованных, именованных списков доступа или один или несколько списков префиксов. Для выполнения условия команды достаточно одного соответствия проверяемой сети получателя IP адресам, описанным в команде.

Пример 19.6 – Синтаксис команды match metric

(config-route-map)# match metric {metric-value | external [+- deviation-num-

ber]}

(config-route-map)# no match metric {metric-value | external [+- deviationnumber]}

Команда match metric применяется для определения соответствия сети получателя значению метрики маршрута. Описание параметров команды приводится в таблице 19.2.

Таблица 19.2 – Параметры команды match metric

Параметр

Описание

metric-value

Эталонное значение метрики.

external

Указание на внешний тип маршрута.

+- deviation-number

Возможное отклонение в большую или

 

меньшую сторону от эталонного зна-

 

чения метрики маршрута.

Пример 19.7 – Синтаксис команды match route-type

(config-route-map)# match route-type {local | internal | external [type-1 | type-2]}

(config-route-map)# no match route-type {local | internal | external [type-1 | type-2]}

Команда match route-type применяется для определения соответствия сети получателя по типу маршрута. Описание параметров команды приводится в таблице 19.3.

Таблица 19.3 – Параметры команды match route-type

Параметр

Описание

local

Локальный маршрут протокола BGP.

internal

Внутренний маршрут протоколов EI-

external type-1

GRP или OSPF.

Внешний маршрут 1 типа OSPF.

external type-2

Внешний маршрут 2 типа OSPF.

313

Пример 19.8 – Синтаксис команды match tag

(config-route-map)# match tag tag-value [...tag-value] (config-route-map)# no match tag tag-value [...tag-value]

Команда match tag применяется для определения соответствия сети получателя по тегу присвоенному маршруту. В качестве параметра команды могут выступать один или несколько тегов маршрутов. Для выполнения условия команды достаточно одного соответствия проверяемой сети получателя тегу, описанному в команде.

При обработке выражений маршрутных карт маршрутизатор производит проверку условий в соответствии с рисунком 19.1.

route-map ...

«ИЛИ»

match a b с «И» match d e f match g h i

Рисунок 19.1 – Проверка условий в выражении маршрутной карты

Между условиями, описанными в одной команде match, производится логическая операция «ИЛИ», а между условиями, описанными в разных командах match логическая операция «И».

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

Изменения, вносимые в маршрутную информацию, описываются внутри выражения маршрутной карты с помощью команд группы set. Каждая из команд группы set, так же как и команды группы match применяется внесения изменений по определенному параметру маршрутной информации. В примерах с 19.9 по 19.12 приводятся синтаксисы возможных команд группы set, применяемых при перераспределении маршрутной информации.

Пример 19.9 – Синтаксис команды set level

(config-route-map)# set level {stub-area | backbone} (config-route-map)# no set level { stub-area | backbone}

Команда set level устанавливает принадлежность перераспределяемых маршрутов либо тупиковой, либо транзитной зоне протокола OSPF.

314

Пример 19.10 – Синтаксис команды set metric

(config-route-map)# set metric metric-value (config-route-map)# no set metric metric-value

Команда set metric устанавливает значение метрики, с которой будет произведено перераспределение маршрута.

Пример 19.11 – Синтаксис команды set metric-type

(config-route-map)# set metric-type {internal | external | type-1 | type-2} (config-route-map)# no set metric-type {internal | external | type-1 | type-2}

Команда set metric-type устанавливает тип метрики, с которым будет произведено перераспределение.

Пример 19.12 – Синтаксис команды set tag

(config-route-map)# set tag tag-value (config-route-map)# no set tag tag-value

Команда set tag устанавливает значение тега, присваиваемое перераспределенному маршруту.

Начало

Да

(x || y || z) && v

Нет

route-map DEMO permit 10 match x y z

match v

 

 

Да

set a

 

n

set b

 

 

 

 

route-map DEMO permit 20

 

 

 

match n

 

 

 

set m

route-map DEMO permit 30

Нет

-

 

 

m

 

a, b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конец

Рисунок 19.2 – Интерпретация правил маршрутной карты

315