На каком алгоритме маршрутизации основан протокол ospf. Протокол маршрутизации OSPF. Граничные маршрутизаторы области

Введение

OSPF (Open Shortest Path First) – протокол динамической маршрутизации. Данный протокол является открытым стандартом, его поддерживают практически все производители сетевого оборудования. Благодаря гибкости протокола, с помощью него легче и эффективнее можно реализовать поставленные задачи по маршрутизации трафика.

Основными отличиями от протоколов семейства distance-vector являются:

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

OSPF использует так называемые пакеты Link-State Advertisement (LSA) для обмена данными между ближайшими соседями. К слову, список всех напрямую подключенных соседей каждый маршрутизатор хранит в специальной таблице под названием neighbor table . Благодаря обмену пакетами LSA и информации, полученной от соседей, маршрутизаторы выстраивают таблицу топологии сети topology table и заносят данные в базу Link-State Database (LSDB) . Обмен пактетами LSA происходит до тех пор, пока все маршрутизаторы, находящиеся в одной области , не выстроят идентичные базы LSDB. После этого, каждый из них выстроит таблицу маршрутизации routing table , согласно полученной информации. По сути, таблица топологии сети представляет собой базу данных, в которой отражены все маршрутизаторы области и пути их достижения. Таблица топологии сети отличается от таблицы маршрутизации тем, что в первой, маршрутизатор еще не принял решение, какой использовать оптимальный путь для достижения той или иной сети.

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

  • 1. Произошло изменение в топологии сети (потеря физической связи с соседом, сосед не откликается на hello сообщения);
  • 2. Получен пакет LSA от другого соседа* , который должен быть передан по цепочке следующему, до тех пор, пока все маршрутизаторы не обновят свои таблицы топологии сети;
  • 3. Прошло 30 минут без изменений в сети.

* Если номер последовательности LSA новый, тогда маршрутизатор передаст его всем своим соседям.

* Если номер последовательности LSA совпадает с недавней записью в таблице топологии, то этот пакет игнорируется.

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

Итак, каждый маршрутизатор содержит 3 таблицы:

  • Таблица соседей (Neighbor table);
  • Таблица топологии (Topology table);
  • Таблица маршрутизации (Routing table).

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

От стадии знакомства до момента полного «взаимопонимания», маршрутизаторы преодолевают несколько этапов:

  • Down – обмен OSPF пакетами не происходит;
  • Init – обмен hello пакетами;
  • 2Way – связь установлена;
  • Exstart – выбор DR (главного устройства) и BDR (backup устройства) в сетях с множественным доступом (multi-access networks);
  • Exchange – обмен Database Descriptor (DBD) пакетами, которые содержат по сути заголовки LSA пакетов и описывают содержание контента базы данных Link-state;
  • - загрузка недостающей части базы данных Link-state, если в этом есть необходимость;
  • Full - достижение полной взаимосвязи, все базы данных синхронизированны.

Метрику или стоимость одного линка, маршрутизатор рассчитывает по формуле 100.000.000bps(100Mbps)/LinkSpeed . Подсчитав суммарную стоимость линков до удаленной сети, маршрутизатор выберет оптимальный маршрут.

Designated Router и Backup Designated Router

Выше были упомянуты аббревиатуры DR (Designated Router) и BDR (Backup Designated Router) . Это роли, которые могут исполнять маршрутизаторы, если они находятся в одном широковещательном сегменте. Выбор одного устройства, который будет исполнять роль DR существенно снизит нагрузку на сеть. Достигается это тем, что маршрутизаторы, находящиеся в одном сегменте, будут устанавливать взаимосвязи (adjacencies) не друг с другом, а только с DR. Выбор же BDR повысит отказоустойчивость сети, т.к. он мгновенно займет место DR, в случае выхода его из строя.

Выборы DR и BDR проводятся согласно следующим критериям:

  1. Приоритет (Priority) - определяет, какой маршрутизатор займет роль DR. Чем больше значение, тем лучше. По умолчанию приоритет равен 1.
  2. Если приоритеты равны, предпочтение будет отдано маршрутизатору с наибольшим Router ID (обычно равен IP адресу).
  3. Маршрутизатор, занявший второе место после DR, становится BDR.

При отсутствии DR и BDR в multi-access сети, количество взаимосвязей возростало бы в геометрической прогрессии относительно количества маршрутизаторов. Число взаимосвязей исчислялось бы по формуле (n(n-1))/2 , где n – количество маршрутизаторов.

Например:

DR уменьшит количество взаимосвязей до 3-х:

В отказоустойчивой модели, количество связей будет равно 5-ти:

Все маршрутизаторы в сегменте отправляют LSA пакеты на адрес 224.0.0.6 (для DR), в свою очередь, DR извещает маршрутизаторы посредством отсылки LSA на адрес 224.0.0.5 . После чего, каждый маршрутизатор в сети должен отправить подтверждение для DR о получении пакета.

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

Области OSPF

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

Алгоритм SPF используется маршрутизатором для расчета кратчайшего пути до удаленной сети.

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

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

OSPF различает два типа областей: нулевая область и все остальные области. Нулевая область представляет из себя центральную область. Все остальные области должны быть смежны с ней. Маршрутизаторы, которые стоят на границе области, смежной с нулевой, называются Area Border Routers (ABR) . Маршрутизаторы, которые импортируют маршруты из других сетевых протоколов, отличных от OSPF, называются Autonomous System Boundary Routers (ASBR) .

Введение.

Протокол OSPF (Open Shortest Path First), на русский можно перевести как
протокол кратчайшего пути (маршрута).

OSPF является промышленным протоколом, который описывается в соответсвующем RFC 2328

Протоколы маршрутизации делятся на три типа:

1. Дистанционно-векторные протоколы
2. Протоколы по состоянию каналов
3. Смешанные протоколы.

OSPF относится к протоколам по состоянию каналов.

Для того, чтоб начать обмен маршрутной информацией между
маршрутизаторами, необходимо уставновить связь между соседними
маршрутизаторами.

OSPF — масштабируемый протокол маршрутизации, он может быть использован
как в отдельной единственной зоне в небольших сетях, так и в нескольких
занах большой сети. Можно сгруппировать некоторые маршрутизаторы в одну
Area, а другие в другую. Тем самым изменения маршрутной информации в
одной зоне, не повлияет на работоспособность другой. Для взаимодействия
нескольких зон используют Area0, т.е. это зона является магистралью
(backbone).

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

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

Сущесвтует 5 состояний:

1. Состояние отключено (down state)
2. Cостояние инициализации (init state)
3. Двусторонее соединение (Two-way)
4. ExStart
5. Обмен (Exchange)
6. Загрузка (Loading)
7. Установка полной смежности (Full adjecency)

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

Типы пакетов в протоколе OSPF:
— Hello пакет — данный тип пакета предназначен для создания и поддержки таблицы соседних устройств.
— DBD пакет (Database Description packet), как видно из название это пакет описания содержимого базы данных

состояния каналов маршрутизатора.
— LSR (Link State Request) — запрос о состоянии каналов, предназначен для запроса
отдельного фрагмента базы данных

состояния каналов.
— LSU (Link state update) — обновление состояния каналов. Данный пакет передает
в себе обновление о состоянии

каналов.
— LSAck (Link state acknowledgment) — Подтверждение о получении от соседнего
устройства LSA (Link State Advertisement).

Теперь рассмотрим состояния и переходы между состояниями более подробно.

Самое простое состояние, и не требует детального описания. В двух
словах, это состояние, при котором не происходил обмен между соседними
маршрутизаторами, маршрутизатор ожидает перехода в следующее состояние —
Init State, состояние инициализации.

В состоянии инициализации маршрутизатор OSPF посылает Hello пакеты для
установки связи между соседними устройствами, по умолчанию каждые 10
секунд. Когда интерфейс получает Hello пакет, маршрутизатор переходит в
состояние инициализации, другими словами, маршрутизатор «понимает» что
на этом интерфейсе есть соседнее устройство.

3. Состояние двусторонней связи (Two-way).

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

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

4. Состояние ExStart.

Для установки состояние ExStart использутеся пакет DBD (описание базы
данных). Так же в этом состоянии «выясняется», какой из маршрутизаторов
является ведущим (master), а какой ведомый (slave). Выбор осуществляется
по ID маршрутизатора. Маршутизатор, у которого ID больше становится
master. После того, как определены роли маршрутизаторов, маршрутизаторы
переходят в следующее состояние — обмена.

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

В состоянии Exchange, маршрутизатор нашел информацию, которой нет в
собственной базе данных, для получения полной информации об этом канале
маршрутизатор посылает пакет-запрос LSR (Link State Request)
соответсвующему соседу. Сосед отвечает пакетом LSU (Link State Update),
в котором содержится полная информация о запрашиваемом канале. После
получения пакета LSU, маршрутизатор должен подтвердить это
соответсвующим пакетом (LSAck).

7. Full adjacency — Состояние полной смежности.

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

При прохождении всех этих состояний, в маршрутизаторе будет сформированы
три базы данных.

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

2. База данных о смежных устройствах. — Список всех устройств, с
которыми установлено двусторонние соединение.

3. Таблица маршрутизации. — Список маршрутов, который сформирован каждым
маршрутизатором с помощью алгоритма SPF.

Маршруты вычисляются из базы данных канального уровня. И вычисляются
каждым маршрутизатором самостоятельно!

Протокол OSPF поддерживает следующие типы сетей:

1. Широковещательные сети множественного доступа (broadcast multiaccess)
2. Нешироковещательные сети множественного доступа (nonbroadcast multiaccess — NBMA)
3. Point — to — Point. «Точка-точка».
4. Point — to — multipoint. «точка-многоточек»

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

Для уменьшения слежебного трафика используется выбор назначенного и
резервного маршрутизатора (DR — designated router и BDR — backup
designated router), которые и будут рассылать все необходимые маршруты
остальным маршрутизатором. Смысл этого в том, что все маршрутизаторы
устанавливают состояние полной смежности только с DR/BDR и только им
послылают информацию о состоянии своих каналов, тем самым происходит
уменьшение служебного трафика в сети.

«Общение» между маршрутизаторами и DR/BDR осщуествляется с помощью
мультикаста — 224.0.0.5. «Общение» между DR и BDR происходит по своему
мультикаст адресу — 224.0.0.6

В сетях point — to — point существует только два маршрутизатора,
соответсвенно не нужно выбирать ни DR ни BDR.

Бакалавр

магистрант

Ращупкин Евгений Олегович, СибГУТИ, магистрант

Аннотация:

Статья посвящена протоколам OSPF и RIP. Проводится описание этих протоколов, основные понятия протоколов, также рассматриваются проблемы возникающие с ними и их решение.

The article is devoted protocols OSPF and RIP. Held description of these protocols, the basic concepts of protocols, also deals with the problems arising from them and their decision.

Ключевые слова:

УДК 004

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

Протокол OSPF был разработанIETF(англ. Internet Engineering Task Force) в 1988 году. Последняя версия протокола представлена в RFC 2328. Протокол OSPF представляет собой протокол внутреннего шлюза IGP(англ. Interior Gateway Protocol). Протокол OSPF распространяет информацию о доступных маршрутах между маршрутизаторами одной автономной системы.

Open Shortest Path First можно перевести на русский, как протокол кратчайшего пути (маршрута). OSPF является промышленным протоколом, который описывается в соответствующем RFC 2328.

Протоколы маршрутизации разделяются на два вида, которые зависят от типов алгоритмов, на которых они основаны:

Дистанционно-векторные протоколы, основаны на Distance Vector Algorithm (DVA) это RIP, IGRP,BGP,EIGRP,AODV .

Протоколы состояния каналов связи, основаны на Link State Algorithm (LSA) это IS-IS,OSPF,NLSP,HSRP,CARP,OLSR,TBRPF

Так же протоколы маршрутизации делятся на два вида в зависимости от сферы применения:

Междоменной маршрутизации - это EGP, BGP, IDRP, IS-IS level 3;

Внутридоменной маршрутизации - это RIP, IS-IS level 1-2, OSPF, IGRP, EIGRP.

Протокол OSPF относится к протоколам состояния каналов связи. Преимущества OSPF

  • Высокая скорость сходимости по сравнению с дистанционно-векторными протоколами маршрутизации;
  • Поддержка сетевых масок переменной длины (VLSM);
  • Оптимальное использование пропускной способности

Описание работы протокола

1.Маршрутизаторы обмениваются hello-пакетами через все интерфейсы, на которых активирован OSPF. Маршрутизаторы, разделяющие общий канал передачи данных, становятся соседями, когда они приходят к договоренности об определённых параметрах, указанных в их hello-пакетах.

2.На следующем этапе работы протокола маршрутизаторы будут пытаться перейти в состояние смежности со своими соседями. Переход в состояние смежности определяется типом маршрутизаторов, обменивающихся hello-пакетами, и типом сети, по которой передаются hello-пакеты. OSPF определяет несколько типов сетей и несколько типов маршрутизаторов. Пара маршрутизаторов, находящихся в состоянии смежности, синхронизирует между собой базу данных состояния каналов.

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

4.Каждый маршрутизатор, получивший объявление от смежного маршрутизатора, записывает передаваемую в нём информацию в базу данных состояния каналов маршрутизатора и рассылает копию объявления всем другим смежным с ним маршрутизаторам.

5.Рассылая объявления внутри одной OSPF-зоны, все маршрутизаторы строят идентичную базу данных состояния каналов маршрутизатора.

6.Когда база данных построена, каждый маршрутизатор использует алгоритм "кратчайший путь первым" для вычисления графа без петель, который будет описывать кратчайший путь к каждому известному пункту назначения с собой в качестве корня. Этот граф — дерево кратчайших путей.

7.Каждый маршрутизатор строит таблицу маршрутизации из своего дерева кратчайших путей.

Типы сетей, поддерживаемые протоколом OSPF

Широковещательные сети со множественным доступом (Ethernet, Token Ring)

Точка-точка (T1, E1, коммутируемый доступ)

Нешироковещательные сети со множественным доступом (NBMA) (Frame relay)

OSPF - масштабируемый протокол маршрутизации, он может быть использован, как в отдельной единственной зоне в небольших сетях, так и в нескольких зонах большой сети. Можно сгруппировать некоторые маршрутизаторы в одну Area, а другие в другую. Тем самым изменения маршрутной информации в одной зоне, не повлияет на работоспособность другой. Для взаимодействия нескольких зон используют Area0, т.е. это зона является магистралью (backbone).

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

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

Существует 5 состояний:

1. Состояние отключено (down state)

2. Состояние инициализации (init state)

3. Двустороннее соединение (Two-way)

4. ExStart

7. Установка полной смежности (Full adjecency)

Для разбора всех этих состояний, нам требуется ещё знать, какие типы

пакетов используются в протоколе OSPF.

Типы пакетов в протоколе OSPF:

Hello пакет - данный тип пакета предназначен для создания и поддержки таблицы соседних устройств.

DBD пакет (Database Description packet), как видно из название это пакет описания содержимого базы данных состояния каналов маршрутизатора.

LSR (Link State Request) - запрос о состоянии каналов, предназначен для запроса отдельного фрагмента базы данных состояния каналов.

LSU (Link state update) - обновление состояния каналов. Данный пакет передает в себе обновление о состоянии каналов.

LSAck (Link state acknowledgment) - Подтверждение о получении от соседнего устройства LSA (Link State Advertisement).

Теперь рассмотрим состояния и переходы между состояниями более подробно.

1. Down state.

Самое простое состояние, и не требует детального описания. В двух

словах, это состояние, при котором не происходил обмен между соседними маршрутизаторами, маршрутизатор ожидает перехода в следующее состояние - Init State, состояние инициализации.

2. Init State.

В состоянии инициализации маршрутизатор OSPF посылает Hello пакеты для установки связи между соседними устройствами, по умолчанию каждые 10 секунд. Когда интерфейс получает Hello пакет, маршрутизатор переходит в состояние инициализации, другими словами, маршрутизатор "понимает" что на этом интерфейсе есть соседнее устройство.

3. Состояние двусторонней связи (Two-way).

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

Данное состояние является базовым, но для совместного использования

маршрутной инфомарцией этого недостаточно.

4. Состояние ExStart.

Для установки состояние ExStart использутеся пакет DBD (описание базы данных). Так же в этом состоянии "выясняется", какой из маршрутизаторов является ведущим (master), а какой ведомый (slave). Выбор осуществляется по ID маршрутизатора. Маршутизатор, у которого ID больше становится master. После того, как определены роли маршрутизаторов, маршрутизаторы переходят в следующее состояние - обмена.

5. Exchange

В состоянии Exchange, как видно из названия, происходит обмен информации о состоянии каналов. После получения маршрутизатором такой информации, маршрутизатор сравнивает с своей базой данных и если такая информация отсутсвует, то маршрутизатор запрашивает полную информацию о данном канале. Полный обмен информации происходит в следующем состоянии - Loading.

В состоянии Exchange, маршрутизатор нашел информацию, которой нет в собственной базе данных, для получения полной информации об этом канале маршрутизатор посылает пакет-запрос LSR (Link State Request) соответсвующему соседу. Сосед отвечает пакетом LSU (Link State Update), в котором содержится полная информация о запрашиваемом канале. После получения пакета LSU, маршрутизатор должен подтвердить это соответсвующим пакетом (LSAck).

7. Full adjacency - Состояние полной смежности.

считаются полностью смежными. Каждый маршрутизатор имеет свою таблицу смежных маршрутизаторов.

При прохождении всех этих состояний, в маршрутизаторе будет сформированы три базы данных.

1. База данных канального уровня. - в данной базе содержится вся

информация о состоянии каналов всех маршрутизаторов, т.е. данная БД

содержит общую топологию всей сети. Следует отметить, что все

маршрутизаторы имеют одинаковую БД канального уровня.

2. База данных о смежных устройствах. - Список всех устройств, с

которыми установлено двусторонние соединение.

3. Таблица маршрутизации. - Список маршрутов, который сформирован каждым

маршрутизатором с помощью алгоритма SPF.

Маршруты вычисляются из базы данных канального уровня. И вычисляются каждым маршрутизатором самостоятельно!

Протокол OSPF поддерживает следующие типы сетей:

1. Nonbroadcast multiaccess (не широковещательные сети множественного доступа - NBMA)

2. Broadcast multiaccess (широковещательные сети множественного доступа - Ethernet, TokenRing)

3. Point - to - Point "Точка-точка" (T1,E1, коммутируемый доступ)

4. Point - to - multipoint "точка-многоточка"

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

Для уменьшения служебного трафика используется выбор назначенного и резервного маршрутизатора (DR - designated router и BDR - backup

designated router), которые и будут рассылать все необходимые маршруты остальным маршрутизатором. Смысл этого в том, что все маршрутизаторы устанавливают состояние полной смежности только с DR/BDR и только им посылают информацию о состоянии своих каналов, тем самым происходит уменьшение служебного трафика в сети.

"Общение" между маршрутизаторами и DR/BDR осщуествляется с помощью мультикаста - 224.0.0.5. "Общение" между DR и BDR происходит по своему мультикаст адресу - 224.0.0.6

В сетях point - to - point существует только два маршрутизатора, соответсвенно не нужно выбирать ни DR ни BDR

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

  • Интерфейс (interface) — соединение маршрутизатора и одной из подключенных к нему сетей. При обсуждении OSPF термины интерфейс и канал (link) часто употребляются как синонимы.
  • Объявление о состоянии канала (link-state advertisement, LSA) — объявление описывает все каналы маршрутизатора, все интерфейсы и состояние каналов.
  • Состояние канала (link state) — состояние канала между двумя маршрутизаторами; обновления происходят при помощи пакетов LSA.
  • Метрика (metric) — условный показатель «стоимости» пересылки данных по каналу;
  • Автономная система (autonomous system) — группа маршрутизаторов обменивающихся маршрутной информацией через общий протокол маршрутизации.
  • Зона (area) — совокупность сетей и маршрутизаторов, имеющих один и тот же идентификатор зоны.
  • Соседи (neighbours) — два маршрутизатора, имеющие интерфейсы в общей сети.
  • Состояние смежности (adjacency) — взаимосвязь между определёнными соседними маршрутизаторами установленная с целью обмена информацией маршрутизации.
  • Hello-протокол (hello protocol) — используется для поддержания соседских отношений.
  • База данных соседей (neighbours database) — список всех соседей.
  • База данных состояния каналов (link state database, LSDB) — список всех записей о состоянии каналов. Встречается также термин топологическая база данных (topological database), употребляется как синоним базы данных состояния каналов.
  • Идентификатор маршрутизатора (router ID, RID) — уникальное 32-битовое число, которое уникально идентифицирует маршрутизатор в пределах одной автономной системы.

Проблемы, возникающие в работе протокола маршрутизации OSPF

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

Проблемы в работе протокола маршрутизации OSPF

  1. 1. Недостаточно маршрутов OSPF

ü Не получены итоговые маршруты. Убедитесь, что пограничные маршрутизаторы области имеют правильные пары назначения и маски подсети для создания итоговых маршрутов области.

ü Не принимаются внешние маршруты от пограничных маршрутизаторов автономных систем. Проверьте, чтобы на маршрутизаторе не использовалась слишком жесткая фильтрация. Фильтрация настраивается на вкладке Внешняя маршрутизация (External Routing) в диалоговом окне Свойства (Properties)протокола OSPF.

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

  1. 2. Не формируется близость OSPF

ü Протокол OSPF не включен на интерфейсе маршрутизатора.

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

ü Отсутствие связи по протоколу IP между соседними маршрутизаторами.

ü Используется некорректная конфигурация протокола OSPF. Попытайтесь воспользоваться журналом OSPF для протоколирования ошибок и предупреждений протокола OSPF.

ü Некорректные параметры аутентификации или пароли.

  1. 3. Не формируется виртуальное подключение

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

ü Указан некорректный идентификатор маршрутизатора в виртуальном подключении к соседу.

ü Соседи виртуального подключения имеют некорректные идентификаторы транзитной области.

ü Проверьте правильность настройки паролей, мертвого интервала или интервала приветствия.

Протокол RIP

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

Алгоритм маршрутизации RIP (Алгоритм Беллмана - Формана) был впервые разработан в 1969 году, как основной для сети Arpanet.

Прототип протокола RIP — Gateway Information Protocol, часть пакета PARC Universal Packet.

Версия RIP, которая поддерживает протокло интернета была включена в пакет BSD операционной системы Unix под названием routed (route daemon), а также многими производителями, реализовавшими свою версию этого протокола. В итоге протокол был унифицирован в документе RFC 1058.

В 1994 году был разработан протокол RIP-2 (RFC 2453), который является расширением протокола RIP, обеспечивающим передачу дополнительной маршрутной информации в сообщениях RIP и повышающим уровень безопасности.

Для работы в среде IPv6 была разработана версия RIPng.

Техническая информация

RIP — так называемый протокол дистанционно-векторной маршрутизации, который оперирует транзитными участками в качестве метрики маршрутизации. Максимальное количество хопов, разрешенное в RIP — 15 (метрика 16 означает «бесконечно большую метрику»). Каждый RIP-маршрутизатор по умолчанию вещает в сеть свою полную таблицу маршрутизации раз в 30 секунд, довольно сильно нагружая низкоскоростные линии связи. RIP работает на прикладном уровне стека TCP/IP, используя UDP порт 520.

В современных сетевых средах RIP — не самое лучшее решение для выбора в качестве протокола маршрутизации, так как его возможности уступают более современным протоколам, таким как EIGRP, OSPF. Ограничение на 15 хопов не дает применять его в больших сетях.

Преимущество этого протокола — простота конфигурирования.

Недостатки - увеличение трафика при периодической рассылке широковещательных пакетов и не оптимальность найденного маршрута.

Работа протокола RIP

Для каждой записи в таблице маршрутов существует время жизни, контролируемое таймером. Если для любой конкретной сети, внесенной в таблицу маршрутов, в течение 180 с не получен вектор расстояний, подтверждающий или устанавливающий новое расстояние до данной сети, то сеть будет отмечена как недостижимая (расстояние равно бесконечности). Через определенное время модуль RIP производит «сборку мусора» - удаляет из таблицы маршрутов все сети, расстояние до которых бесконечно.

При получении сообщения типа «ответ» для каждого содержащегося в нем элемента вектора расстояний модуль RIP выполняет следующие действия:

· проверяет корректность адреса сети и маски, указанных в сообщении;

· проверяет, не превышает ли метрика (расстояние до сети) бесконечности;

· некорректный элемент игнорируется;

· если метрика меньше бесконечности, она увеличивается на 1;

· производится поиск сети, указанной в рассматриваемом элементе вектора расстояний, в таблице маршрутов;

· если запись о такой сети в таблице маршрутов отсутствует и метрика в полученном элементе вектора меньше бесконечности, сеть вносится в таблицу маршрутов с указанной метрикой; в поле «Следующий маршрутизатор» заносится адрес маршрутизатора, приславшего сообщение; запускается таймер для этой записи в таблице;

· если искомая запись присутствует в таблице с метрикой больше, чем объявленная в полученном векторе, в таблицу вносятся новые метрика и, соответственно, адрес следующего маршрутизатора; таймер для этой записи перезапускается;

· если искомая запись присутствует в таблице и отправителем полученного вектора был маршрутизатор, указанный в поле «Следующий маршрутизатор» этой записи, то таймер для этой записи перезапускается; более того, если при этом метрика в таблице отличается от метрики в полученном векторе расстояний, в таблицу вносится значение метрики из полученного вектора;

· во всех прочих случаях рассматриваемый элемент вектора расстояний игнорируется.

Сообщения типа «ответ» рассылаются модулем RIP каждые 30 сек. по широковещательному или мультикастинговому (только RIP_2) адресу; рассылка «ответа» может происходить также вне графика, если маршрутная таблица была изменена (triggered response). Стандарт требует, чтобы triggered response рассылался не немедленно после изменения таблицы маршрутов, а через случайный интервал длительностью от 1 до 5 с. Эта мера позволяет несколько снизить нагрузку на сеть.

В каждую из сетей, подключенных к маршрутизатору, рассылается свой собственный вектор расстояний, построенный с учетом дополнения 1 (1А), сформулированного выше в п. 4.2.1. Там, где это возможно, адреса сетей агрегируются (обобщаются), то есть несколько подсетей с соседними адресами объединяются под одним, более общим адресом с соответствующим изменением маски.

В случае triggered response посылается информация только о тех сетях, записи о которых были изменены.

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

При получении сообщения типа «запрос» с адресом 0.0.0.0 маршрутизатор рассылает в соответствующую сеть обычное сообщение типа ответ. При получении запроса с любым другим значением в поле (полях) «IP Address» посылается ответ, содержащий информацию только о сетях, которые указаны. Такой ответ посылается на адрес запросившего маршрутизатора (не широковещательно).

Выводы

  • Протокол RIP является наиболее заслуженным и распространенным протоколом маршрутизации сетей TCP/IP. Несмотря на его простоту, определенную использованием дистанционно-векторного алгоритма, RIP успешно работает в.небольших сетях с количеством промежуточных маршрутизаторов не более 15.
  • RIP-маршрутизаторы при выборе маршрута обычно используют самую простую метрику - количество промежуточных маршрутизаторов между сетями, то есть хопов.
  • Версия RIPvl не распространяет маски подсетей, что вынуждает администраторов использовать маски фиксированной длины во всей составной сети. В версии RIPv2 это ограничение снято.
  • В сетях, использующих RIP и имеющих петлевидные маршруты, могут наблюдаться достаточно длительные периоды нестабильной работы, когда пакеты зацикливаются в маршрутных петлях и не доходят до адресатов. Для борьбы с этими явлениями в RIP-маршрутизаторах предусмотрено несколько приемов (Split Horizon, Hold Down, Triggered Updates), которые сокращают в некоторых случаях периоды нестабильности.
  • Протокол OSPF был разработан для эффективной маршрутизации IP-пакетов в больших сетях со сложной топологией, включающей петли. Он основан на алгоритме состояния связей, который обладает высокой устойчивостью к изменениям топологии сети.
  • При выборе маршрута OSPF-маршрутизаторы используют метрику, учитывающую пропускную способность составных сетей.
  • Протокол OSPF является первым протоколом маршрутизации для IP-сетей, который учитывает биты качества обслуживания (пропускная способность, задержка и надежность) в заголовке IP-пакета. Для каждого типа качества обслуживания строится отдельная таблица маршрутизации.
  • Протокол OSPF обладает высокой вычислительной сложностью, поэтому чаще всего работает на мощных аппаратных маршрутизаторах

Библиографический список:


1.Сайт Juniper [электронный ресурс] URL:https://www.juniper.net/techpubs/en_US/junos11.4/information-products/pathway-pages/config-guide-ospf/config-guide-ospf.html#overview (дата обращения: 29.11.2013)
2. Сайт Juniper [электронный ресурс]
URL:http://www.juniper.net/techpubs/en_US/junos/topics/topic-map/rip-basic.html (дата обращения: 26.11.2013).
3. Протокол OSPF[электронный ресурс]
URL:http://ru.wikipedia.org/wiki/OSPF (дата обращения: 24.11.2013).

Рецензии:

30.11.2013, 3:13 Назарова Ольга Петровна
Рецензия : Хорошее изложение материала. Рекомендуется к печати.

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

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

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

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

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

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

Например, есть следующая структура:

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

В качестве промежуточных узлов используется 2 маршрутизатора, расположенных в разных локациях: высокопроизводительный и более дорогой Router5, c широким каналом интернет и более дешевый Router 6 использующий дешевый канал интернет. Соответственно по умолчанию связь между всеми тремя филиалами должна происходить через Router5, если этот роутер выходит из строя - весь трафик в кратчайшее время переключается на Router 6, в случаи если оба промежуточных роутера вышли из строя – связь между филиалами осуществляется на прямую, поскольку простой в работе для данной компании важнее безопасности. В качестве роутеров используются CISCO 881 k9.

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


Рисунок 1 - Схема работы с зашифрованной базой данных


Техническая реализация OSPF на CISCO Router выглядит следующим образом (предполагается что туннели уже построены):

Активация и настройка протокола выполняется в режиме глобального конфигурирования:

router ospf 1 (активация протокола и присвоение идентификатора)

router-id 192.168.1.254 (задание ID роутера, используется адрес его интерфейса)

area 1 authentication message-digest (настройка аутентификации type 2 для зоны 1, пароль задается на интерфейсах)

network 192.168.1.0 0.0.0.255 area 1 (задание сетей для анонсирования)

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

interface Tunnel0 (заходим на интерфейс)

ip ospf authentication message-digest (задаем аутентификацию)

ip ospf message-digest-key 1 md5 Fkjf8i39fdks84l9 (вводим ключ аутентификации для нашей зоны)

ip ospf cost 5 (указываем стоимость прохождения трафика через указанный интерфейс)

ip ospf hello-interval 1 (указываем минимальный интервал обмена Hello пакетами, это позволяет минимизировать время обнаружения роутера)

ip ospf dead-interval 5 (указываем время в течении которого маршрут будет считаться мертвый, если от него не получено ответа)

ip ospf mtu-ignore (отключаем проверку MTU)

Аналогичные действия выполним на других интерфейсах с указанием соответствующей стоимости (значение cost, как указано на схеме).

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

  • По умолчанию трафик между офисами пойдет по кратчайшему пути через Router5, стоимость маршрута будет 5+5=10
  • Если Router5 не доступен, трафик пойдет через Router6, цена маршрута будет 10+10=20
  • Если оба промежуточных узла выйдут из строя трафик пойдет прямо по туннелям между узлами, стоимость маршрута составит 25

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

Крупные сети, такие как Internet, организованы как множество автономных систем (autonomous system – AS). Каждая из них обычно администрируется как отдельная сетевая структура, поэтому использование одного протокола маршрутизации в таких сетях маловероятно. Как мы уже знаем маршрутизатор, исходя из IP-адреса, указанного в заголовке пакета, в соответствии с своей таблицей маршрутизации определяет путь для передаваемых данных.
Таблицы маршрутизации задаются как вручную (статическая маршрутизация), так и динамически (динамическая маршрутизация).

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

Так как статические маршруты настраиваются вручную, то любые изменения сетевой топологии требуют участия администратора для корректировки таблиц маршрутизации. В рамках маленькой сети такие изменения незначительны и происходят крайне редко. И наоборот, в крупных сетях корректировка таблиц маршрутизации может потребовать огромных затрат времени.
Если доступ к сети может быть получен только по одному направлению, то указание статического маршрута может оказаться вполне достаточным. Такой тип сети носит название тупиковой сети (stub network). Для настройки статической маршрутизации на роутере необходимо внести запись о сети, которую может достигнуть пакет, отправленный в определенный интерфейс.
Для этого необходимо в конфигурационном режиме ввести команду ip route, в которой указываем IP-адрес и маску сети назначения, тип и номер интерфейса, через который эта сеть может быть достигнута

R1(config)# ip route

Пример: Для сети, изображенной на рисунке необходимо настроить маршрутизацию таким образом, чтобы роутер (R1) пересылал пакеты в сети 92.154.228.0/22 и 92.154.232.0/22

Решением будет указанием 2 команд:

R1(config)# ip route 92.154.228.0 255.255.252.0 Se 1/0
R1(config)# ip route 92.154.232.0 255.255.252.0 Se 1/0

Для проверки конфигурации набираем команду show ip route

R1# show ip route
Codes: C — connected, S — static, I — IGRP, R — RIP, M — mobile,
D — EIGRP, EX — EIGRP external, O — OSPF,

C 92.154.224.0/22 is directly connected, FastEthernet0/0
S 92.154.228.0/22 is directly connected, Serial1/0
S 92.154.232.0/22 is directly connected, Serial1/0
C 92.154.252.0/30 is directly connected, Serial1/0

Как видно из вывода команды кроме подсоединенных сетей появились 2 записи по которым роутер будет все пришедшие к нему пакеты для сетей 92.154.228.0/22 и 92.154.232.0/22 маршрутизировать на интерфейс Serial1/0.

Для того чтобы пакеты из этих сетей уходили обратно необходимо подобным образом настроить роутеры R2 и R3

R2(config)# ip route 92.154.224.0 255.255.252.0 serial 1/0
R2(config)# ip route 92.154.232.0 255.255.252.0 serial 1/1

R3(config)# ip route 92.154.224.0 255.255.252.0 serial 1/0
R3(config)# ip route 92.154.228.0 255.255.252.0 serial 1/0

Еще настроить статическую маршрутизацию можно указав в команде ip route IP-адрес интерфейса следующего транзитного маршрутизатора вместо типа и номера интерфейса роутера, через который может быть достигнута сеть назначения. Например конфигурация роутера R1 для нашего примера будет:

R1(config)# ip route 92.154.228.0 255.255.252.0 92.154.252.2

R1(config)# ip route 92.154.232.0 255.255.252.0 92.154.252.2

R1# show ip route static
92.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
S 92.154.228.0/22 via 92.154.252.2
S 92.154.232.0/22 via 92.154.252.2

Для отмены статического маршрута используется команда no ip route

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

При динамической маршрутизации происходит обмен маршрутной информацией между соседними маршрутизаторами, в ходе которого они сообщают друг другу, какие сети в данный момент доступны через них. Информация обрабатывается и помещается в таблицу маршрутизации. К наиболее распространенным внутренним протоколам маршрутизации относятся:
RIP (Routing Information Protocol) — протокол маршрутной информации
OSPF (Open Shortest Path First) — протокол выбора кратчайшего маршрута
EIGRP (Enhanced Interior Gateway Routing Protocol) — усовершенствованный протокол маршрутизации внутреннего шлюза
IGRP (Interior Gateway Routing Protocol) — протокол маршрутизации внутреннего шлюза

Протокол динамической маршрутизации выбирается исходя из множества предпосылок (скорость конвергенции, размер сети, задействование ресурсов, внедрение и сопровождение и др.) поэтому прежде всего, во внимание принимаются такие характеристики, как размер сети, доступная полоса пропускания, аппаратные возможности процессоров маршрутизирующих устройств, модели и типы маршрутизаторов.
Большинство алгоритмов маршрутизации может быть отнесено к одной из двух категорий: дистанционно-векторные протоколы (RIPv1, RIPv2, RIPng, IGRP, EIGRP, EIGRP for IPv6) и протоколы с учетом состояния канала (OSPFv2, OSPFv3, IS-IS, IS-IS for IPv6).

Routing Information Protocol (RIP)

Протокол RIP является дистанционно-векторным протоколом маршрутизации. Протоколы динамической маршрутизации определяют оптимальный путь к необходимой сети на основании значения, которое называется метрикой. В качестве метрики в протоколе RIP используется количество транзитных устройств или переходов (hop count – прыжок пакета) из одной сетевой структуры в другую. Максимальное число таких переходов равно 15. А все сети, число переходов до которых превышает 15, считаются недостижимыми. Маршрутизаторы, на которых настроен протокол RIP, периодически (по умолчанию каждые 30 с) пересылают полные анонсы маршрутов, в которых содержится информация обо всех известных им сетях.

Работа протокола RIP

Рассмотрим процесс обработки маршрутизатором R1 маршрута к сети 172.30.22.0 Протокол RIP настроен на обоих роутерах R1 и R2 во все непосредственно подсоединенные сети.

Сеть 172.30.22.0 напрямую подключена к маршрутизатору R2, поэтому счетчик переходов для нее равен 0
Когда R2 пересылает анонс маршрута к такой сети, он устанавливает значение счетчика равным 1. Получив анонс от R2, маршрутизатор R1 заносит маршрут к сети 172.30.22.0 в свою таблицу маршрутизации и считает этот маршрут оптимальным, поскольку других маршрутов у него нет.
В качестве исходящего интерфейса для нового маршрута R1 использует S0/0, поскольку анонс был получен через него.
В качестве адреса следующего транзитного устройства на маршруте использует 172.30.1.2, поскольку анонс маршрутизации был получен от отправителя с этим IP-адресом.

Из анонсов маршрутов исключаются некоторые маршруты для того чтобы исключить кольцевые маршруты и зацикливание пакетов. Кольцевой маршрут образуется когда два или более маршрутизаторов пересылают друг другу пакеты по замкнутому пути при котором пакеты не достигают нужного получателя. Кольцевой маршрут будет действовать до тех пор, пока маршрутизаторы в сети не обновят свои таблицы маршрутизации. Для избежания кольцевых маршрутов, маршрутизаторы рассылают информацию об отказавшем маршруте со специальной метрикой, равной бесконечности (для протокола RIP это значение равно 16). Такая рассылка называется корректировкой маршрута.
Еще один механизм предотвращения кольцевых маршрутов – таймер хранения информации. Когда устройство получает откорректированный маршрут (с максимальной метрикой), свидетельствующий о том, что этот маршрут недоступен, запускается таймер для такого маршрута. Стандартное значение таймера хранения информации равно 180 с. До тех пор пока не истечет таймер, новая информация о маршруте не принимается устройством, но информация от соседнего маршрутизатора, который ранее анонсировал исчезнувший маршрут, принимается и обрабатывается до истечения таймера хранения информации.

Пример сети и ее настройки с использованием протокола RIP

Для настройки на маршрутизаторе протокола RIP необходимо ввести команду router rip. Далее в режиме конфигурирования протокола маршрутизации нужно ввести команду network, содержащую номер сети, подключенной непосредственно к роутеру, информацию о которой следует разглашать в рассылках. Если используется бесклассовая адресация, необходимо включить 2 версию протокола RIP командой version 2

Router1(config)# router rip
Router1(config-router)# network 92.154.224.0
Router1(config-router)# network 92.154.252.0
Router1(config-router)# version 2

Router2(config)# router rip
Router2(config-router)# network 92.154.252.0
Router2(config-router)# network 92.154.252.4
Router2(config-router)# network 92.154.228.0
Router2(config-router)# version 2

Router3(config)# router rip
Router3(config-router)# network 92.154.252.4
Router3(config-router)# network 92.154.232.0
Router3(config-router)# version 2

Проверяем таблицу маршрутизации командой

Router1# show ip route rip


R 92.154.228.0/22 via 92.154.252.2, 00:00:20, Serial1/0
R 92.154.232.0/22 via 92.154.252.2, 00:00:20, Serial1/0
R 92.154.252.4/30 via 92.154.252.2, 00:00:20, Serial1/0

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

OSPF

Протокол OSPF является протоколом маршрутизации с учетом состояния каналов. В этом классе протоколов в качестве метрики используется стоимость маршрута, которая рассчитывается на основе пропускной способности каждого канала на пути от маршрутизатора до необходимой сети. Поэтому процесс работы протокола OSPF условно можно разделить на три этапа: обнаружение соседних маршрутизаторов, обмен базами маршрутов и расчет оптимальных маршрутов.
Устройства, подключенные к одному каналу и участвующие в процессе обмена информацией протокола OSPF называются соседними маршрутизаторами. Для обнаружения OSPF-устройств маршрутизаторы рассылают многоадресатные Hello-пакеты через все интерфейсы, на которых настроен протокол OSPF. В запросе содержится следующая информация:
идентификатор маршрутизатора-отправителя Router ID – RID,
идентификатор зоны OSPF Area ID,
Hello-интервал,
интервал обнаружения неработоспособности устройства (dead interval),
приоритет маршрутизатора (router priority),
идентификатор RID выделенного маршрутизатора (designated router DR),
идентификатор RID резервного выделенного маршрутизатора (backup designated router BDR)
список соседних устройств, обнаруженных маршрутизатором-отправителем.

Каждому маршрутизатору присваивается уникальный номер – идентификатор маршрутизатора RID. Он представляет собой 32-битное число, поэтому для удобства в качестве идентификатора используют IP-адрес. Протоколом автоматически выбирается самый старший IP-адрес из всех адресов на интерфейсах устройства (в т.ч. виртуальных).

Например, маршрутизатор «А» получает Hello-сообщение от маршрутизатора «Б». Устройству «А» нужно уведомить маршрутизатор «Б» о том, что сообщение было получено, поэтому маршрутизатор «А» добавляет идентификатор RID маршрутизатора «Б» в свое следующее (и все последующие) Hello-сообщение. Аналогично, когда маршрутизатор «Б» получит Hello-сообщение, он добавит идентификатор RID устройства «А» в свои последующие Hello-сообщения.
Когда маршрутизатор обнаруживает свой идентификатор RID во входящем Hello-сообщении, он считает, что со смежным устройством был установлен двусторонний канал. После этого маршрутизаторы проверяют базовые настройки протокола друг у друга, содержащиеся в Hello-сообщениях: IP-адрес, маску подсети, интервал рассылки Hello-сообщений, интервал обнаружения неработоспособности соседнего устройства (dead interval), идентификатор зоны OSPF (area ID) и др. Настройки должны совпадать, иначе протокол работать не будет.
После проверки, если настройки совпадают, маршрутизаторы могут обмениваться анонсами состояния каналов (Link-State Advertisements – LSA).
После установления двустороннего канала маршрутизаторы продолжают периодически обмениваться Hello-сообщениями. Если связь отсутствуют в течение времени, которое определяется dead-интервалом, то считается, что связь с соседним устройством потеряна. Стандартно в протоколе OSPF интервал рассылки Hello-сообщений равен 10 с, dead-интервал – 40 с.
В анонсах LSA содержится подробная информация о топологии сети. Процесс рассылки этих анонсов называется лавинной рассылкой (flooding), при которой маршрутизаторы пересылают анонсы LSA своим соседям, которые, в свою очередь, рассылают их своим соседям, и так до тех пор, пока все устройства в сети не получат информацию из анонса. Анонсы LSA рассылаются периодически (по умолчанию один раз в 30 мин). По окончании процесса рассылки у всех маршрутизаторов в домене маршрутизации появится общая одинаковая информация о сети. Информация хранится в виде структуры, называемой базой данных состояния каналов link-state database – LSDB.
Когда у каждого маршрутизатора в домене маршрутизации есть идентичная копия базы LSDB, то используется технология протоколов маршрутизации с учетом состояния каналов. Устанавливаются маршруты в таблицу IP-маршрутизации: создаются записи, содержащие адрес подсети, маску, выходной интерфейс и адрес следующего транзитного устройства (next-hop). Для выполнения данной задачи используется алгоритм поиска первого кратчайшего пути Дейкстры.
Протокол OSPF выбирает маршрут между маршрутизатором и какой-либо сетью с наименьшей стоимостью. С каждым интерфейсом на маршруте связано некоторое значение стоимости. Стоимость всех интерфейсов (каналов), через которые пролегает путь к сети, суммируется и выбирается путь, стоимость которого минимальна. Таким образом, каждый маршрутизатор строит маршруты подобно древовидной структуре, в корне которой ставит себя.
Для настройки протокола OSPF используются команда router ospf, которая содержит 16-битный идентификатор процесса от 1 до 65535 и команда network, содержащая номер сети, инверсную маску (wildcard mask) и идентификатор зоны.

Рассмотрим пример настройки протокола OSPF для сети, изображенной выше.

Router1(config)# route ospf 1
Router1(config-router)# network 92.154.252.0 0.0.0.3 area 0
Router1(config-router)# network 92.154.224.0 0.0.3.255 area 0

Router2(config)# router ospf 1
Router2(config-router)# network 92.154.252.0 0.0.0.3 area 0
Router2(config-router)# network 92.154.252.4 0.0.0.3 area 0
Router2(config-router)# network 92.154.228.0 0.0.3.255 area 0

Router3(config)# router ospf 1
Router3(config-router)# network 92.154.252.4 0.0.0.3 area 0
Router3(config-router)# network 92.154.232.0 0.0.3.255 area 0

Проверяем результаты командой Router1# show ip route ospf

92.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
O 92.154.228.0/22 via 92.154.252.2, 00:00:26, Serial1/0
O 92.154.232.0/22 via 92.154.252.2, 00:00:26, Serial1/0
O 92.154.252.4/30 via 92.154.252.2, 00:00:26, Serial1/0

Для просмотра списка соседних маршрутизаторов на которых настроен протокол OSPF, и информации о них используется команда show ip ospf neighbor

Router1#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
92.154.252.5 0 FULL/ — 00:00:37 92.154.252.2 Serial1/0

Для функционирования протокола OSPF важно чтобы хотя бы один интерфейс маршрутизатора, включенный в таблицу маршрутизации протокола OSPF, должен находиться в поднятом (up) состоянии. В противном случае OSPF отключится и последующее включение возможно будет только вручную. Для избежания такой проблемы в сети необходимо настроить и включить в протокол OSPF виртуальный интерфейс loopback.
Для настройки интерфейса loopback используется команда interface loopback, после указывается номер виртуального интерфейса, например:

Router(config)# interface loopback 0
Router(config-if)# ip add 1.1.1.1 255.255.255.255

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

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

Общее описание маршрутизаторов OSPF

Граничные маршрутизаторы области

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

Граничные маршрутизаторы автономной системы

Маршрутизаторы ASBR соединены с несколькими автономными системами и обмениваются маршрутной информацией с маршрутизаторами, находящимися в другой автономной системе. В маршрутизаторах ASBR одновременно эксплуатируются протокол OSPF и другой маршрутизирующий протокол, такой как RIP или ВGР. Маршрутизаторы ASBR обрабатывают информацию о внешних маршрутах.

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

Маршрутизаторами опорной области (Backbone Router - BR) называются маршрутизаторы, интерфейсы которых соединяют их только с опорной областью. Они не имеют интерфейсов, подключенных к другим областям OSPF.