4.1 Призначення та класифікація протоколів маршрутизації
Протоколи маршрутизації призначені для автоматичної побудови таблиць маршрутизації (ТМ), на основі яких виконується переміщення пакетів. Такі таблиці містять дані яких достатньо для прийняття рішення для пересилання будь-якого пакета, що надійшов до маршрутизатора. Вміст таблиці залежить від технології складеної мережі. Як правило обирається “найкоротший” маршрут (під довжиною маршруту розуміють його метрику числове значення, яке впливає на вибір маршруту: чим менша метрика тим краще. Метрика може визначатись, наприклад, кількістю проміжних вузлів, пропускною здатністю, часом затримки, надійністю каналів між маршрутизаторами).
Усі способи маршрутизації можна поділити на 2 великі групи: без таблиць та з ТМ [1].
Маршрутизація без таблиць поділяється на лавинну; керовану подіями; від джерела.
Лавинна маршрутизація це найпростіший спосіб передавання, який передбачає, що кожен маршрутизатор відправляє пакет усім своїм сусідам, крім того, від кого він отримав свій пакет. Пропускна здатність мережі в такому випадку використовується дуже неефективно.
Маршрутизація, керована подіями передбачає, що пакет до певної мережі призначення надсилається за маршрутом, який вже приводив до успіху. В такому випадку необхідно, щоб маршрутизатор-відправник міг фіксувати факт успіху доставки пакета.
Маршрутизація від джерела передбачає, що відправник розміщує у пакет інформацію про те, які проміжні маршрутизатори повинні брати участь у передаванні пакетів. Таку інформацію або надає адміністратор вручну, або вузол-відправник формує автоматично.
Маршрутизація на основі таблиць в свою чергу поділяється на статичну і динамічну (адаптивну). Статична маршрутизація передбачає ручне прописування маршрутів адміністратором. Така маршрутизація при зміні структури мережі потребує ручного змінення маршрутів.
У випадку динамічної маршрутизації мережі можуть оновлювати свої ТМ та швидко адаптуватися до змін топології та стану з’єднань. Успішне функціонування цього виду маршрутизації залежить від виконання маршрутизатором двох його основних функцій: підтримки ТМ в актуальному стані та своєчасного розповсюдження інформації у вигляді анонсів та оновлень маршрутів серед інших маршрутизаторів [5].
При розповсюдженні інформації про мережу, механізм динаміч-ної маршрутизації використовує один із протоколів маршрутизації. Такий протокол визначає набір правил, що використовуються мар-шрутизатором при здійсненні зв’язку із сусідніми маршрутизаторами. Протокол маршрутизації визначає [1, 5, 10, 12, 16]: яким чином розсилаються оновлення маршрутів; яка інформація міститься в оновленнях; як часто розсилаються оновлення; яким чином виконується пошук отримувачів оновлень.
Кожен із алгоритмів маршрутизації використовує свій власний спо-сіб вибору найкращого шляху. Для цього він генерує певне значення, що називається метрикою для кожного маршруту у мережі. Зазвичай чим менше значення метрики, тим кращим вважається маршрут [1].
Метрики обчислюються на основі одного або більше параметрів:
• смуга пропускання – описує пропускну здатність каналу;
• затримка – час, який потрібен пакета для проходження по каналу від відправника до отримувача;
• навантаження – ступінь використання мережевих ресурсів на ма-ршрутизаторі чи каналі;
• надійність характеризує рівень помилок у мереженому каналі;
• кількість переходів – число маршрутизаторів, через які повинен пройти пакет перед надходженням до пункту призначення;
• вартість – довільне значення, розраховується на основі ширини смуги пропускання, фінансових затрат або інших характеристик, які обирає мережевий адміністратор.
Отже, протокол маршрутизації – засіб комунікації між маршрутизаторами, яке дозволяє пристроям сумісно використовувати інформацію про мережі та визначати відстань до різних вузлів та мереж. Інформація, яку один маршрутизатор отримує від другого (шляхом протоколу маршрутизації), використовується для побудови та підтримки в актуальному стані ТМ.
Більшість алгоритмів маршрутизації може бути віднесено до однієї із двох категорій [1, 5, 16]:
• дистанційно-векторний протокол (ДВП);
• протокол з врахуванням стану каналу (ПСК).
Дистанційно-векторний протокол визначає напрям або вектор та відстань до потрібного вузла об’єднаної мережі. Прикладами таких протоколів є RIP, IGRP, EIGRP, BGP. Деякий час протокол EIGRP вважався гібридним протоколом, оскільки поєднує у собі особливості обох алгоритмів: дистанційно-векторного та з врахуванням стану каналу, але на сьогоднішній день фірма Cisco відносить його до ДВП. Хоча варто зазначити, що він має набагато кращі характеристики, ніж класичні ДВП [4, 15].
Протокол з врахуванням стану каналу, який також ще називають ал-горитмом вибору найкоротшого шляху (shortest path first – SPF), відтворює топологію усієї мережі. Приклади: OSPF, IS-IS, NLSP.
При використанні дистанційно-векторних алгоритмів між маршрутизаторами періодично пересилаються копії таблиць маршрутизації. В таких регулярних оновленнях маршрутизатори повід-омляють один одного про зміни у топології мережі. Дистанційно-векторні алгоритми маршрутизації також називаються ще алгоритмами Беллмана-Форда. На рис. 4.1 кожен маршрутизатор отримує ТМ від сусідніх маршрутизаторів.
Маршрутизатор Б отримує таблицю від маршрутизатора А. Маршрутизатор додає значення вектора відстані, кількість переходів, що збільшує результуючий вектор відстані. Після цього маршрутизатор Б передає свою нову таблицю маршрутизації своєму сусіду марш-рутизатору В. Такий покроковий процес відбувається на всіх сусідніх маршрутизаторах.
Рисунок 4.1 – Концепція дистанційно-векторної маршрутизації
В дистанційно-векторному алгоритмі накопичуються відстані в мережі, що дозволяє підтримувати базу даних (БД), яка містить інформацію про топологію мережі. Однак дистанційно-векторні алгоритми не надають маршрутизаторам точну топологію всієї мережі, оскільки кожному маршрутизатору відомі лише сусідні (прилеглі) маршрутизатори.
Кожен маршрутизатор, що використовує дистанційно-векторну маршрутизацію, починає свою роботу з визначення сусідніх маршрутизаторів. На рис. 4.2 проілюстровано формування вектора відстані. Для кожного інтерфейсу безпосередньо під’єднаної мережі, вектор відстані встановлюється нульовим. В процесі розрахунку вектора відстані, маршрутизатори знаходять найкращий маршрут до сусідів-отримувачів на основі інформації, отриманої від сусідів. Наприклад, маршрутизатор А взнає про інші мережі на основі інформації, яку він отримує від маршрутизатора Б. В кожній із позицій ТМ є сумарний вектор відстані, який показує, на якій відстані знаходиться відповідна віддалена мережа [1, 5, 15, 16].
Оновлення ТМ відбувається при зміні топології мережі. В міру формування векторів відстані зміни топології заносяться в ТМ наступних маршрутизаторів. Дистанційно-векторні алгоритми потребують, щоб кожен маршрутизатор пересилав всю ТМ кожному із своїх сусідів.
Вектор відстані можна порівняти з дорожними знаками на шосе. Ці знаки вказують напрям до пункту призначення та відстань до нього. Далі по цьому ж шосе можуть зустрічатися знаки, що вказують той самий напрям, однак, відстань вказувати вони будуть меншу. Зменшення цієї відстані при русі свідчить про правильний напрям руху.
Рисунок 4.2 – Процес побудови структури мережі в дистанційно-векторному протоколі маршрутизації
Другим базовим алгоритмом маршрутизації є алгоритм вибору маршруту за станом каналу. Такі алгоритми відомі, як алгоритми Дейкстри або алгоритми вибору найкоротшого шляху (Shortest Path First). Вони підтримують складну базу топологічної інформації. Тоді як дистанційно-векторні алгоритми не містять певної інформації про віддалені мережі та маршрутизатори, алгоритми з використанням стану каналу підтримують повну інформацію про віддалені маршрутизатори та їх з’єднання. Під час маршрутизації за станом каналу використову-ються [1, 5, 16 ]:
• анонси стану каналу (Link-State Advertisement LSA). Це неве-ликі пакети, що містять інформацію про маршрути, що розсилаються між маршрутизаторами;
• топологічна база даних (Topological Database). Ця база міс-тить інформацію, отриману в повідомленнях LSA;
• алгоритм вибору найкоротшого шляху (Shortest Path First). Відповідний алгоритм здійснює обчислення над базою даних, результатом якого є побудова зв’язного дерева протоколу SPF;
• таблиця маршрутизації (Routing Table). Ця таблиця містить ві-домі маршрути та відповідні їм інтерфейси.
Маршрутизатори обмінюються повідомленнями LSA, починаючи з безпосередньо під’єднаних мереж. Кожен маршрутизатор паралельно з іншими створює топологічну БД, яка складається з інформації, що отримана з цих повідомлень (рис. 4.3). Якщо маршрутизатор взнає про зміну стану каналу, він розсилає цю інформацію всім іншим маршрутизаторам об’єднаної мережі, щоб вони могли її використовувати для маршрутизації. Для того, щоб закінчилась конвергенція, кожен маршрутизатор підтримує інформацію про сусідні маршрутизатори, їх імена, стани інтерфейсів та вартості каналів до сусідніх пристроїв. Маршрутизатор створює пакет LSA, в якому міститься перерахована інформація з інформацією про нових сусідів, зміни у вартостях каналів і про канали, що перестали функціонувати. Потім цей пакет LSA відправляється всім іншим маршрутизаторам.