У середніх і великих IP-мережах маршрутизація не може бути статичною. Лінки падають, з’являються нові сегменти і змінюється навантаження. Саме для таких умов створений OSPF — один із найпоширеніших динамічних протоколів маршрутизації у світі.
У цьому огляді розберемося, як працює OSPF, як формуються сусідства, що таке LSDB і SPF-алгоритм, які існують стани протоколу та чому концепція областей вирішує проблему масштабування.
Що таке OSPF?
OSPF (Open Shortest Path First) — це динамічний протокол маршрутизації, який допомагає маршрутизаторам визначати найкращий шлях для передавання даних у межах однієї мережі.
Простими словами: коли в компанії є десятки або сотні маршрутизаторів, кожен з них повинен розуміти, куди саме відправити пакет, щоб він дістався до потрібної підмережі. Налаштовувати вручну — довго, складно і небезпечно для стабільності.
OSPF автоматизує цей процес. Він:
- сам виявляє інші маршрутизатори в мережі;
- обмінюється з ними інформацією;
- будує карту всієї топології;
- обчислює найкоротший і найефективніший маршрут;
- швидко реагує на збої або зміни.
OSPF належить до класу протоколів link-state. Це означає, що кожен маршрутизатор збирає повну інформацію про структуру мережі, а не просто отримує список маршрутів від сусіда (OSPF neighbors).
Як працює OSPF?
Щоб зрозуміти OSPF, важливо усвідомити одну ключову ідею: кожен маршрутизатор будує власну карту всієї мережі, а вже потім самостійно обчислює найкращі маршрути.
OSPF працює у кілька послідовних етапів.
1. Пошук сусідів
Після увімкнення OSPF маршрутизатор надсилає службові повідомлення Hello packets, щоб знайти інші OSPF-маршрутизатори в тому самому сегменті.
Якщо параметри збігаються, пристрої стають сусідами.
2. Обмін інформацією про мережу
Після встановлення сусідства маршрутизатори обмінюються даними про свої підключення, щоб зрозуміти структуру всієї мережі.
Що саме передається? У OSPF використовується два ключові поняття:
- Link — це інтерфейс маршрутизатора (наприклад, Ethernet-порт).
- Link state — це інформація про цей інтерфейс (IP-адреса та маска, тип, пропускна здатність, активний він чи ні).
Ці дані передаються у вигляді спеціальних повідомлень — LSA (Link-State Advertisement).
3. Побудова бази даних мережі (LSDB)
Усі LSA зберігаються в базі Link-State Database (LSDB).
Це повна карта мережі, однакова для всіх маршрутизаторів у межах області завдяки механізму розповсюдження (flooding).
4. Обчислення найкоротших шляхів
Коли база даних сформована, маршрутизатор запускає математичний алгоритм — Shortest Path First (SPF), заснований на алгоритмі Дейкстри.
Він аналізує топологію, враховує вартість лінків і обирає шлях із найменшою сумарною вартістю.
Після цього маршрути потрапляють у таблицю маршрутизації.
5. Реакція на зміни
Якщо змінюється стан лінка або з’являється новий сегмент, генерується нове LSA.
Маршрутизатори оновлюють базу даних і повторно запускають SPF, що дозволяє OSPF швидко адаптуватися до змін.
Стани OSPF
Ми вже з’ясували, що маршрутизатори знаходять один одного за допомогою Hello-пакетів і стають сусідами. Але це лише початковий етап.
У OSPF встановлення повноцінної взаємодії відбувається поступово. Маршрутизатори проходять кілька станів, перш ніж їхні бази даних повністю синхронізуються.
- Down — OSPF ще не отримав жодного Hello-пакета на інтерфейсі. Це початковий стан, процес обміну даними ще не почався.
- Init — маршрутизатор отримав Hello-пакет від сусіда, але його ще немає у відповіді сусіда. Двосторонній зв’язок ще не встановлено.
- Two-Way — двосторонній зв’язок підтверджено: кожен бачить себе в Hello-пакеті іншого. У broadcast-мережах саме тут обирають DR і BDR.
- ExStart — визначається Master/Slave для обміну описом бази даних (DBD). Маршрутизатор із вищим Router ID стає майстром.
Примітка: Router ID — це унікальний 32-бітний ідентифікатор маршрутизатора в OSPF. Він використовується для вибору Master/Slave та DR/BDR і повинен бути унікальним у межах мережі. - Exchange — обмінюються заголовками LSA через DBD-пакети, формуються списки для запиту відсутніх LSA.
- Loading — надсилаються запити LSR, маршрутизатори отримують оновлення LSU для синхронізації бази.
- Full — сусідство повністю встановлено, бази LSDB синхронізовані, маршрутизатор готовий обчислювати найкоротші шляхи SPF.
DR та BDR: навіщо вони потрібні
Не всі маршрутизатори переходить у стан Full після встановлення сусідства.
У невеликих мережах маршрутизатори можуть синхронізуватися між собою без проблем. Але в великих сегментах кількість з’єднань швидко зростає і навантажує пристрої та мережу. Тому в broadcast-мережах OSPF обирає спеціальні ролі — DR (Designated Router) та BDR (Backup Designated Router).
- DR — це призначений маршрутизатор, який відповідає за централізований обмін інформацією в сегменті.
- BDR — його резерв, який автоматично бере на себе цю роль у разі відмови DR.
У такій схемі всі маршрутизатори встановлюють повну синхронізацію (стан Full) лише з DR і BDR. Між собою вони залишаються у стані 2-Way. І це не помилка — це нормальна робота протоколу.
Завдяки цьому механізму кількість повних з’єднань значно зменшується, мережа працює стабільніше, а OSPF може масштабуватися без зайвого перевантаження.
Типи LSA в OSPF
OSPF використовує різні типи LSA (Link-State Advertisement). Кожен тип передає конкретну інформацію про мережу.
- Type 1 — Router LSA
Створюється кожним маршрутизатором усередині області. Містить інформацію про його інтерфейси та їхній стан. Не виходить за межі своєї області. - Type 2 — Network LSA
Генерується DR у broadcast-мережах. Описує всі маршрутизатори, підключені до одного сегмента. Також поширюється лише в межах області. - Type 3 — Summary LSA
Створюється ABR. Передає інформацію про мережі з однієї області в іншу. Саме цей тип забезпечує міжобласну маршрутизацію. - Type 5 — External LSA
Генерується ASBR. Використовується для передачі маршрутів із зовнішніх джерел (інших протоколів або статичних маршрутів). Поширюється по всій OSPF-мережі (крім stub-областей).
SPF-алгоритм і обчислення маршрутів
У двох словах ми розповіли, яку роль відіграє SPF. Проте варто окремо пояснити все детальніше.
LSA самі по собі не дають готових маршрутів для таблиці маршрутизації. Кожен LSA — це лише шматочок інформації про стан лінка. Разом усі LSA формують Link-State Database (LSDB) — повну карту мережі.
Але сама карта не говорить, куди саме відправляти пакети. Для цього використовується SPF-алгоритм (Shortest Path First). SPF бере дані з LSDB і обчислює найкоротші та найефективніші шляхи до всіх мереж для конкретного маршрутизатора.
Вартість лінків (Link Cost)
Кожен лінк у мережі має числову «вартість» — cost, яка показує, наскільки ефективно передавати дані через цей лінк.
- Менший cost = кращий шлях.
- Зазвичай в OSPF використовується пропускна здатність лінка: більше Мбіт/с → менший cost.
Приклад формули:
Cost = Reference Bandwidth / Link Bandwidth
Наприклад:
- Ethernet 10 Мбіт/с → cost = 100 / 10 = 10
- Ethernet 100 Мбіт/с → cost = 100 / 100 = 1
SPF сумує вартості всіх лінків на можливих шляхах і вибирає маршрут із найменшою сумарною вартістю.
Як це працює?
Уявімо маршрутизатор R1, який має кілька шляхів до підмережі 10.1.6.0/24:
| Шлях | Сумарна вартість |
| 1.1.1.1 → 2.2.2.2 → 3.3.3.3 → 5.5.5.5 → 6.6.6.6 | 32 (найкращий) |
| 1.1.1.1 → 2.2.2.2 → 3.3.3.3 → 4.4.4.4 → 6.6.6.6 | 41 |
Таким чином маршрутизатор обирає шлях із найменшою сумарною вартістю для своєї таблиці маршрутизації.
Масштабування OSPF
Чим більше маршрутизаторів і лінків у мережі, тим більше LSA потрібно розповсюджувати і зберігати в LSDB.
- Більше LSA → більше пам’яті та навантаження на CPU
- Більше LSDB → довше працює SPF → повільніша реакція на зміни
Щоб мережа залишалася керованою, OSPF вводить концепцію областей (Areas), які обмежують масштаб LSA-флуду і роблять роботу протоколу ефективнішою.
OSPF та області (areas)
У великих мережах багато маршрутизаторів не можуть обмінюватися повною інформацією без перевантаження. Щоб вирішити цю проблему, OSPF вводить поняття областей (areas).
- Область — це група маршрутизаторів, які обмінюються інформацією всередині себе.
- Кожен маршрутизатор у межах області має однакову карту топології LSDB для цієї області.
- Інформація між областями передається через ABR (Area Border Router) — маршрутизатори, які з’єднують різні області.
Типи областей
- Backbone Area (Area 0)
Центральна область мережі. Усі інші області повинні бути підключені до Area 0 через ABR. Саме через неї передається маршрутна інформація між різними областями. - Standard Area
Звичайна область без обмежень. Підтримує всі типи LSA та може отримувати зовнішні маршрути з інших протоколів або статичної маршрутизації. - Stub Area
Область із обмеженням на зовнішні маршрути (Type 5). Замість них отримує один маршрут за замовчуванням від ABR. Дозволяє зменшити розмір LSDB і таблиці маршрутизації. - Totally Stubby Area
Розширена версія Stub. Блокує як зовнішні (Type 5), так і міжобласні (Type 3) LSA. Отримує лише default route, що ще більше зменшує навантаження. - NSSA (Not-So-Stubby Area)
Компромісний варіант. Не приймає зовнішні Type 5, але дозволяє генерувати власні зовнішні маршрути (Type 7), які на ABR перетворюються у Type 5. Підходить для філій із власними зовнішніми мережами.’
OSPF vs OSPFv2 vs OSPFv3
OSPF є загальною назвою протоколу, який описує принципи link-state маршрутизації: сусідства, LSDB, SPF і області. Ось чим відрізняються його версії:
OSPFv2 — створена для IPv4. Вона працює за тими ж правилами, що й OSPF, просто стандартизована під IPv4, і всі механізми (LSA, DR/BDR, області) залишаються такими ж.
OSPFv3 — версія для IPv6. Тут трохи змінили пакети та формати LSA, додали підтримку IPv6-адрес і покращили безпеку, але логіка роботи протоколу така ж: побудова топології, обчислення SPF, робота через області.
Тобто принципи OSPF не змінюються, просто кожна версія адаптована під конкретний протокол IP.
Підсумуємо
OSPF — це потужний динамічний протокол маршрутизації, який автоматично визначає оптимальні маршрути для передачі даних усередині великої мережі.
Він будує повну карту топології мережі, обмінюється інформацією між маршрутизаторами, синхронізує свої бази даних та обчислює найкращі шляхи за допомогою SPF‑алгоритму.
Протокол проходить низку станів, встановлює сусідства, вибирає DR/BDR у broadcast‑сегментах, а також підтримує масштабування через структуру областей і різні типи LSA.
- Практичні навички з чим протоколом ви можете отримати на курсі «Cisco CCNA. Підготовка до сертифікації».
Навіть якщо ви не маєте попереднього досвіду з мережами, запрошуємо доєднатись до групи. Сертифікований інструктор Cisco стане вашим провідником в мережевий світ на 24 заняття.

