Протокол IP : IP-маршрутизация

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

23 марта 2008 - Перевод, выполненный профессиональным переводчиком
Другие версии: PDF-версия:pdf | Машинный перевод (28 июля 2013) | Английский (10 августа 2005) | Отзыв

Содержание

Введение
Предварительные условия
      Требования
      Используемые компоненты
      Условные обозначения
Общие сведения
      Что представляют собой карты маршрутов?
      Основы карт маршрутов
Команды, используемые в картах маршрутов для перераспределения
      Настройка неподдерживаемых совпадений и команд в картах маршрутов
      Двухпротокольная сущность перераспределения карт маршрутов
      Таблицы поддержки команд
Краткие выводы
Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения

Введение

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

Функция карты маршрутов представляет собой общий механизм настройки программного обеспечения 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. При использовании карты маршрутов для выборочного разрешения нескольких маршрутов на основе префикса или маски, как правило, приходится использовать больше команд настройки для достижения аналогичной цели.

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

Это стандартная карта маршрутов с протокола OSPF в протокол EIGRP, примененная в команде redistribute:

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

!--- Выходные данные опущены.

!
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 запрещает маршрут, то соответствующий пункт карты маршрутов не рассматривается и анализируется следующий пункт карты маршрутов.

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

    • match — выбирает маршруты, которые необходимо применить к данному пункту.

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

    Для каждого перераспределяемого маршрута маршрутизатор сначала анализирует соответствующую команду для пункта карты маршрутов. Если критерий поиска удовлетворяется, то маршрут перераспределяется или отклоняется в соответствии с разрешающим или запрещающим пунктом, а некоторые его атрибуты можно изменить командами 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 (значение по умолчанию).

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

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

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

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

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

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

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

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

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

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

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

    
    !--- Эта карта маршрутов перераспределения крайне опасна!
    
    route-map ospf-to-ospf permit 10
     set metric +2
    !

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

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

    
    !--- Эта карта маршрутов перераспределения еще более опасна!
    
    route-map ospf-to-ospf permit 10
     set metric -367
    !

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

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

Карты маршрутов, предназначенные для перераспределения, работают с двумя протоколами маршрутизации:

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

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

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

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

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

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

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

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

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

В данном разделе не содержатся команды 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 – команды карты маршрутов для поиска соответствия маршрутов в таблицах маршрутизации по протоколам

Команда

Поддержка перераспределения

connected

static

RIP

EIGRP

OSPF

IS-IS

BGP

match clns address

Да

Да

Да

match clns next-hop

Да

Да

match interface

Да

Да

Да

Да

Да

Да

match ip address

Да

Да

Да

Да

Да

Да

Да

match ip address prefix-list

Да

Да

Да

Да

Да

Да

Да

match ip next-hop

Да

Да

Да

Да

Да

Да

match ip next-hop prefix-list

Нет

Нет

Нет

Нет

Нет

Нет

match ip route-source

Да

Да

Да

Да

match ip route-source prefix-list

Нет

Нет

Нет

Нет

match ipv6 address [prefix-list]

Да

Да

Да

Да

Да

Да

match ipv6 next-hop [prefix-list]

Да

Да

Да

match ipv6 route-source [prefix-list]

Да

Да

match metric

Да

Да

Да

Да

Да

match policy-list

Да

Да

Да

Да

Да

Да

Да

match route-type external

Да

Да

Да

Да

match route-type internal

Да

Да

Да

match route-type local

Да

match route-type nssa-external

Да

match route-type {level-1|level-2}

Да

match tag

Да

Да

Да

Да

Да

Да

Таблица 2 – команды, изменяющие атрибуты маршрутов при перераспределении в конечный протокол

Команда

Поддержка перераспределения

RIP

EIGRP

OSPF

IS-IS

BGP

set as-path tag

Да

set community

Да

set ip next-hop

Да

set ip next-hop peer-address

Нет

set ipv6 next-hop

Да

set level {backbone|stub-area}

Нет

set level {level-1|level-2|level-1-2}

Да

set local-preference

Да

set metric

Да

Да

Да

Да

set metric +/-

Нет

Нет

Нет

Нет

set metric eigrp-metric

Да

set metric +/- eigrp-metric

Нет

set metric-type internal

Да

set metric-type external

Да

set metric-type {type-1|type-2}

Да

set nlri

Да

set origin

Да

set tag

Да

Да

Да

set weight

Да

Краткие выводы

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

Связанные обсуждения сообщества поддержки Cisco

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


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


Document ID: 49111