logo
Лекції_networks

Принципи маршрутизації

Найважливішим завданням мережного рівня є маршрутизація — передача пакетів між двома кінцевими вузлами в складеній мережі.

Розглянемо принципи маршрутизації на прикладі складеної мережі, зображеної на рис.9.1. У цій мережі 20 маршрутизаторів поєднують 18 мереж у загальну мережу; S1, S2, ... , S20 — це номера мереж. Маршрутизатори мають по декілька портів (принаймні, по два), до яких приєднуються мережі. Кожний порт маршрутизатора можна розглядати як окремий вузол мережі: він має власну мережну адресу й власну локальну адресу в тій підмережі, що до нього підключена. Наприклад, маршрутизатор під номером 1 має три порти, до яких підключені мережі S1, S2, S3. На рисунку мережні адреси цих портів позначені як М1(1), M1(2) і М1(3). Порт М1(1) має локальну адреса в мережі з номером S1, порт Ml(2) — у мережі S2, а порт М1(3) — у мережі S3. Таким чином, маршрутизатор можна розглядати як сукупність декількох вузлів, кожний з яких входить у свою мережу. Як єдиний пристрій маршрутизатор не має ні окремої мережної адреси, ні якої-небудь локальної адреси.

У складних складених мережах майже завжди існує кілька альтернативних маршрутів для передачі пакетів між двома кінцевими вузлами.

Маршрут — це послідовність маршрутизаторів, які повинен пройти пакет від відправника до пункту призначення. Так, пакет, відправлений з вузла А у вузол В, може пройти через маршрутизатори 17, 12, 5, 4 і 1 або маршрутизатори 17, 13, 7, 6 і 3. Неважко знайти ще кілька маршрутів між вузлами А і В.

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

Рис. 9.1. Принципи маршрутизації в складеній мережі

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

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

Таблиця 9.1. Таблиця маршрутизації маршрутизатора 4

Коли на маршрутизатор надходить новий пакет, номер мережі призначення, витягнутий з кадру, що надійшов, послідовно порівнюється з номерами мереж з кожного рядка таблиці. Рядок з номером мережі, що збігся, вказує, на який найближчий маршрутизатор варто направити пакет. Наприклад, якщо на який-небудь порт маршрутизатора 4 надійшов пакет, адресований у мережу S6, то з таблиці маршрутизації виходить, що адреса наступного маршрутизатора — М2(1), тобто черговим етапом руху даного пакета буде рух до порту 1 маршрутизатора 2.

Оскільки пакет може бути адресований у будь-яку мережу інтермережі, може здатися, що кожна таблиця маршрутизації повинна мати записи про всі мережі, що входять у складену мережу. Але при такому підході у випадку великої мережі обсяг таблиць маршрутизації може виявитися дуже великим, що вплине на час її перегляду, потребуватиме багато місця для зберігання й т.п. Тому на практиці число записів у таблиці маршрутизації намагаються зменшити за рахунок використання спеціального запису — "маршрутизатор за замовчуванням" (default). Дійсно, якщо взяти до уваги топологію складеної мережі, то в таблицях маршрутизаторів, що перебувають на периферії складеної мережі, досить записати номера мереж, безпосередньо приєднаних до даного маршрутизатора або розташованих поблизу, на тупікових маршрутах. Про всі ж інші мережі можна зробити в таблиці єдиний запис, що вказує на маршрутизатор, через який пролягає шлях до всіх цих мереж. Такий маршрутизатор називається маршрутизатором за замовчуванням, а замість номера мережі у відповідному рядку міститься особливий запис, наприклад default. У нашому прикладі таким маршрутизатором за замовчуванням для мережі S5 є маршрутизатор 5, точніше його порт М5(1). Це означає, що шлях з мережі S5 майже до всіх мереж великої складеної мережі пролягає через цей порт маршрутизатора.

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

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

У табл. 5.1 відстань між мережами вимірялося хопами. Відстань для мереж, безпосередньо підключених до портів маршрутизатора, тут приймається рівним 0, однак у деяких реалізаціях відлік відстаней починається з 1.

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

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

Звернемося знову до мережі, зображеної на рис.9.1. Таблиця маршрутизації для кінцевого вузла В могла б виглядати в такий спосіб (табл. 9.2). Тут MB — мережна адреса порту комп'ютера В. На підставі цієї таблиці кінцевий вузол В вибирає, на який із двох наявних у локальній мережі S3 маршрутизаторів варто посилати той або інший пакет.

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

Таблиця 9.2. Таблиця маршрутизації кінцевого вузла В

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

Таблиця 9.3. Таблиця маршрутизації кінцевого вузла А

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