OSPF

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

Протокол OSPF був розроблений IETF в 1988 році. Остання версія протоколу представлена ​​в RFC 2328. Протокол OSPF являє собою протокол внутрішнього шлюзу (Interior Gateway Protocol - IGP). Протокол OSPF поширює інформацію про доступні маршрутах між маршрутизаторами однієї автономної системи.

OSPF пропонує рішення наступних завдань:

  • Збільшення швидкості збіжності (у порівнянні з протоколом RIP2, тому що немає необхідності вичікування багаторазових тайм-аутів по 30с);
  • Підтримка мережних масок змінної довжини (VLSM);
  • Досяжність мережі (швидко виявляються відмовили маршрутизатори, і топологія мережі змінюється відповідним чином);
  • Оптимальне використання пропускної здатності (так як будується мінімальний остовних граф за алгоритмом Дейкстри);
  • Метод вибору шляху.

Термінологія протоколу 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-бітове число, яке унікально ідентифікує маршрутизатор у межах однієї автономної системи.

Опис роботи протоколу

  • Маршрутизатори обмінюються hello-пакетами через всі інтерфейси, на яких активований OSPF. Маршрутизатори, розділяють загальний канал передачі даних, стають сусідами, коли вони приходять до домовленості про певні параметри, зазначених у їх hello-пакетах.
  • На наступному етапі роботи протоколу маршрутизатори будуть намагатися перейти в стан суміжності з маршрутизаторами, які перебувають з ним у межах прямого зв'язку (на відстані одного хопу). Перехід у стан суміжності визначається типом маршрутизаторів, які обмінюються hello-пакетами, і типом мережі, по якій передаються hello-пакети. OSPF визначає кілька типів мереж і кілька типів маршрутизаторів. Пара маршрутизаторів, які перебувають у стані суміжності, синхронізує між собою базу даних стану каналів.
  • Кожен маршрутизатор посилає оголошення про стан каналу маршрутизаторам, з якими він знаходиться в стані суміжності.
  • Кожен маршрутизатор, який отримав оголошення від суміжного маршрутизатора, записує передану в ньому інформацію в базу даних стану каналів маршрутизатора і розсилає копію оголошення всім іншим суміжних з ним маршрутизаторам.
  • Розсилаючи оголошення через зону, всі маршрутизатори будують ідентичну базу даних стану каналів маршрутизатора.
  • Коли база даних побудована, кожен маршрутизатор використовує алгоритм «найкоротший шлях першим» для обчислення графа без петель, який буде описувати найкоротший шлях до кожного відомому пункту призначення з собою в якості кореня. Цей граф - дерево найкоротших шляхів.
  • Кожен маршрутизатор будує таблицю маршрутизації зі свого дерева найкоротших шляхів.