SlideShare a Scribd company logo
1 of 166
Download to read offline
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
На правах рукопису
КАРАПЕТЯН АНАІТ РАДІКІВНА
УДК 004.75.94
ЕВОЛЮЦІЙНІ МОДЕЛІ ТА МЕТОДИ АДАПТИВНОЇ
МАРШРУТИЗАЦІЇ ПАКЕТІВ ДАНИХ В КОМП’ЮТЕРНИХ
МЕРЕЖАХ
05.13.06 – інформаційні технології
дисертація на здобуття наукового ступеня
кандидата технічних наук
Науковий керівник:
Колесніков Костянтин Васильович
кандидат технічних наук, доцент,
професор кафедри інформаційних
технологій проектування
Черкаси – 2017
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
Розділ 4. РЕАЛІЗАЦІЯ МЕТОДУ ОПТИМІЗАЦІЇ ЗАДАЧІ
МАРШРУТИЗАЦІЇ ТА ВЕРИФІКАЦІЯ ОДЕРЖАНИХ РЕЗУЛЬТАТІВ..... 109
4.1 Програмна реалізація інформаційно-аналітичної системи з
використанням комбінованого еволюційного методу .................................... 109
4.2 Аналіз результатів досліджень.......................................................... 119
4.3 Експериментальна верифікація одержаних результатів розв’язання
задачі маршрутизації........................................................................................... 123
Висновки до розділу 4.............................................................................. 130
ВИСНОВКИ .............................................................................................. 131
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ................................................. 132
ДОДАТКИ
А. Акти впровадження.............................................................................. 147
Б. Інформаційно-аналітична система «EVOLUTION».
Текст програми...................................................................................... 151
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
ВСТУП
Актуальність теми. З кожним роком кількість користувачів
комп'ютерних мереж зростає. Це, в свою, чергу, зумовлює зростання
складності структур мереж і взаємодії між ними. Відповідно ускладнюється і
пошук оптимальних шляхів в мережі для швидкої доставки запитів
користувачів мережі, тобто ускладнюється завдання маршрутизації.
Маршрутизація пакетів в мережі займає одне з важливих місць в
управлінні мережею. Вибір одного з можливих в маршрутизаторі напрямків
залежить від поточної топології мережі, довжин черг у вузлах комутації і т.п.
З причини складності структур сучасних комп'ютерних мереж завдання
маршрутизації не вирішується повною мірою. У більшості випадків це
пов'язано з маршрутизаторами, що не справляються з підтримкою таблиць
маршрутизації і вибором оптимальних маршрутів для даного класу трафіку.
Тому виникає задача дослідження існуючих алгоритмів маршрутизації з
метою поліпшення їх характеристик, або створення нових алгоритмів
маршрутизації.
Завантаження і пропускна спроможність ліній зв'язку глобальної
мережі динамічно змінюються, що, в свою чергу, може призводити до
відносно частого розсилання службової інформації про зміну маршрутів.
Розробка нових, більш ефективних алгоритмів пошуку найкоротших шляхів
дозволяє підвищити швидкодію комп’ютерних мереж. Під прискореної
маршрутизацією розуміють метод пошуку оптимальних маршрутів для
передачі пакетів даних від вузла-відправника до вузла-одержувача в умовах,
коли динамічно змінюється структура мережі і характеристики ліній зв'язку,
що дозволяє скоротити трудомісткість побудови таблиць маршрутизації
шляхом часткової зміни дерева найкоротших шляхів за рахунок
використання додаткової інформації про конфігурацію мережі.
Проблемами вдосконалення методів і алгоритмів маршрутизації в
комп’ютерних мережах займалися такі вчені, як Д. Бертсекас, П. Гупта, А.Б.
6
Гольдштейн, Б.С. Гольдштейн, Д. Кантор, Д. Куракін, В. Оліфер, У.
Столлінгс, Е. Таненбаум, А. Філіпс, С. Флойд, Р. Форд, Д. Фулкерсон і інші.
В Україні питаннями розробки методів динамічної маршрутизації
опікувались такі вчені як Р.В. Білоус, О. Я. Кравець, В.Є. Мухін, С.Д.
Погорілий, І. С. Подерский.
Проведений аналіз сучасного стану досліджень у теорії маршрутизації
даних вказує на наявність ряду нерозв’язаних задач. Серед них основними є:
– здійснено формальні постановки задач й описані моделі і методи, що
враховують різні обмеження, в той же час безпосереднє розв’язання
практичних задач за допомогою цих моделей виявляється неможливим як
внаслідок їх великої розмірності та NP-складності, так і тому, що в
практичних задачах необхідно враховувати не лише формальні, але і якісні
критерії та обмеження;
– проблеми розв’язання слабко структурованих задач на даний час
розглядаються в межах окремих наукових дисциплін (починаючи від
системного аналізу і теорії систем і закінчуючи теорією оптимізації), що веде
до розрізненості досліджень, відсутності єдиного підходу;
– розробка математичних і структурних моделей ускладнена
неочевидними залежностями між параметрами, а також невідомими
закономірностями їх впливу на цільові характеристики, має місце пряма
залежність продуктивності мережі від продуктивності маршрутизаторів
міжмережевого трафіку. Через високу завантаженість маршрутизаторів
отримати дійсно оптимальний маршрут передачі даних досить складно;
– недостатньо досліджено проблеми відображення системи переваг
критеріїв стану мережі та їх врахування в цільових функціях.
Оптимізація методів динамічної маршрутизації пов’язана з важливістю
розв’язання вищевизначених задач, що вказує на актуальність розробки
еволюційних моделей та методів на основі врахування інформації про
можливі зміни топології глобальної мережі. У той же час вибір маршруту, що
враховує динаміку мережі, може поліпшити пропускну здатність каналів,
7
середню затримку передачі і її варіації. Не зважаючи на це, необхідно
зазначити, що відсутні строго адекватні моделі і методи оцінки критерію
ефективного передавання пакетів даних, а інформація, необхідна для
розробки методів адаптивної маршрутизації, недоступна, тому що код деяких
протоколів автономних систем не документований. Більшість комп’ютерних
мереж використовує при виборі маршруту передачі критерій максимальної
пропускної здатності каналу передачі.
Виходячи з цього, тема дисертаційного дослідження є актуальною.
Зв’язок роботи з науковими програмами, планами, темами.
Дисертаційне дослідження виконувалось на кафедрі інформаційних
технологій проектування в Черкаському державному технологічному
університеті.
Дисертаційне дослідження пов’язане з науково-дослідницькою
роботою Черкаського державного технологічного університету
«Мультиагентні та еволюційні технології розв’язання високорозмірних
задач» (номер державної реєстрації 0115U005344), в якій автор брав участь в
якості виконавця.
Мета і задачі дослідження. Метою дисертаційного дослідження є
підвищення ефективності доставки пакетів даних шляхом розробки нових та
вдосконалення існуючих моделей та методів адаптивної маршрутизації.
Для досягнення поставленої мети необхідно розв’язати наступні задачі:
• на основі аналізу існуючих принципів, моделей, методів та алгоритмів
розв’язання завдань маршрутизації в комп’ютерних мережах з пакетною
обробкою інформації, виявити їх переваги, недоліки і сформулювати
задачі дослідження;
• на основі формалізації задачі наукового дослідження дослідити та
вдосконалити математичну та графоаналітичну моделі розподіленої
комп’ютерної мережі з урахуванням її частих змін, які виникають через
варіації навантаження і пропускної здатності каналів зв’язку та
комунікаційного обладнання;
8
• розробити еволюційний метод оптимізації цільової функції задачі
визначення маршрутів в комп’ютерних мережах з урахуванням
інформації про можливі зміни параметрів стану каналів звя’зку, який
дозволить зменшити трудомісткість побудови таблиць маршрутизації.
Об’єктом дослідження є процеси адаптивної маршрутизації пакетів
даних в розподілених комп'ютерних мережах.
Предмет дослідження – моделі, методи та інструментальні засоби
динамічної маршрутизації пакетів даних в комп’ютерних мережах.
Методи дослідження. Аналіз технологій адаптивної маршрутизації
пакетів даних в комп’ютерних мережах здійснено на основі системного
підходу до методів теорії інформації та кодування. Проведені теоретичні
дослідження базуються на використанні апарату теорії графів (побудова
графоаналітичної моделі маршрутизації пакетів даних); математичного
апарату теорії черг, теорії алгоритмів (моделювання адаптивної
маршрутизації шляхом врахування коефіцієнтів ребер та вузлів). Розробка
методів адаптивної маршрутизації виконана на основі технологій
еволюційного моделювання, нейромереж та алгоритмів оптимізації. При
обробленні результатів досліджень використовувались методи
комп'ютерного моделювання. Розробка програмного комплексу проведена із
використанням методів організації комп'ютерних засобів моделювання та
технології об’єктно-орієнтованого програмування і програмної емуляції
роботи алгоритмів.
Достовірність отриманих наукових результатів і висновків перевірено
шляхом проведення обчислювальних експериментів з використанням
створеного програмного комплексу та результатами практичної реалізації.
Наукова новизна одержаних результатів полягає в наступному:
1) вперше розроблено еволюційний метод оптимізації фітнес-функції на
основі генетичних алгоритмів та штучних нейронних мереж, шляхом їх
поєднання та уточнення енергетичної функції Ляпунова, що дало
9
можливість використати їх сумісно для підвищення ефективності
адаптивної маршрутизації пакетів даних в комп’ютерних мережах;
2) удосконалено моделі передачі даних в комп’ютерній мережі на основі
врахування її частих змін через варіації навантаження і пропускної
здатності каналів зв’язку та комунікаційного обладнання, шляхом
врахування вимог стану каналів та штрафів за їх невиконання, що дало
можливість підвищити ефективність процесу маршрутизації даних у
комп’ютерній мережі;
3) дістали подальшого розвитку методи еволюційної спрямованої
оптимізації на основі їх адаптації до розв’язання дискретної задачі
формування таблиць маршрутизації шляхом уточнення значень
коефіцієнтів енергетичної функції, що дало можливість скоротити час на
пошук прийнятного маршруту.
Практичне значення одержаних результатів визначається тим, що
запропоновані моделі та методи дозволяють підвищити ефективність процесу
маршрутизації пакетів даних у комп’ютерних мережах. Отримані автором
теоретичні результати доведені до конкретних методик і алгоритмів,
створена інформаційно-аналітична система для моделювання процесів
маршрутизації в комп’ютерних мережах.
Використання розробленої інформаційно-аналітичної системи, за
результатами впровадження, дозволяє отримати оптимальний розв’язок
задачі адаптивної маршрутизації та скоротити час пошуку мінімального
шляху маршруту на 10 – 16%. Результати дисертаційної роботи впроваджені
в ТОВ «Маклаут-Гамма» (Акт впровадження від 17.05.2016 р.), ТОВ «Фірма
«МегаСтайЛ-Сервіс» (Акт впровадження від 26.04.2016 р.), а також,
застосовуються в навчальному процесі Черкаського державного
технологічного університету (Акт впровадження від 18.06.2016 р.).
Особистий внесок здобувача. Всі основні положення та результати,
що виносяться до захисту, отримано автором особисто. У роботах
опублікованих у співавторстві здобувачеві належать, зокрема: аналіз
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
Розділ 1. ПРОБЛЕМИ ФОРМУВАННЯ ЕФЕКТИВНИХ МОДЕЛЕЙ ТА
МЕТОДІВ АДАПТИВНОЇ МАРШРУТИЗАЦІЇ
Однією з найпоширеніших функціональних задач мережі є задача про
знаходження найкоротшого маршруту, а саме пошук шляху між двома
визначеними вершинами графа, який відповідає найменшому значенню
певного функціонала за визначеним критерієм. Ця задача застосовується у
сферах транспорту, маршрутизації, комунікації. Принципи побудови
оптимальних маршрутів в задачах динамічної маршрутизації в чому схожі з
методами статичної маршрутизації. Однак до алгоритмів динамічної
маршрутизації пред'являється додаткова вимога: вони повинні
"відстежувати" зміни поточного стану КМ. Тому ці алгоритми повинні мати
невисоку обчислювальну складність і використовувати зворотний зв'язок по
поточному стану КМ. Відомі декілька класичних алгоритмів розв’язання цієї
задачі (Белмана-Форда, Дейкстри, Флойда -Уоршелла, Джонсона).
1.1 Формування еволюційного методу адаптивної маршрутизації в
мережі – необхідна умова ефективної передачі даних.
Багато КМ, включаючи публічні комутовані телефонні мережі, мережі
мобільного зв’язку, локальні обчислювальні мережі і мережу Інтернет,
складаються з множини пристроїв, що адресуються, або вузлів, які повинні
один з одним взаємодіяти. У таких мережах алгоритми маршрутизації
використовуються для визначення правил передачі пакетів даних між
вузлами.
Маршрутизація може бути представлена в вигляді спрямованого
зваженого графа G = (V, E), в якому кожен вузол з множини V являє собою
пристрій, що обробляє і передає дані, а кожне ребро з множини E є лінією
зв'язку. Основним завданням алгоритмів маршрутизації є передача даних з
вузла-джерела у вузол-приймач, максимізуючи при цьому продуктивність
мережі. При моделюванні алгоритмів маршрутизації виникають дві
12
проблеми, що ускладнюють процес створення системи. По-перше, потік
даних не є статичним, по-друге, він має стохастичний характер.
Алгоритми маршрутизації повинні виконувати наступні функції:
 збір, організація та розподіл інформації про створений користувачем
трафік і стан мережі;
 використання зібраної інформації для створення відповідних маршрутів,
максимізація продуктивності об'єктів;
 обрання напрямку трафіку за обраним маршрутом.
Спосіб реалізації цих функцій залежить від технології передачі і
комутації пакетів, покладеної в основу мережі, і від особливостей інших
взаємодіючих рівнів додатків. Відправка трафіку користувача може
відбуватися з використанням двох базових операцій мережі: комутація
каналів і комутація пакетів (які також пов'язані з поняттями орієнтований та
неорієнтований на з'єднання). При комутації каналів на стадії встановлення
з'єднання шукаються і резервуються ресурси мережі, які згодом будуть
представлені кожною новою сесією. У цьому випадку всі пакети даних, що
належать одній і тій же сесії, будуть спрямовані по одному і тому ж шляху.
Від маршрутизаторів вимагається зберігання інформації про активні сесії.
При комутації пакетів немає стадії резервування, інформація про стани не
зберігається на маршрутизаторах, і пакети даних можуть відправлятися по
різних шляхах. У кожному проміжному вузлі приймається самостійне
рішення про вибір вихідної лінії, по якій буде відправлений пакет даних у
вузол приймач.
Загальним параметром для всіх видів алгоритмів маршрутизації є
таблиця маршрутизації. ТМ розташовується в кожному вузлі мережі, і
містить всю інформацію про неї. Ця інформація, у свою чергу
використовується маршрутизаторами для створення маршрутів відправки
пакетів даних. Тип інформації, що міститься в маршрутних таблицях,
залежить виключно від алгоритму маршрутизації.
13
Існують дві основні характеристики, на які істотно впливає алгоритм
маршрутизації – пропускна здатність (кількість обслуговування) і середня
затримка пакета (якість обслуговування). Маршрутизація вважається
хорошою, якщо їй вдається збільшити пропускну здатність і зменшити
середню затримку пакета.
Маршрутизація взаємодіє з управлінням потоками у визначенні
характеристик за допомогою механізму зворотного зв'язку, представленому
на рисунку 1.1.
Рисунок 1.1 – Взаємодія між маршрутизацією та управлінням потоку за
допомогою механізму зворотного зв'язку
Величини затримки пакетів і пропускної здатності залежать від рішень,
прийнятих алгоритмом маршрутизації. Однак на пропускну здатність
більшою мірою впливає алгоритм управління потоками. Такі алгоритми
зазвичай діють на основі підтримки балансу між пропускною здатністю і
середньої затримкою. Тому якщо алгоритму маршрутизації вдається більш
успішно підтримувати малу затримку, то алгоритм управління потоками
дозволяє приймати мережі більше трафіку. Хоча точний баланс між
затримкою і пропускною здатністю встановлюється алгоритмом управління
потоками, хороша маршрутизація в умовах великого пропонованого трафіку,
дає прийнятну криву затримка-пропускна здатність, за якою діє алгоритм
управління потоками (рис. 1.2) [134].
Знехтуване
навантаження
Затримка
Пропускна
здатність
Пропоноване
навантаження
Управління
потоком
Маршрутизація
14
Рисунок 1.2 – Графіки залежності затримки від пропускної здатності для
хорошої та поганої маршрутизації
1.2 Аналіз моделей, методів, протоколів і алгоритмів адаптивної
маршрутизації в комп’ютерних мережах
Дослідження низки наукових робіт показало велику зацікавленість
науковців до задачі оптимізації шляхів адаптивної маршрутизації.
Різноманітність досліджень в даній області визначається використанням як
сучасних методів і підходів розв’язання даної задачі, так і розробкою нових
або модифікованих методів.
Визначимо основні тенденції сучасного наукового пошуку в напрямку
технологій розв’язання вказаних задач.
1.2.1 Алгоритми маршрутизації
Алгоритми маршрутизації можна класифікувати за локалізацією дії на
централізовані та розподілені; а за характером належності маршрутів – на
статичні і адаптивні; за довжиною маршруту – на мінімальні, оптимальні і
немінімальны та алгоритми маршрутизації, що визначають найкоротший
шлях.
Централізовані алгоритми можуть бути використані тільки в окремих
випадках і для малих мереж, тому що рішення про маршрутизацію приймає
сервер (головний керуючий пристрій). У роботі розглядається тільки
розподілена маршрутизація, що розділяє обчислення маршрутів між вузлами
мережі, які обмінюються необхідною інформацією.
У статичних системах маршрутизації, де трафік мережі відносно
15
передбачуваний, а схема мережі відносно проста, маршрут даних
встановлюється адміністратором мережі до початку маршрутизації, без
розгляду поточного стану мережі. Цей шлях зазвичай вибирається як
найкоротший щодо обраного вартісного критерію. Алгоритми, що
використовують статичні маршрути, прості для розробки. Динамічні
алгоритми маршрутизації можуть доповнювати статичні маршрути там, де це
доречно. Адаптивні маршрути можуть адаптувати спосіб маршрутизації до
змін трафіку в масштабі реального часу. Вони виконують це шляхом аналізу
повідомлень про відновлення маршрутизації. Однак, для мереж, не
орієнтованих на з'єднання, адаптивна маршрутизація може привести до
суперечливих ситуацій, які можуть виникнути при виході з ладу вузлів,
каналів зв'язку або при зміні топології.
Мінімальні маршрути дозволяють пакетам вибирати тільки шляхи з
мінімальною вартістю, у той час як немінімальні алгоритми дозволяють
робити вибір між всіма доступними шляхами, використовуючи при цьому
евристики.
Маршрутизація, що визначає найкоротші шляхи, об'єктивно визначає
найкоротший шлях (мінімальну вартість) між двома вузлами. З огляду на
зміст в таблицях маршрутизації різної інформації, алгоритми знаходження
найкоротших шляхів більш гнучкі, вони не вимагають апріорних знань про
моделі трафіку і, на даний момент, найбільш поширені серед алгоритмів
маршрутизації. Ці алгоритми можуть бути поділені на два класи:
дистанційно-векторні і алгоритми стану зв'язку.
Алгоритми стану каналу (відомі також як алгоритми "першочерговості
найкоротшого маршруту") направляють потоки маршрутної інформації в усі
вузли мережі. Проте кожен маршрутизатор посилає тільки ту частину
маршрутної таблиці, яка описує стан його власних каналів.
Алгоритми вектора відстані (відомі також як алгоритми Белмана-
Форда) вимагають від кожного маршрутизатора посилки всієї або частини
своєї маршрутної таблиці, але лише своїм сусідам. Отже, алгоритми стану
16
каналів фактично направляють невеликі коректування в усіх напрямках, в
той час як алгоритми вектора відстаней відсилають більш великі коригування
тільки в сусідні маршрутизатори.
Відрізняючись більш швидкою збіжністю, алгоритми стану каналів
трохи менше схильні до утворення петель маршрутизації, ніж алгоритми
вектора відстані. З іншого боку, реалізація та підтримка алгоритмів стану
каналу може бути більш дорогою.
Алгоритми маршрутизації можуть бути також класифіковані за типами:
одношляхові або багатошляхові; однорівневі або ієрархічні; із штучним
інтелектом у сервері або в маршрутизаторі; внутрішньодоменні або зовнішні.
Складні протоколи маршрутизації забезпечують безліч маршрутів до
одного і того ж пункту призначення. На відміну від одношляхових
алгоритмів, багатошляхові дозволяють мультиплексацію трафіку через кілька
ліній зв’язку, тобто, розділяють навантаження (load sharing). Переваги таких
алгоритмів очевидні: значно краща пропускна здатність та надійність.
Деякі алгоритми маршрутизації оперують у плоскому просторі, в той
час як інші використовують ієрархію маршрутизації. В однорівневій системи
маршрутизації всі маршрутизатори рівні по відношенню один до одного. В
ієрархічній системі маршрутизації деякі маршрутизатори формують те, що
становить основу (backbone – базу) маршрутизації.
Основною перевагою ієрархічної маршрутизації є те, що вона імітує
організацію більшості компаній і підтримує їх схеми трафіку. Велика частина
мережевого зв'язку має місце в межах груп невеликих компаній (доменів).
Внутрішньодоменним маршрутизаторам необхідно знати тільки про інший
маршрутизатор в межах свого домену, тому їх алгоритми маршрутизації
можуть бути спрощеними. Втім оптимальний алгоритм внутрішньодоменної
маршрутизації не обов'язково буде оптимальним алгоритмом міждоменної
маршрутизації, тому що природа внутрішних і зовнішних алгоритмів різна.
Компроміс між маршрутизацією з інтелектом у головній
обчислювальній машині і маршрутизацією з інтелектом в маршрутизаторі
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
автономною системою. Всі AS мають унікальний 16-розрядний номер, що
виділяється організацією InterNIC. Відповідно протоколи маршрутизації
усередині AS називаються протоколами внутрішніх шлюзів (interior gateway
protocol, IGP), а протоколи, що визначають обмін маршрутною інформацією
між зовнішніми шлюзами й шлюзами магістральної мережі — протоколами
зовнішніх шлюзів (exterior gateway protocol, EGP). Усередині магістральної
мережі також допустимо будь-який власний внутрішній протокол IGP.
Рисунок 1.3- Магістраль і автономні системи Internet
Сенс розподілу всієї мережі Internet на AS - у її багаторівневому
ієрархичному представленні, що необхідно для будь-якої великої системи,
здатної до розширення в великих масштабах. Зміна протоколів
маршрутизації усередині якої-небудь AS ніяк не повинна впливати на роботу
інших автономних систем. Крім того, розподіл Internet на AS повинен
сприяти агрегуванню інформації в магістральних і зовнішніх шлюзах.
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
(напрямок і дальність в хопах), отримуючи її від сусідніх маршрутизаторів,
[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
цих маршрутах; підтримується адресація субмереж (різні маски для різних
маршрутів); при зв'язку точка-точка не потрібно 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
обчисленні оптимального маршруту, береться до уваги окремо) —
максимальний розмір блоку, що можливо передати по ділянці маршруту.
Маршрутні таблиці містять інформацію, яку використовують програми
комутації, для вибору найкращого маршруту. В методах маршрутизації
використовується багато різних показників. Складні методи маршрутизації
можуть базуватися на багатьох показниках, комбінації яких утворюють
єдиний (гібридний) показник.
У наш час в протоколах маршрутизації використовуються такі основні
параметри: довжина маршруту, надійність, затримка. пропускна здатність,
навантаження.
Довжина маршруту є загальним показником маршрутизації. Деякі
протоколи маршрутизації дозволяють адміністраторам мережі призначати
довільні «ціни» на окремий канал мережі. У цьому випадку довжиною
тракту є сума витрат, пов'язаних з кожним каналом. Інші протоколи
маршрутизації визначають «кількість пересилань (хопів)».
Надійність відноситься до надійності кожного каналу мережі, які
зазвичай описуються в термінах співвідношення біт/помилка. При визначені
оцінок надійності через адміністратора мережі можуть бути прийняті до
розрахунку будь-які фактори надійності. Як правило, це довільні цифрові
величини.
Під затримкою маршрутизації розуміють відрізок часу, необхідний
для пересування пакету від джерела до пункту призначення через мережу.
Час затримки залежить від багатьох факторів, які включають в себе
пропускну здатність каналів мережі, черги на порту кожного
маршрутизатора на шляху пересування пакета, перевантаженість мережі на
всіх проміжних каналу мережі та фізичну відстань, на яку необхідно
перемістити пакет. Затримка є найбільш загальним і корисним показником.
Пропускна здатність належить до наявної потужності трафіку будь-
якого каналу і є оцінкою максимально досяжної пропускної здатності
каналу.
23
1.2.3 Методи адаптивної маршрутизації
Задачам пошуку найкоротших шляхів передачі інформації притаманні
три основні властивості динамічного програмування: багатоходовий вибір,
адитивність і незалежність оптимального шляху від передісторії.
Дослідження процесу передачі повідомлень від вузла до вузла в мережі
розпадається на окремі етапи (багатоходовий вибір); довжина шляху, що
складається з кількох гілок, дорівнює сумі довжин цих гілок (властивість
адитивності), і, нарешті, найкоротший шлях передачі повідомлень із будь-
якого вузла не залежить від того, як повідомлення потрапило в цей вузол, а
тільки від розташування цього вузла в мережі (властивість незалежності від
передісторії).
При організації мереж одним з основних завдань є розподіл потоків
інформації по найкоротших шляхах (шлях найкоротші за часом передачі або
протяжності, або шлях з мінімальними перешкодами, числом задіяних вузлів,
вартістю і т.п.). У зв'язку з цим маємо сенс проведення порівняльного аналізу
існуючих на сьогодні методів маршрутизації з метою напрацювання
закономірностей еволюції розвитку топології і методики управління
інформаційними потоками.
Було виявлено, що використання адаптивної маршрутизації може
зменшити середній час знаходження пакета в мережі, дозволяє мінімізувати
витрати на його доставку одержувачеві в мережах з різнорідним трафіком і
збільшити загальну надійність мережі за рахунок можливості автоматичного
вибору альтернативного маршруту на підставі даних про топологію мережі.
Однак, дані переваги досягаються збільшенням навантаження на
обчислювальні центри вузлів комутації, тому використання адаптивної
маршрутизації обмежено розмірами AS.
На етапі вибору оптимального маршруту для відправки пакетів до
наступного вузла мережу будемо розглядати як зважений орієнтований граф.
Вершину графа представляють маршрутизатори, а дуги, що з'єднують ці
24
вершини, – фізичні лінії між вершинами. Кожній лінії зв'язку відповідає
деяке інтегральне значення, представлене за допомогою «вартості»
пересилки пакету по ній, яке може залежати як від фізичної довжини лінії,
тимчасових витрат при передачі даних, так і від фінансових витрат
транспортування пакета. В даний час відомий ряд математичних методів, що
дозволяють певною мірою описати цей процес з тим, щоб отримувати
результати у формі, зручній для подальших досліджень. Отже необхідно
зробити зусилля по класифікаційному моніторингу відомих методів з метою
оцінки їх прикладної значущості і обмежень їх використання.
На практиці знайшли застосування: метод Флойда-Уоршела, метод
Белмана-Форда, метод Дейкстри, а також менш відомий матричний метод.
Метод Флойда-Уоршела [110], заснований на поняттях про базисну
лінію зв'язку і тернарной операції, застосовується для знаходження
найкоротших відстаней між усіма вершинами зваженого орієнтованого
графа. Переваги даного методу – простота алгоритму, що реалізується і
можливість отримання маршрутної інформації відразу для всіх вузлів мережі,
що робить його застосування доцільним при централізованих структурах
управління інформаційними потоками.
Говорячи про складність даного методу при програмній реалізації,
варто відзначити, що три вкладених цикли містять операцію, виконувану за
константний час, тобто алгоритм має кубічну складність [14].
В даний час існують способи прискорення систем, які використовують
даний метод, що дозволяють знизити складність з )( 3
nO до )log/( 3
nnO , де
n – кількість вузлів мережі.
Для більш детального опису алгоритму позначимо через
)(n
ijD довжину
найкоротшого шляху від вузла i до вузла j при обмеженні, що тільки вузли
n,...,2,1 можуть використовуватися в якості проміжних вузлів на шляху.
Алгоритм при цьому працює таким чином.
Спочатку ijij dD 
для всіх .,, jiji  (1.1)
25
Для ,1,...,1,0  Nn
],min[ )(
)1(
)(
)1(
)()1( n
jn
n
ni
n
ij
n
ij DDDD 

 для всіх ji  . (1.2)
Доведення того, що цей алгоритм призводить до правильного
результату, будемо проводити по індукції. При 0n початковими умовами,
очевидно, є довжини найкоротших шляхів при обмеженні, що шляхи не
містять проміжних вузлів. Тепер припустимо, що для даного 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
станцій), в яких не потрібно великих обчислювальних потужностей для
розрахунку шляхів, а також – для мереж з майже незмінною структурою [96].
Припустимо, що вузол 1 є вузлом-джерелом і потрібно знайти довжини
найкоротших шляхів від вузла 1 до кожного іншого вузла графа. Для цього
алгоритму дугові відстані можуть бути як додатними, так і від’ємними, але
ми припустимо, що немає циклів від’ємної довжини (це припущення буде
обговорюватися пізніше більш детально). Для спрощення позначень
покладемо ij , якщо в графі відсутня дуга ),( ji . Основна ідея методу
Белмана-Форда полягає в тому, щоб спочатку знайти довжини найкоротших
шляхів, за умови, що шляхи містять не більше однієї дуги, потім довжини
найкоротших шляхів за умови, що шляхи містять не більше двох дуг і т. д.
Найкоротший шлях при умови, що шлях містить не більше h дуг, надалі
називатиметься найкоротшим )( h шляхом.
Нехай
)(h
iD – довжина найкоротшого )( h шляху від вузла 1 до вузла i.
Будемо вважати, що 0)(
h
iD для всіх h .
Алгоритм Белмана-Форда полягає в наступному.
Спочатку
)0(
iD для всіх 1i . (1.3)
При кожному наступному 0h
i
ji
h
i
h
i dDD ]min[ )()1(

для всіх .1i (1.4)
Для доказу того, що цей алгоритм призводить до правильного рішення,
зауважимо спочатку, що (1.3) і (1.4) дають ii dD 1
)1(
 для всіх 1i і вони
дійсно є довжинами найкоротших )( h шляхів. Далі проведемо доказ
індукцією по h , припускаючи для даного h , що
)(h
iD є довжинами
найкоротших )( h шляхів для всіх 1i , і доводячи, що рівність (1.4) дає
довжину найкоротшого )1(  h шляху від вузла 1 до кожного вузла 1i .
Спочатку покажемо, що ліва частина (1.4) більше або дорівнює правій
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).
Шлях може містити не більше 1N дуг (де N – число вузлів) і тому,
якщо немає циклів від’ємної довжини, то
)1( N
iD буде довжиною
найкоротшого шляху від 1 до i . Також легко помітити, що якщо
h
i
h
i DD  )1(
для всіх i і певного h , то наступні ітерації з великими h не змінять довжин
найкоротших шляхів і
)(h
iD буде довжиною найкоротшого шляху для
кожного i . Число ітерацій алгоритму в гіршому випадку дорівнює 1N ,
кожна ітерація має бути проведена для 1N вузла, а для кожного вузла
мінімізації здійснюється щонайбільше по 1N змінної. Таким чином, в
гіршому випадку обсяг обчислень росте як
3
N , що записується у вигляді
)( 3
NO .
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 з числом дуг, меншим
або рівним 1N . Тому цей перехід повинен містити цикл від’ємної
довжини.
29
Рисунок 1.4 – Послідовні ітерації в методі Белмана-Форда
У прикладі на рис. 1.5 можна перевірити, що 1)2(
2 D , а 1)3(
2 D , і це
вказує на існування циклу від’ємної довжини.
Задача знаходження найкоротшого
шляху; довжини дуг вказані
Найкоротші шляхи; що
використовують не більше
однієї дуги
Вузол-джерело
Найкоротші шляхи; що
використовують не більше
двох дуг
Найкоротші шляхи; що
використовують не більше
трьох дуг
Кінцеве дерево найкоротших
шляхів
30
Рисунок 1.5 – Граф з від’ємним циклом.
Довжина найкоротшого шляху від 1 до 2 дорівнює 1
Нехай iD – довжина найкоротшого шляху від вузла 1 до вузла i та
01 D . Якщо немає циклів від’ємної довжини, то (1.4) зійдеться до
істинного значення на кроці 1 Nh і тоді його можна буде записати у
вигляді
i
jiji dDD ]min[  для всіх ,1i (1.7а)
01 D (1.7б)
Це рівняння Белмана; воно означає, що довжина найкоротшого шляху
від вузла 1 до i дорівнює сумі довжини шляху до вузла, попередньому вузлу
i (на найкоротшому шляху) і відстані на останній дузі шляху. З рішення
цього рівняння (яке можна отримати, використовуючи алгоритм Белмана -
Форда) легко знайти найкоротші шляхи (а не довжини найкоротших шляхів),
враховуючи, що всі цикли, що не містять вузол 1, мають додатню довжину.
Щоб це зробити, потрібно відібрати для кожного 1i по одній дузі ),( ji , на
якій досягається мінімум в (1.7а), і розглянути підграф, що складається з
відібраних 1N дуг. Щоб знайти найкоротший шлях до довільного вузла i ,
слід почати з вузла i і йти у зворотному напрямку по відповідних дугах
отриманого підграфа до тих пір, поки не прийдемо у вузол 1. Зауважимо, що
при цьому жоден вузол не буде відвіданий двічі до приходу у вузол 1, так як
отриманий в іншому випадку цикл мав би (на підставі рівняння (1.7))
нульову довжину. Оскільки розглянутий підграф з'єднує кожен вузол з
вузлом 1 і має 1N дугу, то він повинен бути остовним деревом. Назвемо
цей підграф остовним деревом найкоротших шляхів і зауважимо, що воно
має особливу структуру; у нього є корінь (вузол 1) і кожна дуга дерева
орієнтована в зворотному від кореня напрямку.
Довжина 1 Довжина 3
1 2 3
Довжина 1
31
Частково популярність алгоритму Белмана-Форда пояснюється тим, що
у разі, коли довжини всіх дуг додатні, початкові умови
)0(
iD для 1i можуть
бути будь-якими невід'ємними числами і ітерації (1.4) можуть виконуватися
паралельно для різних вузлів, по суті, в довільному порядку, що має велике
значення для додатків з розподіленими алгоритмами [88].
Матричний метод. Матричний метод визначення найкоротших
шляхів між усіма вузлами мережі був запропонований Шімбелом [36].
Можливість повного топологічного аналізу мережі забезпечила широке
застосування цього методу при організації трафіку даних.
При визначенні найкоротших шляхів матричним методом виконуються
наступні операції:
а). За графом телекомунікаційної мережі (Т-мережа) складається матриця ваг
гілок jisS , .
б). Матриця ваг jisS , перетвориться за правилами множення матриць,
але з використанням спеціальних операцій Шімбела, в дисперсійну матрицю
найкоротших шляхів між вузлами мережі, тобто
ji
X
ji
Z
DsS ,, )(  . (1.8)
в). Дисперсійна матриця ji, потім перетвориться в допоміжну
матрицю MDd ji  , , де D- видозмінена матриця ваг S .
г). Значення та індекси матриці jid , послідовно розподіляються по
дистанційним матрицям, що визначають довжину го,...,2,1 k шляхів, і
маршрутним матрицям, що визначають проміжні вузли цих шляхів.
д). Виключаються петлі в найкоротших шляхах таким чином, щоб вага
подальшої гілки на даному шляху топографій не повинна перевищувати ваги
попередньої. Очевидно, що цей крок алгоритму обмежує застосування цього
методу, оскільки перевірити поставлену умову можливо шляхом аналізу всіх
шляхів прямування інформаційних потоків в мережі.
32
Однак, матричний метод дозволяє не тільки визначити величини
найкоротших шляхів між усіма вузлами мережі, але також одночасно
отримати довжини всіх можливих шляхів між кожною парою вузлів мережі.
Це дає можливість використовувати матричний метод для відшукування в
мережі обхідних шляхів. Обсяг обчислень при використанні матричного
методу незначно залежить від структури мережі. Метод зручний для
програмної реалізації.
Метод Дейкстри. Метод Дейкстри дозволяє знаходити найкоротші
шляхи від однієї з вершин графа до всіх інших. Метод працює тільки для
графів без ребер від’ємної ваги, хоча в даний час існують узагальнені методи
для усунення даного недоліку (метод Дейкстри з потенціалами). Суть методу
Дейкстри полягає у поетапному нарощуванні дерева найкоротших маршрутів
від вихідного вузла. При цьому необхідно, щоб після додавання на кожному
етапі лінії зв'язку і вузла знову утворений найкоротший маршрут був
мінімально можливим за всіма крайовим вузлам, що ще не ввійшли в дерево.
У процесі побудови дерева найкоротших маршрутів обчислюються вектори
ваг маршрутів і коригуються вектори початкових компонент найкоротших
маршрутів. Складність методу Дейкстри залежить від способу знаходження
вершини V , а також від способу зберігання безлічі невідвіданих вершин і
способи оновлення міток. У графі G , n і m відповідно кількість вершин і
ребер для пошуку вершини з мінімальною довжиною шляху до вершини V ,
розглядається все множиною n . Час роботи алгоритму мінімізації є O(n3
+m).
Для розряджених графів (для таких, для яких nm  ) при використанні
спеціальних алгоритмів оптимізації швидкість роботи може скласти
)loglog( nmnnO  або навіть )log( mnnO  .
Метод Дейкстри широко застосовується в мережевому програмуванні і
технологіях, наприклад, його використовують в протоколі OSPF (Open
Shortest Path First) для усунення кільцевих маршрутів. Використання
модифікованого алгоритму Дейкстри як ефективного інструменту для
розподілу вхідних інформаційних потоків в магістральних IP-мережах з
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 (так як
0ijd ). Тому й)1( k найближчий вузол і відповідна найкоротша відстань
виходять мінімізацією по Ро величини }{min ijiPi dD  . Ці обчислення
34
можна провести ефективно, як обговорюється в тексті, в результаті чого
обчислювальна складність буде порядку )( 2
NO .
Рисунок 1.6 – Основна ідея алгоритму Дейкстри
Формально алгоритм працює таким чином. Спочатку }1{P , 01 D і
jj dD 1 для 1j .
Крок 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
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan
Dis karapetyan

More Related Content

What's hot

What's hot (20)

Autoreferat rudakov ro
Autoreferat rudakov roAutoreferat rudakov ro
Autoreferat rudakov ro
 
Aref zazhoma vm
Aref zazhoma vmAref zazhoma vm
Aref zazhoma vm
 
Aref миронюк випр. 12.04
Aref миронюк випр. 12.04Aref миронюк випр. 12.04
Aref миронюк випр. 12.04
 
Disertatsiya zazhoma vm
Disertatsiya zazhoma vmDisertatsiya zazhoma vm
Disertatsiya zazhoma vm
 
Dis
DisDis
Dis
 
косилов автореферат
косилов авторефераткосилов автореферат
косилов автореферат
 
дисертацIя друк миронюк
дисертацIя друк миронюкдисертацIя друк миронюк
дисертацIя друк миронюк
 
Aref akel al_djanabi
Aref akel al_djanabiAref akel al_djanabi
Aref akel al_djanabi
 
дисер черкаси 27.08.17.doc
дисер черкаси 27.08.17.docдисер черкаси 27.08.17.doc
дисер черкаси 27.08.17.doc
 
Міценко_дисертація
Міценко_дисертаціяМіценко_дисертація
Міценко_дисертація
 
Dis deev
Dis deevDis deev
Dis deev
 
відгук пустовіт
відгук пустовітвідгук пустовіт
відгук пустовіт
 
Dis deev
Dis deevDis deev
Dis deev
 
Aref deev
Aref deevAref deev
Aref deev
 
Aref deev
Aref deevAref deev
Aref deev
 
відгук мусієнко Last
відгук мусієнко Lastвідгук мусієнко Last
відгук мусієнко Last
 
Aref melnyk_v_p_14.04.2017
Aref  melnyk_v_p_14.04.2017Aref  melnyk_v_p_14.04.2017
Aref melnyk_v_p_14.04.2017
 
Dis kovalenko
Dis kovalenkoDis kovalenko
Dis kovalenko
 
Vidguk musienko
Vidguk musienkoVidguk musienko
Vidguk musienko
 
відгук кравченко еременко
відгук кравченко еременковідгук кравченко еременко
відгук кравченко еременко
 

Viewers also liked

Erasmus the human body - lesson 2 youtube
Erasmus   the human body - lesson 2 youtubeErasmus   the human body - lesson 2 youtube
Erasmus the human body - lesson 2 youtubeFrancisco Perez
 

Viewers also liked (20)

ар кар
ар карар кар
ар кар
 
Karapetyan stecenko
Karapetyan stecenkoKarapetyan stecenko
Karapetyan stecenko
 
Karapetyan fedorov
Karapetyan fedorovKarapetyan fedorov
Karapetyan fedorov
 
Lysenko kuchuk
Lysenko kuchukLysenko kuchuk
Lysenko kuchuk
 
Lysenko savchenko
Lysenko savchenkoLysenko savchenko
Lysenko savchenko
 
Dis_Lisenko
Dis_LisenkoDis_Lisenko
Dis_Lisenko
 
Prezentation knitu 14_03_2015
Prezentation knitu 14_03_2015Prezentation knitu 14_03_2015
Prezentation knitu 14_03_2015
 
Vidguk gulyanyckiy
Vidguk gulyanyckiyVidguk gulyanyckiy
Vidguk gulyanyckiy
 
Disser egorova
Disser egorovaDisser egorova
Disser egorova
 
Vidguk polojaenko
Vidguk polojaenkoVidguk polojaenko
Vidguk polojaenko
 
Aref egorova
Aref egorovaAref egorova
Aref egorova
 
впровадження міс «емсімед» і чдту 09 02_2017
впровадження міс «емсімед» і чдту 09 02_2017впровадження міс «емсімед» і чдту 09 02_2017
впровадження міс «емсімед» і чдту 09 02_2017
 
Aref gricay
Aref gricayAref gricay
Aref gricay
 
Diser grycay
Diser grycayDiser grycay
Diser grycay
 
Vidguk zasyadko
Vidguk zasyadkoVidguk zasyadko
Vidguk zasyadko
 
Vidguk kononov
Vidguk kononovVidguk kononov
Vidguk kononov
 
Evaluation question 3
Evaluation question 3Evaluation question 3
Evaluation question 3
 
Adn
AdnAdn
Adn
 
Erasmus the human body - lesson 2 youtube
Erasmus   the human body - lesson 2 youtubeErasmus   the human body - lesson 2 youtube
Erasmus the human body - lesson 2 youtube
 
Dewey sumarios ppt
Dewey sumarios pptDewey sumarios ppt
Dewey sumarios ppt
 

Similar to Dis karapetyan

Силабус _СМОДР 2022.docx
Силабус _СМОДР 2022.docxСилабус _СМОДР 2022.docx
Силабус _СМОДР 2022.docxssuser6b7473
 
Лекція 3. Архітектурні принципи побудови мікропороцесорів
Лекція 3. Архітектурні принципи побудови мікропороцесорівЛекція 3. Архітектурні принципи побудови мікропороцесорів
Лекція 3. Архітектурні принципи побудови мікропороцесорівAlex Slobodyanyuk
 

Similar to Dis karapetyan (20)

Diser harlay
Diser harlayDiser harlay
Diser harlay
 
Dis harlay
Dis harlayDis harlay
Dis harlay
 
Aref harlay
Aref harlayAref harlay
Aref harlay
 
смпр
смпрсмпр
смпр
 
Ref mogilatenko
Ref mogilatenkoRef mogilatenko
Ref mogilatenko
 
іуст 2013
іуст 2013іуст 2013
іуст 2013
 
Vidguk gorbov
Vidguk gorbovVidguk gorbov
Vidguk gorbov
 
Aref stabetska
Aref stabetskaAref stabetska
Aref stabetska
 
Diss mogilatenko
Diss mogilatenkoDiss mogilatenko
Diss mogilatenko
 
Силабус _СМОДР 2022.docx
Силабус _СМОДР 2022.docxСилабус _СМОДР 2022.docx
Силабус _СМОДР 2022.docx
 
Dis (1)
Dis (1)Dis (1)
Dis (1)
 
Dis
DisDis
Dis
 
Metelap diser
Metelap diserMetelap diser
Metelap diser
 
Diser rudakov ro
Diser rudakov roDiser rudakov ro
Diser rudakov ro
 
Musienko
MusienkoMusienko
Musienko
 
комп сис-мережі
комп сис-мережікомп сис-мережі
комп сис-мережі
 
Disser rozlomii
Disser rozlomiiDisser rozlomii
Disser rozlomii
 
Vidguk korchenko
Vidguk korchenkoVidguk korchenko
Vidguk korchenko
 
Лекція 3. Архітектурні принципи побудови мікропороцесорів
Лекція 3. Архітектурні принципи побудови мікропороцесорівЛекція 3. Архітектурні принципи побудови мікропороцесорів
Лекція 3. Архітектурні принципи побудови мікропороцесорів
 
Vidguk kuc
Vidguk kucVidguk kuc
Vidguk kuc
 

More from Черкаський державний технологічний університет

More from Черкаський державний технологічний університет (20)

Vidguk zablodska
Vidguk zablodskaVidguk zablodska
Vidguk zablodska
 
Vidguk karlova (2)
Vidguk karlova (2)Vidguk karlova (2)
Vidguk karlova (2)
 
Vidguk karlova
Vidguk karlovaVidguk karlova
Vidguk karlova
 
Vidguk kudrina
Vidguk kudrinaVidguk kudrina
Vidguk kudrina
 
Vidguk boychenko
Vidguk boychenkoVidguk boychenko
Vidguk boychenko
 
Silabus oit
Silabus oitSilabus oit
Silabus oit
 
Silabus oit
Silabus oitSilabus oit
Silabus oit
 
Silabus oit
Silabus oitSilabus oit
Silabus oit
 
Silabus td nv_zvo
Silabus td nv_zvoSilabus td nv_zvo
Silabus td nv_zvo
 
Prezentation 18 05_2019
Prezentation 18 05_2019Prezentation 18 05_2019
Prezentation 18 05_2019
 
Reklama pp
Reklama ppReklama pp
Reklama pp
 
Vutiag 7
Vutiag 7Vutiag 7
Vutiag 7
 
Vutiag 6
Vutiag 6Vutiag 6
Vutiag 6
 
Protocol 7
Protocol 7Protocol 7
Protocol 7
 
Vitiag 7
Vitiag 7Vitiag 7
Vitiag 7
 
Vitiag 6
Vitiag 6Vitiag 6
Vitiag 6
 
Vitiag 5
Vitiag 5Vitiag 5
Vitiag 5
 
Vitiag 4
Vitiag 4Vitiag 4
Vitiag 4
 
Vitiag 3
Vitiag 3Vitiag 3
Vitiag 3
 
Vitiag 2
Vitiag 2Vitiag 2
Vitiag 2
 

Recently uploaded

Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptxssuserc301ed1
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...JurgenstiX
 
Проблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняПроблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняtetiana1958
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класkrementsova09nadya
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdfhome
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfhome
 
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptssuser59e649
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»tetiana1958
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfssuser15a891
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxOlgaDidenko6
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняAdriana Himinets
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяssuser0a4f48
 

Recently uploaded (12)

Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
 
Проблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняПроблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішення
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 клас
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdf
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
 
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
 
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповідання
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентація
 

Dis karapetyan

  • 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) Доведення того, що цей алгоритм призводить до правильного результату, будемо проводити по індукції. При 0n початковими умовами, очевидно, є довжини найкоротших шляхів при обмеженні, що шляхи не містять проміжних вузлів. Тепер припустимо, що для даного 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 для всіх 1i . (1.3) При кожному наступному 0h i ji h i h i dDD ]min[ )()1(  для всіх .1i (1.4) Для доказу того, що цей алгоритм призводить до правильного рішення, зауважимо спочатку, що (1.3) і (1.4) дають ii dD 1 )1(  для всіх 1i і вони дійсно є довжинами найкоротших )( h шляхів. Далі проведемо доказ індукцією по h , припускаючи для даного h , що )(h iD є довжинами найкоротших )( h шляхів для всіх 1i , і доводячи, що рівність (1.4) дає довжину найкоротшого )1(  h шляху від вузла 1 до кожного вузла 1i . Спочатку покажемо, що ліва частина (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). Шлях може містити не більше 1N дуг (де N – число вузлів) і тому, якщо немає циклів від’ємної довжини, то )1( N iD буде довжиною найкоротшого шляху від 1 до i . Також легко помітити, що якщо h i h i DD  )1( для всіх i і певного h , то наступні ітерації з великими h не змінять довжин найкоротших шляхів і )(h iD буде довжиною найкоротшого шляху для кожного i . Число ітерацій алгоритму в гіршому випадку дорівнює 1N , кожна ітерація має бути проведена для 1N вузла, а для кожного вузла мінімізації здійснюється щонайбільше по 1N змінної. Таким чином, в гіршому випадку обсяг обчислень росте як 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 з числом дуг, меншим або рівним 1N . Тому цей перехід повинен містити цикл від’ємної довжини.
  • 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[  для всіх ,1i (1.7а) 01 D (1.7б) Це рівняння Белмана; воно означає, що довжина найкоротшого шляху від вузла 1 до i дорівнює сумі довжини шляху до вузла, попередньому вузлу i (на найкоротшому шляху) і відстані на останній дузі шляху. З рішення цього рівняння (яке можна отримати, використовуючи алгоритм Белмана - Форда) легко знайти найкоротші шляхи (а не довжини найкоротших шляхів), враховуючи, що всі цикли, що не містять вузол 1, мають додатню довжину. Щоб це зробити, потрібно відібрати для кожного 1i по одній дузі ),( ji , на якій досягається мінімум в (1.7а), і розглянути підграф, що складається з відібраних 1N дуг. Щоб знайти найкоротший шлях до довільного вузла i , слід почати з вузла i і йти у зворотному напрямку по відповідних дугах отриманого підграфа до тих пір, поки не прийдемо у вузол 1. Зауважимо, що при цьому жоден вузол не буде відвіданий двічі до приходу у вузол 1, так як отриманий в іншому випадку цикл мав би (на підставі рівняння (1.7)) нульову довжину. Оскільки розглянутий підграф з'єднує кожен вузол з вузлом 1 і має 1N дугу, то він повинен бути остовним деревом. Назвемо цей підграф остовним деревом найкоротших шляхів і зауважимо, що воно має особливу структуру; у нього є корінь (вузол 1) і кожна дуга дерева орієнтована в зворотному від кореня напрямку. Довжина 1 Довжина 3 1 2 3 Довжина 1
  • 31. 31 Частково популярність алгоритму Белмана-Форда пояснюється тим, що у разі, коли довжини всіх дуг додатні, початкові умови )0( iD для 1i можуть бути будь-якими невід'ємними числами і ітерації (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 (так як 0ijd ). Тому й)1( k найближчий вузол і відповідна найкоротша відстань виходять мінімізацією по Ро величини }{min ijiPi dD  . Ці обчислення
  • 34. 34 можна провести ефективно, як обговорюється в тексті, в результаті чого обчислювальна складність буде порядку )( 2 NO . Рисунок 1.6 – Основна ідея алгоритму Дейкстри Формально алгоритм працює таким чином. Спочатку }1{P , 01 D і jj dD 1 для 1j . Крок 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