Відмінності між версіями «Алгоритми роботи маршрутизаторів»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
(Адаптивні алгоритми)
(Дистанційно-векторний алгоритм)
Рядок 95: Рядок 95:
  
 
При використанні алгоритму виникають проблеми при відключенні одного з вузлів від мережі - проблема «Count to Infinity» (рахунок до нескінченності).
 
При використанні алгоритму виникають проблеми при відключенні одного з вузлів від мережі - проблема «Count to Infinity» (рахунок до нескінченності).
Запобігання: Split Horizont Algorithm - «не говори мені те, що я сказав тобі».
+
''Запобігання'': Split Horizont Algorithm - «не говори мені те, що я сказав тобі».
  
 
=== ''Неадаптивні алгоритми'' ===
 
=== ''Неадаптивні алгоритми'' ===

Версія за 08:59, 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.

Алгоритм

Припустимо, що таблиця тільки що була отримана від сусіда X, причому Xi є припущенням X про те, скільки триває шлях до маршрутизатора i. Якщо маршрутизатор знає, що передача даних до X триває m, то він знає так само, що він може досягти будь-який маршрутизатор і через X за Xi + m.

Переваги та недоліки:

"+" : самоорганізація;

"+" : відносно проста реалізація;

"-" : погана конвергенція ( "збіжність");

"-" : складності при розширенні мережі.

Приклад

При використанні алгоритму виникають проблеми при відключенні одного з вузлів від мережі - проблема «Count to Infinity» (рахунок до нескінченності). Запобігання: Split Horizont Algorithm - «не говори мені те, що я сказав тобі».

Неадаптивні алгоритми