Найти тему
sl nec

Готовимся к CCIE Enterprise - OSPFv3

Оглавление

OSPFv3 Fundamentals

OSPFv3 отличается от OSPFv2 следующим образом:

  • Поддержка нескольких address families: OSPFv3 поддерживает address families IPv4 и IPv6.
  • Новые типы LSA: были созданы новые типы LSA для переноса префиксов IPv6.
  • Удаление семантики адресации: Информация об IP префиксе больше не присутствует в заголовках пакетов OSPF. Вместо этого она передается как полезная информация LSA, что делает протокол независимым от address family, как IS-IS. OSPFv3 использует термин link вместо network, потому что расчеты SPT (shortest path tree) производятся для каждого link, а не для каждой subnet.
  • LSA flooding: OSPFv3 включает новый link-state тип поля, который используется для определения диапазон лавинной рассылки LSA, а также обработки неизвестных типов LSA.
  • Формат пакета: OSPFv3 работает непосредственно через IPv6, и количество полей в заголовке пакета было уменьшено.
  • Router ID: используется для идентификации соседей, независимо от типа сети в OSPFv3. При настройке OSPFv3 на маршрутизаторах, ID всегда должен назначаться вручную.
  • Аутентификация: проверка подлинности соседей была удалена из протокола OSPF и теперь выполняется через IPsec расширения заголовков в пакете IPv6.
  • Neighbor adjacencies: Обмен данными между маршрутизаторами OSPFv3 осуществляется с помощью IPv6 link-local адресации. Соседи не обнаруживаются автоматически через non-broadcast интерфейсы множественного доступа (NBMA). Сосед должен быть указан вручную с использованием link-local адреса. IPv6 позволяет назначить несколько подсетей одному интерфейсу, а OSPFv3 позволяет формировать neighbor adjacency, даже если два маршрутизатора не используют общую подсеть.
  • Multiple instances: Пакеты OSPFv3 включают поле instance ID, которое может использоваться для управления маршрутизаторами в сегменте сети, разрешающем формировать смежности.

RFC 5340 подробно описывает все различия между OSPFv2 и OSPFv3.

Пакеты OSPFv3 используют протокол ID 89, а маршрутизаторы коммуницируют друг с другом, используя локальные интерфейсы IPv6 link-local адреса. Информация об OSPF link-state database в версии 3 организована и анонсируется иначе, чем в версии 2. OSPFv3 изменяет структуру router LSA (тип 1), переименовывает network summary LSA (тип 3) в interarea prefix LSA, и переименовывает ASBR summary LSA в interarea router LSA. Принципиальное отличие состоит в том, что router LSA отвечает только за анонсирование параметров интерфейса, таких как тип интерфейса (point-to-point, broadcast, NBMA, point-to-multipoint, and virtual links) и метрики (cost).

Информация об IP-адресе объявляется независимо двумя новыми типами LSA:

  • Intra-area prefix LSA
  • Link-local LSA

Расчет OSPF Dijkstra, используемый для определения дерева кратчайших путей (SPT), проверяет только router LSA и network LSA. Анонсирование информации об IP-адресе с использованием новых типов LSA устраняет необходимость для OSPF выполнять вычисления shortest path first (SPF) каждый раз, когда на интерфейсе добавляется новый или изменяется старый префикс. LSDB OSPFv3 создает shortest path topology tree на основе линков, а не сетей.

Рассмотрим типы LSA OSPFv3.

  • 0x2001(Router) - Каждый маршрутизатор генерирует router LSA, которые описывают состояние и стоимость интерфейсов подключения маршрутизатора к area.
  • 0x2002(Network) - designated router генерирует network LSA, чтобы объявить обо всех маршрутизаторах, подключенных к каналу, включая его самого.
  • 0x2003(Interarea prefix) - Граничные маршрутизаторы area генерируют prefix LSA для описания маршрутов к префиксам адресов IPv6, которые принадлежат другим area.
  • 0x2004(Router) - Граничные маршрутизаторы area генерируют interarea router LSA, чтобы объявлять адрес ASBR в других area.
  • 0x4005(AS external) - Граничные маршрутизаторы автономных систем объявляют AS external LSA для объявления маршрутов по умолчанию или маршрутов, полученных путем редистрибьюции из других протоколов.
  • 0x2007(NSSA) - Граничные маршрутизаторы автономной системы, расположенные в не not-so-stubby area, объявляют NSSA LSA для маршрутов, перераспределенных в area.
  • 0x0008(Link) - Link LSA сопоставляет unicast префиксы с локальным ip link-local интерфейса маршрутизатора. LSA канала распространяется только соседям по каналу (link).
  • 0x2009(Intra-area prefix) - Intra-area prefix LSA используется для объявления одного или нескольких префиксов IPv6, связанных с маршрутизатором, stub или сегментом транзитной сети.

OSPFv3 Communication

Пакеты OSPFv3 используют протокол ID 89. Маршрутизаторы коммуницируют друг с другом, используя IPv6 link-local адрес в качестве исходного. В зависимости от типа пакета адрес назначения является либо unicast link-local адрес или определенный multicast link-local адрес.

  • FF02::05: OSPFv3 AllSPFRouters
  • FF02::06: OSPFv3 AllDRouters designated router (DR)

Каждый маршрутизатор использует multicast адрес AllSPFRouters FF02 :: 5 для отправки OSPF hello сообщений маршрутизаторам, подключенным к тому же линку. Hello cообщения используются для обнаружения соседей и проверки отношений с соседями. Маршрутизаторы DR и BDR также используют этот адрес для отправки link-state update и лавинной рассылки всем маршрутизаторам.

Маршрутизаторы не-DR/BDR отправляют update или link-state сообщения на DR и BDR, используя адрес AllDRouters FF02 :: 6.

OSPFv3 использует те же пять типов пакетов и логику, что и OSPFv2. Таблица ниже показывает имя, адрес и назначение каждого из пяти типов пакетов.

OSPFv3 Configuration

Процесс настройки OSPFv3 включает следующие шаги:

  • Step 1. Инициализируйте процесс маршрутизации. В качестве предварительного условия на роутере должна быть включена ipv6 unicast маршрутизация. После этого процесс OSPFv3 настраивается с помощью команды router ospfv3 [process-id].
  • Step 2. Определите router ID. Команда router-id router-id назначает router ID OSPF процессу. Router ID - это 32-битное значение, которое не обязательно должно совпадать с IPv4-адресом. Это может быть любое число, если значение уникально в пределах OSPF домена. OSPFv3 использует тот же алгоритм, что и OSPFv2, для динамического определения RID. Если нет доступных интерфейсов IPv4, RID устанавливается на 0.0.0.0 и не позволяет формировать смежности.
  • Step 3. (Опционально) Инициализируйте address family. Address family настраивается в режиме настройки OSPF с помощью команды address-family {ipv6 | ipv4} unicast. Соответствующее address family включается автоматически при включении OSPFv3 на интерфейсе.
  • Step 4. Включите OSPFv3 на интерфейсе. Команда настройки на
    интерфейсе
    ospfv3 process-id ipv6 area area-id включает протокол и назначает интерфейсу area.

На рисунке ниже показана простая топология с четырьмя маршрутизаторами, демонстрирующая конфигурацию OSPFv3. Area 0 состоит из R1, R2 и R3, а area34 содержит R3 и R4. R3 - это ABR.

-2

В примере ниже показаны OSPFv3 и конфигурации IPv6 адресов для R1, R2, R3 и R4. IPv6 link-local адресация настроена таким образом, что все интерфейсы маршрутизатора отражают свои локальные номера (например, для интерфейсов R1 установлено значение FE80 :: 1) в дополнение к традиционной адресации IPv6. Link-local адресация сконфигурирована статически, чтобы упростить диагностические выводы в этой главе. В этом примере выделена конфигурация OSPFv3.

-3
-4
-5

Более ранние версии IOS использовали команды ipv6 router ospf для инициализации процесса OSPF и ipv6 ospf process-id area area-id для идентификации интерфейса. Эти команды считаются устаревшими и должны быть заменены на те, которые используются в этой книге.

OSPFv3 Verification

Команды для просмотра настроек и состояний OSPFv3 очень похожи на те, что используются в OSPFv2; по сути в них заменены ip ospf на ospfv3 ipv6. Для поддержки OSPFv3 требуется проверка OSPFv3 интерфейсов, соседства и таблицы маршрутизации.

Например, для просмотра смежности соседей для OSPFv2 выполняется команда show ip ospf neighbour, а для OSPFv3 используется команда show ospfv3 ipv6 neighbour. На пример ниже показана эта команда, выполненная на R3.

-6

В следующем примере показано состояние интерфейса с поддержкой OSPFv3 GigabitEthernet0/2 на R1 с помощью команды show ospfv3 interface [interface-id]. Обратите внимание, что семантика адреса была удалена по сравнению с OSPFv2. Интерфейс отображается как interface ID 3, а не на значение IP-адреса, как в OSPFv2. Локальный маршрутизатор - это DR (192.168.1.1), а соседний соседний маршрутизатор - это BDR (192.168.2.2).

-7
-8

Краткую версию настроек интерфейса OSPFv3 можно просмотреть с помощью команды show ospfv3 interface brief. В выходных данных увидим соответствующий process ID, area, address family (IPv4 or IPv6), состояние интерфейса и количество соседей.

Пример ниже демонстрирует выполнение этой команды на ABR, R3. Обратите внимание, что некоторые интерфейсы находятся в area0, а другие - в area34.

-9

Таблица маршрутизации IPv6 OSPFv3 просматривается с помощью команды show ipv6 route ospf. Intra-area маршруты обозначены буквой O, а interarea обозначены OI.

В следующем примере показано выполнение этой команды на R1. Next hop адрес для маршрутов - это link-local адрес соседнего маршрутизатора.

-10

Passive Interface

OSPFv3 поддерживает возможность отметить интерфейс как пассивный. Команда выполняется в режиме настройки OSPFv3 или в конкретное address family. Помещение команды в глобальный процесс приводит к каскадной настройке обоих address family. Интерфейс помечается как пассивный с помощью команды passive-interface interface-id или глобально passive-interface default, а затем интерфейс помечается как активный с помощью команды no passive-interface interface-id.

В примере ниже показано, как сделать интерфейс LAN на R1 явно пассивным и как сделать все интерфейсы пассивными на R4, пометив интерфейс Gi0/3 как активный.

-11

Активное/пассивное состояние интерфейса проверяется путем проверки состояния интерфейса OSPFv3 с помощью команды show ospfv3 interface [interface-id] и поиска ключевого слова Passive.

В примере ниже R1 подтверждает, что интерфейс Gi0/3 пассивен.

-12

Summarization

Возможность суммирования сетей IPv6 так же важна, как и суммирование маршрутов в IPv4 (и это может быть даже более важным из-за ограничений аппаратного масштабирования). В примере ниже показана таблица маршрутизации IPv6 на R4 до применения суммирования на R3.

-13

Суммирование адресов loopback интерфейсов роутеров Area0 (2001:db8:0::1/128, 2001:db8:0::2/128, and 2001:db8:0::3/128) удаляет три маршрута из таблицы маршрутизации.

Распространенная ошибка при суммировании адресов IPv6 - путать шестнадцатеричное(hex) с десятичным(decimal). Обычно мы выполняем логику суммирования в десятичном формате, и первую и третью цифры в октете не следует путать с десятичными значениями. Например, IPv6-адрес 2001 :: 1/128 не равен 20, а 1 в десятичном формате. Число 2001 :: 1/128 - это 32 и 1.

Суммирование внутренних маршрутов OSPFv3 следует тем же правилам, что и в OSPFv2, и должно происходить на ABR. В нашей топологии R3 суммирует три loopback адреса в сеть 2001:db8:0:0::/65. Суммирование включается командой area area-id range prefix/prefix-length, которая находится в режиме настройки процесса OSPFv3, в address family.

В следующем примере показана конфигурация R3 для суммирования этих префиксов.

-14

В примере ниже показана таблица маршрутизации IPv6 R4 после настройки R3 для суммирования адресов loopback интерфейсов роутеров area0. Суммарный маршрут выделен цветом.

-15

Network Type

OSPFv3 поддерживает те же типы сетей OSPF, что и OSPFv2. Пример ниже показывает, что интерфейс R2 Gi0/3 установлен как broadcast OSPF network type и подтверждается тем, что находится в состоянии DR.

-16

Тип сети OSPFv3 настраивается изменением параметра интерфейса с помощью команды ospfv3 network {point-to-point | broadcast}. В примере ниже показано как на интерфейсе тип сети будет изменен на point-to-point.

-17

После ввода изменений новые настройки проверяются в примере ниже. Сеть теперь является point-to-point link, а состояние интерфейса отображается как P2P для подтверждения.

-18

IPv4 Support in OSPFv3

OSPFv3 поддерживает несколько address families, заменив значение instance ID из зарезервированного диапазона IPv6 значением из зарезервированный диапазон IPv4. Включить поддержку IPv4 для OSPFv3 просто:

  • Step 1. Убедитесь, что для интерфейса IPv4 настроен IPv6-адрес (глобальный или link-local). Помните, что при настройке глобального адреса также создается глобальный адрес; в качестве альтернативы можно статически настроить link-local адрес.
  • Step 2. Включите процесс OSPFv3 для IPv4 на интерфейсе с помощью команды ospfv3 process-id ipv4 area area-id

Используя топологию, показанную на рис. 10-1, настроим поддержку IPv4 на R1, R2, R3 и R4. Пример ниже демонстрирует добавление поддержки IPv4 на существующей OSPFv3 схеме.

-19

В примере ниже проверяется, что маршруты были заменены и установлены в RIB IPv4.

-20
-21

Команда show ospfv3 interface [brief] отображает address families, включенные на интерфейсе. Если на интерфейсе настроены IPv4 и IPv6, то запись отображается для каждого address families. В примере ниже перечислены интерфейсы и связанные с ними address families.

-22

В следующем примере показано, как просмотреть OSPFv3 соседей, чтобы отобразить соседей IPv4 и IPv6 по отдельности.

-23