Какой протокол динамической маршрутизации основан на технологии отслеживания состояния канала

Обновлено: 25.06.2024

Протокол RIP является дистанционно-векторным протоколом внутренней маршрутизации. Процесс работы протокола состоит в рассылке, получении и обработке векторов расстояний до IP-сетей, находящихся в области действия протокола, то есть в данной RIP-системе. Результатом работы протокола на конкретном маршрутизаторе является таблица, где для каждой сети данной RIP-системы указано расстояние до этой сети (в хопах) и адрес следующего маршрутизатора. Информация о номере сети и адресе следующего маршрутизатора из этой таблицы вносится в таблицу маршрутов, информация о расстоянии до сети используется при обработке векторов расстояний.

Этот протокол маршрутизации предназначен для сравнительно небольших и относительно однородных сетей. Маршрут характеризуется вектором расстояния до места назначения. Предполагается, что каждый маршрутизатор является отправной точкой нескольких маршрутов до сетей, с которыми он связан. Описания этих маршрутов хранится в специальной таблице, называемой маршрутной. Таблица маршрутизации RIP содержит по записи на каждую обслуживаемую машину (на каждый маршрут). Запись должна включать в себя:

  • IP -адрес места назначения.
  • Метрика маршрута (от 1 до 15; число шагов до места назначения).
  • IP -адрес ближайшего маршрутизатора по пути к месту назначения.
  • Таймеры маршрута.
  • Циклические маршруты.
  • Для подавления нестабильностей RIP должен использовать малое значение максимально возможного числа шагов (не более 16).
  • Медленное распространение маршрутной информации по сети создает проблемы при динамичном изменении маршрутной ситуации (система не поспевает за изменениями). Малое предельное значение метрики улучшает сходимость, но не устраняет проблему.

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

Недостатки RIP

  • RIP не работает с адресами субсетей. Если нормальный 16-бит идентификатор ЭВМ класса B не равен 0, RIP не может определить является ли не нулевая часть c убсетевым ID , или полным IP -адресом.
  • RIP требует много времени для восстановления связи после сбоя в маршрутизаторе (минуты). В процессе установления режима возможны циклы.
  • Число шагов важный, но не единственный параметр маршрута, да и 15 шагов не предел для современных сетей.

OSPF ( Open Shortest Path First ) — протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути Алгоритм Дейкстры (Dijkstra’s algorithm).

OSPF имеет следующие преимущества:

Протоколы внешней маршрутизации BGP и EGP

EGP (Exterior Gateway Protocol — протокол внешнего шлюза) был первым протоколом семейства TCP/IP, применяемым для организации взаимодействия автономных систем. Он до сих пор иногда используется. В EGP пограничный маршрутизатор АС не ищет соседей самостоятельно. Ему нужно заранее сообщить IP-адреса или полные доменные имена других пограничных маршрутизаторов, с которыми он будет обмениваться информацией.

BGP ( Border Gateway Protocol ) это протокол внешних маршрутизаторов , предназначенный для связи между маршрутизаторами в различных автономных системах. BGP заменяет собой старый EGP.

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

IP датаграмма в АС может принадлежать как к локальному траффику, так и к транзитному траффику. Локальный - это траффик у которого источник и пункт назначения находятся в одной AS . При этом IP адреса источника и назначения указывает на хосты, принадлежащие одной автономной системе. Весь остальной траффик называется транзитным. Основное преимущество использования BGP в Internet заключается в уменьшении транзитного траффика.

Автономная система может принадлежать к следующим категориям:

  • Ограниченная ( stub ) AS автономная система имеет единственное подключение к одной внешней автономной системе. В такой автономной системе присутствует только локальный траффик.
  • Многоинтерфейсная ( multihomed ) AS имеет подсоединение к нескольким удаленным автономным системам, однако по ней запрещено прохождение транзитного траффика.
  • Транзитная ( transit ) AS имеет подключение к нескольким автономным системам и в соответствии с ограничениями может пропускать через себя как локальный, так и транзитный траффик.

Общая топология Internet состоит из транзитных, многоинтерфейсных и ограниченных автономных систем. Ограниченные и многоинтерфейсные автономные системы не нуждаются в использовании BGP - они могут использовать EGP , чтобы обмениваться информацией о доступности с транзитными автономными системами.

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

BGP отличается от RIP или OSPF тем, что BGP использует TCP в качестве транспортного протокола. Две системы, использующие BGP , устанавливают TCP соединения между собой и затем обмениваются полными таблицами маршрутизации BGP . Обновления представляются в виде изменений таблицы маршрутизации (таблица не передается целиком).

BGP это протокол вектора расстояний, однако, в отличие от RIP (который объявляет пересылки к пункту назначения), BGP перечисляет маршруты к каждому пункту назначения (последовательность номеров автономных систем к пункту назначения). При этом исчезают некоторые проблемы, связанные с использованием протоколов вектора расстояний. Каждая автономная система идентифицируется 16-битным номером.

1. Основы IGP протокола OSPF класса Link-State или базовая настройка динамической маршрутизации на роутере Cisco

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

1.1 Введение

Первым протоколом динамической маршрутизации, о котором хотелось бы рассказать является OSPF. Почему OSPF? Потому что именно этот протокол применяется в локальных сетях для обмена маршрутной информацией чаще всего. Дело в том, что старичка RIP используют в основном некрофилы и микротикофилы, EIGRP — проприетарный протокол Cisco и для его работы вся сеть должна быть построена на оборудование этого вендора, BGP — хороший, гибкий, управляемый протокол, но заточен он не для маршрутизации внутри автономной системы, а между автономными системами, время сходимости у BGP значительно выше, нежели у трех других.

1.2 Основы протокола OSPF

На данный момент в мире две версии протокола OSPF: OSPFv2 и OSPFv3. Первая используется для динамической маршрутизации IPv4 (RFC 2328), вторая для IPv6 (RFC 2740). Вне зависимости от версии протокола OSPF относится к группе IGP протоколов, а это означает, что используется он в пределах одной автономной системы. Когда мы разберемся с тем, как работает OSPF, вы поймете, что этот протокол не применим для глобальной маршрутизации в силу естественных причин, связанных с производительностью роутеров, им просто не хватит вычислительной мощности, чтобы просчитать все маршруты Интернета по алгоритмам, применяющимся в OSPF.

В основе работы протокола OSPF лежит Алгоритм Дейксты или алгоритм поиска кратчайшего пути, отсюда, собственно и вытекает SPF (shortest path first). Для обмена информацией о маршрутах, а также для обмена дополнительной информацией, использует несколько разных типов пакет. Какие? Потом разберемся. Сейчас нам нужно для себя отметить, что пакеты OSPF инкапсулируются в IP-пакеты. Вы должны помнить, что у IP-пакета есть код вложения, увидев этот код, роутер поймет, что находится внутри IP-пакета, для OSPF зарезервирован код 89. Передача OSPF пакета может происходить как unicast, так и multicast, при этом используется два multicast адреса:

Ну и еще одна важна вещь, о которой стоит сказать. OSPF относится к протоколам типа Link-State, а это означает, что каждый маршрутизатор внутри автономной системы обладает полным представлением о том, как устроена его сеть на уровне IP протокола (то есть на сетевом уровне моделей TCP/IP и OSI 7), в дальнейшем мы убедимся, что это не так и поймем, почему это не так, опять же, всё упирается в производительность железок.

1.3 Терминология протокола OSPF

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

ПРЕДУПРЕЖДЕНИЕ: не пытайтесь заучить эти термины, лучше при прочтении возвращается к этому месту, если какое-то слово покажется вам незнакомым, смысла заучивать нет, все необходимое запомнится само по мере погружения в тему.

Для облегчения задачи мы разделим термины на три группые. Стоит добавить, что терминология OSPF является устоявшейся, но все равно некоторые вендоры могут вводить что-то свое, в этом случае рекомендую обращаться к документации вендора или в Google, там ответ вы точно найдете.

1.3.1 Основные термины протокола OSPF

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

Это были общие термины, относящиеся к протоколу OSPF

1.3.2 Соседи и отношения соседства в OSPF

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

  1. Сосед/соседи (neighbor/neighbors) – это два маршрутизатора, которые находятся в одной канальной среде, но это еще не всё. На интерфейсах этих маршрутизаторов, смотрящих друг на другу, должен быть включен и правильно настроен OSPF, то есть настройки должны быть консистентные с обеих сторон.
  2. Отношение соседства (adjacency) – маршрутизаторы в OSPF должны постоянно синхронизировать свои базы данных, в которых хранится информации о сети, если два маршрутизатора нормально обмениваются такой информацией, то можно сказать, что они имеют соседские отношения.
  3. Hello-протокол (hello-protocol) – для поиска соседей, установления соседства, а также для поддержания соседских отношений маршрутизаторы используют hello-пакеты.
  4. База данных соседей (neighbors database) – маршрутизатор должен знать всех своих соседей, чтобы в случае чего потыкать в них палочкой и что-нибудь уточнить или что-нибудь сообщить своим соседям, например, если появилась новая сеть. Для этих целей у маршрутизаторов есть список соседей, иногда этот список называется neighbors table.

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

1.3.3 Виды пакетов в OSPF

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

Теперь вы знаете пакеты, которыми обмениваются маршрутизаторы при взаимодействие по протоколу OSPF.

1.4 Как работает протокол OSPF: краткая теория и практика на примере маршрутизаторов Cisco.

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

1.4.1 Схема для демонстрации и настройки IP-протокола на маршрутизаторе

Начнем с того, что я покажу вам схему, с которой мы будем работать и IP-адреса, которые будем использовать. Схему я собирал в EVE-NG, дамп трафика делал при помощи Wireshark, в качестве Telnet клиента я использую SecureCRT. Сама схема показана ниже.

1.1 Схема для демонстрации базовой настройки протокола OSPF на оборудование Cisco

Да, вот так незамысловато. Два роутера, два интерфейса, они подписаны на рисунке. На физическом интерфейсе RO1 я буду использовать IP-адрес 10.0.0.1/24, а на физическом интерфейсе RO2 10.0.0.2/24, у каждого роутера есть Loopback интерфейс, цель которых – имитировать клиентские сети. Если вам так неудобно, то представьте, что к роутеру RO1 подключен компьютер с IP-адресом 1.1.1.1, а к роутеру RO2 подключен компьютер с адресом 2.2.2.2.

RIP, OSPF, BGP, протокол динамической маршрутизации, автономный домен AS

Связанные учебные материалы

содержание

1. Введение в протокол динамической маршрутизации

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

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

В таких системах, как Интернет, в настоящее время используется множество различных протоколов маршрутизации. Интернет организован в группу автономных систем (AS, автономные системы), и каждая автономная система обычно управляется одним объектом. Компания или университетский городок часто определяется как автономная система. Все маршрутизаторы в автономной системе находятся под единым управлением.

Для автономных доменных AS протоколы динамической маршрутизации можно классифицировать в соответствии со следующими стандартами:

Затем давайте по очереди изучим протоколы RIP, OSPF и BGP.

2. RIP (протокол маршрутной информации)


В протоколе RIP два разных состояния 5-го и 6-го полей определяют тип и функцию текущей дейтаграммы RIP.

Поля 5 и 6 - это идентификатор семейства адресов (2): текущая дейтаграмма содержит информацию о маршрутизации.



Поля 5 и 6 - 0xFFFF (2): текущая дейтаграмма содержит информацию аутентификации RIP.


0x2: рабочий механизм RIP

Давайте посмотрим на результаты нормальной работы маршрутизируемой программы по протоколу RIP. Обычно используемый номер порта UDP для RIP - 520.

0x3: дефект RIP

3. OSPF (сначала откройте кратчайший путь)

0x1: Введение в OSPF

OSPF - это еще один протокол внутреннего шлюза помимо RIP. Он преодолевает все ограничения RIP. Их отличия заключаются в следующем:

0x2: формат протокола OSPF

Как и протокол RIP, протокол OSPF содержит множество следующих дейтаграмм:

The Hello packet


DBD(The Database Description packet)



Link State Request packet


Link State Update packet


Link State Acknowledgment packet


4. BGP/BGP4(Протокол пограничного шлюза)

0x1: Введение в BGP

BGP - это протокол внешнего шлюза, который обменивается данными между маршрутизаторами в разных автономных системах.Система BGP обменивается информацией о доступности сети с другими системами BGP. Эта информация включает в себя все пути в автономной системе AS, по которым данные должны пройти, чтобы достичь этих сетей. Этой информации достаточно для построения связанной карты автономных систем. Затем вы можете удалить кольцо маршрутизации на основе схемы соединений и сформулировать стратегию маршрутизации.
Во-первых, мы разделим дейтаграмму IP в автономной системе на:

Одна из целей использования BGP в Интернете - уменьшить проходящий трафик. То есть с помощью разумных алгоритмов как можно больше трафика направляется на локальный трафик, что сокращает трудоемкие отчеты с данными по AS.

Автономные системы можно разделить на следующие типы:

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

В системе Linux, которая реализует протокол BGP или имеет функцию маршрутизации, сохранены три таблицы BGP.

0x2: особенности протокола BGP

0x3: формат протокола BGP

OPEN Message Format


KEEPALIVE Message Format

UPDATE Message Format

NOTIFICATION Message Format

5. Введение в автономный домен AS

Автономная система - это совокупность нескольких маршрутизаторов в рамках единой системы управления технологиями. В автономной системе протоколы внутреннего шлюза (такие как RIP, OSPF) и общие параметры используются для определения того, как маршрутизировать пакеты данных. Между автономными системами, меж-AS протоколы маршрутизации используются для маршрутизации пакетов данных (например, BGP).
С момента введения этого классического определения в автономной системе часто используются несколько протоколов IGP, а иногда и несколько параметров. Причина, по которой здесь используется термин автономная система, заключается в том, что мы хотим подчеркнуть тот факт, что даже если в автономной системе могут использоваться несколько протоколов и параметров IGP, для остальной части автономной системы управление определенной автономной системой является all Он имеет единую внутреннюю схему маршрутизации, и пункт назначения для передачи через автономную систему всегда один и тот же.

0x1: пул номеров AS

Номер автономной системы (ASN) состоит из 16 бит и имеет в общей сложности 65536 возможных значений.

Copyright (c) 2014 LittleHann All rights reserved

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

  • Что такое динамическая маршрутизация и для чего она используется.
  • Протоколы динамической маршрутизации на коммутаторах SNR.
  • Протокол OSPF и примеры настройки протокола OSPF на коммутаторах SNR.


Динамическая маршрутизация

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

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

Типы маршрутизаторов в OSPF

  • Internal router - маршрутизатор, у которого все стыковочные интерфейсы находятся в одной зоне. Такой маршрутизатор не обменивается маршрутной информацией с другими AS и имеет одну LSDB.
  • Area border router (ABR) - маршрутизатор, который находится на границе с магистральной зоной, и служит шлюзом для трафика, который проходит между зонами. Хотя бы один интерфейс такого маршрутизатора должен находиться в магистральной зоне. Для каждой зоны ABR имеет отдельную LSDB.
  • Backbone router - магистральный маршрутизатор. Хотя бы один интерфейс такого маршрутизатора должен находиться в магистральной зоне. Внутренний маршрутизатор, у которого есть интерфейсы, принадлежащие нулевой зоне, тоже будет считаться магистральным. Может быть как ABR, так и не быть им.
  • AS boundary router (ASBR) - такой маршрутизатор может обмениваться маршрутами с маршрутизаторами в других AS, или маршрутизаторами, использующими другой протокол маршрутизации. ASBR может быть в любом месте AS и являться как магистральным, так и внутренним или пограничным.


Типы зон OSPF

Разделение AS на зоны OSPF может снизить загрузку CPU маршрутизаторов, сократить размер LSDB и сократить количество пакетов LSA.

  • Backbone (Area 0) - Магистральная зона OSPF. Это обычная зона, через которую происходят все взаимодействия между другими зонами.
  • Normal - Зона с номером отличным от 0. Такой тип устанавливается по умолчанию, если в конфигурации не указан иной.
  • Stub - Маршрутизаторы в такой зоне не принимают информацию об External-маршрутах, но принимают маршруты из других зон. Маршрутизатор в Stub-зоне не может выступать в качестве ASBR. Чтобы передавать трафик за границу AS, будет использован маршрут по умолчанию, транслируемый от ASR. Для настройки такого типа зон используется команда area X stub .
  • Totally Stub - Stub-зона, которая принимает только маршрут по умолчанию. Для настройки такого типа зон используется команда area X stub no-summary .
  • NSSA - Stub-зона, но маршрутизатор в такой зоне может выступать в качестве ASBR. Для трансляции External маршрутов используется LSA Type 7, которые трансформируются в LSA Type 5 на ASR. Для настройки такого типа зон используется команда area X nssa .
  • Totally NSSA - Totally stub зона, но в ней может находиться ASBR. Имеет только маршрут по умолчанию. Для настройки такого типа зон используется команда area X nssa no-summary .


Базовая настройка OSPF

В качестве первого примера рассмотрим случай, если у нас всего одна магистральная зона (Area 0).

Допустим, у нас имеются коммутаторы SNR-S2995G-24FX, которые используются на уровне агрегации в сети оператора связи. На R1 терминируются клиенты с подсетью 10.10.11.0/24, которую мы хотим анонсировать и передать на BRAS, а также хотим, чтобы между коммутаторами была L3-связность.

Для такой ситуации оправдано применение протокола OSPF, т.к. количество коммутаторов и подсетей будет расти в будущем. Сложность масштабируемости и настройки статической адресации также будут быстро увеличиваться. В случае применения OSPF нам необходимо лишь выполнить первоначальную настройку и в будущем OSPF будет самостоятельно анонсировать добавленные подсети (добавленные на SVI подсети будут иметь тип Connected. Для того, чтобы OSPF перекладывал маршруты из Connected в OSPF, необходимо применить команду redistribute connected . Это мы рассмотрим во втором примере данной статьи).

В нашем примере схема будет выглядеть следующим образом:

Динамическая маршрутизация на коммутаторах SNR

conf t
vlan 10;3000
interface vlan 10
ip address 172.31.1.1 255.255.255.252
!
interface vlan 1000
ip address 10.10.11.1 255.255.255.0
!
interface Loopback1
ip address 10.10.10.11 255.255.255.255
!
interface E1/0/1
switchport access vlan 10
!
router ospf 1
ospf router-id 10.10.10.11
network 172.31.1.0/30 area 0
network 10.10.11.0/24 area 0
network 10.10.10.11/32 area 0
end

conf t
vlan 10
interface vlan 10
ip address 172.31.1.2 255.255.255.252
!
interface Loopback1
ip address 10.10.10.12 255.255.255.255
!
interface E1/0/1
switchport access vlan 10
!
router ospf 1
ospf router-id 10.10.10.12
network 172.31.1.0/30 area 0
network 10.10.10.12/32 area 0
end

  1. DOWN - начальное состояние;
  2. Init - после отправки Hello другому коммутатору, он ожидает от другого коммутатора свой hello. В этот момент он находится в состоянии Init;
  3. Full - когда коммутаторы получили всю информацию и LSDB синхронизирована, оба коммутатора переходят в состояние fully adjacent (FULL).

Убедимся, что соседство установилось и подсети R1 доступны через R2 и наоборот:

Динамическая маршрутизация на коммутаторах SNR

Как мы видим, соседство установилось и был выбран DR. В нашем случае, R2.

Динамическая маршрутизация на коммутаторах SNR

То же мы видим и на R2. Адрес Loopback1 и клиентская подсеть доступны с R2.

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

Производительность коммутаторов ограничена. Размеры LSDB могут достигать размеров в тысячи маршрутов, при этом коммутатор тратит много ресурсов на просмотр своей таблицы маршрутизации, а если учесть, что помимо OSPF коммутатор должен обрабатывать и другие задачи, загрузка CPU может достигать критически высоких значений, что скажется на производительности коммутатора. В таких случаях целесообразно применение деления на зоны, которые помогут уменьшить количество маршрутов в LSDB, тем самым снизив нагрузку на CPU. Давайте рассмотрим пример использования NSSA и Totally Stubby area на следующей схеме:

Динамическая маршрутизация на коммутаторах SNR

R1:
vlan 1;100;300;1000
Interface Ethernet1/0/1
description R2
switchport discard packet untag
switchport mode trunk
switchport trunk allowed vlan 100
!
Interface Ethernet1/0/3
description R3
switchport discard packet untag
switchport mode trunk
switchport trunk allowed vlan 300
!
interface Vlan100
ip address 172.31.1.1 255.255.255.252
!
interface Vlan300
ip address 172.31.3.2 255.255.255.252
!
interface Vlan1000
ip address 10.10.100.1 255.255.255.0
!
interface Loopback1
ip address 10.10.10.1 255.255.255.255
!
router ospf 1
ospf router-id 10.10.10.1
passive-interface Vlan1000
network 172.31.1.0/30 area 0
network 172.31.3.0/30 area 0
redistribute connected
!

vlan 1;100;200;400
!
Interface Ethernet1/0/1
description R1
switchport discard packet untag
switchport mode trunk
switchport trunk allowed vlan 100
!
Interface Ethernet1/0/2
description R3
switchport discard packet untag
switchport mode trunk
switchport trunk allowed vlan 200
!
Interface Ethernet1/0/4
description R4
switchport discard packet untag
switchport mode trunk
switchport trunk allowed vlan 400
!
interface Vlan100
ip address 172.31.1.2 255.255.255.252
!
interface Vlan200
ip address 172.31.2.1 255.255.255.252
!
interface Vlan400
ip address 172.31.4.1 255.255.255.252
!
interface Loopback1
ip address 10.10.10.2 255.255.255.255
!
router ospf 1
ospf router-id 10.10.10.2
area 1 stub no-summary
network 172.31.1.0/30 area 0
network 172.31.2.0/30 area 0
network 172.31.4.0/30 area 1
redistribute connected
!

vlan 1;200;300;500
!
Interface Ethernet1/0/2
description R2
switchport discard packet untag
switchport mode trunk
switchport trunk allowed vlan 200
!
Interface Ethernet1/0/3
description R1
switchport discard packet untag
switchport mode trunk
switchport trunk allowed vlan 300
!
Interface Ethernet1/0/5
description R5
switchport discard packet untag
switchport mode trunk
switchport trunk allowed vlan 500
!
interface Vlan200
ip address 172.31.2.2 255.255.255.252
!
interface Vlan300
ip address 172.31.3.1 255.255.255.252
!
interface Vlan500
ip address 172.31.5.1 255.255.255.252
!
interface Loopback1
ip address 10.10.10.3 255.255.255.255
!
router ospf 1
ospf router-id 10.10.10.3
area 2 nssa default-information-originate
network 172.31.2.0/30 area 0
network 172.31.3.0/30 area 0
network 172.31.5.0/30 area 2
redistribute connected
!

vlan 1;400;3000
!
interface Vlan400
ip address 172.31.4.2 255.255.255.252
!
interface Vlan3000
ip address 10.10.120.1 255.255.255.0
!
Interface Ethernet1/0/4
description R2
switchport discard packet untag
switchport mode trunk
switchport trunk allowed vlan 400
!
interface Loopback1
ip address 10.10.10.4 255.255.255.255
!
router ospf 1
ospf router-id 10.10.10.4
passive-interface Vlan3000
area 1 stub
network 10.10.10.4/32 area 1
network 10.10.120.0/24 area 1
network 172.31.4.0/30 area 1
!

vlan 1;500;2000
!
Interface Ethernet1/0/5
description R3
switchport discard packet untag
switchport mode trunk
switchport trunk allowed vlan 500;2000
!
interface Vlan500
ip address 172.31.5.2 255.255.255.252
!
interface Vlan2000
ip address 10.10.110.1 255.255.255.0
!
interface Loopback1
ip address 10.10.10.5 255.255.255.255
!
router ospf 1
ospf router-id 10.10.10.5
passive-interface Vlan2000
area 2 nssa
network 172.31.5.0/30 area 2
redistribute connected
!

На данной схеме приведена сеть, в которой используется как Totally stubby (R2-R4), так и NSSA (R3-R5) зоны.

Внешние маршруты других зон в NSSA (R5) будут заменены на маршрут по умолчанию.

Для Totally stubby-зоны (R4) все маршруты будут заменены на маршрут по умолчанию.

Для анонса сетей, находящихся в Totally stubby зоне, необходимо указать их в Router OSPF.

Для анонса адресов Loopback в Area 0 используем команду redistribute connected . Это позволит нам не только упростить конфигурацию, но и сократить количество маршрутов, которые будут анонсироваться в другие типы зон, так как такие маршруты будут считаться External.

Для того, чтобы коммутаторы не искали соседей за SVI, на котором находятся клиентские подсети, применим команду passive-interface . Для R2 также применим команду redistribute connected metric-type 1 для того, чтобы увидеть разницу в типе метрик.

Посмотрим на таблицу маршрутов OSPF для маршрутизатора R1:

Динамическая маршрутизация на коммутаторах SNR

В данной таблице мы видим все маршруты, которые анонсируются на R1 путем OSPF. Маршруты до Loopback-адресов R2, R3 и R5 анонсируются как "E" (LSA Type 5), то есть, получены путем перекладывания маршрутов из другого протокола маршрутизации (в нашем случае из connected). Цифра 1 или 2 после буквы "E" показывает на тип метрики. 1 тип увеличивает метрику маршрута при расчете SPF, а 2 тип нет:

Динамическая маршрутизация на коммутаторах SNR

Давайте посмотрим на таблицу маршрутизации OSPF на R2 и R4:

Динамическая маршрутизация на коммутаторах SNR

Динамическая маршрутизация на коммутаторах SNR

Здесь мы наглядно видим зачем в принципе используются Totally stub - зоны. Вместо десятков маршрутов для нас доступен всего один - маршрут по умолчанию (для того, чтобы R2 анонсировал только маршрут по умолчанию, используем команду area 1 stub no-summary ). Несмотря на то, что маршрут всего один, все маршрутизаторы и сети доступны:

Динамическая маршрутизация на коммутаторах SNR

R4 не может генерировать LSA Type 5, так как находится в stub-зоне. Адрес Loopback и подсети, подключенные к R4 указаны вручную командой network .

Давайте посмотрим что у нас в NSSA на R5:

Динамическая маршрутизация на коммутаторах SNR

Как мы видим, маршруты, которые были redistribute, на R5 не попали, но они доступны через default, анонсируемый R3. Для того, чтобы R3 передавал информацию о маршруте по умолчанию мы применили команду area 2 nssa default-information-originate .

Динамическая маршрутизация на коммутаторах SNR

Так как R5 находится в NSSA, то он может выступать в качестве ASBR, а также перекладывать маршруты из других протоколов маршрутизации. Это значит, что в NSSA могут находится External-маршруты в виде специального LSA Type 7, который может находиться только в NSSA. На границе зоны пограничный коммутатор преобразует LSA Type 7 в LSA Type 5.

Для фильтрации маршрутов можно также воспользоваться функционалом ACL. Например, если на коммутаторе в NSSA-зоне мы хотим принимать только маршрут по умолчанию и маршруты из подсети 172.31.0.0/16, то необходимо создать ACL на R5 типа:

access-list 100 permit ip host-source 0.0.0.0 any-destination
access-list 100 permit ip 172.31.0.0 0.0.255.255 any-destination
access-list 100 permit ospf host-source 0.0.0.0 any-destination
access-list 100 permit ospf 172.31.0.0 0.0.255.255 any-destination
access-list 100 deny ospf any-source any-destination
access-list 100 deny ip any-source any-destination
!
router ospf 1
filter-policy 100
!

В таком случае таблица маршрутов будет иметь следующий вид:

Динамическая маршрутизация на коммутаторах SNR

Количество маршрутов сократилось, но все адреса Loopback и подсетей доступны через маршрут по умолчанию.

Заключение

В данной статье мы рассмотрели принципы работы протокола OSPF и его настройке на коммутаторах SNR. В будущем также планируется выход второй части данной статьи, посвященный протоколу BGP.

Читайте также: