Теорія протоколу ospf, blog

Налаштовуючи OSPF необхідно знати теорію його роботи. Налаштування невеликої схеми, в якій застосуємо OSPF, я розгляну в цій статті. а зараз коротко пробіжимося по теорії.

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

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

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

  • Збільшення швидкості збіжності;
  • Підтримка мережевих масок змінної довжини (VLSM);
  • Досяжність мережі;
  • Використання пропускної здатності;
  • Метод вибору шляху.

Термінологія протоколу OSPF

Короткий опис роботи протоколу

У мережах з множинним доступом відносини сусідства повинні бути встановлені між усіма маршрутизаторами. Це призводить до того, що розсилається велика кількість копій LSA. Якщо, наприклад, кількість маршрутизаторів в мережі з множинним доступом одно n. то буде встановлено n (n-1) / 2 відносин сусідства. Кожен маршрутизатор буде розсилати n-1 LSA своїм сусідам, плюс одне LSA для мережі, в результаті мережа згенерує n² LSA.

Для запобігання проблеми розсилки копій LSA в мережах з множинним доступом вибираються DR і BDR.

Маршрутизатор, обраний DR або BDR в одній приєднаної до нього мережі з множинним доступом, може не бути DR (BDR) в інший приєднаної мережі. Роль DR (BDR) є властивістю інтерфейсу, а не властивістю всього маршрутизатора.

таймери протоколу

  • HelloInterval - Інтервал часу в секундах після закінчення якого маршрутизатор відправляє наступний hello-пакет з інтерфейсу. Для широкомовних мереж і мереж точка-точка значення за замовчуванням, як правило, 10 секунд. Для нешіроковещательнимі мереж з множинним доступом значення за замовчуванням 30 секунд.
  • RouterDeadInterval - Інтервал часу в секундах після закінчення якого сусід буде вважатися «мертвим». Цей інтервал повинен бути кратним значенням HelloInterval. Як правило, RouterDeadInterval дорівнює 4 інтервалах відправки hello-пакетів, тобто 40 секунд.
  • Wait Timer - Інтервал часу в секундах після закінчення якого маршрутизатор обере DR в мережі. Його значення дорівнює значенню інтервалу RouterDeadInterval.
  • RxmtInterval - Інтервал часу в секундах після закінчення якого маршрутизатор повторно відправить пакет на який не отримав підтвердження про отримання (наприклад, Database Description пакет або Link State Request пакети). Це інтервал називається також Retransmit interval. Значення інтервалу 5 секунд.

типи маршрутизаторів

Внутрішній маршрутизатор (internal router) - маршрутизатор все інтерфейси якого належать одній зоні. У таких маршрутизаторів тільки одна база даних стану каналів.

Прикордонний маршрутизатор (area border router, ABR) - з'єднує одну або більше зон з магістральної зоною і виконує функції шлюзу для міжзонального трафіку. У прикордонного маршрутизатора завжди хоча б один інтерфейс належить магістральної зоні. Для кожної приєднаної зони маршрутизатор підтримує окрему базу даних стану каналів.

Магістральний маршрутизатор (backbone router) - маршрутизатор у якого завжди хоча б один інтерфейс належить магістральної зоні. Визначення схоже на прикордонний маршрутизатор, проте магістральний маршрутизатор не завжди є прикордонним. Внутрішній маршрутизатор інтерфейси якого належать нульовий зоні, також є магістральним.

Прикордонний маршрутизатор автономної системи (AS boundary router, ASBR) - обмінюється інформацією з маршрутизаторами належать іншим автономних систем. Прикордонний маршрутизатор автономної системи може знаходитися в будь-якому місці автономної системи і бути внутрішнім, прикордонним або магістральним маршрутизатором.

Коли маршрутизатор отримує Network Summary LSA від прикордонного маршрутизатора він не запускає алгоритм обчислення найкоротшого шляху. Маршрутизатор просто додає до вартості маршруту зазначеного в LSA вартість маршруту до прикордонного маршрутизатора. Потім маршрут до мережі через прикордонний маршрутизатор поміщається в таблицю маршрутизації.

При поділі автономної системи на зони, маршрутизаторів належить до однієї зоні невідома інформація про детальну топології інших зон.

Поділ на зони дозволяє:

  • Знизити навантаження на ЦПУ маршрутизаторів за рахунок зменшення кількості перерахунків за алгоритмом SPF
  • Зменшити розмір таблиць маршрутизації
  • Зменшити кількість пакетів оновлень стану каналу

Магістральна зона (backbone area)

Магістральна зона (відома також як нульова зона (Area 0) або зона 0.0.0.0) формує ядро ​​мережі OSPF. Всі інші зони ПОВИННІ бути з'єднані з нею, і міжзонального маршрутизація відбувається через маршрутизатор з'єднаний з магістральної зоною. Магістральна зона відповідальна за поширення маршрутизирующий інформації між немагістральних зонами. Магістральна зона повинна бути суміжною з іншими зонами, але вона не обов'язково повинна бути фізично суміжній; сполучення з магістральною зоною може бути встановлено і за допомогою віртуальних каналів (virtual links).

Стану OSPF сусіда

Під час формування сусідських відносин OSPF роутери (маршрутизатори) проходять наступні стани: Down, Attempt, Init, 2-Way, Exstart, Exchange, Loading, і Full.

Перше стан OSPF сусіда. В даному стані обміну Hello пакетами ще не проводилося або сусідські відносини розвалилися (стан Full), з причини закінчення RouterDeadInterval. Hello-пакети в даному стані приймаються.

Стан ініціалізації, коли роутер отримав hello пакет від сусіда на один з інтерфейсів OSPF, але RID одержувача ще небув включений (вписаний) в hello-пакет. Роутер вставляє RID сусіда, від якого був отриманий hello-пакет, в свій hello-пакет як підтвердження того, що він був отриманий.

В даному стані між роутерами встановлений двонаправлений обмін, тому що при розборі прийшов hello-пакета міститься RID цього роутера, тобто обидва роутера отримали hello-пакети один від одного. Саме в кінці установки цього стану в broadcast середовищі відбувався вибори DR і BDR якщо вони ще відсутні в Area в якій знаходяться інтерфейси роутера на які були отримані hello-пакети.

У NBMA середовищі виборів DR і BDR не проводиться.

Після виборів DR і BDR, між роутерами і DR, BDR починається процес обміну пакетами DBD (Database Descriptor) c інформацією про стан каналів. У цьому стані, роутери та їх DR і BDR встановлюють відносини master-slave. Роутер з найбільшим Router ID (RID) ставати master і починає обмін.

У цьому состояни, OSPF роутери обмінюються пакетами дескрипторами бази даних (DBD). Дескриптори бази даних містять тільки заголовки LSA, які описують вміст всієї бази даних про стан каналів. Кожен DBD пакет має номер, який збільшується тільки master роутером і обязатесльно підтверджується slave`вом. Роутери посилають link-state request пакети і link-state update пакети, вони містять всю LSA. Вміст отриманого DPD порівнюється з інформацією міститься в link-state database роутера, йде пошук, чи є нові відомості про стан каналів доступних сусідові.

Відбувається безпосередньо обмін інформацією про стан каналу. Грунтуючись на інформації отриманої через DBD, роутери посилають link-state request пакети про стан каналу. Потім сусід надає запитану link-state інформацію в link-state update пакетах. Під час adjacency. якщо роутер прийняв застарілу або відсутню LSA, він запитує цю LSA, посилаючи link-state request пакет. Все link-state update пакети потребують обов'язкового подтвежденіі (acknowledgment).

У цьому стані сусідські відносини повністю встановлені. Роутери обмінялися LSA і база даних, на роутерах, повністю синхронізована. Стан Full є нормальним станом для OSPF роутера.

Роутер може «застрягти» в якомусь із станів, це вказує на проблему в формуванні зв'язності (adjacency). Винятком є ​​стан 2Way. яке є звичайним для сусідів в broadcast середовищі. Стан Full встановлюється тільки з DR і BDR. З іншими сусідами в цьому середовищі буде встановлено стан 2WAY / DROTHER.

формат пакетів

Про форматах пакетів OSPF докладно написано тут.

На завершення

У статті використовуються матеріали сайтів:

Схожі статті