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

Руководство по проектированию OSPF

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

Содержание

Введение
Общие сведения
      Сравнение OSPF и RIP
      Что мы понимаем под состояниями канала?
      Алгоритм состояния канала
Алгоритм кратчайшего пути
      Стоимость OSPF
      Дерево кратчайших путей
Маршрутизаторы областей и пограничные маршрутизаторы
Пакеты состояния каналов
Включение OSPF на маршрутизаторе
Аутентификация OSPF
      Простая аутентификация на основе пароля
      Аутентификации выборки сообщений
Магистраль и область 0
Виртуальные каналы
      Области, не имеющие физического подключения к области 0
      Разделение магистрали
Соседи
Смежность
      Выбор DR
      Построение смежности
      Смежность в интерфейсах точка-точка
      Смежность в нешироковещательных сетях множественного доступа (NBMA)
Как избежать использования выделенных маршрутизаторов и команды neighbor в средах NBMA
      Субинтерфейсы "точка-точка"
      Выбор типа сети для интерфейсов
OSPF и суммирование маршрутов
      Суммирование межобластных маршрутов
      Суммирование внешних маршрутов
Шлейфные области
Перераспределение маршрутов в OSPF
      Сравнение внешних маршрутов E1 и E2
Перераспределение OSPF в другие протоколы
      Использование допустимой метрики
      VLSM
      Взаимное перераспределение
Ввод стандартных параметров в OSPF
Советы по проектированию OSPF
      Число маршрутизаторов в области
      Количество соседей
      Количество областей на ABR
      Сравнение полносвязной и частичносвязной конфигураций
      Проблемы памяти
Краткие выводы
Приложение А. Синхронизация базы данных о состоянии каналов
      Объявления о состоянии каналов
      Пример базы данных OSPF
Приложение В. OSPF и мультиадресная рассылка IP
Приложение С. Маски подсети переменной длины (VLSM)
Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения

Введение

Протокол OSPF (Open Shortest Path First), описанный в стандарте RFC 2328 leavingcisco.com, — это внутренний шлюзовый протокол, используемый для распространения данных маршрутизации внутри одной автономной системы. В этом документе описана работа протокола OSPF и его использование для проектирования и построения современных крупных и сложных сетей.

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

Протокол OSPF был разработан, чтобы удовлетворить потребность интернет-сообщества в функциональном, непроприетарном протоколе внутреннего шлюза (IGP) для семейства протоколов TCP/IP. Обсуждение создания общего и совместимого протокола IGP для Интернета началось в 1988 году, но не было формализовано до 1991 года. В это время рабочая группа OSPF предложила утвердить OSPF в качестве чернового стандарта Интернета.

Протокол OSPF основан на технологии отслеживания состояния канала, которая является отступлением от векторных алгоритмов Беллмана-Форда, используемых в традиционных протоколах маршрутизации Интернета, таких как RIP. В стандарте OSPF были представлены новые концепции, такие как аутентификация обновлений маршрутизации, маски подсети переменной длины (VLSM), суммирование маршрутов и т. п.

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

Сравнение OSPF и RIP

Быстрый рост и расширение современных сетей привели к тому, что протокол RIP достиг пределов своих возможностей. Протокол RIP имеет определенные ограничения, которые могут привести к возникновению проблем в крупных сетях:

  • Протокол RIP поддерживает максимум 15 переходов. Сеть RIP, включающая более 15 переходов (15 маршрутизаторов) рассматривается как недоступная.

  • Протокол RIP не может обрабатывать маски подсети переменной длины (VLSM). В условиях нехватки IP-адресов отсутствие гибкости и эффективности, которые предлагает назначение IP-адресов с использованием VLSM, является серьезным недостатком.

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

  • Конвергенция протокола RIP происходит медленнее, чем конвергенция OSPF. В крупных сетях конвергенция занимает около минуты. По истечению периода времени захвата и сбора мусора маршрутизаторы RIP начнут постепенно объявлять об истечение времени ожидания данных, которые не были получены в последнее время. Это неприемлемо в крупных средах, так как может привести к несогласованности маршрутизации.

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

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

В новой версии протокола RIP, которая называется RIP2, было представлено несколько усовершенствований. RIP2 решает задачи VLSM, аутентификации и многоадресных обновлений маршрутизации. Протокол RIP2 — это незначительное улучшение по сравнению с протоколом RIP (теперь он называется RIP1), так как в нем сохраняются ограничения на число переходов и медленная конвергенция. Эти возможности критически важны для современных крупных сетей.

OSPF, в свою очередь, решает большую часть задач, описанных выше:

  • В OSPF число переходов не ограничено.

  • Интеллектуальное использование VLSM очень удобно при назначение IP-адресов.

  • OSPF использует мультиадресную рассылку IP для отправки обновлений состояния канала. Это уменьшает объем обработки на маршрутизаторах, которые не прослушивают пакеты OSPF. Кроме того, обновления отправляются только при изменениях маршрутизации, а не периодически. Это обеспечивает более эффективное использование пропускной способности.

  • OSPF предлагает более совершенную конвергенцию, RIP. Это связано с тем, что изменения маршрутизации распространяются мгновенно, а не периодически.

  • OSPF предлагает более эффективное выравнивание нагрузки.

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

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

  • Протокол OSPF обеспечивает передачу и маркировку внешних маршрутов, введенные в автономную систему. При этом отслеживаются внешние маршруты, введенные внешними протоколами, такими как BGP.

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

Что мы понимаем под состояниями канала?

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

Алгоритм состояния канала

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

  1. После инициализации или в результате изменения маршрутных данных маршрутизатор генерирует объявление о состоянии канала. Это объявление представит коллекцию состояний канала для этого маршрутизатора.

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

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

  4. Если в сети OSPF не происходит изменений, таких как изменение стоимости канала или добавление и удаление сетей, протокол OSPF работает очень тихо. Все изменения передаются в виде пакетов состояния канала, для расчета кратчайшего пути используется алгоритм Дейкстра.

Алгоритм кратчайшего пути

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

Стоимость OSPF

Стоимость (другое название метрика) интерфейса OSPF характеризует издержки на отправку пакетов через тот или иной интерфейс. Стоимость интерфейса обратно пропорциональна его пропускной способности. Более высокая пропускная способность подразумевает более низкую стоимость. При передаче данных через последовательный канал 56k издержки (стоимость) и временные задержки выше, чем при передачи через канал 10M Ethernet. Формула для расчета стоимости:

  • стоимость = 10000 0000/пропускная способность в бит/c

Например, стоимость передачи данных через канал 10M Ethernet — 10 EXP8/10 EXP7 = 10, стоимость передачи данных через канал T1 — 10 EXP8/1544000 = 64.

По умолчанию стоимость интерфейса рассчитывается на основе пропускной способности. Для принудительного вычисления стоимости интерфейса используется команда режима внутренней настройки интерфейса ip ospf cost <value>.

Дерево кратчайших путей

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

spf1.gif

Выше приведено представление сети с точки зрения RTA. При вычислении стоимости обратите внимание на направление стрелок. Например, стоимость интерфейса RTB для сети 128.213.0.0 не имеет значения при вычислении стоимости для сети 192.213.11.0. RTA может достичь 192.213.11.0 через RTB со стоимостью 15 (10+5). RTA также может достичь 222.211.10.0 через RTC со стоимостью 20 (10+10) или через RTB со стоимостью 20 (10+5+5). Если к месту назначения существует несколько путей с одинаковой стоимостью, версия протокола OSPF от Cisco отследит до 6 переходов к этому месту назначения.

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

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

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

spf2.gif

Область задается для конкретного интерфейса. Маршрутизатор, все интерфейсы которого находятся в одной области, называется внутренним маршрутизатором (IR). Маршрутизатор, интерфейсы которого находятся в нескольких областях, называется пограничным маршрутизатором области (ABR). Маршрутизаторы, работающие в качестве шлюзов (устройств перераспределения) между OSPF и другими протоколами маршрутизации (IGRP, EIGRP, IS-IS, RIP, BGP, Static) или другими экземплярами процесса маршрутизации OSPF, называются пограничными маршрутизаторами автономной системы (ASBR). Любой маршрутизатор может быть ABR или ASBR.

Пакеты состояния каналов

Существует два типа пакетов состояния каналов, их можно наблюдать в базе данных OSPF (Приложение A). Типы состояния канала показаны на следующей диаграмме:

spf3.gif

Как было сказано выше, каналы маршрутизатора являются индикаторами состояний интерфейсов маршрутизатора, принадлежащего к определенной области. Каждый маршрутизатор будет создавать канал маршрутизатора для всех своих интерфейсов. Суммарные каналы генерируются маршрутизаторами ABR. Таким образом данные о достижимости сети распространяются между областями. Обычно вся информация вводится в магистраль (область 0), а затем магистраль передает ее в другие области. Кроме того, пограничные маршрутизаторы области выполняют распространение данных о достижимости ASBR. Таким образом, маршрутизаторы определяют, как можно выйти на внешние маршруты в других автономных системах.

Сетевые каналы генерируются выделенным маршрутизатором (DR) на сегменте (выделенные маршрутизаторы будут рассматриваться позже). Эта информация описывает все маршрутизаторы, подключенные к определенному сегменту множественного доступа, например, Ethernet, Token Ring и FDDI (а также NBMA).

Внешние каналы свидетельствуют о наличии сетей за пределами автономной системы. Эти каналы вводятся в сеть OSPF путем перераспределения. Маршрутизаторы ASBR вводят эти маршруты в автономную систему.

Включение OSPF на маршрутизаторе

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

  1. Включение процесса OSPF с помощью команды router ospf <идентификатор процесса>.

  2. Назначение областей интерфейсам с помощью команды network <сетевой или IP-адрес> <маска> <идентификатор области>.

Идентификатор процесса OSPF — это численное значение, принадлежащее отдельному маршрутизатору. Оно не должно совпадать с идентификаторами процессов на других маршрутизаторах. Запуск нескольких процессов OSPF на одном и том же маршрутизаторе возможен, но этого не рекомендуется делать, поскольку в этом случае происходит создание нескольких экземпляров баз данных, что увеличивает объем служебных данных маршрутизатора.

Команда "network" позволяет назначить интерфейс определенной области. Маска используется в качестве ярлыка и помогает назначить список интерфейсов области с помощью одной строки конфигурации. Маска содержит шаблонные биты, где 0 обозначает совпадение, а 1 обозначает "не важно", например 0.0.255.255 обозначает совпадение первых двух байтов номера сети.

Идентификатор области — это номер области, в которую необходимо добавить интерфейс. Код области может быть целым числом от 0 до 4294967295 или иметь формат, аналогичный формату IP-адреса — A.B.C.D.

Пример:

spf4.gif

RTA#
interface Ethernet0
ip address 192.213.11.1 255.255.255.0

interface Ethernet1
ip address 192.213.12.2 255.255.255.0

interface Ethernet2
ip address 128.213.1.1 255.255.255.0

router ospf 100
network 192.213.0.0 0.0.255.255 area 0.0.0.0
network 128.213.1.1 0.0.0.0 area 23

Первая сетевая инструкция помещает интерфейсы E0 и E1 в одну область 0.0.0.0, вторая сетевая инструкция помещает интерфейс E2 в область 23. Обратите внимание на маску 0.0.0.0, которая означает полное совпадение IP-адреса. Это простой способ поместить интерфейс в определенную область, если есть проблемы с вычислением маски.

Аутентификация OSPF

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

Простая аутентификация на основе пароля

Простая аутентификация на основе пароля позволяет настраивать для каждой области свой пароль (ключ). Маршрутизаторы из одной и той же области, которые необходимо добавить в домен маршрутизации, должны иметь одинаковый ключ. Недостаток этого метода — уязвимость пассивным атакам. Любой человек с анализатором канала может легко получить пароль, прослушав линию. Для включения аутентификации на основе пароля используются следующие команды:

  • ip ospf authentication-key key (для конкретного интерфейса)

  • area area-id authentication (для команды "router ospf <process-id>")

Пример:

interface Ethernet0
ip address 10.10.10.10 255.255.255.0
ip ospf authentication-key mypassword

router ospf 10
network 10.10.0.0 0.0.255.255 area 0
area 0 authentication

Аутентификации выборки сообщений

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

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

  • ip ospf message-digest-key keyid md5 key (используется для интерфейса)

  • area area-id authentication message-digest (используется для команды "router ospf <process-id>")

Пример:

interface Ethernet0
ip address 10.10.10.10 255.255.255.0
ip ospf message-digest-key 10 md5 mypassword

router ospf 10
network 10.10.0.0 0.0.255.255 area 0
area 0 authentication message-digest 

Магистраль и область 0

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

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

spf5.gif

В приведенной выше диаграмме все области напрямую подключены к магистрали. Иногда, когда вводится новая область, которая не может получить прямой физический доступ к магистрали, необходимо настроить виртуальный канал. Виртуальные каналы будут рассматриваться в следующем разделе. Обратите внимание на различные типы данных маршрутизации. Маршруты, генерируемые внутри области (назначение относится к области), называются внутриобластными маршрутами. Эти маршруты как правило отображаются с буквой O в таблице маршрутизации IP. Маршруты, генерируемые в других областях, называются межобластными или суммарными маршрутами. В таблице маршрутизации IP такие маршруты обозначаются буквами O IA. Маршруты, генерируемые другими протоколами маршрутизации (или другими процессами OSPF) и вводятся в OSPF с помощью перераспределения называются внешними маршрутами. В таблице маршрутизации IP такие маршруты обозначаются как O E2 или O E1. При наличии нескольких маршрутов к одному месту назначения, они получают следующий приоритет: внутриобластные, межобластные, внешние E1, внешние E2. Описание внешних типов E1 и E2 будет приведено позднее.

Виртуальные каналы

Виртуальные каналы выполняют две функции.

  • Соединение областей, не имеющих физического подключения к магистрали.

  • Исправление магистрали в случае разрыва области 0.

Области, не имеющие физического подключения к области 0

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

spf6.gif

В этом примере, область 1 не имеет прямого физического подключения к области 0. Виртуальный канал необходимо настроить между RTA и RTB. Область 2 должна использоваться в качестве транзитной области. RTB является точкой входа в область 0. Таким образом RTA и область 1 будут иметь логическое подключение к магистрали. Чтобы настроить виртуальный канал, используйте подкоманду маршрутизатора OSPF area<идентификатор канала> virtual-link <RID> для RTA и RTB, где идентификатор области относится к транзитной области. В диаграмме выше, это область 2. RID — идентификатор маршрутизатора. В качестве идентификатора маршрутизатора OSPF как правило используется старший IP-адрес в блоке или самый высокий адрес возвратной петли, если он существует. Идентификатор маршрутизатора вычисляется во время загрузки или перезапуска процесса OSPF. Чтобы найти идентификатор маршрутизатора используйте команду show ip ospf interface. Предположим, что 1.1.1.1 и 2.2.2.2 — идентификаторы маршрутизаторов RTA и RTB соответственно, конфигурация OSPF для обоих маршрутизаторов будет иметь следующий вид:

RTA#
router ospf 10
area 2 virtual-link 2.2.2.2


RTB#
router ospf 10
area 2 virtual-link 1.1.1.1

Разделение магистрали

OSPF позволяет связывать разделенные части магистрали с использованием виртуального канала. В некоторых случаях, появляется необходимость связать разные "области 0". Такая необходимость может возникнуть, например, если компания пытается объединить две отдельные сети OSPF в одну сеть с общей областью 0. В других ситуациях виртуальные каналы добавляются для избыточности на случай если отказ маршрутизатора приведет к разделению области 0 на две части. Независимо от причины виртуальный канал настраивается между отдельными ABR, граничащими с областью 0 с каждой стороны и имеющими общую область. Это показано в следующем примере:

spf7.gif

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

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

Соседи

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

Два маршрутизатора не могут стать соседями, если не согласуют следующее:

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

  • Аутентификация: OSPF позволяет выполнять настройку пароля для определенной области. Чтобы стать соседями, маршрутизаторам необходимо переслать друг другу один и тот же пароль в заданном сегменте.

  • Интервалы приветствия и простоя: OSPF производит обмен пакетами приветствия в каждом сегменте. Эта форма Keepalive используется маршрутизаторами, чтобы подтвердить свое существование в сегменте и выбрать выделенный маршрутизатор в сегментах множественного доступа. Интервал приветствия указывает период в секундах между пакетами приветствия, которые маршрутизатор отправляет через интерфейс OSPF. Интервал простоя — это период времени в секундах, в течение которого пакеты приветствия маршрутизатора не поступают. По прошествии этого периода соседние устройства объявят об отключении маршрутизатора OSPF.

    OSPF требует, чтобы эти интервалы были одинаковыми для соседних узлов. Если значения любого из указанных интервалов различаются, эти маршрутизаторы не станут соседями в данном сегменте. Для установки таймеров используются следующие команды интерфейса маршрутизатора. ip ospf hello-interval секунды и ip ospf dead-interval секунды.

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

Смежность

Смежность является следующим шагом после процесса обнаружения соседей. Смежные маршрутизаторы — это маршрутизаторы, которые не только обмениваются приветствиями, но также переходят к процессу обмена базами данных. Чтобы уменьшить объем обмена данными в том или ином сегменте, в каждом сегменте множественного доступа OSPF один маршрутизатор выбирается в качестве выделенного маршрутизатора (DR), а другой маршрутизатор — в качестве резервного выделенного маршрутизатора (BDR). Резервный выделенный маршрутизатор используется в случае сбоя выделенного маршрутизатора. Идея заключается в том, что маршрутизаторы имеют центральную точку контакта для обмена данными. Вместо обмена обновлениями между маршрутизаторами по принципу "каждый с каждым", все маршрутизаторы обмениваются данными с выделенным маршрутизатором или резервным выделенным маршрутизатором. Выделенный маршрутизатор или резервный выделенный маршрутизатор передают данные остальным маршрутизаторам. Говоря математическим языком, происходит урезание обмена данными с O(n*n) до O(n), где n — число маршрутизаторов в сегменте множественного доступа. Следующая модель маршрутизаторов иллюстрирует принцип работы DR и BDR:

spf8.gif

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

Выбор DR

Выбор маршрутизаторов DR и BDR выполняется через протокол приветствия. Обмен пакетами приветствия выполняется через многоадресные пакеты IP (Приложение B) в каждом сегменте. Маршрутизатор с наибольшим приоритетом OSPF в сегменте станет выделенным маршрутизатором (DR) для этого сегмента. Этот же процесс повторяется для резервного выделенного маршрутизатора (BDR). В случае конфликта будет выбран маршрутизатор с большим значением RID. Приоритетность интерфейса OSPF по умолчанию равна 1. Помните, что понятия DR и BDR применяются для каждого сегмента множественного доступа. Настройка приоритета ospf в интерфейсе выполняется с помощью команды ip ospf priority <значение> интерфейс.

Нулевое значение приоритета обозначает интерфейс, который не может быть выбран как выделенный (DR) или резервный выделенный маршрутизатор (BDR). Состояние интерфейса с нулевым приоритетом будет DROTHER. Следующая схема иллюстрирует выбор DR:

spf9.gif

На схеме, приведенной выше, у RTA и RTB одинаковый приоритет интерфейса, но у RTB более высокий RID. RTB будет DR на этом сегменте. RTC имеет более высокий приоритет, чем RTB. RTC принимает состояние DR в этом сегменте.

Построение смежности

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

  • Down: Ни от одного узла в сегменте не получено данных.

  • Attempt: Для нешироковещательных облаков множественного доступа, таких как Frame Relay и X.25, данное состояние показывает, что от соседа не получено новых данных. Необходимо предпринять усилия для установки соединения с соседом с помощью отправки пакетов приветствия с уменьшенным интервалом опроса (PollInterval).

  • Init: Интерфейс обнаружил пакет приветствия, поступивший от соседа, но двусторонняя связь не была установлена.

  • Two-way: Существует двунаправленное соединение с соседом. Маршрутизатор увидел себя в пакетах приветствия от соседа. После завершения этого этапа выбор процесса DR и BDR будет выполнен. В конце этапа "Two-way" маршрутизаторы решают, нужно ли продолжать построение смежности. Это решение основывается на том, является ли один из маршрутизаторов выделенным или резервным выделенным и на том, имеет ли канал тип "точка-точка" или является виртуальным.

  • Exstart: Маршрутизаторы пытаются установить начальный порядковый номер, который будет использоваться в пакетах обмена данными. Порядковый номер обеспечивает получение маршрутизатором последней информации. Один маршрутизатор станет первичным, а второй — вторичным. Первичный маршрутизатор будет запрашивать данные у вторичного маршрутизатора.

  • Exchange: Маршрутизаторы полностью опишут свою базу данных состояний каналов, отправив пакеты описания базы данных. В этом состоянии может быть выполнена лавинная рассылка пакетов другим интерфейсам маршрутизатора.

  • Loading: В этом состоянии маршрутизаторы завершают обмен данными. Маршрутизаторы создали список запросов состояния канала и список повторной передачи состояний канала Любые данные, которые выглядят как неполные или устаревшие, будут помещены в список запросов. Все отправляемые обновления будут помещены в список повторной передачи и будут находиться в нем, пока не будут подтверждены.

  • Full: На этом этапе установление смежности завершается. Соседние маршрутизаторы являются полностью смежными. Смежные маршрутизаторы имеют одинаковые базы данных состояний каналов.

Рассмотрим пример:

spf10.gif

RTA, RTB, RTD и RTF имеют общий сегмент (Е0) в области 0.0.0.0. Ниже приведены конфигурации RTA и RTF. RTB и RTD должны иметь ту же конфигурацию, что RTF и не будут включены.

RTA#
hostname RTA 


interface Loopback0
 ip address 203.250.13.41 255.255.255.0


interface Ethernet0
 ip address 203.250.14.1 255.255.255.0


router ospf 10
 network 203.250.13.41 0.0.0.0 area 1
 network 203.250.0.0 0.0.255.255 area 0.0.0.0


RTF#
hostname RTF
interface Ethernet0
 ip address 203.250.14.2 255.255.255.0


router ospf 10
 network 203.250.0.0 0.0.255.255 area 0.0.0.0 

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

  • show ip ospf interface <интерфейс>

Эта команда выполняет быструю проверку, того принадлежат ли все интерфейсы к областям, к которым они должны принадлежать. Последовательность, в которой перечисляются команды сети OSPF, очень важна. В конфигурации RTA, если инструкция "network 203.250.0.0 0.0.255.255 area 0.0.0.0" находится перед инструкцией "network 203.250.13.41 0.0.0.0 area 1", все интерфейсы будут в области 0, что неверно, так как возвратная петля находится в области 1. Проанализируем выходные данные команды для RTA, RTF, RTB, and RTD:

RTA#show ip ospf interface e0
Ethernet0 is up, line protocol is up 
  Internet Address 203.250.14.1 255.255.255.0, Area 0.0.0.0 
  Process ID 10, Router ID 203.250.13.41, Network Type BROADCAST, Cost: 
10
  Transmit Delay is 1 sec, State BDR, Priority 1
  Designated Router (ID) 203.250.15.1, Interface address 203.250.14.2
  Backup Designated router (ID) 203.250.13.41, Interface address 
203.250.14.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 0:00:02
  Neighbor Count is 3, Adjacent neighbor count is 3
    Adjacent with neighbor 203.250.15.1  (Designated Router)
Loopback0 is up, line protocol is up 
  Internet Address 203.250.13.41 255.255.255.255, Area 1 
  Process ID 10, Router ID 203.250.13.41, Network Type LOOPBACK, Cost: 1
  Loopback interface is treated as a stub Host


RTF#show ip ospf interface e0
Ethernet0 is up, line protocol is up 
  Internet Address 203.250.14.2 255.255.255.0, Area 0.0.0.0
  Process ID 10, Router ID 203.250.15.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 1 
  Designated Router (ID) 203.250.15.1, Interface address 203.250.14.2
  Backup Designated router (ID) 203.250.13.41, Interface address 
203.250.14.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 0:00:08
  Neighbor Count is 3, Adjacent neighbor count is 3 
    Adjacent with neighbor 203.250.13.41  (Backup Designated Router)


RTD#show ip ospf interface e0
Ethernet0 is up, line protocol is up 
  Internet Address 203.250.14.4 255.255.255.0, Area 0.0.0.0 
  Process ID 10, Router ID 192.208.10.174, Network Type BROADCAST, Cost: 
10
  Transmit Delay is 1 sec, State DROTHER, Priority 1 
  Designated Router (ID) 203.250.15.1, Interface address 203.250.14.2
  Backup Designated router (ID) 203.250.13.41, Interface address 
203.250.14.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 0:00:03
  Neighbor Count is 3, Adjacent neighbor count is 2 
    Adjacent with neighbor 203.250.15.1  (Designated Router)
    Adjacent with neighbor 203.250.13.41  (Backup Designated Router)


RTB#show ip ospf interface e0
Ethernet0 is up, line protocol is up 
  Internet Address 203.250.14.3 255.255.255.0, Area 0.0.0.0
  Process ID 10, Router ID 203.250.12.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DROTHER, Priority 1 
  Designated Router (ID) 203.250.15.1, Interface address 203.250.14.2
  Backup Designated router (ID) 203.250.13.41, Interface address 
203.250.14.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 0:00:03
  Neighbor Count is 3, Adjacent neighbor count is 2
    Adjacent with neighbor 203.250.15.1  (Designated Router)
    Adjacent with neighbor 203.250.13.41  (Backup Designated Router)

Выходные данные команды, приведенные выше, очень важны. Рассмотрим выходные данные RTA. Ethernet0 находится в области 0.0.0.0. Идентификатор процесса — 10 (router ospf 10) и идентификатор маршрутизатора — 203.250.13.41. Следует помнить, что RID — это самый старший IP-адрес в блоке или интерфейсе возвратной петли. Этот адрес определяется во время загрузки или перезапуска процесса OSPF. Интерфейс находится в состоянии BDR. Поскольку у всех маршрутизаторов приоритет OSPF в сети Ethernet равен 0 (по умолчанию 1), интерфейс RTF был выбран в качестве DR из-за более высокого RID. Аналогичным образом RTA выбран в качестве BDR. RTD и RTB не являются выделенными (DR) или резервными выделенными (BDR) маршрутизаторами и имеют состояние DROTHER.

Также обратите внимание на число соседних и смежных узлов. RTD имеет три соседних маршрутизатора и является смежным по отношению к двум их них — DR и BDR. RTF имеет три соседних маршрутизатора и является смежным по отношению ко всем трем, так как он — выделенный маршрутизатор (DR).

Данные о типе сети важны, они определяют состояние интерфейса. В таких широковещательных сетях, как Ethernet, выбор DR и BDR должен быть несущественным для конечного пользователя. Не имеет значения, какие маршрутизаторы являются DR или BDR. В других случаях, таких как среды NBMA, например Frame Relay и X.25, становится очень важным правильное функционирование OSPF. К счастью, с появлением субинтерфейсов "точка-точка" и "точка-много точек", выбор DR больше не является проблемой. Использование OSPF поверх NBMA будет рассматриваться в следующем разделе.

Другая команда, которую необходимо рассмотреть:

  • show ip ospf neighbor

Давайте проанализируем выходные данные RTD.

RTD#show ip ospf neighbor
  
Neighbor ID    Pri State         Dead Time  Address      Interface
 
203.250.12.1    1  2WAY/DROTHER  0:00:37   203.250.14.3  Ethernet0
203.250.15.1    1  FULL/DR       0:00:36   203.250.14.2  Ethernet0
203.250.13.41   1  FULL/BDR      0:00:34   203.250.14.1  Ethernet0

Команда show ip ospf neighbor показывает состояние всех соседей в заданном сегменте. Не беспокойтесь, если "Neighbor ID" не принадлежит рассматриваемому сегменту. В нашем случае 203.250.12.1 и 203.250.15.1 не входят в Ethernet0. Это нормально, т. к. "Neighbor ID" представляет собой RID, который может быть любым IP-адресом в блоке. RTD и RTB — только соседи, поэтому их состояние — 2WAY/DROTHER. RTD является смежным по отношению к RTA и RTF, а его состояние — FULL/DR и FULL/BDR.

Смежность в интерфейсах точка-точка

Для протокола OSPF всегда устанавливается смежное соединение с соседом на противоположной стороне интерфейса типа "точка-точка", например последовательный канал "точка-точка". Концепции DR или BDR не используются. Состояние последовательных интерфейсов — "точка-точка".

Смежность в нешироковещательных сетях множественного доступа (NBMA)

Особое внимание следует уделить настройке OSPF в нешироковещательных средах множественного доступа, таких как Frame Relay, X.25 и ATM. Протокол воспринимает эти среды как обычную широковещательную среду, например Ethernet. Облака NBMA обычно строятся с помощью концентраторов и топологии "звезда". PVC или SVC располагаются в частично-связанной сети и физическая топология не предоставляет множественный доступ, но OSPF считает, что множественный доступ поддерживается. Выбор DR становится проблемой, поскольку DR и BDR должны иметь полноценное физическое подключение ко всем маршрутизаторам облака. Кроме того, из-за отсутствия широковещательных возможностей, маршрутизаторы DR и BDR должны иметь статический список всех остальных маршрутизаторов, подключенных к облаку. Это достигается с помощью команды neighbor ip-address[priority number] [poll-interval seconds] , где "ip-address" и "priority" — IP-адрес и приоритет OSPF, присвоенный соседу. Сосед с приоритетом 0 рассматривается как непригодный для выбора DR. "poll-interval" (интервал опроса) — это промежуток времени, в течение которого интерфейс NBMA ожидает начала опроса (отправки пакета приветствия), предположительно отключенного, соседнего узла. Команда neighbor применяется к маршрутизаторам, которые потенциально могут быть маршрутизаторами DR или BDR (значение приоритета интерфейса не равняется 0). Ниже показан сетевая диаграмма, в которой выбор DR очень важен:

spf11.gif

В диаграмме выше очень важно, чтобы интерфейс RTA мог быть выбран маршрутизатором DR. Это связано с тем, что RTA — единственный маршрутизатор с полноценным подключением к другим маршрутизаторам. На выбор DR может повлиять установка приоритета ospf в интерфейсах. Маршрутизаторы, которые не должны становиться DR или BDR будут иметь приоритет 0, другие маршрутизаторы могут иметь более низкий приоритет.

Использование команды neighbor не будет подробно рассматриваться в этом документе, так новые способы настройки типа сети для интерфейса, которые не зависят от базовой физической среды, делают эту команду ненужной. Они рассматриваются в следующем разделе.

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

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

Субинтерфейсы "точка-точка"

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

Субинтерфейс типа "точка-точка" имеет такие же параметры, как и любой другой физический интерфейс типа "точка-точка". С точки зрения OSPF, смежность всегда формируется через субинтерфейс "точка-точка" без выбора DR или BDR. Ниже представлена иллюстрация использования субинтерфейсов "точка-точка":

spf12.gif

В диаграмме выше в интерфейсе RTA мы можем разделить "Serial 0" на два субинтерфейса "точка-точка", S0.1 и S0.2. Таким образом, OSPF будет считать, что облако настроено как набор каналов типа "точка-точка", а не как одна сеть с множественным доступом. Единственный недостаток интерфейса "точка-точка" заключается в том, что каждый сегмент принадлежит отдельной подсети. Это может быть неприемлемо, если администраторы уже назначили одну подсеть всему облаку.

Другой обходной путь — использование ненумерованных интерфейсов IP в облаке. Это также может быть проблемой для некоторых администраторов, управляющих глобальными сетями на основе IP-адресов последовательных каналов. Ниже приведена типовая конфигурация для RTA и RTB:

RTA#

interface Serial 0
 no ip address
 encapsulation frame-relay

interface Serial0.1 point-to-point
 ip address 128.213.63.6 255.255.252.0
 frame-relay interface-dlci 20

interface Serial0.2 point-to-point
 ip address 128.213.64.6 255.255.252.0
 frame-relay interface-dlci 30

router ospf 10
network 128.213.0.0 0.0.255.255 area 1

RTB#

interface Serial 0
 no ip address
 encapsulation frame-relay

interface Serial0.1 point-to-point
 ip address 128.213.63.5 255.255.252.0
 frame-relay interface-dlci 40

interface Serial1
 ip address 123.212.1.1 255.255.255.0

router ospf 10
network 128.213.0.0 0.0.255.255 area 1
network 123.212.0.0 0.0.255.255 area 0

Выбор типа сети для интерфейсов

Команда, используемая для выбора типа сети интерфейса OSPF:

ip ospf network {broadcast | non-broadcast | point-to-multipoint}

Интерфейс "точка-много точек"

Интерфейс OSPF типа "точка-много точек" определяется как нумерованный интерфейс "точка-точка" с одним или несколькими соседями. Эта концепция — развитие рассмотренной выше концепции организации соединения типа "точка-точка". Администраторы могут не беспокоиться о наличии нескольких подсетей для каждого канала "точка-точка". Облако настроено как одна подсеть. Этот способ подойдет для перехода на концепцию "точка-точка" без изменения IP-адресации в облаке. Им также не придется беспокоиться о маршрутизаторах DR инструкциях соседства. Принцип работы интерфейса OSPF "точка-много точек" заключается в обмене дополнительными обновлениями состояния канала, которые содержат несколько информационных элементов, описывающих возможности подключения к соседним маршрутизаторам.

spf13.gif

RTA#

interface Loopback0
 ip address 200.200.10.1 255.255.255.0

interface Serial0
 ip address 128.213.10.1 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint

router ospf 10
network 128.213.0.0 0.0.255.255 area 1

RTB#

interface Serial0
 ip address 128.213.10.2 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint

interface Serial1
 ip address 123.212.1.1 255.255.255.0

router ospf 10
network 128.213.0.0 0.0.255.255 area 1
network 123.212.0.0 0.0.255.255 area 0

Обратите внимание, что статические инструкции карты Frame Relay не были настроены. Это связано с тем, что сопоставление адресов DLCI и IP выполняется ARP. Рассмотрим выходные данные команд show ip ospf interface и show ip ospf route:

RTA#show ip ospf interface s0
Serial0 is up, line protocol is up
  Internet Address 128.213.10.1 255.255.255.0, Area 0
  Process ID 10, Router ID 200.200.10.1, Network Type
POINT_TO_MULTIPOINT, Cost: 64
  Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT,
  Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
    Hello due in 0:00:04
  Neighbor Count is 2, Adjacent neighbor count is 2
    Adjacent with neighbor 195.211.10.174
    Adjacent with neighbor 128.213.63.130

RTA#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
128.213.10.3      1   FULL/  -        0:01:35     128.213.10.3    Serial0
128.213.10.2      1   FULL/  -        0:01:44     128.213.10.2    Serial0

RTB#show ip ospf interface s0

Serial0 is up, line protocol is up
  Internet Address 128.213.10.2 255.255.255.0, Area 0
  Process ID 10, Router ID 128.213.10.2, Network Type
POINT_TO_MULTIPOINT, Cost: 64
  Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT,
  Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
    Hello due in 0:00:14
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 200.200.10.1

RTB#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
200.200.10.1      1   FULL/  -        0:01:52     128.213.10.1    Serial0

Единственный недостаток интерфейса "точка-много точек" состоит в том, что он создает несколько маршрутов хостов (маршрутов с маской 255.255.255.255) для всех соседей. Обратите внимание на маршруты хостов в следующей таблице маршрутизации IP для RTB:

RTB#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is not set

      200.200.10.0 255.255.255.255 is subnetted, 1 subnets
 O       200.200.10.1 [110/65] via 128.213.10.1,  Serial0
         128.213.0.0 is variably subnetted, 3 subnets, 2 masks
 O    128.213.10.3 255.255.255.255
            [110/128] via 128.213.10.1, 00:00:00, Serial0
 O    128.213.10.1 255.255.255.255
            [110/64] via 128.213.10.1, 00:00:00, Serial0
 C       128.213.10.0 255.255.255.0 is directly connected, Serial0
      123.0.0.0 255.255.255.0 is subnetted, 1 subnets
 C       123.212.1.0 is directly connected, Serial1

 RTC#show ip route

      200.200.10.0 255.255.255.255 is subnetted, 1 subnets
 O       200.200.10.1 [110/65] via 128.213.10.1, Serial1
      128.213.0.0 is variably subnetted, 4 subnets, 2 masks
 O       128.213.10.2 255.255.255.255 [110/128] via 128.213.10.1,Serial1
 O       128.213.10.1 255.255.255.255 [110/64] via 128.213.10.1, Serial1
 C       128.213.10.0 255.255.255.0 is directly connected, Serial1
      123.0.0.0 255.255.255.0 is subnetted, 1 subnets
 O       123.212.1.0 [110/192] via 128.213.10.1, 00:14:29, Serial1

Обратите внимание, что в таблице маршрутизации IP для RTC сеть 123.212.1.0 доступна после следующего перехода 128.213.10.1, а не после 128.213.10.2, как это обычно бывает в облаках Frame Relay с общей подсетью. Это является одним из преимуществ конфигурации "точка-много точек", так как чтобы достичь следующего перехода 128.213.10.2 не нужно прибегать к статическому сопоставлению на маршрутизаторе RTC.

Широковещательные интерфейсы

Этот подход заменяет использование команды neighbor, которая выводит статический список всех доступных соседей. Интерфейс будет логически настроен на широковещательную рассылку и будет работать так, как если бы маршрутизатор был подключен к ЛВС. Выбор DR и BDR все равно будет выполняться, поэтому следует принять особые меры, чтобы создать полносвязную топологию или обеспечить статический выбор DR на основе приоритета интерфейсов. Команда, настраивающая интерфейс на широковещательную рассылку:

ip ospf network broadcast

OSPF и суммирование маршрутов

Суммирование — это объединение нескольких маршрутов в одном объявлении. Как правило, эта операция выполняется на пограничных маршрутизаторах области (ABR). Хотя суммирование можно настроить между двумя любыми областями, лучше выполнять суммирование в направлении магистрали. Таким образом магистраль получит все агрегированные адреса и, в свою очередь, введет суммированные адреса в другие области. Поддерживаются два типа суммирования:

  • Суммирование межобластных маршрутов

  • Суммирование внешних маршрутов

Суммирование межобластных маршрутов

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

area area-id range address mask

Где "area-id" — это область, которая содержит суммируемые сети. "address" и "mask" — это диапазоны адресов, которые необходимо суммировать в одном диапазоне. Пример суммирования:

spf14.gif

На приведенной выше диаграмме RTB суммирует диапазоны подсетей от 128.213.64.0 до 128.213.95.0 в один диапазон. 128.213.64.0 255.255.224.0. Это достигается путем применения маски 255.255.224.0 к трем крайним левым битам 64 . Аналогичным образом RTC генерирует суммарный адрес 128.213.96.0 255.255.224.0 для магистрали. Следует заметить, что это суммирование было успешным потому, что доступно два отдельных диапазона подсети, 64-95 и 96-127.

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

Ниже приведена соответствующая конфигурация RTB:

RTB#
 router ospf 100
 area 1 range 128.213.64.0 255.255.224.0

До выхода программного обеспечения Cisco IOS® 12.1(6) мы рекомендовали вручную настраивать защитный маршрут для суммарных адресов на ABR, чтобы предотвратить возможное появления петель маршрутизации. Для суммарного маршрута, изображенного выше, можно использовать команду:

ip route 128.213.64.0 255.255.224.0 null0

В IOS версии 12.1(6) и выше защитный маршрут генерируется автоматически по умолчанию. Если по какой-либо причине вы не хотите использовать защитный маршрут, можно настроить следующие команды для router ospf:

[no] discard-route internal

или

[no] discard-route external

Примечание о расчете метрики суммарного адреса. Стандарт RFC 1583 leavingcisco.com применяется для расчета метрик суммарных маршрутов на основе минимальных метрик путей компонентов.

Стандарт RFC 2178 leavingcisco.com (больше не используется, заменен на RFC 2328 leavingcisco.com) изменял указанный метод расчета метрик для суммарных маршрутов, стоимость суммированного маршрута определялась максимальной стоимостью компонента этого маршрута.

До выхода IOS 12.0 продукты Cisco соответствовали актуальному на тот момент стандарту RFC 1583 leavingcisco.com. С выходом IOS 12.0 компания Cisco изменила режим работы OSPF в соответствии с новым стандартом RFC 2328 leavingcisco.com. В результате появилась вероятность субоптимальной маршрутизации в случае, если код всех ABR в области не был обновлен одновременно. Для решения этой потенциальной проблемы в OSPF-конфигурацию Cisco IOS была добавлена команда, позволяющая выборочно отключать совместимость с RFC 2328leavingcisco.com. Новая команда конфигурации используется после команды router ospf и имеет следующий синтаксис:

[no] compatible rfc1583 

Настройка по умолчанию — "совместим с RFC 1583 leavingcisco.com". Команда доступна в следующих версиях IOS:

  • 12.1(03)DC

  • 12.1(03)DB

  • 12.001(001.003) - 12.1 Mainline

  • 12.1(01.03)T - 12.1 T-Train

  • 12.000(010.004) - 12.0 Mainline

  • 12.1(01.03)E - 12.1 E-Train

  • 12.1(01.03)EC

  • 12.0(10.05)W05(18.00.10)

  • 12.0(10.05)SC

Суммирование внешних маршрутов

Суммирование внешних маршрутов применяется к маршрутам, введенным в OSPF с помощью перераспределения. Убедитесь, что внешние суммируемые диапазоны непрерывны. Суммирование перекрывающихся диапазонов двух разных маршрутов может привести к отправке пакетов не по назначению. Суммирование выполняется с помощью следующей подкоманды router ospf:

summary-address ip-address mask

Эта команда эффективна только для пограничных маршрутизаторов автономной системы (ASBR), выполняющих перераспределение в OSPF.

spf15.gif

Диаграмма выше показывает, как RTA и RTD вводят маршруты в OSPF при помощи перераспределения. RTA вводит подсети в диапазоне 128.213.64-95 и RTD вводит подсети в диапазоне 128.213.96-127. Чтобы суммировать подсети в один диапазон на каждом маршрутизаторе надо выполнить следующие действия:

RTA#
 router ospf 100
 summary-address 128.213.64.0 255.255.224.0
 redistribute bgp 50 metric 1000 subnets

 RTD#
 router ospf 100
 summary-address 128.213.96.0 255.255.224.0
 redistribute bgp 20 metric 1000 subnets

Это приведет к тому, что RTA создаст один внешний маршрут 128.213.64.0 255.255.224.0 и RTD создаст 128.213.96.0 255.255.224.0.

Имейте в виду, что команда summary-address не подействует на RTB, поскольку RTB не выполняет перераспределение в OSPF.

Шлейфные области

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

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

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

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

Расширения для шлейфной области носят название "полностью шлейфных областей". Cisco указывает на это с помощью добавления ключевого слова "no-summary" в конфигурацию шлейфной области. Полностью шлейфная область — это область, в которой заблокирован ввод внешних и суммированных маршрутов (межобластных маршрутов). Таким образом, в области существуют только внутренние маршруты и маршрут по умолчанию 0.0.0.0.

Команда, настраивающая область как шлейфную:

area <area-id> stub [no-summary]

команда, которая настраивает стоимость по умолчанию для области:

area area-id default-cost cost

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

spf16.gif

Предположим, что область 2 настроена в качестве шлейфной зоны. В следующем примере показана таблица маршрутизации RTE до и после настройки области 2 в качестве шлейфной.

RTC#

 interface Ethernet 0
  ip address 203.250.14.1 255.255.255.0

 interface Serial1
  ip address 203.250.15.1 255.255.255.252

 router ospf 10
  network 203.250.15.0 0.0.0.255 area 2
  network 203.250.14.0 0.0.0.255 area 0
 RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is not set

      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA 203.250.14.0 [110/74] via 203.250.15.1, 00:06:31, Serial0
      128.213.0.0 is variably subnetted, 2 subnets, 2 masks
 O E2    128.213.64.0 255.255.192.0
            [110/10] via 203.250.15.1, 00:00:29, Serial0
 O IA    128.213.63.0 255.255.255.252
            [110/84] via 203.250.15.1, 00:03:57, Serial0
      131.108.0.0 255.255.255.240 is subnetted, 1 subnets
 O       131.108.79.208 [110/74] via 203.250.15.1, 00:00:10, Serial0

RTE запомнил межобластные маршруты (O IA) 203.250.14.0 и 128.213.63.0, а также внутриобластной маршрут (O) 131.108.79.208 и внешний маршрут (O E2) 128.213.64.0.

Для настройки области 2 в качестве шлейфной нужно выполнить следующие действия:

RTC#

 interface Ethernet 0
  ip address 203.250.14.1 255.255.255.0

 interface Serial1
  ip address 203.250.15.1 255.255.255.252

 router ospf 10
  network 203.250.15.0 0.0.0.255 area 2
  network 203.250.14.0 0.0.0.255 area 0
  area 2 stub

 RTE#

 interface Serial1
  ip address 203.250.15.2 255.255.255.252 router ospf 10 network 203.250.15.0 0.0.0.255 area 2
  area 2 stub

Имейте в виду, что команда stub настроена также на RTE, в противном случае RTE никогда не станет соседом RTC. Стоимость по умолчанию не установлена, поэтому RTC объявит маршрут 0.0.0.0 для RTE с метрикой 1.

RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is 203.250.15.1 to network 0.0.0.0

      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA 203.250.14.0 [110/74] via 203.250.15.1, 00:26:58, Serial0
      128.213.0.0 255.255.255.252 is subnetted, 1 subnets
 O IA    128.213.63.0 [110/84] via 203.250.15.1, 00:26:59, Serial0
      131.108.0.0 255.255.255.240 is subnetted, 1 subnets
 O       131.108.79.208 [110/74] via 203.250.15.1, 00:26:59, Serial0
 O*IA 0.0.0.0 0.0.0.0 [110/65] via 203.250.15.1, 00:26:59, Serial0

Обратите внимание, что были обнаружены все маршруты, кроме внешних, которые были заменены на маршрут по умолчанию 0.0.0.0. Стоимость маршрута — 65 (64 для канала T1 + 1 в соответствии с объявлением RTC).

Теперь настроим область 2, чтобы как "полностью шлейфную", и изменим стоимость маршрута 0.0.0.0 по умолчанию на 10.

RTC#

 interface Ethernet 0
  ip address 203.250.14.1 255.255.255.0

 interface Serial1
  ip address 203.250.15.1 255.255.255.252

 router ospf 10
  network 203.250.15.0 0.0.0.255 area 2
  network 203.250.14.0 0.0.0.255 area 0
  area 2 stub no-summary
  area 2 default cost 10


 RTE#show ip route

 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is not set

      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
      131.108.0.0 255.255.255.240 is subnetted, 1 subnets
 O       131.108.79.208 [110/74] via 203.250.15.1, 00:31:27, Serial0
 O*IA 0.0.0.0 0.0.0.0 [110/74] via 203.250.15.1, 00:00:00, Serial0

Обратите внимание, что отображаются только внутриобластные маршруты (O) и маршрут по умолчанию 0.0.0.0. Внешние и внутренние маршруты заблокированы. Стоимость маршрута по умолчанию теперь равняется 74 (64 для линии T1 + 10 в соответствии с объявлением RTC). В этом случае настройка RTE не требуется. Эта область уже является шлейфной, поэтому команда no-summary не оказывает влияния на пакет приветствия, равно как и команда stub.

Перераспределение маршрутов в OSPF

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

redistribute protocol [process-id] [metric value] 
[metric-type value] [route-map map-tag] [subnets]

Примечание: Указанная выше команда должна быть введена в одной строке.

"Protocol" и "process-id" — это протокол, который необходимо ввести в OSPF, и его идентификатор процесса, если он существует. "metric" — это стоимость, которая назначается внешнему маршруту. Если метрика не указана, OSPF будет использовать значение по умолчанию 20 при перераспределении маршрутов от всех протоколов, кроме BGP, которым назначается метрика 1. Параметр "metric-type" рассматривается в следующем параграфе.

Карта маршрутов — это метод, используемый для управления перераспределением маршрутов между доменами маршрутизации. Формат карты маршрутов приведен ниже:

route-map map-tag [[permit | deny] | [sequence-number]]

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

Сравнение внешних маршрутов E1 и E2

Внешние маршруты делятся на две категории, внешний тип 1 и внешний тип 2. Разница между ними заключается в способе расчета стоимости (метрики) маршрута. В качестве стоимости маршрута типа 2 всегда будет использоваться внешняя стоимость, независимо от внутренней стоимости доступа к этому маршруту. Стоимость типа 1 добавляется к внешней и внутренней стоимости доступа к этому маршруту. Маршрут типа 1 всегда имеет приоритет над маршрутом типа 2 для того же места назначения. Это иллюстрируется следующей диаграммой:

spf17.gif

Как показано на диаграмме выше, RTA выполняет перераспределение двух внешних маршрутов в OSPF. N1 и N2 имеют внешнюю стоимость х. Разница только в том, что N1 перераспределен в OSPF с метрикой типа 1 и N2 перераспределен с метрикой типа 2. Если мы проследим маршруты от области 1 к области 0, стоимость доступа к N2 с точки зрения RTB или RTC всегда будет равна x. Внутренняя стоимость маршрута не учитывается. С другой стороны, к стоимости доступа к N1 добавляется внутренняя стоимость. Стоимость будет равна x+y с точки зрения RTB и x+y+z с точки зрения RTC.

Если оба внешних маршрута относятся к типу 2 и значения внешней стоимости доступа к сети назначения равны, то в качестве оптимального пути выбирается путь с наименьшей стоимостью доступа к ASBR.

Если не указано иначе, внешним маршрутам по умолчанию присваивается внешний тип 2

.

spf18.gif

Предположим, что добавлено два статических маршрута, ведущих к E0 на RTC: 16.16.16.0 255.255.255.0 (запись /24 указывает на использование 24-битной маски начиная с крайней левой группы) и 128.213.0.0 255.255.0.0. Далее показаны различные режимы работы, определяемые параметрами команды redistribute для RTC:

RTC#
 interface Ethernet0
  ip address 203.250.14.2 255.255.255.0

 interface Serial1
  ip address 203.250.15.1 255.255.255.252

 router ospf 10
  redistribute static
  network 203.250.15.0 0.0.0.255 area 2
  network 203.250.14.0 0.0.0.255 area 0

 ip route 16.16.16.0 255.255.255.0 Ethernet0
 ip route 128.213.0.0 255.255.0.0 Ethernet0

 RTE#

 interface Serial0
  ip address 203.250.15.2 255.255.255.252

 router ospf 10
 network 203.250.15.0 0.0.0.255 area 2

Выходные данные команды show ip route для RTE:

RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is not set

      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA 203.250.14.0 [110/74] via 203.250.15.1, 00:02:31, Serial0
 O E2 128.213.0.0 [110/20] via 203.250.15.1, 00:02:32, Serial0

Обратите внимание, что отобразился только внешний один маршрут, 128.213.0.0, поскольку мы не использовали ключевое слово subnet. Помните, что если ключевое слово subnet не используется, будут перераспределены только домены без подсетей. В нашем случае, 16.16.16.0 является маршрутизатором класса A, который находится в подсети и не был перераспределен. Поскольку ключевое слово metric не используется (или выражение default-metric для команды router OSPF), внешнему маршрутизатору будет назначена стоимость 20 (по умолчанию 1 для BGP). При использовании следующего выражения:

redistribute static metric 50 subnets

RTE#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M
- mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is not set

      16.0.0.0 255.255.255.0 is subnetted, 1 subnets
 O E2    16.16.16.0 [110/50] via 203.250.15.1, 00:00:02, Serial0
      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA 203.250.14.0 [110/74] via 203.250.15.1, 00:00:02, Serial0
 O E2 128.213.0.0 [110/50] via 203.250.15.1, 00:00:02, Serial0

Обратите внимание, что теперь 16.16.16.0 отображается и стоимость внешних маршрутов равна 50. Поскольку внешние маршруты имеют тип 2 (E2), внутренняя стоимость не прибавляется. Предположим, что мы изменили тип на E1:

redistribute static metric 50 metric-type 1 subnets

RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is not set

      16.0.0.0 255.255.255.0 is subnetted, 1 subnets
 O E1    16.16.16.0 [110/114] via 203.250.15.1, 00:04:20, Serial0
      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA 203.250.14.0 [110/74] via 203.250.15.1, 00:09:41, Serial0
 O E1 128.213.0.0 [110/114] via 203.250.15.1, 00:04:21, Serial0

Обратите внимание, что тип изменился на E1, к стоимости была добавлена внутренняя стоимость S0, которая составляет 64, и общая стоимость будет равна 64+50=114.

Предположим, что мы добавили карту маршрутов к конфигурации RTC, результат:

RTC#
 interface Ethernet0
  ip address 203.250.14.2 255.255.255.0

 interface Serial1
  ip address 203.250.15.1 255.255.255.252

 router ospf 10
 redistribute static metric 50 metric-type 1 subnets route-map STOPUPDATE
  network 203.250.15.0 0.0.0.255 area 2
  network 203.250.14.0 0.0.0.255 area 0

 ip route 16.16.16.0 255.255.255.0 Ethernet0
 ip route 128.213.0.0 255.255.0.0 Ethernet0

 access-list 1 permit 128.213.0.0 0.0.255.255

 route-map STOPUPDATE permit 10
  match ip address 1

Карта маршрутов разрешит перераспределение в OSPF только для 128.213.0.0 и отклонит другие маршруты. Поэтому маршрут 16.16.16.0 больше не отображается в таблице маршрутизации RTE.

RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is not set

      203.250.15.0 255.255.255.252 is subnetted, 1 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA 203.250.14.0 [110/74] via 203.250.15.1, 00:00:04, Serial0
 O E1 128.213.0.0 [110/114] via 203.250.15.1, 00:00:05, Serial0

Перераспределение OSPF в другие протоколы

Использование допустимой метрики

При перераспределении OSPF в другие протоколы необходимо следовать правилам этих протоколов. Это значит, что применяемая метрика должна соответствовать метрике, используемой данным протоколом. Например, метрика RIP представляет собой счетчик переходов в диапазоне от  1 до 16, где значение 1 соответствует сети, расположенной на расстоянии одного перехода, а 16 соответствует недостижимой сети. С другой стороны, IGRP и EIGRP требуют метрику следующего вида:

default-metric bandwidth delay reliability loading mtu

VLSM

Другой вопрос, который следует учесть — использование VLSM (Руководство по маскам подсети переменной длины)(Приложение C). OSPF может переносить информацию нескольких подсетей одной основной сети, но другие протоколы, такие как RIP и IGRP (EIGRP поддерживает VLSM) не могут. Если одна основная сеть пересекает границы доменов OSPF и RIP, данные VLSM, которые передаются в RIP или IGRP, будут потеряны, а статические маршруты необходимо будет настраивать в доменах RIP или IGRP. Следующий пример поясняет эту проблему:

spf19.gif

В приведенной выше диаграмме RTE использует OSPF, а RTA использует RIP. RTC выполняет перераспределение между этими двумя протоколами. Проблема в том, что сеть класса C 203.250.15.0 является переменной подсетью, она имеет две разные маски — 255.255.255.252 и 255.255.255.192. Рассмотрим конфигурацию и таблицы маршрутизации RTE и RTA:

RTA#
 interface Ethernet0
  ip address 203.250.15.68 255.255.255.192
 router rip
  network 203.250.15.0
 RTC#
 interface Ethernet0
  ip address 203.250.15.67 255.255.255.192

 interface Serial1
  ip address 203.250.15.1 255.255.255.252
 router ospf 10
 redistribute rip metric 10 subnets
  network 203.250.15.0 0.0.0.255 area 0
 router rip
  redistribute ospf 10 metric 2
  network 203.250.15.0

 RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is not set

      203.250.15.0 is variably subnetted, 2 subnets, 2 masks
 C       203.250.15.0 255.255.255.252 is directly connected, Serial0
 O       203.250.15.64 255.255.255.192
            [110/74] via 203.250.15.1, 00:15:55, Serial0
 RTA#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is not set

      203.250.15.0 255.255.255.192 is subnetted, 1 subnets
 C       203.250.15.64 is directly connected, Ethernet0

Обратите внимание, что RTE распознает наличие двух подсетей в сети 203.250.15.0, тогда как RTA видит только одну сеть, настроенную в интерфейсе. Сведения о подсети 203.250.15.0 255.255.255.252 теряются в домене протокола RIP. Чтобы достичь этой подсети необходимо настроить статический маршрут в RTA:

RTA#
 interface Ethernet0
  ip address 203.250.15.68 255.255.255.192
 router rip
  network 203.250.15.0

ip route 203.250.15.0 255.255.255.0 203.250.15.67

Таким образом, RTA сможет получить доступ к другим подсетям.

Взаимное перераспределение

Взаимное перераспределение между протоколами должно выполняться крайне осторожно. Неверная конфигурации может привести к образованию петель данных маршрутизации. Эмпирическое правило для взаимной маршрутизации заключается в следующем: не позволяйте данным, полученным из протокола, возвращаться (вводиться) в этот протокол. Пассивные интерфейсы и списки распределения следует применять на перераспределяющих маршрутизаторах. Фильтрация данных с помощью протоколов на основе состояния канала, таких как OSPF, — сложная задача. Команда Distribute-list out используется на маршрутизаторе ASBR для фильтрации маршрутов, перераспределенных в другие протоколы. Distribute-list in выполняется на любом маршрутизаторе. Она запрещает размещение маршрутов в таблице маршрутизации. Однако она не препятствует распространению пакетов с информацией о состоянии канала, и последующие маршрутизаторы все еще будут получать данные о маршрутах. Рекомендуется избегать фильтрации OSPF, если для предотвращения петель можно применить фильтры в других протоколах.

spf20.gif

Чтобы проиллюстрировать это, предположим, что RTA, RTC и RTE работают с протоколом RIP. RTC и RTA также используют OSPF. RTC и RTA выполняют перераспределение между RIP и OSPF. Предположим, вы не хотите вводить трафик RIP от маршрутизатора RTE в OSPF-домен, поэтому вы назначаете пассивный интерфейс для RIP в E0, RTC. Однако вы разрешили ввод в OSPF трафика RIP от RTA. Результат:

Примечание: Не используйте следующую конфигурацию.

RTE#
 interface Ethernet0
  ip address 203.250.15.130 255.255.255.192
 
 interface Serial0
  ip address 203.250.15.2 255.255.255.192
 
 router rip
  network 203.250.15.0
 
 
RTC#
 interface Ethernet0
  ip address 203.250.15.67 255.255.255.192
 
 interface Serial1
  ip address 203.250.15.1 255.255.255.192
 
 router ospf 10
  redistribute rip metric 10 subnets
  network 203.250.15.0 0.0.0.255 area 0
 
 router rip
  redistribute ospf 10 metric 2
  passive-interface Ethernet0
  network 203.250.15.0
 



RTA#
interface Ethernet0
 ip address 203.250.15.68 255.255.255.192
 
router ospf 10
 redistribute rip metric 10 subnets
 network 203.250.15.0 0.0.0.255 area 0


router rip
 redistribute ospf 10 metric 1
 network 203.250.15.0


 
RTC#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
  
 Gateway of last resort is not set
 
      203.250.15.0 255.255.255.192 is subnetted, 4 subnets
 C       203.250.15.0 is directly connected, Serial1
 C       203.250.15.64 is directly connected, Ethernet0
 R       203.250.15.128 [120/1] via 203.250.15.68, 00:01:08, Ethernet0
                        [120/1] via 203.250.15.2, 00:00:11, Serial1
 O       203.250.15.192 [110/20] via 203.250.15.68, 00:21:41, Ethernet0

Обратите внимание, что RTC может достичь подсети 203.250.15.128 по двум путям: Serial 1 и Ethernet 0 (E0 — очевидно, неверный путь). Это произошло, поскольку RTC передал эту запись RTA по OSPF и RTA вернул ее по RIP, т. к. узнал о ней не через RIP. В этом примере показаны петли очень малого масштаба, которые могут возникнуть вследствие неправильной конфигурации. В крупных сетях эта ситуация может усугубиться.

Чтобы исправить ситуацию в нашем примере, можно запретить отправку данных RIP в Ethernet (RTA) через пассивный интерфейс. Этот способ может быть неприменим, если некоторые маршрутизаторы Ethernet поддерживают только RIP. В этом случае можно разрешить RTC отправлять данные RIP в Ethernet. Таким образом RTA не будет отправлять их назад в канал из-за разделения горизонта (этот способ может не работать в среде NBMA с отключенным разделением горизонта). Разделение горизонта не допускает отправку обновлений обратно в интерфейс, из которого они были получены (по тому же протоколу). Другой надежный метод — использование списков распределения в RTA для запрета возврата подсетей, полученных по протоколу OSPF, в маршрутизатор RIP сегмента Ethernet. Воспользуемся последним методом:

RTA#
  interface Ethernet0
  ip address 203.250.15.68 255.255.255.192
 
 router ospf 10
  redistribute rip metric 10 subnets
  network 203.250.15.0 0.0.0.255 area 0
 
 router rip
  redistribute ospf 10 metric 1
  network 203.250.15.0
  distribute-list 1 out ospf 10

Выходные данные таблицы маршрутизации RTC будут иметь следующий вид:

RTF#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
  
 Gateway of last resort is not set
  
      203.250.15.0 255.255.255.192 is subnetted, 4 subnets
 C       203.250.15.0 is directly connected, Serial1
 C       203.250.15.64 is directly connected, Ethernet0
 R       203.250.15.128 [120/1] via 203.250.15.2, 00:00:19, Serial1
 O       203.250.15.192 [110/20] via 203.250.15.68, 00:21:41, Ethernet0

Ввод стандартных параметров в OSPF

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

Чтобы протокол OSPF создавал маршрут по умолчанию, используйте следующую команду:

default-information originate [always] [metric metric-value] 
[metric-type type-value] [route-map map-name]

Примечание: Указанная выше команда должна быть введена в одной строке.

Создать маршрут по умолчанию можно двумя способами. Первый способ заключается в объявлении маршрута 0.0.0.0 внутри домена. Его можно использовать только если у ASBR уже есть маршрут по умолчанию. Второй — объявление 0.0.0.0 независимо от того, есть ли у ASBR маршрут по умолчанию. К последнему способу можно прибегнуть, добавив ключевое слово always. Следует проявлять осторожность при использовании ключевого слова always. Если маршрутизатор объявляет маршрут по умолчанию (0.0.0.0) внутри домена и при этом не имеет собственного маршрута по умолчанию или пути к местам назначения, маршрутизация будет нарушена.

Метрика и тип метрики — это стоимость и тип (E1 или E2), назначенные маршруту по умолчанию. Карта маршрутов определяет набор условий, которые необходимо удовлетворить для создания маршрута по умолчанию.

spf21.gif

Предположим, что RTE вводит маршрут по умолчанию 0.0.0.0 в RIP. RTC получит шлюз последней очереди 203.250.15.2. RTC не будет распространять маршрут по умолчанию RTA, пока не будет выполнена настройка RTC с помощью команды default-information originate.

RTC#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
  
 Gateway of last resort is 203.250.15.2 to network 0.0.0.0
  
      203.250.15.0 255.255.255.192 is subnetted, 4 subnets
 C       203.250.15.0 is directly connected, Serial1
 C       203.250.15.64 is directly connected, Ethernet0
 R       203.250.15.128 [120/1] via 203.250.15.2, 00:00:17, Serial1
 O       203.250.15.192 [110/20] via 203.250.15.68, 2d23, Ethernet0
 R*   0.0.0.0 0.0.0.0 [120/1] via 203.250.15.2, 00:00:17, Serial1
             [120/1] via 203.250.15.68, 00:00:32, Ethernet0
 RTC#
 
 interface Ethernet0
  ip address 203.250.15.67 255.255.255.192
 
 interface Serial1
  ip address 203.250.15.1 255.255.255.192
 
 router ospf 10
  redistribute rip metric 10 subnets
  network 203.250.15.0 0.0.0.255 area 0
  default-information originate metric 10
 
 
 router rip
  redistribute ospf 10 metric 2
  passive-interface Ethernet0
  network 203.250.15.0

RTA#show ip route
 
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
  
 Gateway of last resort is 203.250.15.67 to network 0.0.0.0
  
      203.250.15.0 255.255.255.192 is subnetted, 4 subnets
 O       203.250.15.0 [110/74] via 203.250.15.67, 2d23, Ethernet0
 C       203.250.15.64 is directly connected, Ethernet0
 O E2    203.250.15.128 [110/10] via 203.250.15.67, 2d23, Ethernet0
 C       203.250.15.192 is directly connected, Ethernet1
 O*E2 0.0.0.0 0.0.0.0 [110/10] via 203.250.15.67, 00:00:17, Ethernet0

Обратите внимание, что RTA опознает 0.0.0.0 как внешний маршрут с метрикой 10. Шлюз последней очереди установлен в 203.250.15.67, как и ожидалось.

Советы по проектированию OSPF

Стандарт OSPF RFC (1583) не включает указаний по числу маршрутизаторов в области, числу соседей на сегмент и наиболее эффективным способом проектирования сети. Разные люди используют разный подход к проектированию сетей OSPF. Важно помнить, что любой протокол под давлением может выйти из строя. То есть лучше не экспериментировать с протоколом, а постараться добиться его безупречной работы. Ниже приведены некоторые соображения, которые стоит рассмотреть.

Число маршрутизаторов в области

Максимальное число маршрутизаторов в области зависит от нескольких факторов, в том числе:

  • Какой тип области вы используете?

  • Какая вычислительная мощность ЦП доступна в области?

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

  • Будет ли OSPF использоваться в режиме NBMA?

  • Является ли сеть NBMA ячеистой?

  • Как много внешних LSA используется в сети?

  • Насколько хорошо суммированы другие области?

Поэтому определить максимальное количество маршрутизаторов на область довольно сложно. Обратитесь к местному торговому представителю или системному инженеру за помощью в проектировании сети.

Количество соседей

Количество маршрутизаторов, соединенных в одной ЛВС также важно. Каждая ЛВС имеет выделенный (DR) и резервный выделенный (BDR) маршрутизаторы, которые формируют смежности с остальными маршрутизаторами. Чем меньше число соседей в ЛВС, тем меньше смежностей должны сформировать DR или BDR. Это зависит от вычислительной мощности маршрутизатора. Вы всегда можете изменить приоритет OSPF, чтобы выбрать DR. Кроме того, по возможности избегайте назначения одного маршрутизатора выделенным маршрутизатором (DR) более чем для одного сегмента. Если выбор DR основывается на наибольшем значении RID, маршрутизатор может случайно стать DR для всех сегментов, к которым он подключен. Этот маршрутизатор будет выполнять дополнительную работу, в то время как остальные маршрутизаторы будут бездействовать.

spf22.gif

Количество областей на ABR

Пограничные маршрутизаторы (ABR) будут хранить копию базы данных для всех областей, которые они обслуживают. Если маршрутизатор подключен к пяти областям, то ему придется хранить список пяти различных баз данных. Количество областей на ABR зависит от многих факторов, таких как тип области (обычная, шлейфная, NSSA), вычислительная мощность ЦП маршрутизатора ABR, количество маршрутов в области и количество внешних маршрутов в области. Поэтому мы не можем порекомендовать конкретное число областей на ABR. Безусловно лучше не перегружать ABR, если есть возможность распределить области по другим маршрутизаторам. На следующей схеме показано различие между ABR с пятью различными базами данных (включая область 0) и двумя ABR с тремя базами данных каждый. Это всего лишь рекомендации, но чем больше областей настроено на каждом ABR, тем ниже производительность. В некоторых случаях низкая производительность приемлема.

spf23.gif

Сравнение полносвязной и частичносвязной конфигураций

Облака с нешироковещательным множественным доступом (NBMA), например Frame Relay или X.25, всегда являются источниками трудностей. Сочетание низкой пропускной способности и слишком большого количества состояний каналов неизменно приводит к возникновению проблем. С частичносвязной топологией работать гораздо легче, чем с полносвязной. Хорошо спланированные сети "точка-точка" и "точка-много точек" функционируют намного лучше, чем многоточечные сети, которым приходится справляться с проблемами DR.

spf24.gif

Проблемы памяти

Вычислить точный объем памяти, необходимый для конкретной конфигурации OSPF, довольно сложно. Проблемы памяти обычно появляются, когда слишком много внешних маршрутов вводится в домен OSPF. Магистральная область с 40 маршрутизаторами и маршрутом во внешнюю область по умолчанию имела бы меньше проблем с памятью по сравнению с магистральной областью с 4 маршрутизаторами и 33000 внешними маршрутами, введенными в OSPF.

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

Общий объем памяти, используемой OSPF, складывается из памяти, занимаемой таблицей маршрутизации (show ip route summary), и памяти, используемой в базе данных состояний каналов. Следующие цифры являются сугубо приблизительными. Каждая запись в таблице маршрутизации будет занимать приблизительно 200-280 байт, плюс 44 байта на каждый дополнительный маршрут. Для каждого LSA необходимо 100 байт служебных данных + размер самого объявления о состоянии канала, предположительно 60-100 байт (для каналов маршрутизатора, это число зависит от числа интерфейсов маршрутизатора). Этот объем необходимо добавить к памяти, используемой другими процессами и самой IOS. Для определения точного объема памяти выполните команду show memory с включенным или отключенным протоколом OSPF. Разность используемой памяти процессора и будет ответом на вопрос (сохраните резервную копию настроек).

Как правило, таблица маршрутизации с размером менее 500 КБ может поддерживаться с помощью 2-4 МБ RAM. Крупные сети с размером таблицы, превышающим 500 КБ могут потребовать 8-16 МБ или 32-64 МБ, если полные маршруты вводятся в Интернет.

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

Протокол OSPF, определенный в стандарте RFC 1583, представляет собой открытый протокол с широкими функциональными возможностями, который обеспечивает взаимодействие сетей разных производителей при помощи семейства протоколов TCP/IP. Некоторые преимущества OSPF: быстрая конвергенция, VLSM, аутентификация, иерархическая сегментация, суммирование и агрегирование маршрутов. Все эти возможности необходимы для работы крупных и сложных сетей.

Приложение А. Синхронизация базы данных о состоянии каналов

spf25.gif

На представленной выше схеме маршрутизаторы одного сегмента проходят через последовательность состояний перед успешным формированием смежности. Выбор соседей и выделенного маршрутизатора (DR) выполняются с помощью протокола приветствия. Если маршрутизатор видит себя в пакете приветствия соседа, состояние изменяется на "2-Way". В этот момент выполняется выбор DR и BDR в сегментах множественного доступа. Маршрутизатор продолжает формирование смежности, если хотя бы один из двух маршрутизаторов является DR или BDR, либо если они подключены через канал "точка-точка" или виртуальный канал.

В состоянии Exstart два соседа формируют отношение "ведущий-ведомый", для которого согласуется начальный порядковый номер. Порядковый номер используется для выявления старых или дублированных объявлений о состоянии канала (LSA).

В состоянии Exchange происходит обмен пакетами состояния базы данных (DD). Это сокращенные объявления о состоянии канала, представленные в виде заголовков состояния канала. Заголовок содержит достаточно данных для идентификации канала. Ведущий узел отправляет пакеты DD, которые подтверждаются пакетами DD от ведомого узла. Все смежные участки в состоянии "Exchange" или более позднем используются для лавинной рассылки. Эти смежности в полной мере поддерживают прием и передачу всех типов пакетов протокола маршрутизации OSPF.

В состоянии Loading пакеты запроса состояния канала посылаются соседям. Они запрашивают недавние объявления, которые были обнаружены, но еще не получены. Каждый маршрутизатор создает список требуемых LSA для обновления смежности. Чтобы гарантировать подтверждения всех LSA, ведется список повторной передачи (Retransmission). Чтобы указать количество секунд между повторными передачами объявлений о состоянии канала, используйте следующую команду:

ip ospf retransmit-interval seconds

В ответ на пакеты запроса отправляются пакеты обновления состояния канала. Затем выполняется лавинная рассылка пакетов обновления состояния канала по всем смежностям.

В состоянии Full, соседние маршрутизаторы становятся полностью смежными. Базы данных для области, общей для смежных маршрутизаторов, полностью совпадают.

В каждом объявлении о состоянии канала есть поле age, которое периодически увеличивается, когда объявление находится в базе данных или распространяется по области с использованием лавинной рассылки. Когда объявление о состоянии канала достигает значения Maxage, оно сбрасывается из базы данных так, как если бы это объявление отсутствовало в списках повторной передачи соседних узлов.

Объявления о состоянии каналов

spf26.gif

Существует пять типов объявления о состоянии каналов. Все маршрутизаторы генерируют каналы маршрутизации (RL). Эти каналы описывают состояние интерфейсов маршрутизатора внутри определенной области. Лавинная рассылка этих каналов выполняется только внутри области маршрутизатора. Сетевые каналы (NL) генерируются выделенным маршрутизатором (DR) сегмента. Они обозначают маршрутизаторы, подключенные к сегменту. Суммарные каналы (SL) — это межобластные каналы (тип 3), они перечисляют сети, которые находятся в других областях, но при этом принадлежат автономной системе. Суммарные каналы внедряются пограничным маршрутизатором области (ABR) от магистрали к другим областям (и обратно). Эти каналы используются для агрегирования между областями. Другой тип суммарных каналов — суммарные каналы ASBR. Они представляют собой каналы типа 4, указывающие на ASBR. Эти каналы гарантируют, что все маршрутизаторы будут знать путь выхода из автономной системы. Последний тип — это тип 5, внешние каналы (EL), которые вводятся в домен пограничным маршрутизатором автономной системы (ASBR).

На приведенной выше схеме показаны различные типы каналов. Маршрутизатор RTA генерирует канал маршрутизатора (RL) в области 1, а также сетевой канал (NL), так как он является DR этого сегмента. Маршрутизатор RTB является ABR и генерирует канал RL в областях 1 и 0. Кроме того, RTB генерирует суммарные каналы для областей 1 и 0. Эти каналы представляют собой список сетей, которые обмениваются между этими двумя областями. Суммарный канал ASBR также вводится маршрутизатором RTB в область 1. Это указывает на то, что маршрутизатор RTD, граничный маршрутизатор автономной системы (ASBR), существует. Аналогично, RTC, который также является ABR, генерирует канал RL для областей 0 и 2 и канал SL (3) для области 2 (поскольку он не объявляет ASBR) и канал SL (3,4) для области 0, объявляя RTD. RTD формирует канал RL для области 2 и EL для внешних маршрутов, полученных от протокола BGP. Лавинная рассылка по внешним маршрутизаторам будет выполняться через домен.

В таблице ниже приводится краткое описание объявлений состояния канала.

Тип состояния канала

Описание объявления

1

Объявления канала маршрутизатора. Создаются всеми маршрутизаторами для всех областей, к которым они принадлежат. Описывают состояние канала маршрутизатора к области. Лавинная рассылка выполняется в пределах определенной области.

2

Объявления сетевого канала. Генерируются выделенными маршрутизаторами (DR). Описывают набор маршрутизаторов, подключенных к определенной сети. Лавинная рассылка выполняется для области, которая содержит сеть .

3 или 4

Объявления о суммарных каналах. Генерируются пограничными маршрутизаторами области (ABR). Описывают межобластные маршруты. Тип 3 описывает маршруты к сетям, которые также используются для агрегирования маршрутов. Тип 4 описывает маршрутизацию к ASBR.

5

Объявления внешних каналов автономной системы. Источник — ASBR. Описывают маршруты к местам назначения, внешним по отношению к автономной системе. Лавинная рассылка выполняется по всем областям, кроме шлейфных.

Если вы откроете подробную базу данных OSPF с помощью команды show ip ospf database detail, будут отображаться различные ключевые слова, такие как Link-Data, Link-ID и Link-state ID. Эти термины могут сбить с толку, так как их значение зависит от типа состояния канала и типа канала. Мы рассмотрим эту терминологию и приведем подробный пример базы данных OSPF как она отображается на маршрутизаторе.

Link-state ID (идентификатор состояния канала) идентифицирует состояние канала в зависимости от типа состояния канала. Каналы маршрутизаторов определяются по идентификатору маршрутизатора (RID), полученному из объявления.. Сетевые каналы определяются относительным IP-адресом выделенного маршрутизатора. Это имеет смысл, так как сетевые каналы генерируются выделенным маршрутизатором. Суммарные каналы (тип 3) идентифицируются номерами IP-сети мест назначения, на которые они указывают. Суммарные каналы ASBR (суммарные каналы типа 4) определяются с помощью идентификатора RID маршрутизатора ASBR. И наконец Суммарные каналы идентифицируются номерами IP-сети внешних мест назначения, на которые они указывают. В следующей таблице приводится резюме этих сведений:

Тип состояния канала

Link State ID (В общем представлении базы данных, при ссылке на маршрутизатор, это значение отображается как Linked ID)

1

Идентификатор (RID) исходного маршрутизатора.

2

IP-адрес интерфейса на выделенном маршрутизаторе сети

3

Номер сети назначения.

4

Идентификатор описанного маршрутизатора автономной системы.

5

Номер внешней сети.

Рассмотрим типы каналов:

Каналы шлейфной сети: Этот термин никак не связан со шлейфными областями. Шлейфный сегмент — это сегмент, к которому подключен только один маршрутизатор. Сегменты сетей Ethernet или Token Ring с одним подключенным маршрутизатором считаются каналами к шлейфной сети. Интерфейс возвратной петли также считается каналом к шлейфной сети с маской 255.255.255.255 (правило хоста).

Каналы "точка-точка": Это могут быть как физические, так и логические (субинтерфейсы) последовательные каналы типа "точка-точка". Эти каналы могут быть нумерованными (для канала настраивается IP-адрес) или ненумерованными.

Транзитные каналы: Интерфейсы, подключенные к сетям, в которых используется несколько маршрутизаторов (отсюда название "транзитные").

Виртуальные каналы: Это логические каналы, которые соединяют области, не имеющие физического подключения к магистрали. Виртуальные каналы считаются нумерованными каналами "точка-точка".

link-ID — это идентификатор самого канала. Значение этого параметра меняется в зависимости от канала. Транзитный канал определяется IP-адресом выделенного маршрутизатора (DR) этого канала. Нумерованный канала "точка-точка" определяется по RID соседнего маршрутизатора в канале "точка-точка". Виртуальные каналы аналогичны каналам "точка-точка". И наконец, каналы к шлейфным сетям определяются по IP-адресу интерфейса шлейфной сети. В следующей таблице приводится резюме этих сведений:

Тип канала

Link ID (относится к отдельным каналам)

Точка-точка

Идентификатор соседнего маршрутизатора

Канал к транзитной сети

Адрес интерфейса DR

Канал к шлейфной сети (Для возвратной петли используется маска 255.255.255.255)

Номер сети или подсети

Виртуальный канал

Идентификатор соседнего маршрутизатора

Link Data — это IP-адрес канала, за исключением шлейфной сети, в которой данные канала — это маска сети.

Тип канала

Link Data

Шлейфная сеть

Маска сети

Другие сети (применяется только к каналам маршрутизаторов)

IP-адрес интерфейса, связанного с маршрутизатором

И наконец, Объявляющий маршрутизатор — это идентификатор RID маршрутизатора, который отправил объявление о состоянии канала.

Пример базы данных OSPF

spf27.gif

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

RTA#
 interface Loopback0
  ip address 203.250.13.41 255.255.255.255

 interface Ethernet0
  ip address 203.250.15.68 255.255.255.192

 interface Ethernet1
  ip address 203.250.15.193 255.255.255.192

 router ospf 10
  network 203.250.0.0 0.0.255.255 area 0

 RTA#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is 203.250.15.67 to network 0.0.0.0

      203.250.16.0 255.255.255.192 is subnetted, 1 subnets
 O E2    203.250.16.128 [110/10] via 203.250.15.67, 00:00:50, Ethernet0
      203.250.13.0 255.255.255.255 is subnetted, 1 subnets
 C       203.250.13.41 is directly connected, Loopback0
      203.250.15.0 255.255.255.192 is subnetted, 3 subnets
 O IA    203.250.15.0 [110/74] via 203.250.15.67, 00:00:50, Ethernet0
 C       203.250.15.64 is directly connected, Ethernet0
 C       203.250.15.192 is directly connected, Ethernet1
 O*E2 0.0.0.0 0.0.0.0 [110/10] via 203.250.15.67, 00:00:50, Ethernet0

 RTE#
 ip subnet-zero

 interface Ethernet0
  ip address 203.250.16.130 255.255.255.192

 interface Serial0
  ip address 203.250.15.2 255.255.255.192

 router ospf 10
  redistribute rip metric 10 subnets
  network 203.250.15.0 0.0.0.63 area 1
  default-information originate metric 10

 router rip
  network 203.250.16.0

 ip route 0.0.0.0 0.0.0.0 Ethernet0

RTE#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is 0.0.0.0 to network 0.0.0.0

      203.250.16.0 255.255.255.192 is subnetted, 1 subnets
 C       203.250.16.128 is directly connected, Ethernet0
      203.250.13.0 is variably subnetted, 2 subnets, 2 masks
 O IA    203.250.13.41 255.255.255.255
            [110/75] via 203.250.15.1, 00:16:31, Serial0
      203.250.15.0 255.255.255.192 is subnetted, 3 subnets
 C       203.250.15.0 is directly connected, Serial0
 O IA    203.250.15.64 [110/74] via 203.250.15.1, 00:16:31, Serial0
 O IA    203.250.15.192 [110/84] via 203.250.15.1, 00:16:31, Serial0
 S*   0.0.0.0 0.0.0.0 is directly connected, Ethernet0

 RTC#
 ip subnet-zero

 interface Ethernet0
  ip address 203.250.15.67 255.255.255.192

 interface Serial1
  ip address 203.250.15.1 255.255.255.192

 router ospf 10
  network 203.250.15.64 0.0.0.63 area 0
  network 203.250.15.0 0.0.0.63 area 1

RTF#show ip route
 Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

 Gateway of last resort is 203.250.15.2 to network 0.0.0.0

      203.250.16.0 255.255.255.192 is subnetted, 1 subnets
 O E2    203.250.16.128 [110/10] via 203.250.15.2, 04:49:05, Serial1
      203.250.13.0 255.255.255.255 is subnetted, 1 subnets
 O       203.250.13.41 [110/11] via 203.250.15.68, 04:49:06, Ethernet0
      203.250.15.0 255.255.255.192 is subnetted, 3 subnets
 C       203.250.15.0 is directly connected, Serial1
 C       203.250.15.64 is directly connected, Ethernet0
 O       203.250.15.192 [110/20] via 203.250.15.68, 04:49:06, Ethernet0
 O*E2 0.0.0.0 0.0.0.0 [110/10] via 203.250.15.2, 04:49:06, Serial1

Общее представление базы данных

RTC#show ip ospf database

       OSPF Router with ID (203.250.15.67) (Process ID 10)

                Router Link States (Area 1)

Link ID         ADV Router      Age    Seq#       Checksum Link count
203.250.15.67   203.250.15.67   48     0x80000008 0xB112   2
203.250.16.130  203.250.16.130  212    0x80000006 0x3F44   2

                Summary Net Link States (Area 1)

Link ID         ADV Router      Age    Seq#       Checksum
203.250.13.41   203.250.15.67   602    0x80000002 0x90AA
203.250.15.64   203.250.15.67   620    0x800000E9 0x3E3C
203.250.15.192  203.250.15.67   638    0x800000E5 0xA54E

                Router Link States (Area 0)

Link ID         ADV Router      Age    Seq#       Checksum Link count
203.250.13.41   203.250.13.41   179    0x80000029 0x9ADA   3
203.250.15.67   203.250.15.67   675    0x800001E2 0xDD23   1

                Net Link States (Area 0)

Link ID         ADV Router      Age    Seq#       Checksum
203.250.15.68   203.250.13.41   334    0x80000001 0xB6B5

                Summary Net Link States (Area 0)

Link ID         ADV Router      Age    Seq#       Checksum
203.250.15.0    203.250.15.67   792    0x80000002 0xAEBD

                Summary ASB Link States (Area 0)

Link ID         ADV Router      Age    Seq#       Checksum
203.250.16.130  203.250.15.67   579    0x80000001 0xF9AF

                AS External Link States

Link ID         ADV Router      Age    Seq#       Checksum Tag
0.0.0.0         203.250.16.130  1787   0x80000001 0x98CE   10
203.250.16.128  203.250.16.130  5      0x80000002 0x93C4   0

Это общее представление всей базы данных OSPF. Записи в базе данных упорядочены по областям. В этом случае мы рассмотрим базу данных маршрутизатора RTC, который является ABR. Приводятся базы данных областей 1 и 0. Область 1 состоит из каналов маршрутизатора и суммарных каналов. Сетевые каналы отсутствуют, так как ни в одном из сегментов области 1 нет DR. В области 1 нет суммарных каналов ASBR, так как единственный ASBR находится в области 0. Внешние каналы не принадлежат ни к одной из областей, для них выполняется лавинообразная рассылка. Обратите внимание, что все каналы являются сводными, и собираются со всех маршрутизаторов области.

Мы сосредоточимся, в основном, на базе данных области 0. Значение Link-ID, указанное здесь, на самом деле является значением Link-State ID. По сути это — представление всего маршрутизатора, а не отдельного канала. Это несколько сбивает с толку, просто помните, что это общее значение Link-ID (а точнее, Link-State ID) представляет маршрутизатор, а не просто канал.

Каналы маршрутизатора

Router Link States (Area 0)

 Link ID         ADV Router      Age    Seq#       Checksum Link count
 203.250.13.41   203.250.13.41   179    0x80000029 0x9ADA   3
 203.250.15.67   203.250.15.67   675    0x800001E2 0xDD23   1

Начнем с каналов маршрутизатора. Две записи для 203.250.13.41 и 203.250.15.67 представляют собой идентификаторы RID двух маршрутизаторов в области 0. Также указывается, количество каналов в области 0 для каждого маршрутизатора. RTA имеет 3 канала в область 0, а RTC имеет 1 канал. Подробное представление каналов маршрутизатора RTC:

RTC#show ip ospf database router 203.250.15.67 

     OSPF Router with ID (203.250.15.67) (Process ID 10)

                Router Link States (Area 1)

  LS age: 1169
  Options: (No TOS-capability)
  LS Type: Router Links
  Link State ID: 203.250.15.67
  Advertising Router: 203.250.15.67
  LS Seq Number: 80000008
  Checksum: 0xB112
  Length: 48
  Area Border Router
   Number of Links: 2

    Link connected to: another Router (point-to-point)
     (Link ID) Neighboring Router ID: 203.250.16.130
     (Link Data) Router Interface address: 203.250.15.1
      Number of TOS metrics: 0
       TOS 0 Metrics: 64
 
    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 203.250.15.0
     (Link Data) Network Mask: 255.255.255.192
      Number of TOS metrics: 0
       TOS 0 Metrics: 64

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

Router Link States (Area 0)

  LS age: 1227
  Options: (No TOS-capability)
  LS Type: Router Links
  Link State ID: 203.250.15.67
  Advertising Router: 203.250.15.67
  LS Seq Number: 80000003
  Checksum: 0xA041
  Length: 36
  Area Border Router
   Number of Links: 1

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 203.250.15.68
     (Link Data) Router Interface address: 203.250.15.67
      Number of TOS metrics: 0
       TOS 0 Metrics: 10

Обратите внимание, что значение Link ID равняется IP-адресу (а не RID) подключенного выделенного маршрутизатора (DR), в нашем случае 203.250.15.68. Значение Link Data — это собственный IP-адрес RTC.

Сетевые каналы

Net Link States (Area 0)

Link ID         ADV Router      Age    Seq#       Checksum
203.250.15.68   203.250.13.41   334    0x80000001 0xB6B5

Отображается один сетевой канал, который характеризуется IP-адресом интерфейса (а не RID) выделенного маршрутизатора DR, в нашем случае это 203.250.15.68. Подробный вид записи:

RTC#show ip ospf database network

       OSPF Router with ID (203.250.15.67) (Process ID 10)

                Net Link States (Area 0)

  Routing Bit Set on this LSA
  LS age: 1549
  Options: (No TOS-capability)
  LS Type: Network Links
  Link State ID: 203.250.15.68 (address of Designated Router)
  Advertising Router: 203.250.13.41
  LS Seq Number: 80000002
  Checksum: 0xB4B6
  Length: 32
  Network Mask: 255.255.255.192

        Attached Router: 203.250.13.41
        Attached Router: 203.250.15.67

Обратите внимание, что для сетевого канала выводятся идентификаторы RID маршрутизаторов, подключенных к транзитной сети, в нашем случае отображаются RID для RTA и RTC.

Суммарные каналы

Summary Net Link States (Area 0)

Link ID         ADV Router      Age    Seq#       Checksum
203.250.15.0    203.250.15.67   792    0x80000002 0xAEBD
Area 0 has one summary link represented by the IP network address of the
link 203.250.15.0. This link was injected by the ABR RTC from area 1 into
area 0. A detailed view of this summary link follows, summary links for
area 1 are not listed here:

RTC#show ip ospf database summary (area 1 is not listed)

              Summary Net Link States (Area 0)

  LS age: 615
  Options: (No TOS-capability)
  LS Type: Summary Links(Network)
  Link State ID: 203.250.15.0 (summary Network Number)
  Advertising Router: 203.250.15.67
  LS Seq Number: 80000003
  Checksum: 0xACBE
  Length: 28
  Network Mask: 255.255.255.192 TOS: 0  Metric: 64

Суммарный канал ASBR

Summary ASB Link States (Area 0)

Link ID         ADV Router      Age    Seq#       Checksum
203.250.16.130  203.250.15.67   579    0x80000001 0xF9AF

Указывает, какой маршрутизатор назначен ASBR. В данном случае ASBR назначен маршрутизатор RTE, представленный через RID 203.250.16.130. Объявляющий маршрутизатор для этого входа в область 0 — это RTC с RID 203.250.15.67. Подробное представление сводной записи ASBR представлено ниже:

RTC#show ip ospf database asbr-summary

        OSPF Router with ID (203.250.15.67) (Process ID 10)

                 Summary ASB Link States (Area 0)

   LS age: 802
   Options: (No TOS-capability)
   LS Type: Summary Links(AS Boundary Router)
   Link State ID: 203.250.16.130 (AS Boundary Router address)
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000003
   Checksum: 0xF5B1
   Length: 28
   Network Mask: 0.0.0.0 TOS: 0  Metric: 64

Внешние каналы

AS External Link States

Link ID         ADV Router      Age    Seq#       Checksum Tag
0.0.0.0         203.250.16.130  1787   0x80000001 0x98CE   10
203.250.16.128  203.250.16.130  5      0x80000002 0x93C4   0

В нашем примере имеется два внешних канала, первый — 0.0.0.0, введенный в OSPF с помощью команды default-information originate. Другая запись — это сеть 203.250.16.12 8, введенная в OSPF с помощью перераспределения. RID маршрутизатора, объявляющий эти сети — 203.250.16.130, т. е RTE. Ниже внешние маршруты рассмотрены более подробно:

RTC#show ip ospf database external

        OSPF Router with ID (203.250.15.67) (Process ID 10)

                 AS External Link States

   Routing Bit Set on this LSA
   LS age: 208
   Options: (No TOS-capability)
   LS Type: AS External Link
   Link State ID: 0.0.0.0 (External Network Number )
   Advertising Router: 203.250.16.130
   LS Seq Number: 80000002
   Checksum: 0x96CF
   Length: 36
   Network Mask: 0.0.0.0
         Metric Type: 2 (Larger than any link state path)
         TOS: 0
         Metric: 10 
         Forward Address: 0.0.0.0
         External Route Tag: 10

  Routing Bit Set on this LSA
   LS age: 226
   Options: (No TOS-capability)
   LS Type: AS External Link
   Link State ID: 203.250.16.128 (External Network Number)
   Advertising Router: 203.250.16.130
   LS Seq Number: 80000002
   Checksum: 0x93C4
   Length: 36
   Network Mask: 255.255.255.192
         Metric Type: 2 (Larger than any link state path)
         TOS: 0
         Metric: 10
         Forward Address: 0.0.0.0
         External Route Tag: 0

Обратите внимание на адрес пересылки. Адрес 0.0.0.0 указывает на то, что внешние маршруты достижимы через объявляющий маршрутизатор, в нашем случае через 203. 250.16.130. Поэтому идентификатор маршрутизатора ASBR вводится маршрутизаторами ABR в другие области с помощью суммарных каналов ASBR.

Адрес пересылки не всегда должен быть 0.0.0.0. В некоторых случаях это может быть IP-адрес другого маршрутизатора в том же сегменте. Эта ситуация иллюстрируется следующей диаграммой:

spf28.gif

В описанной ситуации RTB использует протокол BGP для взаимодействия с RTA и OSPF для взаимодействия с остальной частью домена. RTA не использует протокол OSPF. RTB перераспределяет BGP-маршруты в OSPF. С точки зрения OSPF, RTB — это маршрутизатор ASBR, объявляющий внешние маршруты. В этом случае адрес пересылки устанавливается на 125.211.1.1, а не на объявляющий маршрутизатор (0.0.0.0) RTB. Это имеет смысл, так как пропадает необходимость в дополнительном переходе. Важно помнить, что маршрутизаторы внутри домена OSPF должны иметь возможность достичь адреса пересылки через OSPF, чтобы поместить внешние маршруты в таблицу маршрутизации IP. Если адрес пересылки достигается через другой протокол или недоступен, внешние записи будут в базе данных, но не в таблице маршрутизации.

Другая ситуация имеет место случае, если RTB и RTC являются маршрутизаторами ASBR (RTC также использует протокол BGP для взаимодействия с RTA). В такой ситуации, для устранения дублирования усилий, один из двух маршрутизаторов не будит объявлять (сбросит) внешние маршруты. Будет выбран маршрутизатор с наибольшим значением RID.

Полная база данных

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

RTC#show ip ospf database router

         OSPF Router with ID (203.250.15.67) (Process ID 10)

                 Router Link States (Area 1)

   LS age: 926
   Options: (No TOS-capability)
   LS Type: Router Links
   Link State ID: 203.250.15.67
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000035
   Checksum: 0x573F
   Length: 48
   Area Border Router
    Number of Links: 2
     Link connected to: another Router (point-to-point)
      (Link ID) Neighboring Router ID: 203.250.16.130
      (Link Data) Router Interface address: 203.250.15.1
       Number of TOS metrics: 0
        TOS 0 Metrics: 64

     Link connected to: a Stub Network
      (Link ID) Network/subnet number: 203.250.15.0
      (Link Data) Network Mask: 255.255.255.192
       Number of TOS metrics: 0
        TOS 0 Metrics: 64

   Routing Bit Set on this LSA
   LS age: 958
   Options: (No TOS-capability)
   LS Type: Router Links
   Link State ID: 203.250.16.130
   Advertising Router: 203.250.16.130
   LS Seq Number: 80000038
   Checksum: 0xDA76
   Length: 48
   AS Boundary Router
    Number of Links: 2

     Link connected to: another Router (point-to-point)
      (Link ID) Neighboring Router ID: 203.250.15.67
      (Link Data) Router Interface address: 203.250.15.2
       Number of TOS metrics: 0
        TOS 0 Metrics: 64

     Link connected to: a Stub Network
      (Link ID) Network/subnet number: 203.250.15.0
      (Link Data) Network Mask: 255.255.255.192
       Number of TOS metrics: 0
        TOS 0 Metrics: 64

                 Router Link States (Area 0)

   Routing Bit Set on this LSA
   LS age: 1107
   Options: (No TOS-capability)
   LS Type: Router Links
   Link State ID: 203.250.13.41
   Advertising Router: 203.250.13.41
   LS Seq Number: 8000002A
   Checksum: 0xC0B0
   Length: 60
   AS Boundary Router
    Number of Links: 3

     Link connected to: a Stub Network
      (Link ID) Network/subnet number: 203.250.13.41
      (Link Data) Network Mask: 255.255.255.255
       Number of TOS metrics: 0
        TOS 0 Metrics: 1

     Link connected to: a Stub Network
      (Link ID) Network/subnet number: 203.250.15.192
      (Link Data) Network Mask: 255.255.255.192
       Number of TOS metrics: 0
        TOS 0 Metrics: 10

     Link connected to: a Transit Network
      (Link ID) Designated Router address: 203.250.15.68
      (Link Data) Router Interface address: 203.250.15.68
       Number of TOS metrics: 0
        TOS 0 Metrics: 10

   LS age: 1575
   Options: (No TOS-capability)
   LS Type: Router Links
   Link State ID: 203.250.15.67
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000028
   Checksum: 0x5666
   Length: 36
   Area Border Router
    Number of Links: 1

     Link connected to: a Transit Network
      (Link ID) Designated Router address: 203.250.15.68
      (Link Data) Router Interface address: 203.250.15.67
       Number of TOS metrics: 0
        TOS 0 Metrics: 10
 
 RTC#show ip ospf database network

        OSPF Router with ID (203.250.15.67) (Process ID 10)

                 Net Link States (Area 0)

   Routing Bit Set on this LSA
   LS age: 1725
   Options: (No TOS-capability)
   LS Type: Network Links
   Link State ID: 203.250.15.68 (address of Designated Router)
   Advertising Router: 203.250.13.41
   LS Seq Number: 80000026
   Checksum: 0x6CDA
   Length: 32
   Network Mask: 255.255.255.192
         Attached Router: 203.250.13.41
         Attached Router: 203.250.15.67
  
 RTC#show ip ospf database summary

        OSPF Router with ID (203.250.15.67) (Process ID 10)

                 Summary Net Link States (Area 1)

   LS age: 8
   Options: (No TOS-capability)
   LS Type: Summary Links(Network)
   Link State ID: 203.250.13.41 (summary Network Number)
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000029
   Checksum: 0x42D1
   Length: 28
   Network Mask: 255.255.255.255 TOS: 0  Metric: 11

   LS age: 26
   Options: (No TOS-capability)
   LS Type: Summary Links(Network)
   Link State ID: 203.250.15.64 (summary Network Number)
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000030
   Checksum: 0xB182
   Length: 28
   Network Mask: 255.255.255.192 TOS: 0  Metric: 10

   LS age: 47
   Options: (No TOS-capability)
   LS Type: Summary Links(Network)
   Link State ID: 203.250.15.192 (summary Network Number)
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000029
   Checksum: 0x1F91
   Length: 28
   Network Mask: 255.255.255.192 TOS: 0  Metric: 20

                 Summary Net Link States (Area 0)

   LS age: 66
   Options: (No TOS-capability)
   LS Type: Summary Links(Network)
   Link State ID: 203.250.15.0 (summary Network Number)
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000025
   Checksum: 0x68E0
   Length: 28
   Network Mask: 255.255.255.192 TOS: 0  Metric: 64
 
 RTC#show ip ospf asbr-summary

        OSPF Router with ID (203.250.15.67) (Process ID 10)

                 Summary ASB Link States (Area 0)

   LS age: 576
   Options: (No TOS-capability)
   LS Type: Summary Links(AS Boundary Router)
   Link State ID: 203.250.16.130 (AS Boundary Router address)
   Advertising Router: 203.250.15.67
   LS Seq Number: 80000024
   Checksum: 0xB3D2
   Length: 28
   Network Mask: 0.0.0.0 TOS: 0  Metric: 64

 
 RTC#show ip ospf database external

       OSPF Router with ID (203.250.15.67) (Process ID 10)

                 AS External Link States

   Routing Bit Set on this LSA
   LS age: 305
   Options: (No TOS-capability)
   LS Type: AS External Link
   Link State ID: 0.0.0.0 (External Network Number)
   Advertising Router: 203.250.16.130
   LS Seq Number: 80000001
   Checksum: 0x98CE
   Length: 36
   Network Mask: 0.0.0.0
         Metric Type: 2 (Larger than any link state path)
         TOS: 0
         Metric: 10
         Forward Address: 0.0.0.0
         External Route Tag: 10

   Routing Bit Set on this LSA
   LS age: 653
   Options: (No TOS-capability)
   LS Type: AS External Link
   Link State ID: 203.250.16.128 (External Network Number)
   Advertising Router: 203.250.16.130
   LS Seq Number: 80000024
   Checksum: 0x4FE6
   Length: 36
   Network Mask: 255.255.255.192
         Metric Type: 2 (Larger than any link state path)
         TOS: 0
         Metric: 10
         Forward Address: 0.0.0.0
         External Route Tag: 0

Приложение В. OSPF и мультиадресная рассылка IP

OSPF использует мультиадресную рассылку IP для обмена пакетами приветствия и обновлений состояния канала. Адреса мультиадресной рассылки IP реализуются с помощью адресов класса D. Адрес класса D входит в диапазон от 224.0.0.0 до 239.255.255.255.

spf29.gif

Некоторые особые адреса мультиадресной рассылки зарезервированы для OSPF:

  • 224.0.0.5: Все маршрутизаторы OSPF должны иметь возможность передавать данные по этому адресу и прослушивать его.

  • 224.0.0.5: Все маршрутизаторы DR и BDR должны иметь возможность передавать данные по этому адресу и прослушивать его.

Сопоставление адресов многоадресной рассылки IP и MAC-адресов выполняется по следующему правилу:

Для сетей с множественным доступом, которые поддерживают многоадресные рассылки, используется младшие 23 бита IP-адреса как младшие биты MAC-адреса многоадресной рассылки 01-005E-00-00- 00. Например:

  • 224.0.0.5 сопоставляется 01-00-5E-00-00-05

  • 224.0.0.6 сопоставляется 01-00-5E-00-00-06

OSPF использует широковещательную рассылку для сетей Token Ring.

Приложение С. Маски подсети переменной длины (VLSM)

Таблица преобразования двоичного счисления в десятичное:

 

0000

 

0001

 

0010

 

0011

 

0100

 

0101

 

0110

 

0111

0

0000

16

0000

32

0000

48

0000

64

0000

80

0000

96

0000

112

0000

1

0001

17

0001

33

0001

49

0001

65

0001

81

0001

97

0001

113

0001

2

0010

18

0010

34

0010

50

0010

66

0010

82

0010

98

0010

114

0010

3

0011

19

0011

35

0011

51

0011

67

0011

83

0011

99

0011

115

0011

4

0100

20

0100

36

0100

52

0100

68

0100

84

0100

100

0100

116

0100

5

0101

21

0101

37

0101

53

0101

69

0101

85

0101

101

0101

117

0101

6

0110

22

0110

38

0110

54

0110

70

0110

86

0110

102

0110

118

0110

7

0111

23

0111

39

0111

55

0111

71

0111

87

0111

103

0111

119

0111

8

1000

24

1000

40

1000

56

1000

72

1000

88

1000

104

1000

120

1000

9

1001

25

1001

41

1001

57

1001

73

1001

89

1001

105

1001

121

1001

10

1010

26

1010

42

1010

58

1010

74

1010

90

1010

106

1010

122

1010

11

1011

27

1011

43

1011

59

1011

75

1011

91

1011

107

1011

123

1011

12

1100

28

1100

44

1100

60

1100

76

1100

92

1100

108

1100

124

1100

13

1101

29

1101

45

1101

61

1101

77

1101

93

1101

109

1101

125

1101

14

1110

30

1110

46

1110

62

1110

78

1110

94

1110

110

1110

126

1110

15

1111

31

1111

47

1111

63

1111

79

1111

95

1111

111

1111

127

1111

 

1000

 

1001

 

1010

 

1011

 

1100

 

1101

 

1110

 

1111

128

0000

144

0000

160

0000

176

0000

192

0000

208

0000

224

0000

240

0000

129

0001

145

0001

161

0001

177

0001

193

0001

209

0001

225

0001

241

0001

130

0010

146

0010

162

0010

178

0010

194

0010

210

0010

226

0010

242

0010

131

0011

147

0011

163

0011

179

0011

195

0011

211

0011

227

0011

243

0011

132

0100

148

0100

164

0100

180

0100

196

0100

212

0100

228

0100

244

0100

133

0101

149

0101

165

0101

181

0101

197

0101

213

0101

229

0101

245

0101

134

0110

150

0110

166

0110

182

0110

198

0110

214

0110

230

0110

246

0110

135

0111

151

0111

167

0111

183

0111

199

0111

215

0111

231

0111

247

0111

136

1000

152

1000

168

1000

184

1000

200

1000

216

1000

232

1000

248

1000

137

1001

153

1001

169

1001

185

1001

201

1001

217

1001

233

1001

249

1001

138

1010

154

1010

170

1010

186

1010

202

1010

218

1010

234

1010

250

1010

139

1011

155

1011

171

1011

187

1011

203

1011

219

1011

235

1011

251

1011

140

1100

156

1100

172

1100

188

1100

204

1100

220

1100

236

1100

252

1100

141

1101

157

1101

173

1101

189

1101

205

1101

221

1101

237

1101

253

1101

142

1110

158

1110

174

1110

190

1110

206

1110

222

1110

238

1110

254

1110

143

1111

159

1111

175

1111

191

1111

207

1111

223

1111

239

1111

255

1111

Идея, лежащая в основе масок переменной длины, предоставление большей гибкости при разделении основной сети на несколько подсетей при сохранении приемлемого числа хостов в каждой подсети. Без VLSM одну маску подсети можно применять только к основной сети. Это приведет к ограничению числа хостов в зависимости от необходимого числа подсетей. Если мы возьмем маску, обеспечивающую достаточное количество подсетей, то не сможем выделить достаточное количество хостов для каждой подсети. Это относится и к хостам. Маска, обеспечивающая достаточное количество хостов, не предоставляет достаточно пространства для подсети.

Предположим, что сети 192.214.11.0 назначен класс C. Необходимо разделить эту сеть на три подсети со 100 хостами в одной подсети и 50 хостами в двух других. Если не учитывать конечные значения 0 и 255, теоретически доступно 256 адресов (192.214.11.0 - 192.214.11.255). Но это нельзя реализовать без VLSM.

spf30.gif

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

-252 (1111 1100) The address space is divided into 64.
 -248 (1111 1000) The address space is divided into 32.
 -240 (1111 0000) The address space is divided into 16.
 -224 (1110 0000) The address space is divided into 8.
 -192 (1100 0000) The address space is divided into 4.
 -128 (1000 0000) The address space is divided into 2.

Без VLSM у нас есть выбор, использовать маску 255.255.255.128 и разделить адреса на две подсети с 128 хостами каждая или маску 255.255.255.192 и разделить адресное пространство на четыре подсети с 64 хостами каждая. Это не удовлетворяет требованиям. Используя несколько масок, можно использовать маску 128 для первой группы адресов и присвоить второй группе адресов маску 192. В таблице ниже показано соответствующее разделение адресного пространства.

spf31.gif

Будьте внимательны при выделении IP-адресов для каждой маски. Назначив IP-адрес маршрутизатору или хосту, вы назначите всю подсеть соответствующему сегменту. Например, при назначении адреса 192.214.11.10 255.255.255.128 для E2, весь диапазон адресов от 192.214.11.0 до 192.214.11.127 будет использоваться E2. Аналогично, при назначении адреса 192.214.11.160 255.255.255.128 сегменту E2, весь диапазон адресов от 192.214.11.128 до 192.214.11.255 будет использоваться этим сегментом E2.

Ниже приводится иллюстрация того, как маршрутизатор будет интерпретировать эти адреса. Помните, что при использовании маски, отличной от естественной, например при использовании подсети, маршрутизатор может в любой момент выдать сообщение о неполадке, если IP-адрес и маска дадут в результате нулевую подсеть. Чтобы решить эту проблему, используйте команду ip subnet-zero на маршрутизаторе.

RTA#
 ip subnet-zero
 interface Ethernet2
  ip address 192.214.11.10 255.255.255.128
 interface Ethernet3
  ip address 192.214.11.160 255.255.255.192
 interface Ethernet4
  ip address 192.214.11.226 255.255.255.192

 RTA# show ip route connected
      192.214.11.0 is variably subnetted, 3 subnets, 2 masks
 C       192.214.11.0 255.255.255.128 is directly connected, Ethernet2
 C       192.214.11.128 255.255.255.192 is directly connected, Ethernet3
 C       192.214.11.192 255.255.255.192 is directly connected, Ethernet4

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

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


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


Document ID: 7039