Нотатки до CCNP Route OSPF частина 2, Twistedminds

Нотатки до CCNP Route: OSPF частина 2

ccnp
Продовжимо вправлятися з OSPF. Подивимося на методику підрахунку вартості, а також на спосіб її змінити. Розберемося хто такі DR, BDR і чому без них нікуди на загальному сегменті мережі, розглянемо процес їх виборів та навчимося їм маніпулювати. Ну і в кінці, щоб трохи забруднити руки, зробимо базове налаштування, змінимо Hello і Dead таймери, налаштуємо автентифікацію всіх двох типів.

Після того, як кожен маршрутизатор в області отримав свою копію бази LSDB, він запускає процес SPF. Сенс його полягає в тому, що маршрутизатор, аналізуючи LSDB, вибирає оптимальний маршрут до кожної мережі, що міститься в ній. Cost або метрика – це сумарна дистанція, яку потрібно “пройти”, щоб опинитися в необхідній мережі. Наприклад, на цій картинці нижче краща метрика від R1 до 10.1.1.0/24 дорівнюватиме 22, а до 10.1.3.0/24 – 11, до 192.18.139.0/29 – 21 і т.д.

частина

Тепер погляньмо на механізм визначення вартості, а саме на формулу. Як ви розумієте, швидкості бувають і вище 100, але дробові значення не передбачені. Тобто все, що вище 100 Мбіт матиме вартість рівну одиниці. Цьому нас вчили на курсах, це міститься в офіційній Certification Guide.

(*) Насправді на сучасних IOS ціна за замовчуванням стала 1000/bw, тобто. тепер одиниці одно все те, що від 1gbit і вище. Пруф:

Cost tuning

Значення, що стоїть у числі цієї формули, є reference bandwidth і його можна змінити, адже у вашій мережі можуть зустрічатися і 1gbit і 10gbit і, навіть, 40gbit канали.

Змінити reference bandwidth за допомогою командиauto-cost reference-bandwidth #_num.

Будьте обережні з високими значеннями reference bandwidth якщо у вас є внаявності повільних каналів (56k, 64k і т.д.). Високі значення Cost OSPF сприймає як метрика, що дорівнює нескінченності. Такі канали у разі не сприйматимуться як робітники для формування таблиці маршрутизації.

Альтернативно можна змінити вартість за допомогою командиip ospf cost #_num, поданої на інтерфейсі.

ccnp

Світ без них був би сірим і похмурим. Уявимо: один із маршрутизаторів втрачає зв'язок із сегментом мережі. Тут же він намагається розповісти цю сумну історію своїм сусідам, а вони своїм і починаючи хаос. Щоб повністю усвідомити весь масштаб трагедії, уявіть не 3 маршрутизатори, а 133.

Вибори DR та BDR

Спочатку вибори йдуть за router priority, який за умовчанням дорівнює одиниці:

Змінити priority можна подавши на інтерфейсі командуip ospf priority #_num.

Оскільки priority скрізь однаковий, то тут у справу вступає RID і вибори здійснюються вже на основі нього. Зверніть увагу, що якщо ви налаштували два маршрутизатори, вони зробили вибори і розібралися хто з них DR, а хто BDR, то третій, четвертий, сто сорок четвертий маршрутизатор у цьому shared сегменті вважатиме їх DR та BDR незалежно від свого RID та Priority , поки ви не перезапустите процес OSPF на DR і BDR або поки ви не перезавантажите.

Базове налаштування, тюнінг Hello та Dead таймерів, R
частина

У нас є 3 маршрутизатори, один з яких ABR. Проведемо просте налаштування:

Зверніть увагу, що кожен процес налаштований з різним process id, що анітрохи не заважає встановленню сусідства. Також зверніть увагу на R2 - там ми помістили всю мережу 10.0.0.0/8 і інтерфейси, що їй належать в Area 0, а 10.10.200.240/32 в Area 51. Longest prefix match - він і виявляється першим всписок мереж через більш специфічну маску.

Hello & dead timers тюнінг

Навіщо потрібен тюнінг Hello та Dead таймерів? За замовчуванням Hello повідомлення надсилаються кожен 10 секунд і рішення про те, що сусід безповоротно втрачений приймається лише через 4 інтервали – 40 секунд. У сучасних мережах це ціла вічність. Підкрутимо Hello таймер на інтерфейсі R1, що дивиться в бік R2 і подивимося у що це виллється:

А вилилося це в сусідство, що розвалилося, через розбіжність таймерів:

Крім цього, можна жорстко вказати dead таймер за допомогоюip ospf dead-interval #_sec на інтерфейсі.

Більше того, можна продовжити тюнінг і досягти Hello таймера менше секунди - так званий Fast Hello механізм - ospf dead-interval minimal hello-multiplier # . Ця команда встановлює dead інтервал в 1 секунду, а hello в 1с/multiplier. Тобто іншими словамиip ospf dead-interval minimal hello-multiplier4 встановить dead timer в 1c, а hello в 250ms. З подібним тюнінгом слід бути обережним, зважаючи на факт того, що генерувати, приймати та обробляти лавину з hello повідомлень кожні частки секунди може бути дуже важко.

RID duplicate

Сабж небезпечний тим, що маршрутизатори будують своє уявлення про топологію області на основі LSDB, в яку сусіди ідентифікуються за їх Router ID. RID має бути унікальним для кожного маршрутизатора в автономній системі. Сусідство між двома маршрутизаторами з однаковим Router ID просто не сформується.

Аутентифікація

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

  • 0 – без автентифікації
  • 1 – автентифікація без хешування – clear-text
  • 2 – автентифікація за допомогою MD5 хешування

Налаштовується за два кроки:

  1. Аутентифікація повинна бути включена плюс тип аутентифікації повинен бути обраний або на інтерфейсі (ip ospf authentication [message-digest]), або на всі процесі, а значить у всій області (area #_area authentication [message-digest]).
  2. Ключі для аутентифікації мають бути налаштовані на інтерфейсі: тип 0 - ip ospf authentication null тип 1 - ip ospf authentication; ip ospf authentication-keyDERKEY тип 2 – ip ospf authentication message-digest; ip ospf message-digest-key#_key md5DERKEY

Номери послідовностей ключів мають збігатися. При розбіжності типу аутентифікації та включеному дебазі (debug ip ospf adj) ви отримаєте повідомлення:

Якщо забули налаштувати ключ на одному з маршрутизаторів, які збираються сформувати сусідство:

Якщо наплутали з номерами для ключів MD5:

Якщо ви налаштуєте два ключі, кожне повідомлення буде відправлено двічі. Це дозволить прозоро мігрувати новий ключ на всіх маршрутизаторах в мережі.

Сумуваннямаршрутної інформації таредистрибуція, типи зовнішніх маршрутів

Повернімося до нашої топології. R1 перетворився на ASBR і набув таємного знання про чотири мережі з 172.16.0.0/24 по 172.16.3.0/24. Непогано було б надіслати ці маршрути товаришам.

Розберемо команду та ключі:

  • redistribute – показує протоколу, що треба зайнятися редистрибуцією;
  • static – вказує те що, що треба помістити, у разі це статичні маршрути. На місці static можуть бути інші протоколи маршрутизації;
  • subnets – за замовчуванням буде проводиться редистрибуція повнокласових мереж, у разі лише /16;
  • metric 200 – вказує зякою метрикою проводити редисрибуцію в OSPF;
  • metric-type – буває двох видів – 1 та 2. OSPF metric type 1 – дозволяє змінювати метрику в міру віддалення від маршрутизатора, що містить вихідну інформацію про ці мережі. OSPF metric type 2 - метрика завжди залишається однією і тією ж. Коли слід використовувати тип 1, а коли тип 2? Якщо ви маєте лише один шлях до мереж (1 ASBR до цих мереж), редистрибуцією яких ви займаєтеся в OSPF, можна використовувати тип 2, оскільки він знімає навантаження з маршрутизаторів і вони більше не займаються підрахунком метрики. Якщо у вас 2 і більше ASBR до цих мереж, то деякі сусіди можуть виявитися ближче до одного з ASBR - тут має сенс використовувати тип 1. E2 - це префікс, що вказує на другий тип зовнішнього маршруту:

Додатково можна зачесати всю цю справу, зайнявшись підсумовуванням на ASBR цих мереж:

Заради Челенджу давайте додамо кілька мереж за R3 і підсумовуємо їх на R2:

Префікс IA означає Inter Area – маршрут отримано з іншої області.