logo search
Программа Сетевой академии Cisco CCNA 3 и 4 (Вс

Состояния протокола ospf

OSPF-маршрутизаторы устанавливают связи или состояния (states) со своими сосе­дями для эффективного совместного использования информации канального уровня. Иначе функционируют дистанционно-векторные протоколы маршрутизации, такие как RIP, которые широковещательно рассылают полностью свои таблицы маршрутизации со всех своих интерфейсов в надежде, что эту таблицу получит требуемый маршрутиза­тор. В стандартном режиме маршрутизаторы протокола RIP каждые 30 секунд рассылают только один тип сообщения — свою полную таблицу маршрутизации. В отличие от них маршрутизаторы OSPF используют пять различных типов пакетов для идентификации своих соседей и обновления информации маршрутизации канального уровня. В табл. 3.1. описаны типы пакетов протокола OSPF.

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

Таблица 3.1. Типы пакетов протокола OSPF

Тип пакета протокола OSPF

Описание

Тип 1 — Hello

Тип 2 — Пакет описания базы данных (Database description packet — DBD)

Тип 3 — Запрос информации о состоянии каналов

Тип 4 — Обновление состояния каналов (Link-state update — LSU)

Тип 5 — Подтверждение получения объявления о состоянии каналов (Link-state acknowledgement — LSACK)

Используется для создания и поддержки таблицы соседних устройств

Описывает содержимое базы данных состояния каналов OSPF-маршрутизатора

Запрашивает отдельные фрагменты базы данных состояния каналов маршрутизатора

Передает объявления о состоянии каналов (link-state advertisements — LSA) соседним маршрутизаторам

Подтверждает получение от соседнего устройства объявления LSA

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

Состояние отключения

Состояние отключения (Down State) имеет место в том случае, когда обмен ин­формацией между соседними устройствами не происходил. Маршрутизаторы ожи­дают перехода в следующее состояние — состояние инициализации.

Состояние инициализации (Init State)

В состоянии инициализации (Init State) OSPF-маршрутизаторы регулярно (обычно каждые 10 секунд) посылают пакеты 1-го типа (Hello) для установки связи с соседними маршрутизаторами. Когда некоторый интерфейс получает первый Не11о-пакет, соответствующий маршрутизатор переходит в состояние инициализа­ции (Init) — это означает, что маршрутизатору известно о наличии у него соседнего устройства и он ожидает перехода связи с ним в следующее состояние.

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

Состояние двусторонней связи

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

Кроме различной иной информации пакеты Hello содержат список известных отправителю соседних OSPF-маршрутизаторов.

Маршрутизатор переходит в состояние двусторонней связи в тот момент, когда он видит себя в пакете Hello, полученном от соседнего устройства. Например, как показано на рис. 3.6, когда маршрутизатор RTB узнает, что маршрутизатор RTA зна­ет о нем (RTB), маршрутизатор RTB объявляет о наличии состояния двусторонней связи между ним и маршрутизатором RTA.

Рис. 3.6. Состояние двусторонней связи протокола OSPF

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

Состояние ExStart

В техническом аспекте в момент когда маршрутизатор и его соседнее устройство входят в состояние ExStart, их связь характеризуется как состояние смежности, однако в действительности эти устройства еще не являются полностью смежными. Состояние ExStart устанавливается с помощью пакетов описания базы данных (database descrip­tion — DBD)(пакетов 2-го типа). Эти пакеты также обозначаются как пакеты DDP. Для обсуждения того, какой маршрутизатор в данном соединении будет ведущим (“master”), а какой ведомым (“slave”), маршрутизаторы используют пакеты Hello, а для обмена содержимым баз данных используются пакеты DBD (рис. 3.7).

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

Рис. 3.7. Обнаружение маршрутизатора по протоколу OSPF

Состояние обмена

В состоянии обмена Exchange соседние маршрутизаторы используют пакеты 2-го ти­па (DBD) для отправки друг другу своей информации о состоянии каналов, как показано на рис. 3.7. Иными словами, маршрутизаторы описывают друг другу свои базы данных состояния каналов. При этом маршрутизаторы сравнивают полученную информацию с информацией, содержащейся в их собственных базах данных состояния каналов. Если какой-либо из маршрутизаторов получает информацию о канале, которая пока отсутст­вует в его базе данных, то он запрашивает у соседнего маршрутизатора полное обновле­ние. Полный обмен информацией происходит в состоянии загрузки (Loading).

Состояние загрузки (Loading)

После того, как оба маршрутизатора описали друг другу свои базы данных, они могут запросить более полную информацию, используя пакеты 3-го типа — запросы состояния каналов (link-state request — LSR). Когда маршрутизатор получает запрос LSR, он отвечает отправкой обновления маршрутизации, используя пакет 4-го ти­па — пакет обновления состояния каналов (link-state update — LSU). Эти LSU- пакеты 4-го типа содержат объявления актуального состояния каналов (link-state ad­vertisement— LSA), которые составляют сущность протоколов маршрутизации со­стояния каналов. Как показано на рис. 3.7, подтверждение получения LSU-пакетов 5-го типа осуществляется с помощью пакетов 5-го типа, называемых подтверждени­ем состояния каналов (link-state acknowledgment — LSAck).

Состояние полной смежности

После того, как полностью реализовано состояние загрузки (Loading), маршрути­заторы являются полностью смежными. Каждый маршрутизатор поддерживает свой список смежных соседних маршрутизаторов, называемый также базой данных смежных устройств. Эту таблицу смежных устройств не следует смешивать с базой данных состояния каналов или с базой данных пересылки. В табл. 3.2 перечислены важные базы данных протокола OSPF.

Таблица 3.2. Базы данных протокола OSPF

База данных

Описание

База данных о смежных устройствах

База данных канального уровня (топологическая база данных)

База данных пересылки (таблица маршрутизации)

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

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

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

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