
OSPF в NBMA мережах
Не будемо відразу кидатися у вир NBMA з головою і постараємося згадати типи мереж, в яких може працювати OSPF:
- broadcast (Cisco mode)
- non-broadcast (RFC compliant mode)
- point-to-multipoint (RFC compliant mode)
- point-to-multipoint non-broadcast (Cisco mode)
- point-to-point (Cisco mode)
З двома з них ви вже знайомі - broadcast і point-to-point. Тут постає закономірне питання:

Але ... але ... але ... адже broadcast це режим в якому OSPF працює за замовчуванням. При чому тут Cisco Proprietary. Проблема в тому, що broadcast в LAN мережах - це дійсно режим роботи за замовчуванням, але з NBMA справи йдуть інакше.
* - DR і BDR повинні мати повну зв'язність з усім маршрутизаторами. У Hub'n'Spoke топології DR буде Hub (s), а Spoke - DROTHER. У Full Mesh можна вибирати і DR і BDR так само як і в LAN мережах.
** Потрібно включення псевдоброадкаста.
Let's get our hands dirty :)

Почнемо з такої конфігурації і налаштуємо в Area 0 non-broadcast режим роботи мережі. Налаштування цього Frame Relay комутаторів я показувати не буду, ви можете самостійно подивитися в цій статті.
Все, більше нічого налаштовувати не треба. Як ми пам'ятаємо для FR non-broadcast - це режим роботи за замовчуванням. У випадку з R2 і R3 хотілося б переконатися, що вони ніколи не стануть DR або BDR, а значить нам треба або задати або RID, або пріоритет нижче таких у R1. Так само зверніть увагу на статично сконфигурированних сусідів, адже якщо не дути, то дива не станеться.
R1 сформував сусідство з R2 і R3 і поводиться як типовий DR:
Продовжимо розважатися і додамо Area 51 з R4 таким чином, що R3 стає ABR. Налаштуємо цю мережу як point-to-point.

Альтернативно можна задати point-to-point mode на інтерфейсі командою ip ospf network point-to-point.
Йдемо далі. Додамо ще одну область area 740 з R21 і R22 таким чином, щоб R2 став ABR.

Далі ми можемо налаштувати R21 і R22 як point-to-point або задати певний network type.
Зверніть увагу на зміну hello таймера. За замовчуванням на point-to-point линках він дорівнює 10 секундам, а на point-to-multipoint - 30. Якщо значення не змінити, то сусідство не сформується. У підсумку ми отримали автономну систему, в якій всі знають про всіх.
В черговий раз додамо автономну систему area 1, таким чином, щоб R22 став ABR. Тут уважний читач вирішить, що саме час для ведмедика

і буде абсолютно правий. Адже кілька разів йшлося про те, що будь-яка non-backbone область повинна бути приєднана до area 0. No shit, повинна. Цим і займемося, Розчохлили технологію virtual link.
OSPF Virtual Links

Щоб не порушувати правила дизайну OSPF про те, що всі області повинні мати зв'язність з backbone областю існує технологія віртуальних каналів (virtual links).
Що нам потрібно зробити це налаштувати наскрізний зв'язок в 740 області між R2 (RID 2.2.2.2) і R22 (RID 1.1.2.2). У разі якщо між маршрутизаторами R2 і R22 існувало б ще 10-20-300 іншихмаршрутизаторів настройка була б такою самою.
Усе. Цього достатньо для підняття тунельного інтерфейсу OSPF_VL0 в нашому випадку і отриманні на R8 все маршрутів автономної системи.
OSPF virtual link authentication
Just for kicks можемо налаштувати аутентифікацію на віртуальному каналі: