Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Безпека.docx
Скачиваний:
164
Добавлен:
31.08.2019
Размер:
6.2 Mб
Скачать

15.2.3. Маршрутизація

Мережний рівень моделі взаємодії відкритих систем OSI служить для об'єднання кількох мереж, які можуть бути побудовані на основі різних технологій. Як уже зазначалося, мережі об'єднуються за допомогою маршрутизаторів — пристроїв, що здійснюють передавання пакета з однієї мережі в іншу. Щоб пакет досяг кін­цевого вузла призначення, він має подолати певну кількість мереж, а отже, пройти через певні маршрутизатори. Маршрут (Route) — це послідовність маршрути­заторів, через які проходить пакет. Кожне пересилання пакета між маршрутиза­торами (а також між маршрутизаторами і кінцевими вузлами) називають хопом (Нор). У загальному випадку є множина маршрутів, кожен з яких забезпечує дос­тавления пакета у потрібний кінцевий вузол. Тому постає проблема вибору найкра­щого маршруту, яку називають проблемою маршрутизації (Routing) [113, 124].

Алгоритми маршрутизації

Завдання вибору маршруту вирішують кінцеві вузли і маршрутизатори. Є дві групи алгоритмів вирішення цього завдання: покрокова маршрутизація і маршру­тизація від джерела.

Покрокова маршрутизація передбачає, що кожний вузол сам приймає рішення щодо того, куди (в яку мережу, якому наступному вузлу) слід передавати пакет. Для прийняття такого рішення здійснюють аналіз інформації про наявні мар­шрути, що зводиться у спеціальну структуру — таблицю маршрутизації. Вибір маршруту з таблиці здійснюється за певним критерієм. Таким критерієм можуть бути відомості про імовірність затримки просування окремого пакета маршрутом, про середню пропускну здатність маршруту або, в найпростішому випадку, — про кількість транзитних вузлів, які має подолати пакет на шляху до кінцевого вузла. Формування таблиць маршрутизації є найважливішим процесом, який забезпе­чує ефективність обраних маршрутів. При цьому розрізняють алгоритми:

  1. фіксованої (статичної) маршрутизації;

  2. простої маршрутизації;

♦ адаптивної (динамічної) маршрутизації.

Фіксована маршрутизація передбачає, що таблиці маршрутизації адміністра­тори формують вручну. Такий алгоритм дуже часто застосовують на кінцевих вузлах мережі, оскільки вони, як правило, мають безпосередній вихід (у межах окремої мережі) на невелику кількість маршрутизаторів ( часто — лише на один). Фіксовану маршрутизацію також застосовують у невеликих мережах, що мають небагато вузлів. Перевага фіксованої маршрутизації полягає у тому, що ймовір­ність несанкціонованого впливу на таблиці маршрутизації є дуже низькою, а недо­ліком є нездатність автоматично реагувати на змінення стану мережі (наприклад, вихід із ладу окремих вузлів), що може зробити недоступними деякі мережі.

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

♦ випадкову маршрутизацію, коли пакет відправляється у будь-якому напрямку, за винятком того, з якого він надійшов;

♦ лавинну маршрутизацію, коли пакет відправляється одразу в усіх напрямках, крім того, з якого надійшов (застосовують лише в тому разі, коли розмноження пакетів — припустиме);

♦ маршрутизацію за попереднім досвідом (як і комутація за алгоритмом мосту), коли маршрутизатор запам'ятовує напрямки, в яких пакети було надіслано і успішно доставлено.

Проста маршрутизація не характерна для мереж TCP/IP і може бути застосована лише із значними обмеженнями.

Адаптивна маршрутизація є основним видом маршрутизації у великих мере жах. Вона передбачає використання спеціальних протоколів, за якими маршрути

затори обмінюються між собою інформацією для створення і постійної підтримки таблиць маршрутизації в актуальному стані. Будь-які змінення в мережі, що впливають на маршрути (відключення вузлів, вихід із ладу каналів зв'язку, поява нових вузлів і каналів), автоматично відпрацьовуються і викликають необхідні змінення таблиць маршрутизації. Адаптивна маршрутизація може здійснюватися за розподіленими і централізованими алгоритмами.

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

У разі використання дистанційно-векторних алгоритмів (Distance Vector Algo- rithms, DVA) маршрутизатори фактично розсилають один одному свої таблиці маршрутизації. Прикладом протоколу маршрутизації, що реалізує дистанційно - векторний алгоритм, є RIP (Routing Information Protocol), стандарт якого описано у документі RFC-2453 [125].

Застосовуючи алгоритми стану зв'язків (Link State Algorithms, LSA), мар­шрутизатори спочатку будують модель мережі у вигляді графа, задля чого вони обмінюються відомою їм інформацією про топологію мережі. Після цього вони надсилають один одному лише дуже маленькі повідомлення, що містять інфор­мацію про змінення стану мережі чи про їх відсутність. Прикладом протоколу маршрутизації, що реалізує алгоритм стану зв'язків, є OSPF (Open Shortest Path

First), стандарт якого описано у RFC-2328 [126].

Крім покрокової маршрутизації використовують алгоритм визначення мар­шруту на кінцевому вузлі. Після визначення маршруту його задають у заголовку пакета, і всі транзитні вузли (маршрутизатори) дотримуються заданого маршруту під час просування пакета мережею. Такий спосіб називають маршрутизацією від джерела (Source Routing). Зазначимо, що маршрутизація від джерела багато в чо­му подібна до роботи мереж із комутацією каналів або мереж із встановленням

віртуальних каналів. Із міркувань безпеки саме такий алгоритм є більш прийнят­ним, оскільки, по-перше, дає змогу контролювати реальний маршрут пакета, а по друге, суттєво ускладнює несанкціоноване змінення маршруту порушниками. Та­кий режим було передбачено у протоколі IPv4, а в подальшому суттєво розвине­но у протоколі IPv6 (див. розділ 16).

Централізований алгоритм передбачає, що в мережі є виділений сервер мар­шрутів, до якого маршрутизатори звертаються за інформацією про топологію мережі та доступні маршрути. Сервер маршрутів створює таблиці для всіх мар­шрутизаторів мережі та розсилає їх, щоб просування пакетів здійснювалося за принципом покрокової маршрутизації. Однак він може організовувати і маршру­тизацію від джерела: тоді дані маршрутизації розсилаються кінцевим вузлам і граничним маршрутизаторам. У мережі можуть функціонувати кілька серверів маршрутів, кожний при цьому керує деякою групою маршрутизаторів. Прикла­дом протоколу, що базується на централізованому алгоритмі, є NHRP (Next Hop Resolution Protocol), який описано у RFC-2332 [127].

Зовнішні й внутрішні протоколи маршрутизації в Інтернеті

Головною метою визначення автономних систем в Інтернеті було забезпечення ієрархічного підходу до маршрутизації, що мало сприяти зростанню швидкості обробляння пакетів і підвищенню надійності їх доставляння. Маршрутизація па­кетів здійснюється на трьох рівнях.

♦ Нижній рівень — доставляння пакета всередині окремої мережі. Залежно від технології мережі маршрутизація здійснюється комутацією каналу від одного маршрутизатора до іншого (чи до кінцевого вузла), використанням виділе­ного каналу, утворенням віртуального каналу або комутацією пакетів (на ка­нальному рівні моделі OSI).

  1. Середній рівень — маршрутизація на рівні мереж. На ранній стадії розвитку Інтернету цей рівень був найвищим. На ньому маршрут визначає послідов­ність проходження мереж.

  2. Верхній рівень — маршрутизація на рівні автономних систем. Виокремлення цього рівня дає змогу значно скоротити опис маршруту і зменшити обсяг таб­лиць маршрутизації. Оскільки маршрут обирається як послідовність автоном­них систем, маршрутизатори, що працюють на цьому рівні (нагадаємо, що це зовнішні, або граничні маршрутизатори), не захаращуватимуть свої таблиці відомостями про внутрішні маршрутизатори. Разом із тим внутрішні маршру­тизатори, що прокладають маршрут на рівні мереж, використовуватимуть ін­формацію лише про маршрутизатори однієї автономної системи, всередині якої вони працюють. Маршрут, який вони прокладають, веде лише до гранично­го маршрутизатора (до виходу з автономної системи) або до кінцевого вузла.

Між зовнішніми маршрутизаторами Інтернету можна використовувати лише один протокол маршрутизації — той, що визнаний співтовариством Інтернету як стандартний для зовнішніх маршрутизаторів. Такий протокол називають прото­колом зовнішніх маршрутизаторів (Exterior Gateway Protocol, EGP). Сьогодні цим стандартизованим протоколом є BGP-4 (Border Gateway Protocol — прото-

кол граничного маршрутизатора). Решту протоколів, які використовують усередині автономних систем, називають протоколами внутрішніх маршрутизаторів (Interior Gateway Protocols, IGP).