Ospf (часть первая) Сетевые технологии



бет1/9
Дата06.01.2022
өлшемі101,5 Kb.
#12460
түріСтатья
  1   2   3   4   5   6   7   8   9

OSPF (часть первая)

  • Сетевые технологии

Данная статья была написана для себя, чтоб при необходимости быстро освежить память и разобраться с теорией. Решил ее опубликовать, возможно кому-то будет полезна, а может в чем то ошибаюсь.

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



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

Возникает сразу вопрос — Что есть технология отслеживания состояния канала? Данное название считаю не совсем удачным. Сложилось так, что существует два типа протоколов динамической маршрутизации: Link-state и Distance-Vector. Рассмотрим их принципы работы:

В Distance-Vector протоколах, маршрутизатор узнает информацию о маршрутах посредством маршрутизаторов непосредственно подключенных в один с ним сегмент сети. То есть, маршрутизатор имеет информацию о топологии только в границах его соседних маршрутизаторов и понятия не имеет как устроена топология за этими маршрутизаторами, ориентируясь только по метрикам. В Link-state протоколах каждый маршрутизатор должен непросто знать самые лучшие маршруты во все удалённые сети, но и иметь в памяти полную карту сети со всеми существующими связями между другими маршрутизаторами в том числе. Это достигается за счет построения специальной базы LSDB, но подробнее об этом позже.

Итак, начнем с того, как же строится LSDB из которой маршрутизатор узнает о всех-всех маршрутах? Построим начальную топологию для изучения. Выглядит она так:

Будем настраивать OSPF. С чего начинается OSPF? C установления соседства между маршрутизаторами — после активации OSPF на интерфейсах маршрутизатора, маршрутизаторы начинают рассылать Hello сообщения. Данное сообщение рассылается на мультикастовый адрес — 224.0.0.5 каждые 10 секунд (Hello Timer). Мы включим сначала OSPF на маршрутизаторе vIOS1. 

Посмотрим как выглядит Hello-пакет:

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

1. Настроен специальной командой router-id A.B.C.D — в формате ip адерса.


2. Настроен один loopback-интерфейс и несколько интерфейсов с различными адресами: 

  • Адрес присвоенный loopback-интерфейсу будет Router ID.

3. Настроены несколько loopback-интерфейсов с несколькими IP-адресами в каждом:



  • Наибольший IP-адрес присвоенный любому из loopback-интерфейсов будет Router ID.

4. Настроены несколько интерфейсов с IP-адресом на каждом:



  • Наибольший IP-адрес из всех активных интерфейсов будет Router ID.

Теперь перейдем к полю Area ID — это более важное и фундаментальное понятие в OSPF. Для работы с большим количеством маршрутизаторов, OSPF использует зоны. Каждый из интерфейсов маршрутизатора должен принадлежать какой-либо одной зоне. В нашей топологии интерфейсы Gi0/0 маршрутизаторов vIOS1, vIOS2, vIOS3, vIOS4 принадлежат зоне 0. Area 0 называется Backbone и является центром для всех остальных зон. Каждая другая зона должна быть подключена к Backbone зоне (virtual-link не рассматриваем пока). В дальнейшем разборе станут более ясными данные понятия.

Итак, мы включили OSPF на vIOS1 и он начал каждые 10 секунд отправлять Hello-пакеты. Включим OSPF на vIOS2 и проследим как будут устанавливаться отношения соседства.

Итак, внимательно следим за последовательностью сообщений. Сначала Hello отправляет только маршрутизатор 1.1.1.1 ( 192.168.1.1 ), как только мы включим OSPF на 192.168.1.2, то отправится Hello пакет. vIOS1 и vIOS2 получат Hello пакеты друг у друга и для того, чтоб соседство состоялось важно, чтобы в конфигурации OSPF на обоих маршрутизаторах были одинаковыми следующие параметры:



  • Hello Interval — частота отправки сообщений Hello

  • Router Dead Interval — период времени, по прохождению которого, сосед считается недоступным, если не было Hello.

  • Area ID — соседство может установится только посредством интерфейсов в одной зоне.

  • Authentication — пароль использующийся для аутентификации и тип аутентификации, если он есть.

  • Stub area flag — необязательный флаг, который устанавливается на всех маршрутизаторах, которые принадлежат тупиковой зоне (stub area)

Если посмотреть на Hello пакет, показанный выше, все эти параметры указаны в Hello-пакете. Как только один из маршрутизаторов (vIOS1) получит новый Hello-пакет и проверит все условия, он сразу отправит Hello-пакет, где укажет в поле Active Neighbor адрес нового маршрутизатора (vIOS2), vIOS2 получив и увидев себя в поле соседей себя, добавит vIOS1 в соседи и отправит уже юникастовый пакет на 192.168.1.1 (vIOS1), где укажет его соседом. Так сказать, они стали соседями и теперь начинается самое интересное — обмен информацией и построение той самой базы LSDB. Про установление соседства советую прочитать следующую статью.

База LSDB будет содержать в себе информацию о маршрутах и данная LSDB после установления соседства должна быть идентичная на всех маршрутизаторах в пределе одной зоны. И, первым делом, маршрутизаторы после установления соседства начинают процесс синхронизаций своих баз данных друг с другом (vIOS1 c vIOS2). Как можно увидеть все начинается с обменом между собой сообщений DB Description (DBD). Чтоб стало более понятно, расскажем о типах сообщений, который использует OSPF: 


  • Hello — используется для обнаружения соседей, проверки параметров, построения отношений соседства с ними и мониторинга доступности.

  • Database Description (DBD) — проверяет состояние синхронизации баз данных на маршрутизаторах.

  • Link-State Request (LSR) — запрашивает определенные записи о состоянии каналов от маршрутизатора к маршрутизатору для синхронизации.

  • Link-State Update (LSU) — отправляет определенные записи о состоянии каналов в ответ на запрос.

  • Link-State Acknowledgment (LSAck) — подтверждает получение других типов пакетов.

Также важно ввести такое понятие как LSA:





Достарыңызбен бөлісу:
  1   2   3   4   5   6   7   8   9




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет