Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Part_3-2.doc
Скачиваний:
8
Добавлен:
24.11.2019
Размер:
2.84 Mб
Скачать
        1. Встановлення маршруту

Можливі різні способи для знаходження маршрутів між мережами. Одним із вживаних способів категоризування цих способів є тип інформації, якою необхідно обмінюватися між раутерами для знаходження маршруту. Приймається, що кожен об’єкт (станція або раутер), які є беруть участь у роботі протоколу раутінгу, зберігають інформацію про всі призначення всередині системи. Загалом інформація про всі об’єкти, під’єднані до одної мережі, підсумована в окремому вході (рядку) таблиці - бази даних раутінгу, яка описує маршрути до всіх призначень у цій мережі. Це підсумування можливе тому, що в IP-мережах раутінг прозорий для станцій. Кожен вхід у цій базі даних раутінгу містить адресу наступного стрибка, тобто раутера, до якого повинні висилатися данограми, призначені для об’єкта. Вважається, що конкретне призначення може бути осягнене оптимальним чином через висилання пакету до раутера, який репрезентує “наступний стрибок” на шляху до призначення. Коли раутер приймає вхідний пакет, то він перевіряє адресу призначення і пробує осягнути цю адресу через наступний стрибок. Основна відмінність між раутером і типовою станцією з точки зору раутінгу полягає в тому, що станція звичайно має мало інформації щодо структури мережі, до якої вона під’єднана. Більшість станцій мають тільки два маршрути у своїй таблиці раутінгу: маршрут до локальної мережі і маршрут за замовчуванням (default route) до найближчого раутера. Станція висилає всі нелокальні данограми до локального раутера для подальшого їх доручення. Раутери також можуть маршрутувати данограми на підставі часткової інформації, однак, тільки за певних передумов.

Вхід таблиці раутінгу може включати “метрику”, яка визначає повну відстань до об’єкта. Метрика – це стандарт вимірювання, наприклад, довжина шляху, яка вживається в алгоритмах раутінгу для визначення оптимального шляху до призначення. Довжина шляху або відстань у цьому контексті є загальним поняттям, яке охоплює часову затримку при пересиланні повідомлень, грошову вартість пеерсилання повідомлень, якість зв’язку і багато іншого. Загалом вид інформації про маршрути залежить від застосованого алгоритму раутінгу. Формально, якщо можливе безпосереднє сполучення між об’єктами i та j (тобто без пересилання через інший раутер між ними), то із стрибком між i та j можна пов’язати вартість (метрику) d(i,j), яка повинна задовільняти таким постулатам:

d(i,i) = 0;

d(i,j) > 0 для ij;

d(i,j) d(i,k) + d(k,j)

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

Вище було вказано, що кожен об’єкт зберігає таблицю раутінгу з одним входом для кожного можливого призначення в системі. Наприклад, реальне впровадження може вимагати збереження такої інформації для кожного призначення:

  • адреса: у IP-впровадженнях цього алгоритму це може бути IP-адреса станції або мережі;

  • шлюз: перший шлюз (раутер) вздовж маршруту до призначення;

  • інтерфейс: фізична мережа, яка повинна бути використана для досягнення першого шлюзу (раутера);

  • метрика: число, яке позначає відстань до призначення;

  • таймер: інтервал часу від моменту, коли даний вхід був змодифікований.

Крім того, може бути включені різні прапорці та інша додаткова інформація.

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

Для визначення оптимального маршруту раутери порівнюють метрики. Різноманітні вживані метрики буде розглянено пізніше. У звичайному випадку, коли всі об’єкти даної мережі вважаються однаковими, метрика d(i,j) однакова для всіх призначень у даній мережі, щоб отримати метрику для всього маршруту, слід додати вартості окремих стрибків, які утворюють маршрут.

Нехай D(i,j) представляє метрику найкращого маршруту від об’єкта i до об’єкта j, а d(i,j) вартість одного стрибка, тобто безпосереднього переходу від об’єкта i до об’єкта j. d(i,j) безмежна, якщо об’єкти i та j не є суміжними. Оскільки вартості адитивні, то найкраща метрика визначається виразом

і найкращий маршрут розпочинається пересиланням пакету від об’єкта i до такого суміжного об’єкта k , для якого має мінімальне значення. Зауважимо, що при обчисленнях можна обмежитися тільки до значень k, які відповідають об’єктам, суміжним із об’єктом i, оскільки для інших k значення d(i,k) безмежне і впроваджений доданок ніколи не приведе до мінімуму.

Обчислення метрики може бути здійснене на підставі простого алгоритму, який базується на викладеному вище. Об'єкт i звертається до своїх сусідів k, щоб вони вислали свої значення відстаней до призначення j . Коли об'єкт i отримує значення від об’єкта k, то він додає d(i,k) до кожного числа. Це значення вартості переходу через мережу між i та k. Тоді об'єкт i порівнює значення від усіх своїх сусідів і вибирає найменше. Цей алгоритм збігається до коректних значень D(i,j) за скінченний час при відсутності змін у топології (наприклад, відмова раутера означає зміну топології мережі). Не здійснюється жодних припущень щодо початкових значень D(i,j) , за винятком того, що вони не від’ємні, а також щодо того, коли здійснюється висилання повідомлень про відстані. Тому алгоритм може обслуговувати зміни. Коли система змінюється, то алгоритм раутінгу розпочинає зміни до нової рівноваги, використовуючи старий стан як вихідний пункт.

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

Для будь-якого об’єкта, який є учасником роботи протоколу раутінгу, виконується наступна процедура:

  • Зберігається таблиця із входом для кожного можливого призначення у системі. Вхід містить відстань D до призначення і перший шлюз G на маршруті. Концептуально можливий вхід для самого об’єкта з метрикою 0.

  • Періодично висилаються модифікації раутінгу до кожного сусіда. Модифікація – це система повідомлень, які містять інформацію із таблиці раутінгу – вхід для кожного призначення із відстанню до цього призначення.

  • Коли модифікація раутінгу прибуває від сусіда G , слід додати вартість, пов’язану із мережею, спільною із G. Це може бути мережа, через яку поступають модифікації. Далі слід обчислити результуючу метрику D і порівняти її із значенням у поточному вході таблиці раутінгу. Якщо нове значення D для призначення N менше від наявного значення D, то прийняти новий маршрут, тобто змінити вхід таблиці раутінгу для N із метрикою D і шлюзом G . Якщо раутер, від якого прийшла модифікація, від повідає раутеру для чинного маршруту, тобто якщо G = G, то слід використати нову метрику, навіть коли вона більша від чинної.

Вище описано алгоритм, якого дотримуються станції та раутери для пересилання данограм, і показано, що для цього застосовуються таблиці раутінгу. Кожен вхід таблиці раутінгу визначає мережеву частину адреси призначення і вказує адресу наступного вузла вздовж шляху, використаного для досягнення цієї мережі. Однак вище не дана відповідь на питання: як раутер отримує значення, які повинні бути поміщені в таблицях. Відповідь залежить від складності архітектури мережі та її розміру. Загалом встановлення маршрутів включає їх ініціювання та модифікацію. Кожен раутер при старті повинен встановити початкову систему маршрутів і повинен їх модифікувати при виникненні змін, наприклад, при відмові мережевого інтерфейсу. Спосіб ініціювання маршрутів залежить від операційної системи. Можливі, наприклад, зберігання таблиці раутінгу на жорсткому диску і поміщення її в оперативну пам’ять при старті, початок роботи з порожньої таблиці та заповнення її шляхом виконання певних наперед визначених команд, виведення початкової системи маршрутів з множини адрес локальної мережі, до якої під’єднаний вузол, і запитування додаткових маршрутів у сусідніх вузлів. Після побудови початкової таблиці раутінгу раутер мусить пристосовуватися до змін маршрутів.

У малих мережах з повільними змінами мережевий адміністратор може встановлювати і модифікувати маршрути вручну. У великому середовищі з частими змінами це необхідно здійснювати автоматично. Відповідно до цього алгоритми рацтінгу поділяють на статичні та динамічні.

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

Динамічні алгоритми раутінгу достосовуються до змінних обставин у мережі в реальному часі. Це здійснюється через аналіз вхідних повідомлень про модифікацію раутінгу. Якщо повідомлення відзначає, що з’явилися зміни в мережі, то програмне забезпечення раутера перераховує маршрути і висилає нові модифікаційні повідомлення. Ці повідомлення поширюються крізь мережу, спонукаючи раутери виконувати свої алгоритми раутінгу і відповідно змінювати таблиці раутінгу.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]