Відмінності між версіями «Алгоритми роботи маршрутизаторів»
Andrey (обговорення • внесок) (→Розподілені алгоритми) |
Andrey (обговорення • внесок) (→Розподілені алгоритми) |
||
Рядок 69: | Рядок 69: | ||
==== Розподілені алгоритми ==== | ==== Розподілені алгоритми ==== | ||
+ | |||
+ | ===== Дистанційно-векторний алгоритм ===== | ||
(англ. distance vector routing) | (англ. distance vector routing) |
Версія за 08:23, 24 листопада 2009
Алгоритми маршрутизації застосовуються для визначення оптимального шляху пакетів від джерела до приймача і є основою будь-якого протоколу маршрутизації. Для формулювання алгоритмів маршрутизації мережа розглядається як граф. При цьому маршрутизатори є вузлами, а фізичні лінії між маршрутизаторами - ребрами відповідного графа. Кожній межі графа присвоюється певне число - вартість, що залежить від фізичної величини лінії, швидкості передачі даних по лінії або фінансової вартості лінії.
Зміст
Класифікація
Алгоритми маршрутизації можна розділити на:
- Адаптивні і неадаптівние
- Глобальні і децентралізовані
- Статичні та динамічні
Вимоги
- Точність
- Простота
- Надійність
- Стабільність
- Справедливість
- Оптимальність
Типи алгоритмів
Адаптивні алгоритми
Опис: беруть до уваги стан лінії.
Переваги та недоліки:
"+" : можливість динамічної адаптації до стану мережі;
"-" : необхідно постійно перераховувати таблиці маршрутизації.
Адаптивний централізований алгоритм
(англ. adaptive centralized routing)
Опис
У мережі існує так званий центр маршрутизації (Routing Control Center, RCC), який отримує інформацію від всіх вузлів про їх сусідніх вузлів, довжині черги та завантаження лінії. У функції RCC входить збір інформації, підрахунок оптимальних маршрутів для кожного вузла, складання таблиць маршрутизації та розсилка їх вузлів.
Переваги та недоліки:
"+" : RCC володіє всією інформацією і може створювати «ідеальні» маршрути;
"+" : вузли звільнені від необхідності розрахунку таблиць маршрутизації;
"-" : низька надійність;
"-" : час від часу потрібно перерахунок таблиць маршрутизації;
"-" : некоректна робота при розділених мережах;
"-" : IS отримують інформації в різний час;
"-" : концентрація трафіку біля RCC.
Ізольований алгоритм
Опис
Кожен вузол бере тільки потрібну інформацію з отриманих пакетів. Таким чином, кожен вузол знає відправника пакетів і кількість хопів (хоп (англ. hop, стрибок) - назва процесу передачі мережевого пакету (або датаграми) між хостами мережі), які цей пакет пройшов. Потім відбувається порівняння з даними в таблиці маршрутизації, і якщо у отриманого пакету менша кількість хопів, то відбувається оновлення таблиці.
Переваги та недоліки:
"+" : легкість реалізації;
"-" : проблеми при зміні топології і навантаження;
"-" : не відбувається обмін даними про маршрутизацію між вузлами.
Розподілені алгоритми
Дистанційно-векторний алгоритм
(англ. distance vector routing)
Опис
Також відомий як Distributed Bellman-Ford Routing або Ford Fulkerson Algorithm. Цей алгоритм є розподіленим, ітераційним і асинхронним. Його можна представити як: «розкажи своїм сусідам, як виглядає світ». Кожен вузол веде таблицю маршрутизації з одним записом для кожного маршрутизатора підмережі. Таблиця являє собою вектор, що містить 2 компоненти: обрану лінію і дистанцію. Вузол оцінює дистанцію (кількість хопові, затримку або довжину черги) до кожного сусіда і розсилає її своїм сусідам, які в свою чергу виконують те ж саме. У результаті отриманої інформації кожен вузол заново підраховує таблицю маршрутизації. Застосовується в протоколі маршрутизації RIP. Вперше був застосований в ARPANET.