212.27K
Категория: ИнтернетИнтернет

OSPF (Open Shortest Path First)

1.

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

2.

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

3.

Принцип работы
После включения маршрутизаторов протокол ищет непосредственно
подключенных соседей и устанавливает с ними «дружеские» отношения.
Затем они обмениваются друг с другом информацией о подключенных и
доступных им сетях. То есть они строят карту сети (топологию сети). Данная
карта одинакова на всех маршрутизаторах.
На основе полученной информации запускается алгоритм SPF (Shortest Path
First, «выбор наилучшего пути»), который рассчитывает оптимальный маршрут
к каждой сети. Данный процесс похож на построение дерева, корнем которого
является сам маршрутизатор, а ветвями — пути к доступным сетям. Данный
процесс, то есть конвергенция, происходит очень быстро.

4.

Процесс обнаружения соседей в OSPF
• Обнаружение соседей
происходит при помощи
сообщений Hello. Роутеры
отправляют их во все
интерфейсы, на которых
включен OSPF. В этих
сообщениях содержится
Router ID, IP-адрес
интерфейса, с которого был
послан Hello и другая
необходимая для
установления соседства
информация.
Возможные состояния OSPF соединения
1.Down – самое первое состояние в котором находится роутер, когда пытается
найти OSPF соседей.
2.Init – в это состояние роутер переходит сразу после того, как отправит свой
первый hello соседу, когда роутер в состояние Init, он ждет от соседа ответный
Hello.
3.Two-way – в этом состояние соседи могут остаться. При установлении
соседства роутеры отправляют сообщение hello друг другу два раза, первый
раз чтобы нащупать соседа, а второй раз, чтобы сообщить соседу о том, что его
заметили и с ним хотят дружить, во втором hello пакете роутер посылает RID
соседа, если всё прошло гладко, соседство устанавливается.
4.Exstart – в этом состояние маршрутизаторы договариваются о том, кто
первый начнет обмен полезными пакетами, при этом роутеры должны
договориться о том, кто начнет процесс обмена маршрутной информацией и
будет главным в этом процессе, а кто будет на подхвате. Тот, кто главный,
будет иметь статус Master, а тот, кто на подхвате – Slave. Статус Master
получает тот роутер, у которого RID больше, он определит DBD Sequence
number и первым посылает DBD пакет.
5.Exchange – в этом состояние маршрутизаторы начинают обмениваться DBD
пакетами, в которых они рассказывают о содержимом своих LSDB.
6.Loading – переход в это состояние происходит тогда, когда роутер осознает,
что в его LSDB не хватает части маршрутной информации, которая есть у
соседа. В этом состояние роутер отсылает LSR сообщения, в котором
содержится запрос на необходимые LSU. Пока роутер себя накачивает
соседскими LSU, он находится в состояние Loading.
7.Full – LSDB полностью синхронна с соседской.

5.

Для предотвращения проблемы рассылки копий LSA в сетях со множественным доступом выбираются выделенный маршрутизатор (DR) и
запасной выделенный маршрутизатор (BDR).
Выделенный маршрутизатор (designated router, DR) — управляет процессом рассылки LSA в сети. Каждый маршрутизатор сети устанавливает
отношения смежности с DR. Информация об изменениях в сети отправляется маршрутизатором, обнаружившим это изменение, на
выделенный маршрутизатор, а тот, в свою очередь, отвечает за то, чтобы эта информация была отправлена остальным маршрутизаторам
сегмента множественного доступа.
Недостатком в схеме работы с DR маршрутизатором является то, что при выходе его из строя должен быть выбран новый DR. Новые отношения
соседства должны быть сформированы и, пока базы данных маршрутизаторов не синхронизируются с базой данных нового DR, сеть будет
недоступна для пересылки пакетов. Для устранения этого недостатка выбирается BDR.
Резервный выделенный маршрутизатор (backup designated router, BDR). Каждый маршрутизатор сети устанавливает отношения соседства не
только с DR, но и BDR. DR и BDR также устанавливают отношения соседства и между собой. При выходе из строя DR, BDR становится DR и
выполняет все его функции. Так как маршрутизаторы сети установили отношения соседства с BDR, время недоступности сети
минимизируется.
По какому принципу роутер становится DR? Тут есть два критерия, на оба критерия влияет администратор:
Первый и более важный критерий – приоритет. У каждого OSPF интерфейса роутера есть приоритет, по умолчанию интерфейсы роутера
Cisco имеют приоритет равный единице. Роутер с наивысшим приоритет станет DR, BDR станет роутер со следующим по значению
приоритетом, все остальные будут DROTHER.
Если приоритет интерфейсов одинаковый, то роутеры сравнивают Router ID, побеждает тот, у кого больше. Router ID обязательное
уникальное значение, поэтому кто-то в любом случае будет DR, кто-то BDR, а кто-то DROTHER.

6.

Router ID
Для протокола OSPF каждый роутер внутри автономной системы должен иметь уникальный номер, это
нужно, чтобы другие роутеры понимали кто является источником маршрутной информации.
Вся соль в том, что когда вы запускаете процесс OSPF на роутере, на нем уже должен быть задан Router
ID. Но если Router ID еще не задан, то маршрутизатор попробует его назначить себе сам. И сделает он
очень просто. Router ID – это 32-ух битное число, а что у нас еще имеет размер 32 бита? Правильно! IPадрес в протоколе IPv4 ровно тридцать два бита. Итак, у роутеров есть несколько способов получить
Router ID:
• Внимательный инженер назначит его роутеру сам и не доверит выбор Router ID глупой железяке. Этот
способ имеет наивысший приоритет.
• Если инженер не назначил Router ID, то маршрутизатор Cisco назначит его сам. Первым делом он
посмотрит на IP-адреса, которые светятся на Loopback интерфейсах и в качестве Router ID будет
выбран наибольший IP-адрес.
• Если Loopback интерфейсов нет, но есть обычные интерфейсы с IP-адресами, которые активны, то
роутер выберет наибольший IP-адрес в качестве RID с обычного интерфейса.
Если интерфейсов с IP-адресами нет, то зачем вам вообще запускать OSPF? RID назначен не будет,
соседства никакого не будет.

7.

Таймеры протокола
• HelloInterval — Интервал времени в секундах по истечении которого
маршрутизатор отправляет следующий hello-пакет с интерфейса. Для
широковещательных сетей и сетей точка-точка значение по
умолчанию, как правило, 10 секунд. Для нешироковещательных сетей
со множественным доступом значение по умолчанию 30 секунд.
• RouterDeadInterval — Интервал времени в секундах по истечении
которого сосед будет считаться «мертвым». Этот интервал должен
быть кратным значению HelloInterval. Как правило, RouterDeadInterval
равен 4 интервалам отправки hello-пакетов, то есть 40 секунд.
• Wait Timer — Интервал времени в секундах по истечении которого
маршрутизатор выберет DR в сети. Его значение равно значению
интервала RouterDeadInterval.

8.

Объявления о состоянии канала — LSA
• LSA, или Link State Advertisement, — это сообщение с описанием
локального состояния маршрутизатора или сети. Вместе они
создают базу данных состояния каналов LSDB. Есть 11 типов LSA
сообщений (пакетов), у каждого своя функция.

9.

LSA 1 (Router LSA). Каждый маршрутизатор создает этот тип. Он отправляется
между маршрутизаторами одной зоны и дальше не идет. Содержит описание
интерфейсов, как соединены маршрутизаторы и сети внутри зоны.

10.

LSA 2 (Network). Этот тип рассылается между соседями в одной зоне, а создает
его DR для описания маршрутизаторов, которые подключены к нему.

11.

Синхронизация LSDB
Все LSA всех типов образуют LSDB. У каждого маршрутизатора есть
своя копия LSDB и они синхронизируют свою LSDB с DR.
• Каждый маршрутизатор отвечает за записи в LSDB о связях,
которые исходят от него.
• Когда появляется новая связь или происходит обрыв,
маршрутизатор меняет свою копию базы и извещает DR.
• Остальные будут забирать данную информацию с DR.
English     Русский Правила