Конфигурирование и проверка работы продвинутых функций протокола OSPF

Материал из Cisco CCNP
Перейти к навигации Перейти к поиску

В этой статье рассматриваются некоторые продвинутые функции протокола OSPF, такие как:

  • Использование команды passive-interface
  • Распространение информации (propagating) о маршруте по-молчанию
  • Настройка суммирования маршрутов
  • Виртуальные линки
  • Настройка специальных типов зон

Ограничение распространения LSA с помощью команды passive-interface

  • Предотвращает рассылку и получение сообщений об обновлений маршрутов OSPF через указанный интерфейс
Router(config-router)#
passive-interface type number [default]
  • Переводит один или все интерфейсы маршрутизатора в пассивный режим
  • При использовании с опцией default все интерфейсы переводятся в пассивный режим
  • Отличия поведения команды для протокола OSPF:
    • адрес интерфейса, который настраивается как пассивный, определяется как тупиковая сеть (stub network) домена OSPF;
    • информация никогда не будет ни отправляться, ни приниматься через указанный интерфейс;
    • препятствует установлению соседских отношений.

Для предотвращения получения информации о маршрутах другими маршрутизаторами в сети, т.е. чтобы они не могли узнавать информацию о маршрутах динамически, можно отключить рассылку сообщений о обновлении маршрутов через интерфейс маршрутизатора. Эта функция работает во всех протоколах IP маршрутизации за исключением BGP. Поведение OSPF несколько отличается. В OSPF адрес интерфейса, который настраивается как пассивный определяется как тупиковая сеть домена OSPF. OSPF информация никогда не будет ни отправляться, ни приниматься через указанный интерфейс. Для отключения приема и отправки OSPF обновлений через интерфейс используется команда passive-interface в режиме конфигурирования маршрутизации. Внутри сетей провайдеров и больших производственных сетей много маршрутизаторов распределения имеют более 200 интерфейсов. Поэтому большое количество LSA будет распространятся через домен. Протокол OSPF можно сконфигурировать на всех интерфейсах, но командой passive-interface можно назначить интерфейсы, через которые отношения не установятся. В некоторых сетях это значит, что необходимо будет прописать вручную до 100 интерфейсов как пассивные, что достаточно трудоемко. Для решения этого вопроса используется функция пассивного интерфейса по умолчанию. Тогда в режиме конфигурации маршрутизации необходимо ввести команду passive-interface default, а затем в режиме конфигурирования каждого интерфейса, через который необходимо создание соседских отношений, вводим команду no passive-interface.

450px-3-4-37.jpg

Маршрутизатор R1 имеет некоторое количество интерфейсов, которые работаю как stub сети. В любом случае, через эти интерфейсы маршрутизатор LSA не получит и нет необходимости рассылать LSA через них. Только S0/0/1 участвует в процессе OSPF. На R1 воспользовались командой passive-interface default, а потом на s0/0/1 сделали no passive-interface. На R2 только 1 порт работает как stub сеть, поэтому администратор выполнил команду passive-interface Eth0 для остановки рассылки LSA через порт Ethernet0.

Распространение информации о маршруте по умолчанию

Синтаксис команды:

dyn3(config-router)# default-information originate [always] [metric <metric-value>] 
[metric-type <type-value>] [route-map <map-name>]
Параметр Описание
always Предлагать маршрут по умолчанию, даже если шлюз на маршрутизаторе не настроен
metric метрика Метрика, используемая при генерации маршрута по умолчанию. Если не указана ни здесь, ни при помощи команды default metric, то используется 1. В документации IOS указано, что значение по умолчанию – 10, но на практике 1.
metric-type тип_метрики Тип внешней линии, ассоциирующейся с маршрутом по умолчанию. Значение отправляется остальным маршрутизаторам. Можно указать 1 или 2. По умолчанию – 2.
route-map map-name Генерировать маршрут только если сработала карта

Характеристики команды для OSPF:

  • Информация распространяется только если маршрут по умолчанию присутствует в таблице маршрутизации (это можно обойти с помощью параметра always);
  • Перераспределяет любой маршрут по умолчанию найденный в таблице маршрутизации (статический или полученный по другому протоколу маршрутизации);
  • По умолчанию метрика маршрута будет 1, а тип маршрута — E2;
  • С параметром always OSPF может анонсировать маршрут по умолчанию независимо от того есть он в таблице маршрутизации или нет.

Характеристики команды для RIP:

  • RIP будет анонсировать маршрут по умолчанию, если маршрута по умолчанию нет в таблице маршрутизации

В подавляющем большинстве случаев, сетевой администратор должен OSPF таким образом, чтобы тот сообщал о наличии маршрута по умолчанию другим маршрутизаторам своей автономной системы. Эта информация используется для отправки пакетов за пределы автономной системы. Для включения данной функции используется команда default-information originate, использованная в контексте настройки OSPF. После использования команды default-information originate, при наличии маршрута по умолчанию, маршрутизатор будет сообщать о нем соседям. Если маршрут по умолчанию не настроен, то и сообщать о нем маршрутизатор не будет. Заставить маршрутизатор отправлять объявление о наличии маршрута по умолчанию, вне зависимости от его наличия можно добавив ключевое слово always к команде default-information originate. В базе, маршрут по умолчанию выглядит как внешний LSA пятого типа.

Пример

450px-OSPF default route.png
R1(config)#router ospf 1
R1(config-router)#network 10.1.1.1 0.0.0.0 area 0
R1(config-router)#default-information originate metric 10
R1(config-router)#exit
R1(config)#ip route 0.0.0.0 0.0.0.0 172.16.1.2
R1(config)#

R2(config)#router ospf 1
R2(config-router)#network 10.2.1.1 0.0.0.0 area 0
R2(config-router)#default-information originate metric 100
R2(config-router)#exit
R2(config)#ip route 0.0.0.0 0.0.0.0 172.17.1.2
R2(config)#

Настройка суммирования маршрутов OSPF

  • Inter-area summarization
    • Performed at the ABR and creates Type 3 LSAs.
  • External summarization
    • Performed at the ASBR and creates Type 5 LSAs.
    • Both have the same fundamental requirement of contiguous addressing. If summarization is not configured correctly and there are multiple ASBRs, or multiple ABRs in an area, suboptimal routing is possible.
  • For example, summarizing overlapping ranges from two different routers can cause packets to be sent to the wrong destination.

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

Суммирование маршрутов – объединение нескольких маршрутов в одно объявление. Это является основной составляющей способности OSPF к масштабированию, так как уменьшает количество пересылок LSA, количество записей LSDB и количество маршрутов в таблице маршрутизации, что в свою очередь приводит к уменьшению нагрузки на процессор и память маршрутизаторов.

Без суммирования, каждое изменение состояние линии приводит к рассылке LSA, сообщающего о факте изменения, и это объявление распространяется по всем зонам OSPF, приводя к ненужной нагрузке на сеть и аппаратное обеспечение маршрутизаторов, так как, при получении каждого объявления маршрутизатор пересчитывает LSDB и дерево SPF. При включенном суммировании, можно сделать так, чтобы только результирующие маршруты рассылаются на магистраль (area 0) как показано на рисунке ниже. Также, при сбое какой-нибудь одной сети, топологическая информация не попадает на магистраль и в другие зоны OSPF.
По умолчанию, суммирование в LSA типа 3 и 5 не используется.

450px-OSPF summary1.png

В нормальном состоянии LSA типа 1 и 2 генерируются внутри каждой зоны, транслируются в LSA типа 3 и рассылаются в другие зоны. При использовании суммирования ABR или ASBR объединяют множество маршрутов в несколько анонсов. ABR суммирует LSA типа 3, а ASBR - типа 5. Вместо анонсирования множества префиксов, маршрутизаторы ABR и ASBR анонсируют только один суммарный префикс.

Важно помнить, что summary LSA (type 3) и external LSA (type 5) по умолчанию не содержат
суммированных (агрегированных) маршрутов. Другими словами, суммированные LSA не суммируются.

Используются 2 типа суммирования:

  • Межзональное (Interarea route summarization): Настраивается на ABR и влияет на маршруты, получаемые из каждой зоны. Не применяется к внешним маршрутам, полученным через редистрибьютинг. Для эффективной работы межзонального суммирования необходимо последовательно номеровать сети в каждой зоне, чтобы при суммировании получалось минимальное количество результирующих маршрутов.
  • Внешнее (External route summarization): Применяется к внешним маршрутам, полученным через редистрибьютинг. Необходимо убедиться в непрерывности диапазона суммируемых диапазонов. Суммирование перекрывающихся диапазонов сетей, полученных от разных маршрутизаторов, может привести к отправке пакетов в неверном направлении. Внешнее суммирование применяется только на ASBR.
Внимание!
Как вы уже знаете, любой маршрутизатор EIGRP может выполнять суммирование. В протоколе OSPF суммирование может быть 
выполнено на ABR-ах (interarea summarization) и ASBR-ах (extrnal route summarization).

Если в зоне несколько ABR-ов или ASBR-ов, то возможна неоптимальная маршрутизация, если суммирование настроено неверно. Суммирование пересекающихся диапазонов от двух различных маршрутизаторов может стать причиной того, что пакет уйдёт не туда.

OSPF – бесклассовый протокол маршрутизации, что подразумевает обязательную передачу сетевой маски. Он поддерживает VLSM и прерывистые диапазоны за счет хранения масок в LSDB. Но, когда маршрутная информация передается из области OSPF в область RIPv1, информация о VLSM теряется, и может возникнуть необходимость в добавлении статических маршрутов.

Номера сетей надо назначать так, чтобы они были смежными, чтобы в случае суммирования добиться минимального количества суммированных маршрутов. Например, на рисунке ниже показан список из 12-ти сетей в таблице маршрутизации маршрутизатора B, которые можно суммировать в два новых маршрута: блок адресов 172.16.8.0/24-172.16.15.0/24 в 172.16.8.0/21, и блок 172.16.16.0-172.16.19.0/24 в 172.16.16.0/22.

450px-OSPF summary2.png

Какие команды следует использовать для настройки суммирования – зависит от типа суммирования.

Межзональное суммирование на ABR

OSPF не производит автосуммирования на границе классовых сетей, и требует настройки суммирования вручную.

  • Шаг 1: Настроить OSPF
  • Шаг 2: Для настройки межзонального суммирования используется команда

area area-id range address mask [advertise | not-advertise] [cost cost ]


Параметр Описание
area-id Идентификатор зоны, которой принадлежат суммируемые маршруты.
address Агрегированный адрес.
mask Агрегированная маска.
advertise (Опционально) Объявлять маршрут при помощи LSA третьего типа.
not-advertise (Опционально) Не объявлять маршрут при помощи LSA третьего типа (скрыть маршруты в составляющие сети).
cost cost (Опционально) Метрика или стоимость агрегированного маршрута, который использовался в SPF расчётах для определения наилучшего маршрута к получателю. Значение от 0 до 16777215.

ABR может суммировать только маршруты внутри зон, подключённых к ABR (ABR can only summarize routes that are within the areas connected to the ABR). Cisco IOS создаёт суммарный маршрут к интерфейсу NULL для предотвращения образования петли. Если на маршрутизатор поступает пакет для сети, которая не известна маршрутизатору, но является частью суммарного маршрута, выбранного по лучшей метрике, то пакет дропается.

Пример конфигурации межзонального суммирования на ABR

Пример на рисунке ниже иллюстрирует конфигурацию маршрутизаторов R1 и R2. Суммирование маршрутов на ABR может происходить в обоих направлениях: из немагистральной зоны в зону 0 и наоборот. Конфигурация маршрутизаторов:

400px-OSPF summary3.png

На маршрутизаторе R1 настроено 2 диапазона суммирования:

  • Area 0 range 172.16.96.0 255.255.224.0: При импорте из зоны 0 сетей входящих в диапазон 172.16.96.0 – 172.16.127.0, производить суммирование и приводить к виду 172.16.96.0 255.255.224.0.
  • Area 1 range 172.16.32.0 255.255.224.0: При экспорте из зоны 1 сетей входящих в диапазон 172.16.32.0 – 172.16.63.0, производить суммирование и приводить к виду 172.16.32.0 255.255.224.0.

Второй маршрутизатор настроен аналогичным образом.

R1(config)# router ospf 1
R1(config-router)# network 172.16.32.254 0.0.0.0 area 1
R1(config-router)# network 172.16.96.254 0.0.0.0 area 0
R1(config-router)# area 1 range 172.16.32.0 255.255.224.0
R1(config-router)# area 0 range 172.16.96.0 255.255.224.0
R2(config)# router ospf 1
R2(config-router)# network 172.16.64.254 0.0.0.0 area 2
R2(config-router)# network 172.16.126.254 0.0.0.0 area 0
R2(config-router)# area 2 range 172.16.64.0 255.255.224.0
R2(config-router)# area 0 range 172.16.96.0 255.255.224.0
Внимание!
В зависимости от топологии вашей сети, вы, возможно, и не захотите суммировать сети зоны 0
в другие зоны. Например, если у вас есть более одного ABR между локальной и магистральной зоной
рассылающих LSA type 3 (summary) с явной сетевой информацией в зону, при этом эта информация 
гарантирует выбор кратчайшего пути к внешнему, по отношению к этой зоне, получателю. 
Если вы проссумируете адреса, то возможна неоптимальная маршрутизация.

Стоимость суммарных маршрутов равна наибольшей стоимости маршрута, входящего в суммарный. В старом rfc 1583 стоимость была равна минимальной стоимости, но в rfc 2178 и rfc 2328 стоимость суммарного маршрута равна наибольшей стоимости. Например, если у маршрутов стоимость 20, 40 и 100, то суммарный маршрут будет иметь стоимость 100.

Внешнее суммирование на ASBR

По молчанию, каждый внешний маршрут, редистрибуцированный в OSPF из другого протокола маршрутизации, анонсируется индивидуально с external LSA. Суммирование внешних маршрутов для LSA type 5 может быть выполнено на ASBR перед их иньекцией в OSPF домен. Для каждого суммированного диапазона (range) создаётся маршрут к null 0

Для настройки суммирования маршрутов вручную на ASBR, для суммирования внешних маршрутов, необходимо:

  • Шаг 1: Настроить OSPF;
  • Шаг 2: Использовать команду summary-address ip-address mask [not-advertise] [tag tag]

Эта команда может использоваться только в маршрутизаторах ASBR, которые осуществляют перераспределение маршрутов в среду процесса маршрутизации OSPF. Одной из важных особенностей данной команды является наличие ключевого слова not-advertise, которое позволяет не анонсировать маршруты, соответствующие команде с этим ключевым словом. Ключевое слово tag позволяет проверять соответствие значениям, указанным в схеме маршрута; это означает, что здесь может быть указан дескриптор, который затем обнаруживается при обработке схемы маршрутов, и выполняются соответствующие действия. Суммированный маршрут инъектируется в домен OSPF как LSA type 5

Параметр Описание
ip address Агрегированный адрес.
mask Агрегированная маска.
not-advertise (Опционально) Не объявлять маршрут при помощи LSA третьего типа (скрыть маршруты в составляющие сети).
tag tag (Опционально) Метка, которую можно использовать в маршрутных картах, для контроля редистрибуции.

Пример конфигурации суммирования внешних маршрутов на ASBR

400px-OSPF summary4.png

На рисунке изображена ситуация, при которой маршруты пересылаются из автономной системы, работающей под управлением протокола динамической маршрутизации RIPv2, в систему, построенную на базе OSPF.

Конфигурация маршрутизатора R1:

R1(config)# router ospf 1
R1(config-router)# network 172.16.64.1 0.0.0.0 area 1
R1(config-router)# summary-address 172.16.32.0 255.255.224.0

Так как в внешней автономной системе блок подсетей последовательный, без разрывов, то он вполне успешно суммируется в один маршрут, заменяющий исходные 32. Вместо 32-х LSA пятого типа, в сеть пересылается только 1.

На рисунке не отображена конфигурация редистрибуции RIPv2.

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

Некоторые характеристики virtual link:

  • Работа hello-протокола в virtual link не отличается от его работы при обычных соединениях.
  • Через virtual link маршрутизаторы могут установить отношения соседства также как и в случае, если они непосредственно присоединены друг к другу.
  • В LSA, которые отправляются через virtual link, устанавливается опция DoNotAge (DNA).
  • Virtual link находится в area 0.

Двухуровнеувая иерархия протокола OSPF требует, чтобы все области соединялись с магистралью (area 0) напрямую. Все немагистральные зоны должны передают маршруты в магистральную зон затем, чтобы они были переданы в другие зоны. Виртуальный канал — это связь, которая позволяет соединить несмежные части магистрали между собой, либо присоединить к магистрали какую-либо область через промежуточную область.
Рекомендуется использовать данную возможность OSPF в достаточно специфических случаях, например при временном соединении областей или на время восстановления сети в случае сбоев. Не следует использовать виртуальные каналы как средство соединения областей при дизайне сети , рекомендуется избегать их по возможности.

Виртуальные каналы - это часть стандарта OSPF. Поддерживаются маршрутизаторами Cisco с IOS 10.0

Ниже перечислены некоторые характеристики и приведены рекомендации по использованию виртуальных каналов.

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

На рисунке выше показан пример. Компания А и компания В сливаются в одну. Их магистральные сети ещё не имею прямого канала, в результате зона 0 не непрерывная. Строят логический канал между двумя ABR'ами, маршрутизатором А и В, через зону 1, не являющуюся магистралью. Маршрутизаторы на концах виртуального канала становятся частью магистрали и действуют как ABR'ы. В этом случае маршрутизаторы установят обычное соседство, разница лишь в том, что они не должны быть подключены напрямую. Для БД OSPF подключение между ABR1 и ABR2 будто напрямую. Для большей стабильности loopback-интерфейсы используются как ID, а виртуальные каналы созданы с использованием этих loopback-интерфейсов.

На рисунке выше показан ещё один пример, в котором к сети добавляется ещё одна немагистральная зона, причём прямой связи с зоной 0 нет. Создаётся логический канал между 20 зоной и магистралью. Hello-протокол работает через виртуальные каналы также, как и через обычные, с 10 секундным интервалом. Однако, LSA обновления работают по другому. LSA рассылаются каждые 30 минут. Тем не менее LSA, которые маршрутизатор получает через виртуальный канал имеют опцию DoNotAge (DNA), так что эти LSA не устаревают. Для DNA нужно ограничивать рассылку через виртуальный канал.

Настройка виртуальных соединений

Для определения виртуального канала используется команда area area-id virtual-link router-id [hello-interval seconds] [retransmit-interval seconds] [transmit-delay seconds] [dead-interval seconds] [autentication [message-digest | null ]] [[autentication-key key] | [message-digest-key key-id md5 key]

  • area-id - определяет area ID транзитной зоны для виртуального канала. Значение может быть или целым или с точкой (как ip адрес). Значения по умолчанию нет. Stub-area не может быть транзитной зоной.
  • router-id - идентификатор маршрутизатора — соседа по виртуальному каналу. Для нахождения такого идентификатора следует использовать команду show ip ospf (см. примерниже);
  • [hello-interval seconds] - (Опционально) частота отправки hello-пакетов на интерфейсе. По умолчанию равно 10 секундам. Должно совпадать на всех маршрутизаторах в сети, должно быть целым и не отрицательным.
  • [retransmit-interval seconds] - (Опционально) - частота повторной отправки LSA на интерфейсе для соседних (neighbouring) маршрутизаторов. Интервал должен быть больше, чем ожидаемая round-trip delay межд двумя любыми маршртизаторами, on the attached network. Значение по умолчанию равно 5 сек.
  • [transmit-delay seconds] (Опционально) - время, требуемое для отправки link state update (LSU) , должно быть больше 0, по умолчанию - 1 сек. LSA в пакете обновления имею свой таймер (age), который перед отправкой увеличивается на это значение.
  • [dead-interval seconds] - (Опционально) время, после истечения которого соседний маршрутизатор считается вышедшим из строя, если от него не приходят hello- пакеты
  • [autentication] – (Опционально) тип аутентификации
  • [message-digest] - (Опционально) аутентификация по хеш
  • [null] - (Опционально) отменяет аутентификацию по паролю или по MD5, если она сконфигурированная для зоны. Аутентификация не используется.
  • [autentication-key key] — (Опционально) Указывает пароль, используемый соседними маршрутизаторами для simple password authntication. Любое слово до 8 символов, значения по умолчанию нет.
  • [message-digest-key key-id md5 key] - идентификатор ключа key ID (1-255) и пароль (key) для аутентификации с использованием MD-5 хеша между локальным маршрутизатором и соседями. Значение по умолчанию отсутствует.


remoterouter#show ip ospf
Routing process "ospf 1000" with ID 10.2.2.2
Supports only sigle TOS(TOS0) routes
Supports opaque LSA
Supports Link-local Signaling (LLS)
Supports area transit capability
it is an area border router
<output omitted>

На рисунке ниже показан пример, где виртуальный канал используется как резервный, как временная мера для подключения к зоне 0. Маршрутизаторы А и В "направлены" друг на друга (указан ID соседа).

550px-OSPF virtual link3.png

Проверка работоспособности виртуальных соединений

Команда show ip ospf virtual-links используется для проверки работы виртуальных каналов.

RouterA#show ip ospf virtual-links
Virtual Link OSPF_VL0 to router 10.2.2.2 is up
  Run as demand circuit
  DoNotAge LSA allowed.
  Transit area 1, via interface Serial0/0/1, Cost of using 781
  Transmit Delay is 1 sec, State POINT_TO_POINT,
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 00:00:07
    Adjacency State FULL (Hello suppressed)
    Index 1/2, retransmission queue length 0, number of retransmission 1
    First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0)
    Last retransmission scan length is 1, maximum is 1
    Last retransmission scan time is 0 msec, maximum is 0 msec
RouterA#

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

  • show ip ospf neighbor
  • show ip ospf database
  • debug ip ospf adj



В примере выше виртуальный канал работает (up), используется транзитная зона 1.

Параметр Описание
Virtual Link OSPF_VL0 to router 10.2.2.2 is up Specifies the OSPF neighbor and whether the link to that neighbor is up or down
Transit area 1 Specifies the transit area through which the virtual link is formed
Via interface Serial0/0/1 Specifies the interface through which the virtual link is formed
Cost of using 781 Specifies the cost of reaching the OSPF neighbor through the virtual link
Transmit Delay is 1 sec Specifies the transmit delay on the virtual link
State POINT_TO_POINT Specifies the state of the OSPF neighbor
Timer intervals configured Specifies the various timer intervals configured for the link
Hello due in 0:00:07 Specifies when the next hello is expected from the neighbor
Adjacency State FULL Specifies the adjacency state between the neighbors
RouterA#show ip ospf neighbor
Neighbor ID     Pri   State       Dead Time   Address      Interface
10.200.200.13     1   FULL/DR     00:00:33    10.1.1.3     FastEthernet0/0
10.2.2.2          0   FULL/  -       -        172.16.1.2   OSPF_VL0   <---В состоянии полной синхронизации
10.2.2.2          0   FULL/  -    00:00:32    172.16.1.2   Serial0/0/1
RouterA#
RouterA#show ip ospf database router 10.2.2.2 

            OSPF Router with ID (10.1.1.1) (Process ID 1000)
            
                Router Link States (Area 0)
 Routing Bit Set on this LSA
 LS age: 1 (DoNotAge)
 Options: (No TOS-capability, DC)
 LS Type: Router Links
 Link State ID: 10.2.2.2
 Advertising Router: 10.2.2.2
 LS Seq Number: 80000003
 Checksum: 0x8380
 Length: 48
 Area Border Router
 Number of Links: 2

   Link connected to: a Virtual Link
    (Link ID) Neighboring Router ID: 10.1.1.1
    (Link Data) Router Interface address: 172.16.1.2
     Number of TOS metrics: 0
      TOS 0 Metrics: 781
continues
   Link connected to: a Transit Network
    (Link ID) Designated Router address: 10.1.2.2
    (Link Data) Router Interface address: 10.1.2.2
     Number of TOS metrics: 0
      TOS 0 Metrics: 1
                Router Link States (Area 1)  

 Routing Bit Set on this LSA
 LS age: 1688
 Options: (No TOS-capability, DC)
 LS Type: Router Links
 Link State ID: 10.2.2.2
 Advertising Router: 10.2.2.2
 LS Seq Number: 80000008
 Checksum: 0xCC81
 Length: 48
 Area Border Router
 Virtual Link Endpoint
 Number of Links: 2

   Link connected to: another Router (point-to-point)
    (Link ID) Neighboring Router ID: 10.1.1.1
    (Link Data) Router Interface address: 172.16.1.2
     Number of TOS metrics: 0
      TOS 0 Metrics: 781 

   Link connected to: a Stub Network
    (Link ID) Network/subnet number: 172.16.1.0
    (Link Data) Network Mask: 255.255.255.0
     Number of TOS metrics: 0
      TOS 0 Metrics: 781 


RouterA#

OSPF LSDB для виртуальных соединений

Ниже представлен другой пример сети.

R1#
interface Loopback0
ip address 1.1.1.1 255.0.0.0

interface Ethernet2/0/0
ip address 172.16.0.1 255.255.0.0
interface Serial2/1/0
ip address 172.17.0.1 255.255.0.0 

router ospf 2
network 172.16.0.0 0.0.255.255 area 0
network 172.17.0.0 0.0.255.255 area 1
area 1 virtual-link 3.3.3.3

R3#
interface Loopback0
ip address 3.3.3.3 255.0.0.0

interface Ethernet0/0
ip address 172.19.0.3 255.255.0.0

interface s2/0.20 point-to-point
ip address 172.18.0.3 255.255.0.0 

router ospf 2
network 172.19.0.0 0.0.255.255 area 2
network 172.18.0.0 0.0.255.255 area 1
area 1 virtual-link 1.1.1.1

Пример иллюстрирует вывод команды show ip ospf database на маршрутизаторе R1. LSA 1 и LSA 3 анонсируют маршруты друг другу.(The router link states are type 1 LSAs and the summary net link states are type 3 LSAs, advertising routes from one are to another). Обратите внимание, что LSA, полученный через виртуальный канал имеют опцию DoNotAge (DNA). Виртуальный канал следует рассматривать как канал, активизируемый по требованию (demand circuit).


R1#show ip ospf database
      OSPF Router with ID (1.1.1.1) (Process ID 2)
            
                Router Link States (Area 0)

Link ID   ADV Router  Age      Seq#       Checksum  Link count
1.1.1.1    1.1.1.1     919      0x80000003 0xD5DF         2
3.3.3.3    3.3.3.3     5  (DNA) 0x80000002 0x3990         1
            
                Summary Net Link States (Area 0)

Link ID   ADV Router  Age      Seq#       Checksum
172.17.0.0 1.1.1.1     1945     0x80000002 0xAA48
172.17.0.0 3.3.3.3     9  (DNA) 0x80000001 0x7A70
172.18.0.0 1.1.1.1     1946     0x80000002 0xA749
172.18.0.0 3.3.3.3     9  (DNA) 0x80000001 0xEA3F
172.19.0.0 3.3.3.3     9  (DNA) 0x80000001 0xF624
            
                Router Link States (Area 1)

Link ID  ADV Router  Age      Seq#       Checksum  Link count
1.1.1.1   1.1.1.1     1946     0x80000005 0xDDA6         2
2.2.2.2   2.2.2.2     10       0x80000009 0x64DD         4
3.3.3.3   3.3.3.3     930      0x80000006 0xA14C         2
            
                Summary Net Link States (Area 1)

Link ID   ADV Router  Age      Seq#        Checksum
172.16.0.0 1.1.1.1     1947     0x80000002 0x9990
172.16.0.0 3.3.3.3     911      0x80000001 0xEBF5
172.19.0.0 1.1.1.1     913      0x80000001 0xBF22
172.19.0.0 3.3.3.3     931      0x80000001 0xF624

Маршрутизатор R3 является ARB, так как у него имеется канал (а именно virtual link) к зоне 0. Таким образом R3 генерирует суммированные LSA для 172.19.0.0 в зону 1 и зону 0 (показано ниже в выводе команды ip ospf database summary).


R3#show ip ospf database summary 172.19.0.0 

       OSPF Router with ID (3.3.3.3) (Process ID 2)
                Summary Net Link States (Area 0)

 LS age: 1779
 Options: (No TOS-capability, DC)
 LS Type: Summary Links(Network)
 Link State ID: 172.19.0.0 (summary Network Number)
 Advertising Router: 3.3.3.3
 LS Seq Number: 80000001
 Checksum: 0xF624
 Length: 28
 Network Mask: /8
        TOS: 0  Metric: 10
             
                Summary Net Link States (Area 1)   

 LS age: 1766
 Options: (No TOS-capability, DC)
 LS Type: Summary Links(Network)
 Link State ID: 172.19.0.0 (summary Network Number)
 Advertising Router: 1.1.1.1
 LS Seq Number: 80000001
 Checksum: 0xBF22
 Length: 28
 Network Mask: /8
        TOS: 0  Metric: 75 

 LS age: 1781
 Options: (No TOS-capability, DC)
 LS Type: Summary Links(Network)
 Link State ID: 172.19.0.0 (summary Network Number)
  Advertising Router: 3.3.3.3
 LS Seq Number: 80000001
 Checksum: 0xF624
 Length: 28
 Network Mask: /8
        TOS: 0  Metric: 10

Изменение метрики

Как вы уже знаете, по умолчанию на маршрутизаторах Cisco метрика для интерфейса расчитывается как обратная величина от параметра bandwidth. Дефолтная стоимость OSPF в маршрутизаторах Cisco расчитывается с использованием формулы (100)/(bandwidth), где bandwidth в Mbps. Эта формула также может быть записана в виде (10^8)/(bandwidth in bps). Значение cost 16-ти битное. Чем меньше стоимость, тем лучше маршрут. Например, 64-kbps канал имеет метрику 1562, а канал Т1 - 64. Однако, данная формула основана на максимальной bandwidth, равной 100 мбит, что в результате даёт 1. Если у вас есть более быстрые интерфейсы, вам нужно изменить cost = 1 для более быстрого линка.

Для манипуляции стоимостью используются комунда ip ospf cost, bandwidth и auto-cost reference-bandwidth.

Если используются интерфейсы, которые быстрее 100 мбит, тогда нужно командой auto-cost reference-bandwidth ref-bw на всех маршрутизаторах в сети откалибровать стоимость. Параметр rf-bw - это эталонная полоса пропускния в Мбит. Диапазон от 1 до 4294967. По умолчанию равно 100.

Например, в сети имеются интерфейсы Fast и Gigabit Ethernet, оба будут иметь стоимость 1, если используется значение по умолчанию. Командой auto-cost reference-bandwidth 10000 мы изменяем эталонное значение и получаем стоимость для 1 гбит 10, а для 100 Мбит - 100. Теперь стоимости разные.

Не забывайте использовать в режиме конфигурации интерфейса команду bandwidth value кбит/сек.

Чтобы задать стоимость в ручную, используйте команду в режиме конфигурирования интерфейса ip ospf cost interface-cost. Стоимость выбирается в диапазоне от 1 до 65535. Чем меньше значение, тем предпочтительнее канал.

Настройка специальных типов зон OSPF

Как уже было сказано, OSPF базируется на двухуровневой иерархической структуре - магистральной зоной и немагистральными. Каждая зона имеет собственную топологическую БД, которая не видна снаружи зоны. Маршрутизатор, принадлежащий нескольким зонам (ABR) имеет несколько топологических бд (LSDB), по одной для каждой из зон, к которым он относится. Все зоны должны быть подключены к магистральной напрямую или соединены с ней виртуальным каналом. Магистральная зона должна быть непрерывной (contiguous). Основная зона должна быть безразрывная, а неосновные зоны могут быть с разрывами.. В этой части объясняются специальные типы зон OSPF.

Основная цель любого типа stub-сети - внедрение (inject) маршрутов по-умолчанию в зону так, чтобы внешние и/или суммированные LSA не распространялись внутри зоны. Это сокращает размеры LSDB и таблиц маршрутизации роутеров.

Типы зон:

  • Standart area - содержит всю внутреннюю и внешнюю маршрутную информацию автономной системы (т.е. через неё проходят стандратные маршруты, статические, внутриобластные и внешние маршруты).
  • Backbone area - магистральная зона - зона с номером 0, к ней подключаются все остальные зоны для обмена маршрутной информацией. Имеет все свойства обычных зон.
  • Stub area - тупиковая зона - содержит маршрутную информацию зоны и внутреннюю автономной системы, не принимает информацию о внешних (от non-OSPF маршрутизаторов) маршрутах для автономной системы. Если маршрутизатору требуется маршрут к внешней сети, то он использует default route 0.0.0.0. Тупиковая зона не содержит ASBR-маршрутизаторы (за исключением случая, когда ABR является также ASBR).
  • Totally stubby area - полностью тупиковая зона - проприетарный тип зоны, разработанный Cisco. Не принимает информацию о внешних маршрутах для автономной системы и суммированные маршруты (внешние из других зон). Если маршрутизаторам необходимо передавать информацию за пределы зоны, то они используют маршрут по умолчанию.
  • NSSA - не полностью тупиковая зона. Для распространения внешних маршрутов в пределах зоны NSSA был добавлен 7 тип LSA сообщений. Не принимают информацию о внешних по отношению к AS (т.е. от non-ospf маршрутизаторов) маршрутах, вместо этого используют стандартный маршрут к внешним сетям. Сообщения данного типа объявляются ASBR маршрутизаторами и распространяются в приделах зоны NSSA. На пограничном маршрутизаторе все LSA 7 типа преобразуются в 5 тип LSA сообщений и распространяются по всему домену маршрутизации ОSPF.
  • Totally stubby NSSA - Проприетарный тип зон Cisco. разрешает несколько ASBR в зоне, но не пропускает внешние или суммированные маршруты из других зон. Маршрут по умолчанию используется для достижения внешних сетей.
Внимание!
Так как LSA 5, описывающие внешние маршруты от ASBR, не рассылаются в тупиковую зону, то
LSA 4, которые описывают маршрут к ASBR, также не рассылаются в них.

Зона считается тупиковой или полностью тупиковой, если:

  • Есть всего одна точка выхода из этой зоны. Или есть несколько выходов, когда один или несколько ASBR внедрили default маршруты в тупиковую зону и неоптимальная маршрутизация приемлима (suboptimal routing paths are acceptable). Другими словами, приемлемо если для достижения какой-то сети маршрут будет выходить через первую точку выхода и пролегать через зону на самом деле находящуюся дальше от получателя, чем если бы путь пролегал через другую точку выхода.
  • Все OSPF-маршрутизаторы внутри тупиковой зоны, включая ABR'ы, настроены как тупиковые маршрутизаторы. Все они должны быть настроены до того как станут соседями и обменяются маршрутной информацией.
  • Зона не используется как промежуточная для виртуальных каналов.
  • В зоне нет ASBR
  • Зона не является магистральной.

Обычно используются в топологии Звезда.

Настройка Stub-зон

  • Typically used in a hub-and-spoke network.
  • Area does not accept external summary routes from non-OSPF sources (e.g., RIP, EIGRP).
    • Specifically, it does not accept Types 4 and 5 LSAs.
    • A default route (0.0.0.0) is propagated throughout the area to send a packet to an external network.

  • Настройка тупиковой зоны сокращает размер LSDB внутри зоны => сокращаются требования к памяти маршрутизаторов в зоне.
  • Реже запускается SPF-алгоритм.
  • External network LSA 5, от перераспределения маршрутов из других протоколов маршрутизации в OSPF, не проходят в зону. LSA 4 также не разрешены. Для достижения внешних сетей (не OSPF) используется маршрут по умолчанию (т.е. пакет пересылается ABR'у).
450px-OSPF special areas stub.png
  • Шаг 1 - Настроить на всех маршрутизаторах в зоне OSPF.
  • Шаг 2 - Задать на всех (и на ABR) маршрутизаторах команду area area-id stub. area-id - число или как ip адрес.
  • Шаг 3 - по-умолчанию на ABR для тупиковой или полностью тупиковой зоны маршрут по-умолчанию имеет стоимость = 1. The acceptable values are 0 through 16777215.

Чтобы изменить стоимость по-умолчанию используйте команду area area-id default-cost cost. Применяется только на ABR.

Внимание!
Маршрутизаторы не станут соседями, если на них не совпадают флаги stub-сети.
400px-OSPF special areas stub2.png

Router R3:

R3(config)#interface FastEthernet0/0
R3(config-if)#ip address 192.168.14.1 255.255.255.0
R3(config)#interface Serial 0/0/0
R3(config-if)#ip address 192.168.15.1 255.255.255.252
R3(config)#router ospf 100
R3(config-router)#network 192.168.14.0.0 0.0.0.255 area 0
R3(config-router)#network 192.168.15.0.0 0.0.0.255 area 2
R3(config-router)#area 2 stub

Router R4:

R4(config)#interface Serial 0/0/0
R4(config-if)#ip address 192.168.15.2 255.255.255.252
R4(config)#router ospf 100
R4(config-router)#network 192.168.15.0.0 0.0.0.255 area 2
R4(config-router)#area 2 stub

Маршрутизатор R3 (ABR) автоматически анонсирует 0.0.0.0 со стоимостью 1 в тупиковую зону.

Маршруты в таблице маршрутизации R4 следующие:

  • Intra-area (внутриобластные) маршруты, которые помечены значком O в таблице.
  • Маршрут по-умолчанию и inter-area (межзонные) маршруты. Оба типа помечены IA. Маршрут по умолчанию также помечается *-звёздочкой (O*IA).

Настройка Totally Stubby зон

Фича Cisco-маршрутизаторов, сокращающая размеры таблиц маршрутизации. Блокирует external type LSA 5, summary type 3 и LSA 4 (внутризонные маршруты inter-area) от распространения в зону (см. рис.)

480px-OSPF special areas total stub.png

Пропускаются в зону только внутризонный LSA1 и LSA2 (inter-area) маршруты и маршрут по-умолчанию 0.0.0.0. Total stubby зоны минимизируют маршрутную информацию больше, чем протос stub-зоны и увеличивают стабильность и масштабируемость сети OSPF. Обычно лучше использовать Total stubby area, если ABR-маршрутизатор Cisco.

Для настройки сделать следующее:

  • Шаг 1 - Настроить OSPF на всех маршрутизаторах зоны;
  • Шаг 2 - На всех маршрутизаторах настроить зону как тупиковую командой
area area-id stub 
  • Шаг 3 - Только на ABR добавить параметр no-summary
Router(config-router)#
area area-id stub no-summary //останавливает рассылку summary LSA (в дополнении к external LSA)
  • Шаг 3 - Опционально на ABR настроить стоимость маршрута по-умолчанию.

На рисунке выше показан пример топологии. All routes advertised into area 1(from area 0 and the external autonomous system) default to 0.0.0.0. На R2 маршрут по-умолчанию имеет стоимость 5, на R4 - 10. Оба маршрута по-умолчанию анонсированны в зону 1. Тем не менее маршрут от R2 имеет меньшую стоимость, что делает его более предпочтительным, если внутренняя стоимость от R3 до R4 таже, что и стоимость от R3 до R2 (R3 - крайний правый маршрутизатор).

Router R2:

R2(config)#router ospf 10
R2(config-router)#network 172.17.0.0 0.0.255.255 area 0
R2(config-router)#network 172.16.0.0 0.0.255.255 area 1
R2(config-router)#area 1 stub no-summary
R2(config-router)#area 1 default-cost 5

Router R3:

R3(config)#router ospf 10
R3(config-router)#network 172.16.0.0 0.0.255.255 area 1
R3(config-router)#area 1 stub

Router R4:

R4(config)#router ospf 10
R4(config-router)#network 172.17.0.0 0.0.255.255 area 0
R4(config-router)#network 172.16.0.0 0.0.255.255 area 1
R4(config-router)#area 1 stub no-summary
R4(config-router)#area 1 default-cost 10
  • Notice that R4 still requires the area 1 stub command, yet the no-summary keyword is not required.
  • Only ABRs (R3) use the no-summary keyword to keep summary LSAs from being propagated into another area.

Интерпретация таблиц маршрутизации в различных типах зон OSPF

Пример ниже показывает как может выглядеть таблица маршрутизации маршрутизатора OSPF в стандартной зоне (без stub). Intra-area (O), interarea (O IA) и external маршруты (O E1 и O E2) могут быть в стандартной зоне.

RouterA#show ip route
<output omitted>

Gateway of last resort is not set
     172.31.0.0/32 is subnetted, 4 subnets
O IA    172.31.22.4 [110/782] via 10.1.1.1, 00:02:44, FastEthernet0/0
O IA    172.31.11.1 [110/1] via 10.1.1.1, 00:02:44, FastEthernet0/0
O IA    172.31.11.2 [110/782] via 10.1.3.4, 00:02:52, Serial0/0/0
                    [110/782] via 10.1.1.1, 00:02:52, FastEthernet0/0
O IA    172.31.11.4 [110/782] via 10.1.1.1, 00:02:44, FastEthernet0/0
     10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
O       10.11.0.0/24 [110/782] via 10.1.1.1, 00:03:22, FastEthernet0/0
C       10.200.200.13/32 is directly connected, Loopback0
C       10.1.3.0/24 is directly connected, Serial0/0/0
O       10.1.2.0/24 [110/782] via 10.1.3.4, 00:03:23, Serial0/0/0
C       10.1.1.0/24 is directly connected, FastEthernet0/0
O       10.1.0.0/24 [110/782] via 10.1.1.1, 00:03:23, FastEthernet0/0
O E2    10.254.0.0/24 [110/50] via 10.1.1.1, 00:02:39, FastEthernet0/0
RouterA#

Пример ниже показывает уже как выглядела бы таблица, если бы настроили stub. Intra-area (O), interarea (O IA) остаются, а external маршруты (O E1 и O E2) не видны в таблице маршрутизации. Эти маршруты доступны через interarea default маршрут (O*AI).

RouterA#show ip route
<output omitted>

Gateway of last resort is 10.1.1.1 to network 0.0.0.0 // <------------
       172.31.0.0/32 is subnetted, 4 subnets
O IA    172.31.22.4 [110/782] via 10.1.1.1, 00:01:49, FastEthernet0/0
O IA    172.31.11.1 [110/1] via 10.1.1.1, 00:01:49, FastEthernet0/0
O IA    172.31.11.2 [110/782] via 10.1.3.4, 00:01:49, Serial0/0/0
                    [110/782] via 10.1.1.1, 00:01:49, FastEthernet0/0
O IA    172.31.11.4 [110/782] via 10.1.1.1, 00:01:49, FastEthernet0/0
       10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
O       10.11.0.0/24 [110/782] via 10.1.1.1, 00:01:50, FastEthernet0/0
C       10.200.200.13/32 is directly connected, Loopback0
C       10.1.3.0/24 is directly connected, Serial0/0/0
O       10.1.2.0/24 [110/782] via 10.1.3.4, 00:01:50, Serial0/0/0
C       10.1.1.0/24 is directly connected, FastEthernet0/0
O       10.1.0.0/24 [110/782] via 10.1.1.1, 00:01:50, FastEthernet0/0
O*IA 0.0.0.0/0 [110/2] via 10.1.1.1, 00:01:51, FastEthernet0/0 // <------------
RouterA#

Пример ниже показывает как выглядела бы таблица, если бы сделали суммирование на ABR. Зона всё также настроена как stub. Маршруты Intra-area (O) и суммированные interarea (O IA) остаются. В примере два маршрута 172.31.11.1 и 172.31.11.2 суммированны до 172.31.11.0/24. Внешние (external) маршруты не видны в таблице, но доступны через маршрут по умолчанию.

RouterA#show ip route
<output omitted>

Gateway of last resort is 10.1.1.1 to network 0.0.0.0
      172.31.0.0/16 is variably subnetted, 2 subnets, 2 masks
O IA    172.31.22.4/32 [110/782] via 10.1.1.1, 00:13:08, FastEthernet0/0
O IA    172.31.11.0/24 [110/1] via 10.1.1.1, 00:02:39, FastEthernet0/0
      10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
O       10.11.0.0/24 [110/782] via 10.1.1.1, 00:13:08, FastEthernet0/0
C       10.200.200.13/32 is directly connected, Loopback0
C       10.1.3.0/24 is directly connected, Serial0/0/0
O       10.1.2.0/24 [110/782] via 10.1.3.4, 00:13:09, Serial0/0/0
C       10.1.1.0/24 is directly connected, FastEthernet0/0
O       10.1.0.0/24 [110/782] via 10.1.1.1, 00:13:09, FastEthernet0/0
O*IA 0.0.0.0/0 [110/2] via 10.1.1.1, 00:13:09, FastEthernet0/0

RouterA#

Ниже вы можете видеть ту же таблицу, только если был бы настроен тип totally stubby area. Маршруты Intra-area (O) присутствуют. Interarea (O IA) и external (O E1 и O E2) не видны в таблице, но доступны через default route O*IA.

RouterA#show ip route
<output omitted>

Gateway of last resort is 10.1.1.1 to network 0.0.0.0
10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
O       10.11.0.0/24 [110/782] via 10.1.1.1, 00:16:53, FastEthernet0/0
C       10.200.200.13/32 is directly connected, Loopback0
C       10.1.3.0/24 is directly connected, Serial0/0/0
O       10.1.2.0/24 [110/782] via 10.1.3.4, 00:16:53, Serial0/0/0
C       10.1.1.0/24 is directly connected, FastEthernet0/0
O       10.1.0.0/24 [110/782] via 10.1.1.1, 00:16:53, FastEthernet0/0
O*IA 0.0.0.0/0 [110/2] via 10.1.1.1, 00:00:48, FastEthernet0/0
RouterA#

Настройка NSSA-зон

OSPF NSSA описываются в RFC 3101. Не совсем тупиковая зона (NSSA) - это общедоступное расширение существующей тупиковой зоны, которое позволяет ограниченно вводить внешние маршруты в тупиковую зону.

Перераспределение в NSSA создает специальный тип LSA (тип 7), который может существовать только в NSSA. ASBR зоны NSSA (на рисунке - NSSA1) генерирует этот LSA, а ABR зоны NSSA транслирует этот LSA в LSA типа 5, который распространяется в OSPF домене. LSA типа 7 имеет установленный Р-бит в заголовке LSA для предотвращения петель распространения между NSSA и основной зоной. LSA типа 7 имеют тот же формат, что и LSA типа 5.

NSSA сохраняет другие функции тупиковой зоны - ABR отправляет маршрут по умолчанию вместо внешних маршрутов других ASBR (на рисунке - ASBR2). Разрешает ASBR быть внутри зоны (вспомните правило для stub, когда в зоне не может быть ASBR).

Маршрутизаторы, работающие в NSSA зонах, устанавливают N-бит чтобы сигнализировать, что они поддерживают LSA типа 7. Бит проверяется в процессе установления соседства, он должен совпадать, иначе отношения не установятся.

Link-state ID в LSA тип 7 - номер external сети. Как и в случае LSA 5, из-за пределов распространения (flooding scope) и в зависимости от количества внешних сетей, по умолчанию, отсутствие суммирования маршрутов может быть серьёзной проблемой этих LSA.

LSA типа 7 показываются в таблице маршрутизации как O N2 или O N1 (N означает NSSA). N1 означает, что метрика вычисляется как у внешних маршрутов типа 1, а N2 - как у внешних маршрутов типа 2. По умолчанию - O N2. (источник http://mcp1971.livejournal.com/8332.html).

405px-OSPF special areas total nssa.png

Для настройки NSSA:

Router(config-router)#
area area-id nssa no-redistribution] [default-information-originate]
[metric metric-value] [metric-type type-value] [no-summary]

Где:

  • area-id - идентификатор для NSSA. Может быть десятичным или с точкой, как ip адрес.
  • no-redistribution - (Опционально) Используется, когда маршрутизатор NSSA ABR и вам нужно перераспределить маршруты только в стандартную зону, но не в зону NSSA. Т.е. когда маршрутизатор одновременно является и ABR, и ASBR, и присоединен к NSSA, то по-умолчанию он объявляет любые перераспределенные (redistributed) маршруты в эту NSSA. Команда подавляет внедрение внешних маршрутов в зону NSSA.
  • default-information-originate - (Опционально) Используется для генерации type 7 default LSA в NSSA зону. Данный параметр влияет только на NSSA ABR и NSSA ASBR.
  • metric metric-value - (Опционально)Метрика, используемая для генерации default маршрутов. Значение от 0 до 16777214.
  • metric-type metric-type - (Опционально) Тип метрики OSPF для default маршрутов. Может быть или 1 (type 1 external route) или 2 (type 2 external route).
  • no-summary - (Опционально)Параметр для totally stubby NSSA, которые тоже самое что NSSA, но не разрешает внедрять суммированные маршруты в зону.
405px-OSPF special areas total nssa2.png

На рисунке выше R1 - ASBR, который перераспределяет маршруты RIP в зону 1 NSSA. R2 - NSSA ABR. NSSA ABR конвертирует LSA 7 в LSA 5 для анонсирования в магистральную зону 0. На R2 настроено суммирование LSA 5, которые приходят от RIP сети, - это подсети 172.16.0.0 - до 172.16.0.0/16, и анонсировать этот суммированный маршрут в зону 0. Чтобы заставить R2 (NSSA ABR) генерировать O*N2 default route (O*N2 0.0.0.0/0) в NSSA используется параметр default-information-originate в команде area area-id nssa на маршрутизаторе R2.

Router R1:
R1(config)#router ospf 10
R1(config-router)#redistribute rip subnets
R1(config-router)#default metric 150
R1(config-router)#network 172.17.0.0 0.0.255.255 area 1
R1(config-router)#area 1 nssa
Router R2:
R2(config)#router ospf 10
R2(config-router)#summary-address 172.16.0.0 255.255.0.0
R2(config-router)#network 172.17.20.0 0.0.0.255 area 1
R2(config-router)#network 172.17.0.0 0.0.255.255 area 0
R2(config-router)#area 1 nssa default-information-originate

OSPF NSSA LSDB

На рисунке ниже для иллюстрации NSSA LSDB показан другой пример сети.

R1#:

interface Loopback0
ip address 1.1.1.1 255.0.0.0
interface Serial2/1/0
ip address 172.17.0.1 255.255.0.0
interface Ethernet2/0/0
ip address 172.16.0.1 255.255.0.0
router ospf 4
redistribute static metric 5 metric-type 1
network 172.17.0.0 0.0.255.255 area 1
network 172.16.0.0 0.0.255.255 area 1
area 1 nssa
ip route 172.19.0.0 255.255.0.0 172.16.0.2

R2#:

interface Loopback0
ip address 2.2.2.2 255.0.0.0
interface Serial0/1/0
ip address 172.17.0.2 255.255.0.0
interface s1/0.20 point-to-point
ip address 172.18.0.2 255.255.0.0
router ospf 2
network 172.17.0.0 0.0.255.255 area 1
network 172.18.0.0 0.0.255.255 area 0
area 1 nssa

R3#

interface Loopback0
ip address 3.3.3.3 255.0.0.0
interface s2/0.20 point-to-point
ip address 172.18.0.3 255.255.0.0
router ospf 2
network 172.18.0.0 0.0.255.255 area 0

Зона 1 настроена как NSSA. R1 является ASBR и перераспределяет статические маршруты в OSPF зону. R2 - ABR и он подключён к NSSA area 1 и магистральной зоне. Router link states - LSA1 Summary net link states - LSA3. Для анонсов external маршрутов в NSSA ASBR R1 создаёт LSA 7. ABR конвертирует LSA 7 в LSA 5 и распространяет их в другие зоны.

R2#show ip ospf database
            OSPF Router with ID (2.2.2.2) (Process ID 2)

                   Router Link States (Area 0)

Link ID   ADV Router    Age    Seq#           Checksum     Link count
2.2.2.2    2.2.2.2      1235   0x8000001D     0xD9FF           2
3.3.3.3    3.3.3.3      1100   0x8000000B     0x9455           2

            Summary Net Link States (Area 0)

Link ID    ADV Router   Age    Seq#        Checksum
172.16.0.0  2.2.2.2     1979   0x80000002   0xFDE7
172.17.0.0  2.2.2.2     1483   0x80000004   0x8864

              Router Link States (Area 1)

Link ID   ADV Router   Age    Seq#         Checksum     Link count
1.1.1.1    1.1.1.1     319    0x8000000C     0xAFA8           3
2.2.2.2    2.2.2.2     220    0x8000002F     0xD478           2

            Summary Net Link States (Area 1)

Link ID   ADV Router   Age    Seq#          Checksum
172.18.0.0 2.2.2.2     1483   0x8000001C     0x7894

         Type-7 AS External Link States (Area 1)

Link ID   ADV Router   Age    Seq#        Checksum     Tag
172.19.0.0 1.1.1.1     334    0x80000005    0xD738        0

            Type-5 AS External Link States

Link ID   ADV Router   Age    Seq#         Checksum     Tag
172.19.0.0 2.2.2.2     1725   0x80000004    0x50C6        0

Обратите внимание, что не используются summary LSA 4, так как ABR, не ASBR, генерирует external LSA 5 и он доступен в зоне 0. В противоположность, если зона была стандартная, то ASBR генерировал бы LSA 5, а ABR генерировал LSA 4 (которые описывают как другие маршрутизаторы могут достичь ASBR).

Настройка Totally Stubby NSSAs

  • Cisco proprietary solution to NSSA.
  • Area does not accept external AS routes or inter-area routes.
    • Блокирует LSA 3, 4 и 5.
    • Пропускает только intra-area маршруты и default route 0.0.0.0.
    • default route (0.0.0.0) распространяется в зону.
  • The ABR of a totally stubby NSSA must be configured with the no-summary keyword to prevent the flooding of summary routes for other areas into the NSSA area.

  • Шаг 1 - настроить на всех маршрутизаторах OSPF.
  • Шаг 2 - area area-id nssa [no-redistribution] [default-information-originate]

[metric metric-value] [metric-type type-value] [no-summary]

  • Шаг 3 - Только на ABR добавить параметр no-summary в команду area nssa.
  • Шаг 4 - Опционально настроить стоимость маршрута по-умолчанию на ABR.
R1(config)# router ospf 10
R1(config-router)# redistribute rip subnets
R1(config-router)# default metric 150
R1(config-router)# network 172.17.0.0 0.0.255.255 area 1
R1(config-router)# area 1 nssa
R1(config-router)#
R2(config)# router ospf 10
R2(config-router)# summary-address 172.16.0.0 255.255.0.0
R2(config-router)# network 172.17.20.0 0.0.0.255 area 1
R2(config-router)# network 172.17.0.0 0.0.255.255 area 0
R2(config-router)# area 1 nssa no-summary
R2(config-router)#

R2 автоматом генерирует O*N2 default route в NSSA зону, если на ABR настроена опция no-summary, поэтому параметр default-information-originate не требуется.

How Does OSPF Generate Default Routes?

  • В зависимости от типа зоны
  • В стандартной зоне:
    • маршрутизаторы не генерируют автоматически маршрутов по-умолчанию.
    • обязательна команда default-information originate. По умолчанию эта команда генерирует E2 маршрут с link-state ID 0.0.0.0/0, которую делает ASBR.
    • Два пути внедрить маршрут по умолчанию в стандартную зону (см. ниже)
  • В stub и totally stubby зонах:
    • ABR автоматом генерирует суммированные LSA с link-state ID 0.0.0.0
    • default-information originate не требуется.
    • Это верно даже если ABR не имеет маршрутов по-умолчанию.
  • В NSSA зонах:
    • ABR по умолчанию не генерирует маршрут по-умолчанию =) (The ABR generates the default route, but not by default)
    • Чтобы заставить ABR генерировать маршрут по-умолчанию, используйте команду area area-id nssa default-information-originate.
  • В totally stubby NSSA:
    • ABR автоматом генерируют default route.

Команда default-information originate

Синтаксис команды:

(config-router)# default-information originate [always] [metric <metric-value> ] [metric-type <type-value>] [route-map <map-name>]

Характеристики команды для OSPF:

  • Информация распространяется только если маршрут по умолчанию присутствует в таблице маршрутизации (это можно обойти с помощью параметра always);
  • Перераспределяет любой маршрут по умолчанию найденный в таблице маршрутизации (статический или полученный по другому протоколу маршрутизации);
  • По умолчанию метрика маршрута будет 1, а тип маршрута — E2;
  • С параметром always OSPF может анонсировать маршрут по умолчанию независимо от того есть он в таблице маршрутизации или нет.

Дополнительная информация

  • [1] - Особенности работы External Type 1 и External Type 2 маршрутов в OSPF. Часть 1