Протокол IP : Протокол BGP

Настройка перераспределения карт маршрутов для протокола маршрутизации IP

20 октября 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Перевод, выполненный профессиональным переводчиком (23 марта 2008) | Английский (22 августа 2015) | Отзыв


Содержание


Введение

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

Функция route-map является общим механизмом Cisco конфигурация ПО IOS�. Эту функцию можно применять для различных задач, например, для модификации смежного обновления маршрутизации на основе политик (PBR) и протокола BGP. Одним из наиболее распространенных примеров использования карт маршрутов является их применение для маршрутов, которые перераспределяются между протоколами динамической маршрутизации. В этом документе анализируются возможности карт маршрутизации при настройке данного типа перераспределения.

Предварительные условия

Требования

Для этого документа отсутствуют особые требования.

Используемые компоненты

Сведения в этом документе основываются на программном обеспечении Cisco IOS версии 12.3 магистрали.

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

Условные обозначения

Дополнительные сведения об условных обозначениях см. в документе Технические рекомендации Cisco. Условные обозначения.

Общие сведения

В этом разделе представлен обзор карт маршрутов в программном обеспечении Cisco IOS.

Что представляют собой карты маршрутов?

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

  • Они представляют собой упорядоченную последовательность отдельных инструкций, каждая из которых указывает на разрешение или запрет. Анализ списков ACL или карт маршрутизации включает сканирование списка в заранее определенном порядке и оценку критерия каждой соответствующей инструкции. Сканирование списка прерывается после нахождения первой инструкции, соответствующей критерию поиска, а затем выполняется действие, ассоциированное с данной инструкцией.

  • Это общие механизмы — соответствие критерия и интерпретация соответствия определяются по методу их применения. Одна и та же карта маршрутов, примененная для различных задач, может быть интерпретирована по-разному.

Вот несколько отличий между картами маршрутов и списками ACL:

  • Карты маршрутов часто используют списки ACL в качестве критерия соответствия.

  • Основной результат анализа списка доступа представляет собой ответ "yes" ("да") или "no" ("нет") — список ACL либо разрешает, либо запрещает входные данные. Применительно к перераспределению список ACL определяет, можно перераспределить конкретный маршрут (маршрут соответствует инструкции по разрешению ACL) или нет (соответствует инструкции по запрещению). Стандартные карты маршрутов не только разрешают (некоторые) перераспределенные маршруты, но и изменяют ассоциированную с маршрутом информацию при его перераспределении в другой протокол. Примеры по изменению карты маршрутов см. в разделе "Основы карт маршрутов" в данном документе.

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

  • Каждый список ACL в соответствии с принципом своей структуры заканчивается косвенной запрещающей инструкцией; для карт маршрутов подобного принципа не существует. Если при поиске соответствия достигается конец марты маршрутов, то результаты поиска определяются в зависимости от конкретного применения карты маршрутов. К счастью, карты маршрутов, которые применяются для перераспределения, работают аналогично спискам ACL: если маршрут не соответствует ни одному пункту карты маршрутов, то перераспределение маршрута запрещается, поскольку в конце карты маршрутов содержится запрещающая инструкция.

Команда настройки динамического протокола redistribute позволяет использовать либо список ACL, либо карту маршрутов. Указанные в этом разделе различия определяют принцип выбора карты маршрутов при перераспределении. Карты маршрутов более предпочтительны, если планируется изменение информации маршрутов во время перераспределения или требуется более мощный инструмент поиска соответствий, нежели доступный для списков ACL. И наоборот, если необходимо просто выборочно разрешить некоторые маршруты на основе префикса или маски, то Cisco рекомендует воспользоваться списком ACL (или эквивалентным списком префиксов) непосредственно в команде redistribute. При использовании карты маршрутов для выборочного разрешения нескольких маршрутов на основе префикса или маски, как правило, приходится использовать больше команд настройки для достижения аналогичной цели. Карты маршрутизации всегда применяются для входящего трафика, и route-map не имеет никакого эффекта на исходящий трафик.

Основы карт маршрутов

Это - типичный Открытый Кратчайший путь Сначала к Enhanced Interior Gateway Routing Protocol (OSPF К EIGRP) route-map, примененный в перераспределять команде:

!
router eigrp 1
 redistribute ospf 1 route-map ospf-to-eigrp
 default-metric 20000 2000 255 1 1500

!--- Output suppressed.

!
route-map ospf-to-eigrp deny 10
 match tag 6
 match route-type external type-2
!
route-map ospf-to-eigrp permit 20
 match ip address prefix-list pfx
 set metric 40000 1000 255 1 1500
!
route-map ospf-to-eigrp permit 30
 set tag 8
!

В этом примере следует отметить несколько моментов:

  • Пункты карты маршрутов пронумерованы. В данном примере пункты используют порядковые номера 10, 20 и 30. Порядковые номера позволяют выполнять следующие действия:

    • Легко удалять один указанный пункт без воздействия на другие компоненты карты маршрутов.

    • Вставлять новый пункт между двумя существующими пунктами.

    Cisco рекомендует использовать нумерацию пунктов с интервалом 10 для резервирования области нумерации, чтобы обеспечить возможность вставки пунктов, если в будущем возникнет такая необходимость.

  • Карты маршрутов могут использовать пункты permit и deny. В примере route-map ospf-to-eigrp присутствует один запрещающий пункт (с порядковым номером 10) и два разрешающих пункта. Запрещающий пункт отклоняет перераспределение соответствующих маршрутов. Таким образом, применяются следующие правила:

    • Если используется список ACL в разрешающем пункте карты маршрутов, то маршруты, разрешенные по списку ACL, перераспределяются.

    • Если используется список ACL в запрещающем пункте карты маршрутов, то маршруты, разрешенные по списку ACL, не перераспределяются.

    • Если используется список ACL в разрешающем или запрещающем пункте карты маршрутов, и список ACL запрещает маршрут, то соответствующий пункт карты маршрутов не рассматривается и анализируется следующий пункт карты маршрутов.

  • Каждый пункт карты маршрутов использует два типа команд:

    • соответствие — Выбирает маршруты, к которым должен быть применен этот пункт.

    • набор — Модифицирует информацию, которая будет перераспределена в целевой протокол.

    Для каждого перераспределяемого маршрута маршрутизатор сначала анализирует соответствующую команду для пункта карты маршрутов. Если критерий поиска удовлетворяется, то маршрут перераспределяется или отклоняется в соответствии с разрешающим или запрещающим пунктом, а некоторые его атрибуты можно изменить командами set. Если критерий поиска не удовлетворяется, то данный пункт для маршрута не применим, и программное обеспечение Cisco IOS продолжает анализировать маршрут, переходя к следующему пункту карты маршрутов. Сканирование карты маршрутов продолжается до тех пор, пока не будет найден пункт, для которого параметры команды "match" соответствуют маршруту, или пока не будет достигнут конец карты маршрутов.

  • Команду match или set в каждом пункте можно пропустить или повторить несколько раз при выполнении одного из следующих условий:

    • Если в пункте присутствуют команды match, то все они должны успешно выполняться для указанного маршрута для соответствия данного маршрута пункту (другими словами, для нескольких команд "match" применяется логический алгоритм "И").

    • Если команда match указывает на несколько объектов в одной команде, то соответствие должно выполняться хотя бы для одной из них (применяется логический алгоритм "ИЛИ"). Например, в команде match ip address 101 121 маршрут разрешается, если он разрешается по списку доступа 101 или 121.

    • Если команда match отсутствует, то пункт применяется для всех маршрутов. В предыдущем примере применяется соответствие для всех маршрутов, при анализе которых достигается пункт 30; таким образом, конец карты маршрутов не достигается никогда.

    • Если в разрешающем пункте карты маршрутов отсутствует команда set, то маршрут перераспределяется без изменения его текущих атрибутов.

Не настраивайте команду set в запрещающем пункте карты маршрутов, поскольку запрещающий пункт отклоняет перераспределение маршрута — информации для изменения просто нет.

Пункт карты маршрутов без команды match или set выполняет действие. Пустой разрешающий пункт обеспечивает перераспределение всех оставшихся маршрутов без их изменения. Пустой запрещающий пункт обеспечивает запрет перераспределения оставшихся маршрутов (это действие выполняется по умолчанию, если при полном сканировании карты маршрутов не находится явного соответствия).

На основе сведений в данном разделе предыдущий пример карты маршрутов OSPF-EIGRP выполняет следующие действия:

  • Запрещает перераспределение всех внешних маршрутов OSPF типа 2 с установленным тегом 6.

  • Перераспределяет в EIGRP все маршруты, соответствующие списку префиксов pfx с пятью метрическими значениями — 40000, 1000, 255, 1 и 1500.

  • Перераспределяет все остальные маршруты и устанавливает их теги на 8 (значение по умолчанию).

Команды, используемые в картах маршрутов для перераспределения

В этом разделе содержатся следующие темы:

Настройка неподдерживаемых совпадений и команд в картах маршрутов

Route-map являются общими механизмами, которые можно использовать во многих конфигурациях, включая ранее описанный перераспределяют команду. Например, можно настроить команду match length в карте маршрутов для PBR, чтобы указать специальное действие, которое выполняется при переадресации пакетов определенной длины. Однако команду match length нельзя использовать в картах маршрутов, предназначенных для перераспределения.

Можно настроить в карте маршрутов команды match и set, которые не поддерживаются или не дают эффекта в контексте применения карты маршрутов (или предназначены для использования на более позднем этапе). В качестве примера такой ситуации можно привести использование команды match length в карте маршрутов, предназначенной для перераспределения. При перераспределении карта маршрутов применяется для каждого маршрута, содержащегося в таблице маршрутизации по протоколу, указанному в команде redistribute. Таким образом, при применении карты маршрутов маршрутизатор интерпретирует только те команды, которые имеют значение в контексте применения карты маршрутов. В данном примере упомянутая в карте маршрутов команда match length не влияет на перераспределение. Она остается в конфигурации карты маршрутов, и ее можно увидеть в рабочей конфигурации маршрутизатора. Однако наличие или отсутствие этой команды никак не влияет на перераспределение.

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

Не используйте команды, которые не имеют смысла в контексте карты маршрутов — даже если видимого вреда от них нет — из-за следующих моментов:

  • Не имеющие смысла команды могут затруднить достижение необходимой цели. Это делает конфигурацию крайне запутанной.

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

  • Не все команды полностью безвредны; например, команда set metric +/-, которая устанавливает относительное изменение метрики и используется с объявлением маршрута BGP. Она может получать текущую метрику маршрута и увеличивать или уменьшать ее на указанное значение, прежде чем распространять ее.

    Форма +/- этой команды на данный момент не поддерживается в картах маршрутов перераспределения и интерпретируется как команда set metric без учета знака. Например, рассмотрите следующую карту маршрутов:

    
    !--- This redistribution route-map is very dangerous!
    
    route-map ospf-to-ospf permit 10
     set metric +2
    !

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

    Эта карта маршрутов обеспечивает еще более алогичный эффект:

    
    !--- This redistribution route-map is even more dangerous!
    
    route-map ospf-to-ospf permit 10
     set metric -367
    !

    Вовсе не уменьшая метрику перераспределенных маршрутов, на самом деле эта конфигурация устанавливает метрику на 367 (значение положительное, поскольку команда set metric интерпретируется без учета знака и отрицательная метрика невозможна).

Двухпротокольная сущность перераспределения карт маршрутов

Route-map применились к перераспределению, работают с двумя протоколами маршрутизации:

  • Протокол, который предоставляет исходные сведения о маршрутизации

  • Протокол, к которому перераспределены сведения о маршрутизации

Каждый протокол маршрутизации может поддержать свой собственный набор атрибутов маршрута.

В конфигурации карты маршрутов перераспределения:

  • Команды карты маршрутов map match проверяют атрибуты маршрута, которые поддерживаются протоколом, предоставившим исходный маршрут для перераспределения.

  • Команды карты маршрутов set изменяют атрибуты маршрутов, поддерживающиеся протоколом, в который производится перераспределение маршрутов.

Эти команды описываются в разделе "Таблицы поддержки команд" данного документа. Они сгруппированы по командам match и set для подчеркивания двухпротокольной сущности карт маршрутов перераспределения.

Таблицы поддержки команд

В этом разделе описываются команды, которые поддерживаются в route-map, подключенных в перераспределять команде. Существует семь протоколов маршрутизации, из которых можно перераспределить маршруты; однако конечными протоколами при перераспределении из них могут служить только пять. Подключенные и статические маршруты не являются протоколами динамической маршрутизации и могут только предоставлять сведения для перераспределения в другие протоколы.

В данном разделе не содержатся команды match и set, поддерживаемые в картах маршрутов выпуска программного обеспечения IOS 12.3, но эти карты не предназначены для использования в контексте перераспределения.

Протоколы IS-IS и BGP могут распространять сведения о маршрутах CLNS вместе с IP-маршрутами. Для полноты картины в таблицах этого раздела также упоминаются команды, относящиеся к CLNS, которые можно использовать в картах маршрутов перераспределения для данных протоколов.

Для распространения маршрутов IPv6 можно использовать протоколы RIP, OSPF, IS-IS и BGP; карты маршрутов перераспределения для данных протоколов могут содержать специальные команды IPv6. Для перераспределения префиксов IPv4 служат специальные команды match ip и set ip. Для перераспределения префиксов IPv6 служат специальные команды match ipv6 и set ipv6. Команды match clns и set clns можно применять только при использовании карты маршрутов для перераспределения маршрутов CLNS в протокол маршрутизации или из него.

В таблицах 1 и 2 используются следующие условные обозначения:

  • Поддерживаемые команды обозначены словом "Да".

  • Неподдерживаемые команды обозначены прочерком (—).

  • Неподдерживаемые команды, которые заведомо выполняют действие (возможно, нежелательное), отмечены словом "Нет".

Таблица 1 – команды Route-map для соответствия с маршрутами, установленными в таблицы маршрутизации протоколами

Команда Поддержка перераспределения
связанный статичный RIP EIGRP OSPF IS-IS BGP
match clns address Да Да Да
match clns next-hop Да Да
match interface Да Да Да Да Да Да
match ip address Да Да Да Да Да Да Да
список префиксов match ip address Да Да Да Да Да Да Да
match ip next-hop Да Да Да Да Да Да
match ip next-hop prefix-list Нет Нет Нет Нет Нет Нет
match ip route-source Да Да Да Да
match ip route-source prefix-list Нет Нет Нет Нет
match ipv6 address [список префиксов] Да Да Да Да Да Да
match ipv6 next-hop [список префиксов] Да Да Да
match ipv6 route-source [список префиксов] Да Да
match metric Да Да Да Да Да
match policy-list Да Да Да Да Да Да Да
внешний match route-type Да Да Да Да
внутренний match route-type Да Да Да
локальный match route-type Да
nssa-external match route-type Да
match route-type {level-1|level-2} Да
match tag Да Да Да Да Да Да

Таблица 2 – Команды, которые Модифицируют Атрибуты Маршрута Во время Перераспределения в целевой Протокол

Команда Поддержка перераспределения
RIP EIGRP OSPF IS-IS BGP
метка set as-path Да
set community Да
set ip next-hop Да
адрес партнера (peer) set ip next-hop Нет
следующий переход набора ipv6 Да
set level {backbone|stub-область} Нет
set level {level-1|level-2|level-1-2} Да
set local-preference Да
set metric Да Да Да Да
set metric +/- Нет Нет Нет Нет
метрика EIGRP set metric Да
метрика EIGRP set metric +/- Нет
set metric-type internal Да
внешний set metric-type Да
set metric-type {type-1|type-2} Да
набор nlri Да
set origin Да
set tag Да Да Да
set weight Да

Сводка

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


Дополнительные сведения


Document ID: 49111