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

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

  1. Станція-джерело порівнює мережеву частину адреси призначення з мережевою частиною адреси власної мережі.

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

  3. Коли інформація отримана, станція відображає фізичну адресу на IP-адресу і висилає цю інформацію на Канальний рівень для подальшого інкапсулювання в рамку Ethernet і пересилання.

Наприклад, розглянемо малу IP-мережу, яка містить один Ethernet-сегмент і три вузли (рис.3.33). Нехай мережева IP-адреса цього Ethernet-сегмента дорівнює 200.1.2. Номери станцій A, B і C відповідно дорівнюють 1, 2, 3. Це адреси класу C і тому всього у мережевому сегменті можна мати до 254 вузлів. Кожен із цих вузлів має відповідну Ethernet-адресу довжиною 6 байтів (48 бітів). На цьому і наступних рисунках мережева частина IP-адреси виділена товстим шрифтом.

Р ис. 3.33. Приклад прямого раутінгу в односегментній мережі.

Приймемо, що станція A висилає пакет до станції C і що вона знає IP-адресу станції C. Щоб вислати такий пакет через Ethernet, станція A повинна знати Ethernet-адресу станції C. Для цього станція A вживає протокол ARP, який має внутрішню таблицю IP-адрес і відповідних їм Ethernet-адрес. При відсутності потрібного входу в таблиці протокол ARP висилає широкомовну Ethernet-рамку через сегмент до всіх вузлів у сегменті (3.34, а).

Р ис. 3.34. Розв’язання адрес за допомогою ARP.

Якщо один із вузлів має потрібну IP-адресу (в даному випадку це вузол C), то він повідомляє свою Ethernet-адресу станції A у рамці-відповіді (рис.3.34, б). Тоді станція A модифікує свою таблицю ARP і використовує Ethernet-адресу для скерування пакету, інкапсульованого в рамку Ethernet, безпосередньо до станції C.

        1. Непрямий раутінг

Непрямий (віддалений) раутінг або непряме доручення стосується до ситуації, коли станція-джерело і станція-призначення мають різні мережеві адреси. У цьому випадку використовується раутер. Непряме доручення значно складніше від прямого, бо в загальному випадку вузол-передавач мусить ідентифікувати раутер, до якого слід переслати IP-данограму, а цей раутер повинен вислати данограму в напрямку до мережі-призначення.

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

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

Станція передає до раутера всі пакети, призначені для мереж поза даним локальним сегментом. Таблиця раутінгу містить входи до всіх мереж, безпосередньо сполучених з даною мережею. Ця таблиця може містити маршрути до окремих станцій і маршрути за замовчуванням. Кожний вхід таблиці раутінгу має щонайменше два поля:

  • одне поле містить адресу мережі або станції призначення Рівня 3;

  • інше поле містить IP-адресу наступного раутера або шлюза, до якого повинна бути вислана данограма з даною адресою призначення, якщо призначенням не є суміжна мережа.

Наступний раутер або шлюз повинен бути розташований у суміжній мережі., тобто у мережі, безпосередньо сполученій з даною. Якщо станція-джерело встановить, що станція-призначення данограми не міститься у суміжній мережі, то здійснюються такі кроки:

  1. Програмне раутінгове забезпечення станції перевіряє свою таблицю раутінгу, щоб побачити, чи ця таблиця містить вхід для станції-призначення. Якщо такий вхід знайдено, то данограма висилається до станції-призначення.

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

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

  4. Якщо відсутні раутер або шлюз за замовчуванням, то генерується повідомлення про помилку.

Коли данограма прийнята раутером або шлюзом, описаний процес (п.п. 1-4) повторюється.

Для прикладу розглянемо дві окремі сегменти мережі Ethernet – Net 0 і Net 1, сполучені через раутер R (рис.3.35), кожен сегмент із своєю мережевою адресою класу C.

Р ис. 3.35. Приклад непрямого раутінгу між двома мережевими сегментами. Позначено: Ether(x) - Ethernet-адреса станції x; IP(x) - IP-адреса станції x.

Приймемо такий розподіл адрес:

Підмережа Net 0

200.1.2.0/24

Підмережева маска для Net 0

255.255.255.0

IP-адреса порта раутера R у підмережі Net 0

200.1.2.1/24

IP-адреси станцій у підмережі Net 0

200.1.2.2/24...200.1.2.254/24

Підмережеві маски станцій у підмережі Net 0

255.255.255.0

Підмережа Net 1

200.1.3.0/24

Підмережева маска для Net 1

255.255.255.0

IP-адреса порта раутера R у підмережі Net 1

200.1.3.1/24

IP-адреси станцій у підмережі Net 1

200.1.3.2/24...200.1.3.254/24

Підмережеві маски станцій у підмережі Net 1

255.255.255.0

Така адресація необхідна для того, щоб раутер знав, котрий його мережевий інтерфейс слід використати для досягнення певного вузла і яка мережева адреса приписана кожному інтерфейсу раутера. Раутінг можна здійснити на підставі такої таблиці:

Вузол

Призначення

Мережева маска

Шлюз

Інтерфейс

A

200.1.3.0

255.255.255.0

200.1.2.1

200.1.2.2

200.1.2.0

255.255.255.0

200.1.2.2

200.1.2.2

B

200.1.3.0

255.255.255.0

200.1.2.1

200.1.2.3

200.1.2.0

255.255.255.0

200.1.2.3

200.1.2.3

R

200.1.2.0

255.255.255.0

200.1.2.1

200.1.2.1

200.1.3.0

255.255.255.0

200.1.3.1

200.1.3.1

D

200.1.2.0

255.255.255.0

200.1.3.1

200.1.3.2

200.1.3.0

255.255.255.0

200.1.3.2

200.1.3.2

E

200.1.2.0

255.255.255.0

200.1.3.1

200.1.3.3

200.1.3.0

255.255.255.0

200.1.3.3

200.1.3.3

Якщо станція A висилає пакет до станції E, то вона повинна спочатку вислати його до раутера G, який пересилає пакет до станції E, як це показано стрілками на рис.3.35. Це здійснюється таким чином, що рамка Ethernet, яку станція A висилає до раутера G, має Ethernet-адресу призначення відповідного інтерфейсу раутера, але інкапсульований пакет містить IP-адресу призначення для станції E. Раутер приймає рамку, виділяє IP-адресу призначення, інкапсулює пакет в рамку з Ethernet-адресою станції E та висилає його у сегмент 200.1.3. При потребі раутер G виявляє Ethernet-адресу станції E, використовуючи протокол ARP. Зауважимо, що станція A не може безпосередньо визначити Ethernet-адресу станції E, бо остання розташована в іншій мережі, що встановлюється через порівняння мережевих адрес обидвох сегментів.

Слід завжди пам’ятати що IP адреса призначення, в даному випадку адреса станції E, ніколи не змінюється в пакеті (крім випадків використання примусового маршруту). Адреса призначення рамки на Канальному рівні завжди змінюється для того, щоб IP-данограму можна було переслати до відповідних раутерів.

З останнього прикладу видно, чому раутер G повинен мати дві IP-адреси – по одній для кожного інтерфейсу. Саме завдяки цьому станції в сегменті 200.1.2, зокрема, станція A, знають, що відповідний інтерфейс раутера належить до даного сегменту і можуть знати Ethernet-адресу цього інтерфейсу. Раутер, у свою чергу, знає мережеві адреси кожного свого інтерфейсу і тому може спрямовувати IP-пакети до потрібних мереж.

        1. Таблиці IP-раутінгу та їх використання

Коли станція отримує данограму через мережевий інтерфейс, то спочатку перевіряється, чи IP-адреса призначення не є однією з її адрес IP-рівня (unicast, multicast чи broadcast). Якщо так, то данограма передається до відповідного модуля, TCP чи UDP, відповідно до значення поля protocol у заголовку IP-данограми. Якщо ж IP-данограма не призначена для IP-рівня даної станції, то виконуються такі дії:

  1. якщо комп’ютер є робочою станцією (IP forwarding заборонено), то IP данограма ігнорується;

  2. якщо комп’ютер є раутером (IP forwarding дозволено), то IP данограма пересилається далі, за маршрутом, визначеним записами в таблиці раутінгу.

Раутінг на IP-рівні в більшості випадків передбачає використання таблиць раутінгу (routing table), які вживаються для вибору правильного маршруту пересилання IP-данограм.

Типовий запис в таблиці раутінгу має такий вигляд:

  • IP-адреса призначення (destination). Це може бути як повна адреса станції, так і адреса мережі (це відзначається відповідним прапорцем для даного запису). Різниця між IP адресою мережі та станції в тому, що для адреси станції поле HostID ніколи не може дорівнювати 0, тоді як для адреси мережі воно повинно бути рівне 0.

  • Мережева маска (netmask) – визначає довжину префікса IP-адреси (NetID).

  • IP адреса порта раутера (gateway) або безпосередньо приєднаної мережі (визначається прапорцем), куди будуть передаватися пакети, у випадку коли раутер скористається даним записом в таблиці маршрутизації.

  • Прапорці (flags). Один з них визначає чи адреса призначення (destination) є адресою комп’ютера, чи адресою мережі. Інший, чи то, куда пакети будуть передаватися (gateway), є раутером, чи безпосередньо приєднаним мережевим інтерфейсом.

  • Мережевий інтерфейс (interface або netif), через який буде передаватися IP-данограма, якщо даний запис буде використано для маршрутизації.

  • Таймер (expire), який, якщо він встановлений, вказує на те, скільки секунд даний запис може вважатися за дійсний.

Послідовність дій системи при IP-маршрутизації визначає такі кроки:

  1. Пошук в таблиці маршрутизації (в полі destination) запису, що співнадає з повною IP-адресою призначення (NetID та HostID); у даному випадку застосовується маска 255.255.255.255. Якщо такий запис знайдено, то подальший пошук припиняється, а IP-данограма передається або до порта раутера (gateway), або до безпосередньо під’єднаного мережевого інтерфейсу (Netif), залежно від того як встановлено прапорець. Якщо запис не знайдений, то робиться наступний крок пошуку;

  2. В таблиці маршрутизації шукається запис, в якому забезпечується співпадіння NetID. Процедура пошуку повинна підтримувати можливість перевірки мережевої маски (netmask). Якщо такий запис знайдено, то IP-данограма пересилається або до відповідного порта раутера, або до мережевого інтерфейсу. Якщо пошук закінчився невдало, то передять до наступного кроку пошуку.

  3. Пошук спеціального запису під назвою “default” або IP-адреси 0.0.0.0. При виявленні такого запису IP-данограма висилається до вказаного раутера (gateway), якщо ж такий запис відсутній, то переходять до наступного кроку.

  4. Оскільки ні один з попередніх кроків не привів до успіху, то IP данограма вважається такою, що не може бути доручена. Тоді ужитковий процес, який згенерував цю данограму, дістає повідомлення про помилку “компютер недосяжний” (host unreachable) або “мережа недосяжна” (network unreachable).

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