1. МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
На правах рукопису
КАРАПЕТЯН АНАІТ РАДІКІВНА
УДК 004.75.94
ЕВОЛЮЦІЙНІ МОДЕЛІ ТА МЕТОДИ АДАПТИВНОЇ
МАРШРУТИЗАЦІЇ ПАКЕТІВ ДАНИХ В КОМП’ЮТЕРНИХ
МЕРЕЖАХ
05.13.06 – інформаційні технології
дисертація на здобуття наукового ступеня
кандидата технічних наук
Науковий керівник:
Колесніков Костянтин Васильович
кандидат технічних наук, доцент,
професор кафедри інформаційних
технологій проектування
Черкаси – 2017
2. 2
ЗМІСТ
ВСТУП ........................................................................................................... 5
Розділ 1. ПРОБЛЕМИ ФОРМУВАННЯ ЕФЕКТИВНИХ МОДЕЛЕЙ ТА
МЕТОДІВ АДАПТИВНОЇ МАРШРУТИЗАЦІЇ ................................................ 11
1.1 Формування еволюційного методу адаптивної маршрутизації в
мережі – необхідна умова ефективної передачі даних...................................... 11
1.2 Аналіз моделей, методів, протоколів і алгоритмів адаптивної
маршрутизації в комп’ютерних мережах ........................................................... 14
1.3 Обгрунтування мети і постановка задачі дослідження .................... 41
Висновки до розділу 1................................................................................ 43
Розділ 2. МОДЕЛЮВАННЯ ПРОЦЕСІВ АДАПТИВНОЇ
МАРШРУТИЗАЦІЇ ............................................................................................... 45
2.1. Математичні моделі маршрутизації................................................... 45
2.2. Цільова функція та критерій ефективності оптимального маршруту
в мережах адаптивної маршрутизації ................................................................ 56
2.3. Визначення коефіцієнтів цільової функції відображення
пріоритетів показників якості стану каналу звязку........................................... 61
Висновки до розділу 2................................................................................ 67
Розділ 3. МЕТОД АДАПТИВНОЇ МАРШРУТИЗАЦІЇ В ЗАДАЧАХ
БАГАТОКРІТЕРІАЛЬНОЇ ОПТИМІЗАЦІЇ........................................................ 70
3.1 Обґрунтування використання еволюційного моделювання............. 70
3.2. Формування структури розв’язку задачі оптимізації ...................... 74
3.3. Нейромережевий метод розв’язання задач комбінаторної
оптимізації.............................................................................................................. 92
3.4 Інтегальний еволюційний метод розв’язання задач комбінаторної
оптимізаці їз використанням штрафних функцій.............................................. 95
3.5 Алгоритмізація еволюційного методу адаптивної маршрутизації.. 99
Висновки до розділу 3.............................................................................. 107
3. 3
Розділ 4. РЕАЛІЗАЦІЯ МЕТОДУ ОПТИМІЗАЦІЇ ЗАДАЧІ
МАРШРУТИЗАЦІЇ ТА ВЕРИФІКАЦІЯ ОДЕРЖАНИХ РЕЗУЛЬТАТІВ..... 109
4.1 Програмна реалізація інформаційно-аналітичної системи з
використанням комбінованого еволюційного методу .................................... 109
4.2 Аналіз результатів досліджень.......................................................... 119
4.3 Експериментальна верифікація одержаних результатів розв’язання
задачі маршрутизації........................................................................................... 123
Висновки до розділу 4.............................................................................. 130
ВИСНОВКИ .............................................................................................. 131
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ................................................. 132
ДОДАТКИ
А. Акти впровадження.............................................................................. 147
Б. Інформаційно-аналітична система «EVOLUTION».
Текст програми...................................................................................... 151
4. 4
СПИСОК ПРИЙНЯТИХ СКОРОЧЕНЬ
DVA – дистанційно-векторний алгоритм
LSA – алгоритм стану зв’язків
RIP – протокол маршрутизації інформації
RFC – (Request for Comments) — запит на обговорення, стандарт Інтернету
RT – режим реального часу
nRT – режим нереального часу
OSPF – Open Shortest Path First — протокол маршрутизації за станом каналу
QoS – (Quality of service) — якість обслуговування
NP – nondeterministically polynomial
TSP – (Travelling salesman problem) – задача комівояжера
VLSM – маска змінної довжини
ГА – генетичний алгоритм
ІАС –інформаційно-аналітична система
КМ – комп’ютерна мережа
МАІ – метод аналізу ієрархій
МД – модель даних
НМ – нейронна мережа
НМХ – нейронна мережа Хопфилда
ПАС –програмно-алгоритмічні системи
ТМ – таблиця маршрутизації
ШНМ – штучна нейронна мережа
5. 5
ВСТУП
Актуальність теми. З кожним роком кількість користувачів
комп'ютерних мереж зростає. Це, в свою, чергу, зумовлює зростання
складності структур мереж і взаємодії між ними. Відповідно ускладнюється і
пошук оптимальних шляхів в мережі для швидкої доставки запитів
користувачів мережі, тобто ускладнюється завдання маршрутизації.
Маршрутизація пакетів в мережі займає одне з важливих місць в
управлінні мережею. Вибір одного з можливих в маршрутизаторі напрямків
залежить від поточної топології мережі, довжин черг у вузлах комутації і т.п.
З причини складності структур сучасних комп'ютерних мереж завдання
маршрутизації не вирішується повною мірою. У більшості випадків це
пов'язано з маршрутизаторами, що не справляються з підтримкою таблиць
маршрутизації і вибором оптимальних маршрутів для даного класу трафіку.
Тому виникає задача дослідження існуючих алгоритмів маршрутизації з
метою поліпшення їх характеристик, або створення нових алгоритмів
маршрутизації.
Завантаження і пропускна спроможність ліній зв'язку глобальної
мережі динамічно змінюються, що, в свою чергу, може призводити до
відносно частого розсилання службової інформації про зміну маршрутів.
Розробка нових, більш ефективних алгоритмів пошуку найкоротших шляхів
дозволяє підвищити швидкодію комп’ютерних мереж. Під прискореної
маршрутизацією розуміють метод пошуку оптимальних маршрутів для
передачі пакетів даних від вузла-відправника до вузла-одержувача в умовах,
коли динамічно змінюється структура мережі і характеристики ліній зв'язку,
що дозволяє скоротити трудомісткість побудови таблиць маршрутизації
шляхом часткової зміни дерева найкоротших шляхів за рахунок
використання додаткової інформації про конфігурацію мережі.
Проблемами вдосконалення методів і алгоритмів маршрутизації в
комп’ютерних мережах займалися такі вчені, як Д. Бертсекас, П. Гупта, А.Б.
6. 6
Гольдштейн, Б.С. Гольдштейн, Д. Кантор, Д. Куракін, В. Оліфер, У.
Столлінгс, Е. Таненбаум, А. Філіпс, С. Флойд, Р. Форд, Д. Фулкерсон і інші.
В Україні питаннями розробки методів динамічної маршрутизації
опікувались такі вчені як Р.В. Білоус, О. Я. Кравець, В.Є. Мухін, С.Д.
Погорілий, І. С. Подерский.
Проведений аналіз сучасного стану досліджень у теорії маршрутизації
даних вказує на наявність ряду нерозв’язаних задач. Серед них основними є:
– здійснено формальні постановки задач й описані моделі і методи, що
враховують різні обмеження, в той же час безпосереднє розв’язання
практичних задач за допомогою цих моделей виявляється неможливим як
внаслідок їх великої розмірності та NP-складності, так і тому, що в
практичних задачах необхідно враховувати не лише формальні, але і якісні
критерії та обмеження;
– проблеми розв’язання слабко структурованих задач на даний час
розглядаються в межах окремих наукових дисциплін (починаючи від
системного аналізу і теорії систем і закінчуючи теорією оптимізації), що веде
до розрізненості досліджень, відсутності єдиного підходу;
– розробка математичних і структурних моделей ускладнена
неочевидними залежностями між параметрами, а також невідомими
закономірностями їх впливу на цільові характеристики, має місце пряма
залежність продуктивності мережі від продуктивності маршрутизаторів
міжмережевого трафіку. Через високу завантаженість маршрутизаторів
отримати дійсно оптимальний маршрут передачі даних досить складно;
– недостатньо досліджено проблеми відображення системи переваг
критеріїв стану мережі та їх врахування в цільових функціях.
Оптимізація методів динамічної маршрутизації пов’язана з важливістю
розв’язання вищевизначених задач, що вказує на актуальність розробки
еволюційних моделей та методів на основі врахування інформації про
можливі зміни топології глобальної мережі. У той же час вибір маршруту, що
враховує динаміку мережі, може поліпшити пропускну здатність каналів,
7. 7
середню затримку передачі і її варіації. Не зважаючи на це, необхідно
зазначити, що відсутні строго адекватні моделі і методи оцінки критерію
ефективного передавання пакетів даних, а інформація, необхідна для
розробки методів адаптивної маршрутизації, недоступна, тому що код деяких
протоколів автономних систем не документований. Більшість комп’ютерних
мереж використовує при виборі маршруту передачі критерій максимальної
пропускної здатності каналу передачі.
Виходячи з цього, тема дисертаційного дослідження є актуальною.
Зв’язок роботи з науковими програмами, планами, темами.
Дисертаційне дослідження виконувалось на кафедрі інформаційних
технологій проектування в Черкаському державному технологічному
університеті.
Дисертаційне дослідження пов’язане з науково-дослідницькою
роботою Черкаського державного технологічного університету
«Мультиагентні та еволюційні технології розв’язання високорозмірних
задач» (номер державної реєстрації 0115U005344), в якій автор брав участь в
якості виконавця.
Мета і задачі дослідження. Метою дисертаційного дослідження є
підвищення ефективності доставки пакетів даних шляхом розробки нових та
вдосконалення існуючих моделей та методів адаптивної маршрутизації.
Для досягнення поставленої мети необхідно розв’язати наступні задачі:
• на основі аналізу існуючих принципів, моделей, методів та алгоритмів
розв’язання завдань маршрутизації в комп’ютерних мережах з пакетною
обробкою інформації, виявити їх переваги, недоліки і сформулювати
задачі дослідження;
• на основі формалізації задачі наукового дослідження дослідити та
вдосконалити математичну та графоаналітичну моделі розподіленої
комп’ютерної мережі з урахуванням її частих змін, які виникають через
варіації навантаження і пропускної здатності каналів зв’язку та
комунікаційного обладнання;
8. 8
• розробити еволюційний метод оптимізації цільової функції задачі
визначення маршрутів в комп’ютерних мережах з урахуванням
інформації про можливі зміни параметрів стану каналів звя’зку, який
дозволить зменшити трудомісткість побудови таблиць маршрутизації.
Об’єктом дослідження є процеси адаптивної маршрутизації пакетів
даних в розподілених комп'ютерних мережах.
Предмет дослідження – моделі, методи та інструментальні засоби
динамічної маршрутизації пакетів даних в комп’ютерних мережах.
Методи дослідження. Аналіз технологій адаптивної маршрутизації
пакетів даних в комп’ютерних мережах здійснено на основі системного
підходу до методів теорії інформації та кодування. Проведені теоретичні
дослідження базуються на використанні апарату теорії графів (побудова
графоаналітичної моделі маршрутизації пакетів даних); математичного
апарату теорії черг, теорії алгоритмів (моделювання адаптивної
маршрутизації шляхом врахування коефіцієнтів ребер та вузлів). Розробка
методів адаптивної маршрутизації виконана на основі технологій
еволюційного моделювання, нейромереж та алгоритмів оптимізації. При
обробленні результатів досліджень використовувались методи
комп'ютерного моделювання. Розробка програмного комплексу проведена із
використанням методів організації комп'ютерних засобів моделювання та
технології об’єктно-орієнтованого програмування і програмної емуляції
роботи алгоритмів.
Достовірність отриманих наукових результатів і висновків перевірено
шляхом проведення обчислювальних експериментів з використанням
створеного програмного комплексу та результатами практичної реалізації.
Наукова новизна одержаних результатів полягає в наступному:
1) вперше розроблено еволюційний метод оптимізації фітнес-функції на
основі генетичних алгоритмів та штучних нейронних мереж, шляхом їх
поєднання та уточнення енергетичної функції Ляпунова, що дало
9. 9
можливість використати їх сумісно для підвищення ефективності
адаптивної маршрутизації пакетів даних в комп’ютерних мережах;
2) удосконалено моделі передачі даних в комп’ютерній мережі на основі
врахування її частих змін через варіації навантаження і пропускної
здатності каналів зв’язку та комунікаційного обладнання, шляхом
врахування вимог стану каналів та штрафів за їх невиконання, що дало
можливість підвищити ефективність процесу маршрутизації даних у
комп’ютерній мережі;
3) дістали подальшого розвитку методи еволюційної спрямованої
оптимізації на основі їх адаптації до розв’язання дискретної задачі
формування таблиць маршрутизації шляхом уточнення значень
коефіцієнтів енергетичної функції, що дало можливість скоротити час на
пошук прийнятного маршруту.
Практичне значення одержаних результатів визначається тим, що
запропоновані моделі та методи дозволяють підвищити ефективність процесу
маршрутизації пакетів даних у комп’ютерних мережах. Отримані автором
теоретичні результати доведені до конкретних методик і алгоритмів,
створена інформаційно-аналітична система для моделювання процесів
маршрутизації в комп’ютерних мережах.
Використання розробленої інформаційно-аналітичної системи, за
результатами впровадження, дозволяє отримати оптимальний розв’язок
задачі адаптивної маршрутизації та скоротити час пошуку мінімального
шляху маршруту на 10 – 16%. Результати дисертаційної роботи впроваджені
в ТОВ «Маклаут-Гамма» (Акт впровадження від 17.05.2016 р.), ТОВ «Фірма
«МегаСтайЛ-Сервіс» (Акт впровадження від 26.04.2016 р.), а також,
застосовуються в навчальному процесі Черкаського державного
технологічного університету (Акт впровадження від 18.06.2016 р.).
Особистий внесок здобувача. Всі основні положення та результати,
що виносяться до захисту, отримано автором особисто. У роботах
опублікованих у співавторстві здобувачеві належать, зокрема: аналіз
10. 10
принципів нейромережевої мультиагентної маршрутизації потоків даних [1,
11]; узагальнення натуральних методів маршрутизації потоків даних [2];
аналіз існуючих методів багатокритеріальної оптимізації маршруту в
мережах [3, 13, 19]; формалізація багатокритеріальної задачі пошуку
оптимальних шляхів у мережі [4, 14, 16]; аналіз обчислювальної складності
[4, 5, 15]; вдосконалена модель маршрутизації даних [6, 12]; проведення
обчислювального експерименту [8]; узагальнення класифікації методів
маршрутизації [18]; формування та формалізація підходів до пошуку
найкоротших шляхів на графі з кількома критеріями [6, 20]; розробка
еволюційного методу оптимізації фітнес-функції формування шляху
доправлення пакетів даних [9, 17].
Апробація результатів дисертації. Основні положення, результати і
висновки дисертаційного дослідження доповідались і обговорювались на
XVІІ Міжнародній конференції з автоматичного управління "Автоматика-
2010". (м.Харків, 2010 р.); Міжнародній науково-практичній конференції
«Штучний інтелект» (смт. Кацивелі, 2012 р.); VІ, VII Міжнародних школах-
семінарах «Теорія прийняття рішень» (м.Ужгород, 2012 р., 2014 р.);
Всеукраїнській науково-практичній конференції «Інформаційні та
моделюючі технології» ( Черкаси, 2014 р.), І, ІІ, ІІІ Міжнародних науково-
технічних конференціях «Обчислювальний інтелект», (м.Черкаси, 2011 р.,
2013 р., 2015 р.)
Публікації. Результати дисертації викладені в 20 публікаціях, серед
яких 10 статей опубліковано у фахових виданнях, з них 8 – статті у фахових
виданнях та 1 – в закордонному виданні, також 10 тез доповідей – у
матеріалах конференцій та наукових семінарів.
Структура та об’єм роботи. Дисертаційна робота складається з
вступу, чотирьох розділів, висновків, списку використаних джерел (148
найменувань), двох додатків. Основний текст роботи викладено на 126
сторінках. Робота містить 43 рисунки і 10 таблиць.
11. 11
Розділ 1. ПРОБЛЕМИ ФОРМУВАННЯ ЕФЕКТИВНИХ МОДЕЛЕЙ ТА
МЕТОДІВ АДАПТИВНОЇ МАРШРУТИЗАЦІЇ
Однією з найпоширеніших функціональних задач мережі є задача про
знаходження найкоротшого маршруту, а саме пошук шляху між двома
визначеними вершинами графа, який відповідає найменшому значенню
певного функціонала за визначеним критерієм. Ця задача застосовується у
сферах транспорту, маршрутизації, комунікації. Принципи побудови
оптимальних маршрутів в задачах динамічної маршрутизації в чому схожі з
методами статичної маршрутизації. Однак до алгоритмів динамічної
маршрутизації пред'являється додаткова вимога: вони повинні
"відстежувати" зміни поточного стану КМ. Тому ці алгоритми повинні мати
невисоку обчислювальну складність і використовувати зворотний зв'язок по
поточному стану КМ. Відомі декілька класичних алгоритмів розв’язання цієї
задачі (Белмана-Форда, Дейкстри, Флойда -Уоршелла, Джонсона).
1.1 Формування еволюційного методу адаптивної маршрутизації в
мережі – необхідна умова ефективної передачі даних.
Багато КМ, включаючи публічні комутовані телефонні мережі, мережі
мобільного зв’язку, локальні обчислювальні мережі і мережу Інтернет,
складаються з множини пристроїв, що адресуються, або вузлів, які повинні
один з одним взаємодіяти. У таких мережах алгоритми маршрутизації
використовуються для визначення правил передачі пакетів даних між
вузлами.
Маршрутизація може бути представлена в вигляді спрямованого
зваженого графа G = (V, E), в якому кожен вузол з множини V являє собою
пристрій, що обробляє і передає дані, а кожне ребро з множини E є лінією
зв'язку. Основним завданням алгоритмів маршрутизації є передача даних з
вузла-джерела у вузол-приймач, максимізуючи при цьому продуктивність
мережі. При моделюванні алгоритмів маршрутизації виникають дві
12. 12
проблеми, що ускладнюють процес створення системи. По-перше, потік
даних не є статичним, по-друге, він має стохастичний характер.
Алгоритми маршрутизації повинні виконувати наступні функції:
збір, організація та розподіл інформації про створений користувачем
трафік і стан мережі;
використання зібраної інформації для створення відповідних маршрутів,
максимізація продуктивності об'єктів;
обрання напрямку трафіку за обраним маршрутом.
Спосіб реалізації цих функцій залежить від технології передачі і
комутації пакетів, покладеної в основу мережі, і від особливостей інших
взаємодіючих рівнів додатків. Відправка трафіку користувача може
відбуватися з використанням двох базових операцій мережі: комутація
каналів і комутація пакетів (які також пов'язані з поняттями орієнтований та
неорієнтований на з'єднання). При комутації каналів на стадії встановлення
з'єднання шукаються і резервуються ресурси мережі, які згодом будуть
представлені кожною новою сесією. У цьому випадку всі пакети даних, що
належать одній і тій же сесії, будуть спрямовані по одному і тому ж шляху.
Від маршрутизаторів вимагається зберігання інформації про активні сесії.
При комутації пакетів немає стадії резервування, інформація про стани не
зберігається на маршрутизаторах, і пакети даних можуть відправлятися по
різних шляхах. У кожному проміжному вузлі приймається самостійне
рішення про вибір вихідної лінії, по якій буде відправлений пакет даних у
вузол приймач.
Загальним параметром для всіх видів алгоритмів маршрутизації є
таблиця маршрутизації. ТМ розташовується в кожному вузлі мережі, і
містить всю інформацію про неї. Ця інформація, у свою чергу
використовується маршрутизаторами для створення маршрутів відправки
пакетів даних. Тип інформації, що міститься в маршрутних таблицях,
залежить виключно від алгоритму маршрутизації.
13. 13
Існують дві основні характеристики, на які істотно впливає алгоритм
маршрутизації – пропускна здатність (кількість обслуговування) і середня
затримка пакета (якість обслуговування). Маршрутизація вважається
хорошою, якщо їй вдається збільшити пропускну здатність і зменшити
середню затримку пакета.
Маршрутизація взаємодіє з управлінням потоками у визначенні
характеристик за допомогою механізму зворотного зв'язку, представленому
на рисунку 1.1.
Рисунок 1.1 – Взаємодія між маршрутизацією та управлінням потоку за
допомогою механізму зворотного зв'язку
Величини затримки пакетів і пропускної здатності залежать від рішень,
прийнятих алгоритмом маршрутизації. Однак на пропускну здатність
більшою мірою впливає алгоритм управління потоками. Такі алгоритми
зазвичай діють на основі підтримки балансу між пропускною здатністю і
середньої затримкою. Тому якщо алгоритму маршрутизації вдається більш
успішно підтримувати малу затримку, то алгоритм управління потоками
дозволяє приймати мережі більше трафіку. Хоча точний баланс між
затримкою і пропускною здатністю встановлюється алгоритмом управління
потоками, хороша маршрутизація в умовах великого пропонованого трафіку,
дає прийнятну криву затримка-пропускна здатність, за якою діє алгоритм
управління потоками (рис. 1.2) [134].
Знехтуване
навантаження
Затримка
Пропускна
здатність
Пропоноване
навантаження
Управління
потоком
Маршрутизація
14. 14
Рисунок 1.2 – Графіки залежності затримки від пропускної здатності для
хорошої та поганої маршрутизації
1.2 Аналіз моделей, методів, протоколів і алгоритмів адаптивної
маршрутизації в комп’ютерних мережах
Дослідження низки наукових робіт показало велику зацікавленість
науковців до задачі оптимізації шляхів адаптивної маршрутизації.
Різноманітність досліджень в даній області визначається використанням як
сучасних методів і підходів розв’язання даної задачі, так і розробкою нових
або модифікованих методів.
Визначимо основні тенденції сучасного наукового пошуку в напрямку
технологій розв’язання вказаних задач.
1.2.1 Алгоритми маршрутизації
Алгоритми маршрутизації можна класифікувати за локалізацією дії на
централізовані та розподілені; а за характером належності маршрутів – на
статичні і адаптивні; за довжиною маршруту – на мінімальні, оптимальні і
немінімальны та алгоритми маршрутизації, що визначають найкоротший
шлях.
Централізовані алгоритми можуть бути використані тільки в окремих
випадках і для малих мереж, тому що рішення про маршрутизацію приймає
сервер (головний керуючий пристрій). У роботі розглядається тільки
розподілена маршрутизація, що розділяє обчислення маршрутів між вузлами
мережі, які обмінюються необхідною інформацією.
У статичних системах маршрутизації, де трафік мережі відносно
15. 15
передбачуваний, а схема мережі відносно проста, маршрут даних
встановлюється адміністратором мережі до початку маршрутизації, без
розгляду поточного стану мережі. Цей шлях зазвичай вибирається як
найкоротший щодо обраного вартісного критерію. Алгоритми, що
використовують статичні маршрути, прості для розробки. Динамічні
алгоритми маршрутизації можуть доповнювати статичні маршрути там, де це
доречно. Адаптивні маршрути можуть адаптувати спосіб маршрутизації до
змін трафіку в масштабі реального часу. Вони виконують це шляхом аналізу
повідомлень про відновлення маршрутизації. Однак, для мереж, не
орієнтованих на з'єднання, адаптивна маршрутизація може привести до
суперечливих ситуацій, які можуть виникнути при виході з ладу вузлів,
каналів зв'язку або при зміні топології.
Мінімальні маршрути дозволяють пакетам вибирати тільки шляхи з
мінімальною вартістю, у той час як немінімальні алгоритми дозволяють
робити вибір між всіма доступними шляхами, використовуючи при цьому
евристики.
Маршрутизація, що визначає найкоротші шляхи, об'єктивно визначає
найкоротший шлях (мінімальну вартість) між двома вузлами. З огляду на
зміст в таблицях маршрутизації різної інформації, алгоритми знаходження
найкоротших шляхів більш гнучкі, вони не вимагають апріорних знань про
моделі трафіку і, на даний момент, найбільш поширені серед алгоритмів
маршрутизації. Ці алгоритми можуть бути поділені на два класи:
дистанційно-векторні і алгоритми стану зв'язку.
Алгоритми стану каналу (відомі також як алгоритми "першочерговості
найкоротшого маршруту") направляють потоки маршрутної інформації в усі
вузли мережі. Проте кожен маршрутизатор посилає тільки ту частину
маршрутної таблиці, яка описує стан його власних каналів.
Алгоритми вектора відстані (відомі також як алгоритми Белмана-
Форда) вимагають від кожного маршрутизатора посилки всієї або частини
своєї маршрутної таблиці, але лише своїм сусідам. Отже, алгоритми стану
16. 16
каналів фактично направляють невеликі коректування в усіх напрямках, в
той час як алгоритми вектора відстаней відсилають більш великі коригування
тільки в сусідні маршрутизатори.
Відрізняючись більш швидкою збіжністю, алгоритми стану каналів
трохи менше схильні до утворення петель маршрутизації, ніж алгоритми
вектора відстані. З іншого боку, реалізація та підтримка алгоритмів стану
каналу може бути більш дорогою.
Алгоритми маршрутизації можуть бути також класифіковані за типами:
одношляхові або багатошляхові; однорівневі або ієрархічні; із штучним
інтелектом у сервері або в маршрутизаторі; внутрішньодоменні або зовнішні.
Складні протоколи маршрутизації забезпечують безліч маршрутів до
одного і того ж пункту призначення. На відміну від одношляхових
алгоритмів, багатошляхові дозволяють мультиплексацію трафіку через кілька
ліній зв’язку, тобто, розділяють навантаження (load sharing). Переваги таких
алгоритмів очевидні: значно краща пропускна здатність та надійність.
Деякі алгоритми маршрутизації оперують у плоскому просторі, в той
час як інші використовують ієрархію маршрутизації. В однорівневій системи
маршрутизації всі маршрутизатори рівні по відношенню один до одного. В
ієрархічній системі маршрутизації деякі маршрутизатори формують те, що
становить основу (backbone – базу) маршрутизації.
Основною перевагою ієрархічної маршрутизації є те, що вона імітує
організацію більшості компаній і підтримує їх схеми трафіку. Велика частина
мережевого зв'язку має місце в межах груп невеликих компаній (доменів).
Внутрішньодоменним маршрутизаторам необхідно знати тільки про інший
маршрутизатор в межах свого домену, тому їх алгоритми маршрутизації
можуть бути спрощеними. Втім оптимальний алгоритм внутрішньодоменної
маршрутизації не обов'язково буде оптимальним алгоритмом міждоменної
маршрутизації, тому що природа внутрішних і зовнішних алгоритмів різна.
Компроміс між маршрутизацією з інтелектом у головній
обчислювальній машині і маршрутизацією з інтелектом в маршрутизаторі
17. 17
досягається шляхом зіставлення оптимальності маршруту з непродуктивними
витратами трафіку. Системи з інтелектом у головній обчислювальній машині
частіше вибирають найкращі маршрути, тому що вони, як правило, знаходять
всі можливі маршрути до пункту призначення, перш ніж пакет буде
відісланий. Потім вони вибирають найкращий маршрут, ґрунтуючись на
визначенні оптимальності даної системи.
1.2.2 Протоколи адаптивної маршрутизації
Більшість протоколів маршрутизації, які застосовуються у сучасних
мережах з комутацією пакетів, ведуть своє походження від мережі Internet.
Для використання відомостей про призначення й особливості протоколів
маршрутизації, спочатку проаналізуємо структуру мережі Internet, її
термінологію й типи протоколів.
Internet поєднує велику кількість існуючих систем. Із самого початку в
її структурі виділяли магістральну мережу (core backbone network), а мережі,
приєднані до магістралі, розглядалися як автономні системи (autonomous
systems, AS). Магістральна мережа й кожна з AS мали своє власне
адміністративне управління й власні протоколи маршрутизації. AS поєднує
мережі, у яких під загальним адміністративним керівництвом однієї
організації здійснюється маршрутизація, а домен об'єднує комп'ютери (які,
можливо, належать різним мережам), у яких під загальним адміністративним
керівництвом однієї організації здійснюється призначення унікальних
символьних імен. Природно, області дії AS й домена імен можуть в окремому
випадку збігатися, якщо одна організація виконує обидві вказані функції.
Загальна схема архітектури мережі Internet показана на рисунку 1.3.
Шлюзи (маршрутизатори за традиційною термінологією Internet), які
використовуються для утворення мереж і підмереж усередині AS,
називаються внутрішніми шлюзами (interior gateways), а шлюзи, за
допомогою яких AS приєднуються до магістралі мережі, називаються
зовнішніми шлюзами (exteriorgateways). Магістраль мережі також є
18. 18
автономною системою. Всі AS мають унікальний 16-розрядний номер, що
виділяється організацією InterNIC. Відповідно протоколи маршрутизації
усередині AS називаються протоколами внутрішніх шлюзів (interior gateway
protocol, IGP), а протоколи, що визначають обмін маршрутною інформацією
між зовнішніми шлюзами й шлюзами магістральної мережі — протоколами
зовнішніх шлюзів (exterior gateway protocol, EGP). Усередині магістральної
мережі також допустимо будь-який власний внутрішній протокол IGP.
Рисунок 1.3- Магістраль і автономні системи Internet
Сенс розподілу всієї мережі Internet на AS - у її багаторівневому
ієрархичному представленні, що необхідно для будь-якої великої системи,
здатної до розширення в великих масштабах. Зміна протоколів
маршрутизації усередині якої-небудь AS ніяк не повинна впливати на роботу
інших автономних систем. Крім того, розподіл Internet на AS повинен
сприяти агрегуванню інформації в магістральних і зовнішніх шлюзах.
19. 19
Внутрішні шлюзи можуть використовувати для внутрішньої маршрутизації
досить складні графи зв'язків між собою, щоб вибрати найбільш
раціональний маршрут. Однак якщо інформація такого ступеня деталізації
буде зберігатися у всіх маршрутизаторах мережі, то топологічні бази даних
так розростуться, що будуть вимагати наявності пам'яті гігантських розмірів,
а час прийняття рішень маршрутизації стане неприйнятно великим.
Тому, детальна топологічна інформація залишається всередині
автономної системи, а AS як єдине ціле для іншої частини Internet
представляють зовнішні шлюзи, які повідомляють про внутрішній склад
автономної системи мінімально необхідні відомості - кількість IP-мереж, їхні
адреси й внутрішню відстань до цих мереж від даного зовнішнього шлюзу.
Наведена на рисунку 1.3 структура Internet з єдиною магістраллю
відповідала протоколу обміну маршрутної інформації між автономними
системами EGP, нині застарілому. Отже, коли структура Internet стала
набагато більш складною, з довільним характером зв'язків між AS, виникла
необхідність розпізнавати наявність петель між AS й виключити їх з
міжсистемних маршрутів. Тому нині протокол BGP використовується тільки
в зовнішніх шлюзах AS, які організуються постачальниками послуг Internet.
У своїх повідомленнях він дозволяє вказати різні ваги для маршрутів та
таким чином сприяти вибору найкращого маршруту. Однак призначення цих
ваг не визначається незалежними факторами, наприклад, часом доступу до
ресурсу або числом шлюзів на шляху до ресурсу. Побажання щодо вибору
критеріїв встановлюються адміністратором, що відбиває технічну політику
адміністрації даної AS при доступі з інших автономних систем до її
інформаційних ресурсів.
До внутрішніх протоколів відносяться протоколи OSPF, IGRP (Internet
Gateway Protocol), EIGRP (Enhanced Interior Gateway Protocol), SPF (Shortest
Path First), RIP, IS- IS (Intermediate System to Intermediate System).
а) RIP - протокол маршрутизації в невеликих КМ, який дозволяє
маршрутизаторам динамічно оновлювати маршрутну інформацію
20. 20
(напрямок і дальність в хопах), отримуючи її від сусідніх маршрутизаторів,
[29]. Це так званий дистанційно-векторний (DVA) протокол, який оперує
хопами як метрикою маршрутизації. Кожен RIP-маршрутизатор за
замовчуванням сповіщає в мережу свою повну таблицю маршрутизації раз
на 30 секунд, генеруючи досить багато трафіку на низькошвидкісних лініях
зв'язку. У сучасних мережах використання RIP — не найкраще рішення для
вибору в якості протоколу маршрутизації, тому що він поступаються
сучаснішим протоколам, таким як EIGRP, OSPF. RIP не працює з адресами
субмереж. RIP потребує багато часу для відновлення звязку після збою в
маршрутизаторі (хвилини). У процесі встановлення режиму можливі
цикли.Число кроків важливий, але не єдиний параметр маршрута, та й 15
кроків не границя для сучасних мереж. Але внаслідок простоти протоколу
його підтримують практично всі маршрутизатори початкового рівня.
б) OSPF - протокол динамічної маршрутизації, заснований на
технології відстеження стану каналу (link-state technology), що використовує
для знаходження найкоротшого шляху алгоритм Дейкстри (Dijkstra's
algorithm). Остання версія протоколу представлена в RFC 2328, [32]. OSPF
являє собою протокол внутрішнього шлюзу і поширює інформацію про
доступні маршрути між маршрутизаторами однієї AS. Є незапатентованим,
тобто відкритим для громадськості протоколом, таким же, як є протокол RIP.
OSPF має такі характеристики: високу швидкість збіжності
(рекалькуляцію таблиці маршрутизації); підтримує мережні маски змінної
довжини VLSM; не має обмежень досяжності; враховує пропускну здатність
мережі при виборі маршруту. Все це робить OSPF потужним,
масштабованим протоколом маршрутизації. Переваги OSPF: для кожної
адреси може бути кілька маршрутних таблиць, по одній на кожен вид IP-
операції (TOS); кожному інтерфейсу привласнюється безрозмірна ціна, що
враховує пропускну здатність, час транспортування повідомлення; для
кожної IP-операції може бути присвоєна своя ціна (коефіцієнт якості); при
існуванні еквівалентних маршрутів OSFP розподіляє потік рівномірно по
21. 21
цих маршрутах; підтримується адресація субмереж (різні маски для різних
маршрутів); при зв'язку точка-точка не потрібно IP-адреси для кожного з
кінців. Недоліки: важко отримати інформацію про переваги каналів для
вузлів, що підтримують інші протоколи, або зі статичної маршрутизацією;
OSPF є лише внутрішнім протоколом.
в) IGRP — це протокол, який використовується в маршрутизаторах
фірми Cisco System [7, 28]. У його основу покладений алгоритм довжини
вектора. Поточна реалізація протоколу призначена для мереж TCP/IP. Для
вибору маршруту використовується комбінація показників, таких як
затримка мережі, смуга пропускання, надійність і завантаженість мережі.
Ваговий коефіцієнт цих показників може вибиратися автоматично або
задаватися адміністратором мережі. Для надійності і завантаженості мережі
це значення від 1 до 255, смуга пропускання — від 1200 біт/сек до
10 Гбіт/сек, затримка може приймати значення до 24-го порядку. Для
підвищення стабільності роботи передбачені механізми утримання змін;
розщеплення горизонта (split-horizon) і коректування скасування.
EIGRP — розвиток протоколу IGRP фірмою Cisco [7, 33]. Він поєднує
в собі переваги алгоритмів вектору відстані та стану каналу, включаючи
низьке завантаження службовим трафіком, швидке відновлення після зміни в
топології мережі та можливість використання маски підмережі в ІР-
адресації. Протокол EIGRP має компонент «виявлення сусіда» — процес,
який маршрутизатори використовують для динамічного отримання
інформації про сусідні маршрутизатори, що перебувають у прямому
з’єднанні. Алгоритм визначення маршруту базується на алгоритмі Дейкстри
пошуку в глибину на графі. EIGRP обчислює і враховує 5 параметрів для
кожної ділянки маршруту між вузлами мережі: Total Delay — затримка
передачі (з точністю до мкс); Minimum Bandwidth — мінімальна пропускна
спроможність (в Кб/с); Reliability — надійність (оцінка від 1 до 255; 255
найбільш надійно); Load — завантаження (оцінка від 1 до 255; 255 найбільш
завантажено); Maximum Transmission Unit (MTU) (не враховується при
22. 22
обчисленні оптимального маршруту, береться до уваги окремо) —
максимальний розмір блоку, що можливо передати по ділянці маршруту.
Маршрутні таблиці містять інформацію, яку використовують програми
комутації, для вибору найкращого маршруту. В методах маршрутизації
використовується багато різних показників. Складні методи маршрутизації
можуть базуватися на багатьох показниках, комбінації яких утворюють
єдиний (гібридний) показник.
У наш час в протоколах маршрутизації використовуються такі основні
параметри: довжина маршруту, надійність, затримка. пропускна здатність,
навантаження.
Довжина маршруту є загальним показником маршрутизації. Деякі
протоколи маршрутизації дозволяють адміністраторам мережі призначати
довільні «ціни» на окремий канал мережі. У цьому випадку довжиною
тракту є сума витрат, пов'язаних з кожним каналом. Інші протоколи
маршрутизації визначають «кількість пересилань (хопів)».
Надійність відноситься до надійності кожного каналу мережі, які
зазвичай описуються в термінах співвідношення біт/помилка. При визначені
оцінок надійності через адміністратора мережі можуть бути прийняті до
розрахунку будь-які фактори надійності. Як правило, це довільні цифрові
величини.
Під затримкою маршрутизації розуміють відрізок часу, необхідний
для пересування пакету від джерела до пункту призначення через мережу.
Час затримки залежить від багатьох факторів, які включають в себе
пропускну здатність каналів мережі, черги на порту кожного
маршрутизатора на шляху пересування пакета, перевантаженість мережі на
всіх проміжних каналу мережі та фізичну відстань, на яку необхідно
перемістити пакет. Затримка є найбільш загальним і корисним показником.
Пропускна здатність належить до наявної потужності трафіку будь-
якого каналу і є оцінкою максимально досяжної пропускної здатності
каналу.
23. 23
1.2.3 Методи адаптивної маршрутизації
Задачам пошуку найкоротших шляхів передачі інформації притаманні
три основні властивості динамічного програмування: багатоходовий вибір,
адитивність і незалежність оптимального шляху від передісторії.
Дослідження процесу передачі повідомлень від вузла до вузла в мережі
розпадається на окремі етапи (багатоходовий вибір); довжина шляху, що
складається з кількох гілок, дорівнює сумі довжин цих гілок (властивість
адитивності), і, нарешті, найкоротший шлях передачі повідомлень із будь-
якого вузла не залежить від того, як повідомлення потрапило в цей вузол, а
тільки від розташування цього вузла в мережі (властивість незалежності від
передісторії).
При організації мереж одним з основних завдань є розподіл потоків
інформації по найкоротших шляхах (шлях найкоротші за часом передачі або
протяжності, або шлях з мінімальними перешкодами, числом задіяних вузлів,
вартістю і т.п.). У зв'язку з цим маємо сенс проведення порівняльного аналізу
існуючих на сьогодні методів маршрутизації з метою напрацювання
закономірностей еволюції розвитку топології і методики управління
інформаційними потоками.
Було виявлено, що використання адаптивної маршрутизації може
зменшити середній час знаходження пакета в мережі, дозволяє мінімізувати
витрати на його доставку одержувачеві в мережах з різнорідним трафіком і
збільшити загальну надійність мережі за рахунок можливості автоматичного
вибору альтернативного маршруту на підставі даних про топологію мережі.
Однак, дані переваги досягаються збільшенням навантаження на
обчислювальні центри вузлів комутації, тому використання адаптивної
маршрутизації обмежено розмірами AS.
На етапі вибору оптимального маршруту для відправки пакетів до
наступного вузла мережу будемо розглядати як зважений орієнтований граф.
Вершину графа представляють маршрутизатори, а дуги, що з'єднують ці
24. 24
вершини, – фізичні лінії між вершинами. Кожній лінії зв'язку відповідає
деяке інтегральне значення, представлене за допомогою «вартості»
пересилки пакету по ній, яке може залежати як від фізичної довжини лінії,
тимчасових витрат при передачі даних, так і від фінансових витрат
транспортування пакета. В даний час відомий ряд математичних методів, що
дозволяють певною мірою описати цей процес з тим, щоб отримувати
результати у формі, зручній для подальших досліджень. Отже необхідно
зробити зусилля по класифікаційному моніторингу відомих методів з метою
оцінки їх прикладної значущості і обмежень їх використання.
На практиці знайшли застосування: метод Флойда-Уоршела, метод
Белмана-Форда, метод Дейкстри, а також менш відомий матричний метод.
Метод Флойда-Уоршела [110], заснований на поняттях про базисну
лінію зв'язку і тернарной операції, застосовується для знаходження
найкоротших відстаней між усіма вершинами зваженого орієнтованого
графа. Переваги даного методу – простота алгоритму, що реалізується і
можливість отримання маршрутної інформації відразу для всіх вузлів мережі,
що робить його застосування доцільним при централізованих структурах
управління інформаційними потоками.
Говорячи про складність даного методу при програмній реалізації,
варто відзначити, що три вкладених цикли містять операцію, виконувану за
константний час, тобто алгоритм має кубічну складність [14].
В даний час існують способи прискорення систем, які використовують
даний метод, що дозволяють знизити складність з )( 3
nO до )log/( 3
nnO , де
n – кількість вузлів мережі.
Для більш детального опису алгоритму позначимо через
)(n
ijD довжину
найкоротшого шляху від вузла i до вузла j при обмеженні, що тільки вузли
n,...,2,1 можуть використовуватися в якості проміжних вузлів на шляху.
Алгоритм при цьому працює таким чином.
Спочатку ijij dD
для всіх .,, jiji (1.1)
25. 25
Для ,1,...,1,0 Nn
],min[ )(
)1(
)(
)1(
)()1( n
jn
n
ni
n
ij
n
ij DDDD
для всіх ji . (1.2)
Доведення того, що цей алгоритм призводить до правильного
результату, будемо проводити по індукції. При 0n початковими умовами,
очевидно, є довжини найкоротших шляхів при обмеженні, що шляхи не
містять проміжних вузлів. Тепер припустимо, що для даного n величини
)(n
ijD в алгоритмі є довжинами найкоротших шляхів, для яких в якості
проміжних вузлів використовуються вузли n,...,1 . Тоді найкоротший шлях
від i до j , який має в якості проміжних вузли )1(,...,1 n , або містить вузол
)1( n , або ні. У першому випадку найкоротший шлях від i до j при
зазначеному обмеженні йде спочатку від i до )1( n , а потім від )1( n до j
і має довжину, представлену останнім членом в (1.2). У другому випадку
найкоротший шлях при зазначеному обмеженні буде таким же, як шлях, що
використовує вузли від 1 до n як проміжні, і тому його довжина представлена
першим членом під знаком мінімуму в (1.2) [47].
Метод Белмана-Форда. Метод Белмана-Форда застосовується для
пошуку найкоротшого шляху в зваженому графі. Основною перевагою є
можливість розрахунку шляху в графі, в якому є ребра з від’ємною вагою.
Для підрахунку найкоротшого шляху цим методом потрібно провести всього
)1( n циклів, але на практиці цей алгоритм можна використовувати і для
відстеження від’ємних циклів, провівши рівно n циклів. Якщо при
виконанні останньої ітерації довжина найкоротшого шляху до якої-небудь
вершини строго зменшилася, то в графі є від’ємний цикл. Можна
відстежувати зміни в графі і, як тільки вони закінчаться, подальші ітерації
будуть безглузді. Даний метод використовується в протоколі маршрутизації
RIP (Routing Information Protocol) і його модифікаціях, причому деякі його
модифіковані версії задіяні в невеликих мережах (не більше 15 робочих
26. 26
станцій), в яких не потрібно великих обчислювальних потужностей для
розрахунку шляхів, а також – для мереж з майже незмінною структурою [96].
Припустимо, що вузол 1 є вузлом-джерелом і потрібно знайти довжини
найкоротших шляхів від вузла 1 до кожного іншого вузла графа. Для цього
алгоритму дугові відстані можуть бути як додатними, так і від’ємними, але
ми припустимо, що немає циклів від’ємної довжини (це припущення буде
обговорюватися пізніше більш детально). Для спрощення позначень
покладемо ij , якщо в графі відсутня дуга ),( ji . Основна ідея методу
Белмана-Форда полягає в тому, щоб спочатку знайти довжини найкоротших
шляхів, за умови, що шляхи містять не більше однієї дуги, потім довжини
найкоротших шляхів за умови, що шляхи містять не більше двох дуг і т. д.
Найкоротший шлях при умови, що шлях містить не більше h дуг, надалі
називатиметься найкоротшим )( h шляхом.
Нехай
)(h
iD – довжина найкоротшого )( h шляху від вузла 1 до вузла i.
Будемо вважати, що 0)(
h
iD для всіх h .
Алгоритм Белмана-Форда полягає в наступному.
Спочатку
)0(
iD для всіх 1i . (1.3)
При кожному наступному 0h
i
ji
h
i
h
i dDD ]min[ )()1(
для всіх .1i (1.4)
Для доказу того, що цей алгоритм призводить до правильного рішення,
зауважимо спочатку, що (1.3) і (1.4) дають ii dD 1
)1(
для всіх 1i і вони
дійсно є довжинами найкоротших )( h шляхів. Далі проведемо доказ
індукцією по h , припускаючи для даного h , що
)(h
iD є довжинами
найкоротших )( h шляхів для всіх 1i , і доводячи, що рівність (1.4) дає
довжину найкоротшого )1( h шляху від вузла 1 до кожного вузла 1i .
Спочатку покажемо, що ліва частина (1.4) більше або дорівнює правій
27. 27
частині, а потім доведемо протилежну нерівність. Припустимо, що
),,,...,1( ikm - найкоротший )1( h шлях від 1 до i . Тоді його довжина
дорівнює довжині шляху ),,...,1( km плюс kid . Так як ),,...,1( km містить не
більше h дуг, то
.]min[ )()()1(
i
ji
h
iki
h
k
h
i dDdDD
(1.5)
Для доведення зворотної нерівності припустимо, що мінімум в правій
частині (1.4) досягається при kj і що ),,...,1( km є найкоротшим )( h
шляхом, довжина якого за припущенням дорівнює
)(h
kD . Тоді довжина шляху
),,,...,1( ikm дорівнює правій частині (1.4). Тому якщо ),,,...,1( ikm –
деякий, шлях, то
.]min[ )()()1(
i
ji
h
iki
h
k
h
i dDdDD
(1.6)
І нарешті, якщо ),,,...,1( ikm не є шляхом (тобто якщо він містить
цикл), то i повинен лежати на шляху ),,...,1( km , а так як всі цикли мають
невід’ємну довжину за припущенням, то, отже, попередня нерівність
зберігається, що й доводить остаточно рівняння (1.4).
Шлях може містити не більше 1N дуг (де N – число вузлів) і тому,
якщо немає циклів від’ємної довжини, то
)1( N
iD буде довжиною
найкоротшого шляху від 1 до i . Також легко помітити, що якщо
h
i
h
i DD )1(
для всіх i і певного h , то наступні ітерації з великими h не змінять довжин
найкоротших шляхів і
)(h
iD буде довжиною найкоротшого шляху для
кожного i . Число ітерацій алгоритму в гіршому випадку дорівнює 1N ,
кожна ітерація має бути проведена для 1N вузла, а для кожного вузла
мінімізації здійснюється щонайбільше по 1N змінної. Таким чином, в
гіршому випадку обсяг обчислень росте як
3
N , що записується у вигляді
)( 3
NO .
28. 28
Позначення ))(( NpO , де )(Np – багаточлен від N , використовується
для залежного від N числа, яке менше )(Ncp для всіх N , де c – деяка
константа, яка не залежить від N .
Дійсно, більш ретельний підрахунок показує, що обсяг обчислень
дорівнює )(mAO , де A – число дуг, a m – число ітерацій
( m також дорівнює максимальному числу дуг, що містяться в
найкоротшому шляху).
Тепер більш уважно досліджуємо вплив циклів від’ємної довжини.
Розглянемо граф, зображений на рис. 1.4.
Довжина найкоротшого переходу від вузла 1 до вузла 2 серед усіх
переходів, що містять не більше трьох дуг, дорівнює і відповідає переходу (1,
2, 3, 2); довжина найкоротшого шляху, однак, дорівнює для шляху (1, 2).
Насправді алгоритм Белмана-Форда відшукує довжину найкоротшого
переходу від 1 до i за умови, що вузол 1 не повторюється в переході. Якщо
існують цикли від’ємної довжини, що не містять вузла 1, то довжини більш
довгих переходів стають все меншими і меншими і алгоритм Белмана-Форда
ніколи не зупиниться. Чи існують від’ємні цикли (що не містять вузла 1),
можна визначити, порівнюючи і для кожного з вузлів.
Якщо для всіх i має місце рівність, то звідси випливає, що
1)(
N
i
h
i DD
для всіх i і Nh , і, отже, довжини найкоротших шляхів знайдені і
від’ємних циклів немає (крім, може бути, циклів, що містять вузол 1).
Якщо для якогось i має місце нерівність, то це означає, що існує
перехід від 1 до i з N дугами, що проходить лише одного разу через вузол 1
і має довжину, меншу ніж будь-який перехід від 1 до i з числом дуг, меншим
або рівним 1N . Тому цей перехід повинен містити цикл від’ємної
довжини.
29. 29
Рисунок 1.4 – Послідовні ітерації в методі Белмана-Форда
У прикладі на рис. 1.5 можна перевірити, що 1)2(
2 D , а 1)3(
2 D , і це
вказує на існування циклу від’ємної довжини.
Задача знаходження найкоротшого
шляху; довжини дуг вказані
Найкоротші шляхи; що
використовують не більше
однієї дуги
Вузол-джерело
Найкоротші шляхи; що
використовують не більше
двох дуг
Найкоротші шляхи; що
використовують не більше
трьох дуг
Кінцеве дерево найкоротших
шляхів
30. 30
Рисунок 1.5 – Граф з від’ємним циклом.
Довжина найкоротшого шляху від 1 до 2 дорівнює 1
Нехай iD – довжина найкоротшого шляху від вузла 1 до вузла i та
01 D . Якщо немає циклів від’ємної довжини, то (1.4) зійдеться до
істинного значення на кроці 1 Nh і тоді його можна буде записати у
вигляді
i
jiji dDD ]min[ для всіх ,1i (1.7а)
01 D (1.7б)
Це рівняння Белмана; воно означає, що довжина найкоротшого шляху
від вузла 1 до i дорівнює сумі довжини шляху до вузла, попередньому вузлу
i (на найкоротшому шляху) і відстані на останній дузі шляху. З рішення
цього рівняння (яке можна отримати, використовуючи алгоритм Белмана -
Форда) легко знайти найкоротші шляхи (а не довжини найкоротших шляхів),
враховуючи, що всі цикли, що не містять вузол 1, мають додатню довжину.
Щоб це зробити, потрібно відібрати для кожного 1i по одній дузі ),( ji , на
якій досягається мінімум в (1.7а), і розглянути підграф, що складається з
відібраних 1N дуг. Щоб знайти найкоротший шлях до довільного вузла i ,
слід почати з вузла i і йти у зворотному напрямку по відповідних дугах
отриманого підграфа до тих пір, поки не прийдемо у вузол 1. Зауважимо, що
при цьому жоден вузол не буде відвіданий двічі до приходу у вузол 1, так як
отриманий в іншому випадку цикл мав би (на підставі рівняння (1.7))
нульову довжину. Оскільки розглянутий підграф з'єднує кожен вузол з
вузлом 1 і має 1N дугу, то він повинен бути остовним деревом. Назвемо
цей підграф остовним деревом найкоротших шляхів і зауважимо, що воно
має особливу структуру; у нього є корінь (вузол 1) і кожна дуга дерева
орієнтована в зворотному від кореня напрямку.
Довжина 1 Довжина 3
1 2 3
Довжина 1
31. 31
Частково популярність алгоритму Белмана-Форда пояснюється тим, що
у разі, коли довжини всіх дуг додатні, початкові умови
)0(
iD для 1i можуть
бути будь-якими невід'ємними числами і ітерації (1.4) можуть виконуватися
паралельно для різних вузлів, по суті, в довільному порядку, що має велике
значення для додатків з розподіленими алгоритмами [88].
Матричний метод. Матричний метод визначення найкоротших
шляхів між усіма вузлами мережі був запропонований Шімбелом [36].
Можливість повного топологічного аналізу мережі забезпечила широке
застосування цього методу при організації трафіку даних.
При визначенні найкоротших шляхів матричним методом виконуються
наступні операції:
а). За графом телекомунікаційної мережі (Т-мережа) складається матриця ваг
гілок jisS , .
б). Матриця ваг jisS , перетвориться за правилами множення матриць,
але з використанням спеціальних операцій Шімбела, в дисперсійну матрицю
найкоротших шляхів між вузлами мережі, тобто
ji
X
ji
Z
DsS ,, )( . (1.8)
в). Дисперсійна матриця ji, потім перетвориться в допоміжну
матрицю MDd ji , , де D- видозмінена матриця ваг S .
г). Значення та індекси матриці jid , послідовно розподіляються по
дистанційним матрицям, що визначають довжину го,...,2,1 k шляхів, і
маршрутним матрицям, що визначають проміжні вузли цих шляхів.
д). Виключаються петлі в найкоротших шляхах таким чином, щоб вага
подальшої гілки на даному шляху топографій не повинна перевищувати ваги
попередньої. Очевидно, що цей крок алгоритму обмежує застосування цього
методу, оскільки перевірити поставлену умову можливо шляхом аналізу всіх
шляхів прямування інформаційних потоків в мережі.
32. 32
Однак, матричний метод дозволяє не тільки визначити величини
найкоротших шляхів між усіма вузлами мережі, але також одночасно
отримати довжини всіх можливих шляхів між кожною парою вузлів мережі.
Це дає можливість використовувати матричний метод для відшукування в
мережі обхідних шляхів. Обсяг обчислень при використанні матричного
методу незначно залежить від структури мережі. Метод зручний для
програмної реалізації.
Метод Дейкстри. Метод Дейкстри дозволяє знаходити найкоротші
шляхи від однієї з вершин графа до всіх інших. Метод працює тільки для
графів без ребер від’ємної ваги, хоча в даний час існують узагальнені методи
для усунення даного недоліку (метод Дейкстри з потенціалами). Суть методу
Дейкстри полягає у поетапному нарощуванні дерева найкоротших маршрутів
від вихідного вузла. При цьому необхідно, щоб після додавання на кожному
етапі лінії зв'язку і вузла знову утворений найкоротший маршрут був
мінімально можливим за всіма крайовим вузлам, що ще не ввійшли в дерево.
У процесі побудови дерева найкоротших маршрутів обчислюються вектори
ваг маршрутів і коригуються вектори початкових компонент найкоротших
маршрутів. Складність методу Дейкстри залежить від способу знаходження
вершини V , а також від способу зберігання безлічі невідвіданих вершин і
способи оновлення міток. У графі G , n і m відповідно кількість вершин і
ребер для пошуку вершини з мінімальною довжиною шляху до вершини V ,
розглядається все множиною n . Час роботи алгоритму мінімізації є O(n3
+m).
Для розряджених графів (для таких, для яких nm ) при використанні
спеціальних алгоритмів оптимізації швидкість роботи може скласти
)loglog( nmnnO або навіть )log( mnnO .
Метод Дейкстри широко застосовується в мережевому програмуванні і
технологіях, наприклад, його використовують в протоколі OSPF (Open
Shortest Path First) для усунення кільцевих маршрутів. Використання
модифікованого алгоритму Дейкстри як ефективного інструменту для
розподілу вхідних інформаційних потоків в магістральних IP-мережах з
33. 33
протоколом OSFP, дозволяє поліпшити працездатність мережі до
інформаційних перевантажень [91]. При цьому можливе в якості критерія
розподілу інформаційних потоків використовувати залишкову пропускну
здатність каналу. Необхідно віднести до позитивних якостей протоколу
відносну простоту практичної реалізації методу.
Цей алгоритм вимагає, щоб довжини всіх дуг були додатні (це
виконується в мережах передачі даних). Обсяг обчислень в гіршому випадку
для цього алгоритму значно менший, ніж у алгоритму Белмана-Форда.
Основна ідея алгоритму полягає в тому, щоб відшукувати найкоротші шляхи
в порядку зростання довжини шляху. Найкоротшим серед усіх найкоротших
шляхів від вузла 1 є шлях, що складається з однієї дуги, що з'єднує вузол 1 з
найближчим сусіднім вузлом, так як будь-який шлях, що складається з
декількох дуг, буде завжди довше за довжину першої дуги внаслідок
припущення про додатність всіх дугових довжин. Наступним найкоротшим
серед найкоротших шляхів повинен бути або шлях з однієї дуги до
наступного найближчого сусіда вузла 1, або найкоротший шлях з двох дуг,
що проходить через вузол, вибраний на першому кроці, і т. д.
Щоб формально описати цю процедуру у вигляді алгоритму, будемо
вважати, що кожен вузол i має позначку iD , що означає оцінку довжини
найкоротшого шляху від вузла 1. Коли оцінка стає незмінною, будемо
вважати, що вузол остаточно позначений, і безліч остаточно помічених
вузлів позначимо через P . Вузол, який буде додано на черговому кроці до P,
є найближчим до вузла 1 серед всіх вузлів, що ще не увійшли до P .
Рисунок 1.6 ілюструє головну ідею. На муk кроці є безліч P з k
найближчих вузлів до вузла 1, iD – найкоротша відстань від вузла 1 до
кожного вузла i з P . Серед усіх шляхів, що з'єднують вузол 1 з яким-небудь
вузлом не з P , найкоротший шлях повинен пройти по вузлах з P (так як
0ijd ). Тому й)1( k найближчий вузол і відповідна найкоротша відстань
виходять мінімізацією по Ро величини }{min ijiPi dD . Ці обчислення
34. 34
можна провести ефективно, як обговорюється в тексті, в результаті чого
обчислювальна складність буде порядку )( 2
NO .
Рисунок 1.6 – Основна ідея алгоритму Дейкстри
Формально алгоритм працює таким чином. Спочатку }1{P , 01 D і
jj dD 1 для 1j .
Крок 1 (пошук наступного найближчого вузла). Знайти Рi такий, що
j
Pi
DD
min1 .
Покласти }{: iPP . Якщо P містить всі вузли, то на цьому робота
алгоритму закінчується.
Крок 2 (оновлення міток). Для всіх Рj покласти
],min[: ijijj dDDD .
Перейти до кроку 1.
Робота цього алгоритму показана на рис. 1.7. Для доказу того, що цей
алгоритм призводить до правильного результату, дамо інтерпретацію
оцінками довжини шляху iD для t , що не входять в P . Можна
стверджувати, що iD (на початку кожної ітерації кроку 1) – найкоротша
відстань від вузла 1 до i серед шляхів, для яких всі вузли, крім i , містяться в
безлічі P . Спочатку це має місце і, як легко помітити, на кроці 2 алгоритму
1
Джерело
j
j- це (k+1) і найближчий вузол
Найкоротший шлях до (k+1)-му
найближчий вузлу має пройти
виключно по вузлам із Р
Множина Р із k найближчих Додаток до Р
вузлів до вузла 1
i