МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний університет «Львівська політехніка»
Кафедра «Телекомунікації»
Конфігурування протоколу
динамічної маршрутизації RIP
Методичні вказівки до лабораторних робіт з курсу
«Операційні системи телекомунікаційних мереж»
Для студентів спеціальності
«Інформаційні мережі зв’язку»
Львів 2005
Мета роботи: Ознайомитися з принципами та протоколами маршрутизаці. Навчитися конфігурувати протокол динамічної маршрутизації RIP.
Теоретичні відомості.
В системах пакетної комутації термін маршрутизація(routing) стосується процесу вибору шляху (маршруту) передачі пакетів, та організації процесу пересилання пакетів по визначеному шляху. Термін маршрутизатор (раутер - router) слід трактувати як комп’ютер, який здійснює пошук шляху передачі пакетів. Всі станції в мережі ідентифікуються іменами, адресами та маршрутами. Ім’я визначає, який це об’єкт, адреса - де він розташований, маршрут - як його досягнути. Отже маршрутизація це процес визначення і призначення маршруту (шляху) або методу, який повинен бути використаний для встановлення сполучення для забезпечення пересилання повідомлень. В свою чергу маршрут в операціях комунікаційних систем – це географічний шлях, який є наслідком виклику або повідомлення прокладений через кола (канали), використані для встановлення послідовності сполучень. Маршрут визначає шлях, який проходять пакети в комунікаційній мережі. Виходячи з цих полодень маршрутизатор – це функціональний пристрій, який використовується для взаємосполучення двох або більше мереж.
Маршрутизатори слід використовувати виходячи з таких міркувань:
Сполучення різнорідних мереж. Оскільки IP діє на мережевому рівні еталонної моделі OSI, то при сполученні різнорідних (як за топологією, так і за IP-адресами) IP-мереж необхідна маршрутизація а не комутація (остання здійснюються на канальному рівні).
Стратегія проектування. Маршрутизація необхідна для здійснення необхідної стратегії проектування, оскільки мережа повинна бути побудована за модульним принципом. При цьому можливий випадоккол декілька мереж необхідно об’єднати саме тоді і використовується раутінг.
Безпека. Виходячи з потреб організації, необхідно встановити певні правила безпеки для мережі. Ці правила є нічим іншим, як запобіганням доступу певних користувачів до певних даних. Контроль за доступом зазвичай здійснюється на мережевому рівні і називається фільтрацією. Маршрутизатор здійснює функцію фільтрації за допомогою впровадження певних правил, які формуються мережевим адміністратором.
Сполучення з віддаленими об’єктами. Технології WAN, які використовуються для сполучення з віддаленими об’єктами (наприклад, з філіями організації), у більшості випадків впроваджуються через маршрутизатори. Які в цьому випадку діють через інтерфейс WAN, залежно від типу мережі, вибраної для транспортування інформації на канальному та фізичному рівнях (X.25, Frame Relay, ISDN тощо), та через інтерфейс LAN (наприклад, Ethernet), так що віддалений об’єкт може бути сполучений з центром.
Таким чином, об’єднання мереж (internet) складається із фізичних мереж, з’єднаних між собою через раутери. Кожен раутер з’єднаний безпосередньо з двома або більше мережами. Відзначимо, що вузол-станція звичайно під’єднаний до однієї фізичної мережі. Однак можливі вузли-станції, під’єднані до декількох мереж (multi-homed host). Стандарт TCP/IP проводить чітке розділення функцій вузла-станції (host) і функцій маршрутизатора. Основна різниця між раутером і станцією (навіть коли вона приєднана до декількох мереж одночасно - multihomed), з точки зору маршрутизації є те, що станція ніколи не пересилає пакети між своїми мережевими інтерфейсами, тоді як для раутера це (IP forwarding) основна його функція.
Маршрутизація забезпечує можливість переміщення інформації через об’єднання мереж від джерела до призначення. Доки повідомлення пересилається в межах однієї фізичної мережі або підмережі, то будь-які проблеми раутінгу вирішуються за допомогою технологій, властивих даному типу мережі. Наприклад, стандарт Ethetnet визначає спосіб, у який довільна станція-джерело може комунікуватися із станцією-призначенням всередині цієї ж мережі. IP-раутінг використовується тоді, коли повідомлення необхідно пересилати від станції джерела, розташованої в одній мережі, до станції призначення, розміщеної в іншій мережі(можливо, з іншими мережевими технологіями на фізичному та канальному рівнях). Тоді повідомлення пересилається через шлюз (раутер), який об’єднує ці дві мережі, коли вони суміжні; або через ряд проміжних вузлів-раутерів, якщо мережі несуміжні. Якщо пакет приходить на раутер від станції, яка міститься у тій самій мережі, що й станція призначення, то застосовується локальна мережева технологія для доручення цього повідомлення до станції-призначення.
Використання маршрутизації при об’єднанні мереж, як правило, спричиняє потребу застосування протоколів рівня 3 (мережевого рівня) еталонної моделі OSI. Мережевий рівень працює з використанням як мережевих адрес, так і фізичних, точніше, MAC-адрес індивідуальних станцій (вузлів). Адреса станції мережевого рівня та MAC-адреса мережевого адаптера є принципово різними видами адрес, тому перед здійсненням передачі пакета ці адреси повинні бути “розв’язані”, тобто між ними повинна бути встановлена відповідність.
Раутінг часто протиставляється бріджінгу (операціям мостів), який реалізує вирішення подібних задач. Основна відмінність між ними полягає в тому, що бріджінг діє на рівні 2 (канальний рівень), тоді як раутінг працює на рівні 3 (мережевий рівень) еталонної моделі OSI. Тобто, при маршрутизації і бріджінгу використовується різна інформація для забезпечення передачі пакетів від джерела до призначення.
Ми зосередемо свою увагу на міжмережевій маршрутизації або IP-раутінгу (internet routing, IP routing). Раутінг включає два основні компоненти:
встановлення шляху (маршруту) пересилання пакетів, оптимального згідно з вибраного критерію (метрикою);
транспортування пакетів(інколи цю операцію називають комутацією (switching) на рівні 3).
Комутація відносно проста, а визначення маршруту може бути дуже складним процесом.
Можливі різні способи для знаходження маршрутів між мережами. Одним із способів є обмін інформації про структуру мережі, якою обмінюються раутери для знаходження маршруту. Приймається, що кожен об’єкт (станція або раутер), які беруть участь у роботі протоколу раутінгу, зберігають інформацію про всі станції призначення всередині системи. Загалом інформація про всі об’єкти, під’єднані до одної мережі, підсумована в окремому вході (рядку) таблиці - бази даних раутінгу, яка описує маршрути до всіх призначень у цій мережі. Це підсумування можливе тому, що в IP-мережах раутінг прозорий для станцій. Кожен вхід у цій базі даних раутінгу містить адресу наступного стрибка, тобто раутера, до якого повинні висилатися данограми, призначені для об’єкта. Вважається, що конкретне призначення може бути досягнене оптимальним шляхом - через висилання пакету до раутера, який репрезентує “наступний стрибок” на шляху до призначення. Коли раутер приймає вхідний пакет, то він перевіряє адресу призначення і пробує досягнути цю адресу через наступний стрибок. Основна відмінність між раутером і типовою станцією з точки зору раутінгу полягає в тому, що станція звичайно має мало інформації щодо структури мережі, до якої вона під’єднана. Більшість станцій мають тільки два маршрути у своїй таблиці раутінгу: маршрут до локальної мережі і маршрут за замовчуванням (default route) до найближчого раутера. Станція висилає всі нелокальні данограми до локального раутера для подальшого їх доручення. Раутери також можуть маршрутувати данограми на підставі часткової інформації, однак, тільки за певних передумов.
Вхід таблиці раутінгу може включати “метрику”, яка визначає повну відстань до об’єкта. Метрика – це стандарт вимірювання, наприклад, довжина шляху, яка вживається в алгоритмах раутінгу для визначення оптимального шляху до призначення. Довжина шляху або відстань це загальне поняття, яке охоплює часову затримку при пересиланні повідомлень, грошову вартість пеерсилання повідомлень, якість зв’язку і багато іншого. Загалом вид інформації про маршрути залежить від алгоритму раутінгу що використовується. Хоч раутінг в основному базується на інформації про мережі, однак водночас необхідне зберігати маршрути до окремих станцій, тому, що ми розглядаємо мережу як таку, що є невидимою з IP-рівня (при розгляді її структури з позиції мережевої частини IP-адреси). Тоді всім об’єктам у даній мережі можна приписати ту саму відстань.
Для реалізації маршрутизації необхідна наступна інформація для кожного призначення:
адреса: це може бути IP-адреса станції або мережі;
шлюз: перший шлюз (раутер) вздовж маршруту до призначення;
інтерфейс: фізична мережа, яка повинна бути використана для досягнення першого шлюзу (раутера);
метрика: число, яке позначає відстань до призначення;
таймер: інтервал часу від моменту, коли даний запис модифікувався.
Крім цього, можуть бути включені різні прапорці та інша додаткова інформація.
База даних (таблиця) раутінгу ініціюється описом об’єктів, які безпосередньо під’єднані до системи. Раутери обслуговують свої таблиці маршрутизації, пересилаючи різні повідомлення між суміжними (сусідніми) раутерами. Повідомлення модифікації маршруту є одним з таких повідомлень. Модифікація маршруту загалом містить всю таблицю раутінгу або її частину. Аналізуючи модифікації маршрутів від усіх суміжних раутерів, даний раутер може побудувати детальну картину мережевої топології.
Для визначення оптимального маршруту раутери порівнюють метрики. икористанням даного шлюза. Для будь-якого об’єкта, який є учасником роботи протоколу раутінгу, виконується наступна процедура:
Зберігається таблиця із записом для кожного можливого призначення у системі, який містить відстань D до призначення і перший шлюз G на маршруті. Концептуально можливий запис для самого об’єкта з метрикою 0.
Періодично висилаються модифікації раутінгу до кожного сусіда. Модифікація – це система повідомлень, які містять інформацію із таблиці раутінгу – записом для кожного призначення із відстанню до цього призначення.
Коли модифікація раутінгу прибуває від сусіда G , слід додати вартість, пов’язану із мережею, спільною із G. Це може бути мережа, через яку поступають модифікації. Далі слід обчислити результуючу метрику D і порівняти її із значенням у поточному вході таблиці раутінгу. Якщо нове значення D для призначення N менше від наявного значення D, то прийняти новий маршрут, тобто змінити запис таблиці раутінгу для N із метрикою D і шлюзом G . Якщо G = G, то слід використати нову метрику, навіть коли вона більша від чинної.
Кожен запис таблиці раутінгу визначає мережеву частину адреси призначення і вказує адресу наступного вузла вздовж шляху, використаного для досягнення цієї мережі. Однак вище не дана відповідь на питання: як раутер отримує записи, які повинні бути поміщені в таблицях. Відповідь залежить від складності архітектури мережі та її розміру. Загалом встановлення маршрутів включає їх ініціювання та модифікацію. Кожен раутер при старті повинен встановити початкову систему маршрутів і повинен їх модифікувати при виникненні змін, наприклад, при відмові мережевого інтерфейсу. Спосіб ініціювання маршрутів залежить від операційної системи. Можливі, наприклад, зберігання таблиці раутінгу на жорсткому диску і поміщення її в оперативну пам’ять при старті, початок роботи з порожньої таблиці та заповнення її шляхом виконання певних наперед визначених команд, виведення початкової системи маршрутів з множини адрес локальної мережі, до якої під’єднаний вузол, і запитування додаткових маршрутів у сусідніх вузлів. Після побудови початкової таблиці раутінгу раутер мусить пристосовуватися до змін маршрутів.
У малих мережах з повільними змінами мережевий адміністратор може встановлювати і модифікувати маршрути вручну. У великому середовищі з частими змінами це необхідно здійснювати автоматично. Відповідно до цього алгоритми раутінгу поділяють на статичні та динамічні.
Статичні алгоритми раутінгу найбільш жорсткі з усіх. Відображення таблиць раутінгу здійснює мережевий адміністратор перед початком раутінгу і тільки він може змінювати їх. Алгоритми, які використовують статичний раутінг, прості для проектування і добре працюють в середовищах, де мережевий трафік відносно прогнозований і будова мережі відносно проста. Оскільки системи із статичним раутінгом не можуть реагувати на зміни в мережі, вони в загальному вважаються непридатними у сьогоднішніх великих, постійно змінни мережах. Переважна більшість алгоритмів раутінгу, які застосовуються зараз, є динамічними.
Динамічні алгоритми раутінгу застосовуються до зміни топологій мереж в реальному часі. Це здійснюється через аналіз вхідних повідомлень про модифікацію раутінгу. Якщо виявляється, що з’явилися зміни в мережі, то програмне забезпечення раутера перераховує маршрути і висилає нові модифікаційні повідомлення. Ці повідомлення поширюються в мережі, спонукаючи раутери використовувати алгоритми раутінгу і відповідно змінювати таблиці раутінгу. Поширена плутанина між поняттями маршрутованих протоколів та протоколів раутінгу (маршрутизації). Маршрутованими протоколами є протоколи, які дозволяють маршрутувати свої пакети через об’єднання мереж. Прикладами таких протоколів є Internet Protocol (IP), DECnet, AppleTalk, NetWare, OSI, Banyan VINES і Xerox Network System (XNS). Протоколи раутінгу (маршрутизації) – це протоколи, які впроваджують алгоритми маршутування. Приклади таких протоколів – це Interior Gateway Routing Protocol (IGRP), Enhanced Interior Gateway Routing Protocol (EIGRP), Open Shortest Path First (OSPF), Exterior Gateway Protocol (EGP), Border Gateway Protocol (BGP), OSI Routing, Advanced Peer-to-Peer Networking, Intermediate System to Intermediate System (IS-IS) та Routing Information Protocol (RIP).
Алгоритми динамічного раутінгу можуть використовувати статичні маршрути. Наприклад, раутер по замовчуваню (раутер, до якого висилаються всі незмаршрутизовані пакети) може бути призначеним. Цей раутер діє як склад для всіх незмаршрутизованих пакетів, з функцією забезпечити обслуговування певним чином цих пакетів.
Алгоритми комутації відносно прості та в основному такі самі у більшості протоколів раутінгу. У більшості випадків станція визначає, що вона повинна вислати пакет до іншої станції або раутера. Отримавши певним чином адресу раутера, станція-джерело висилає пакет, адресований до конкретної MAC-адреси, однак з адресою мережевого рівня станції-призначення.
Перевіривши мережеву адресу призначення, раутер визначає, чи він знає, як переслати пакет за адресою наступного стрибка. Якщо раутер не знає, як переслати пакет, він звичайно відкидає його, в іншому випадку раутер змінює MAC-адресу призначення на адресу наступного стрибка і висилає пакет.
Маршрутизатор наступного стрибка може не знати остаточну адресу станції призначення. Якщо це так, то знову використовуєть технологія наступного стрибка звичайно до іншого раутера, який здійснює аналогічний процес прийняття/рішення. Коли пакет переміщається через мережу, то його MAC-адреса змінюється, але мережева адреса залишається постійною.
IP-маршрутизація є простою, особливо для робочої станції. Якщо станція призначення безпосередньо під’єднане до робочої станції відправника (наприклад, через PPP-зв’язок), або міститься в одному і тому ж сегменті мережі (наприклад Ethernet), то IP-данограма безпосередньо пересилається до місця призначення, інакше станція пересилає IP-данограму до раутера і покладається на те, що він доставить данограму за призначенням. Відповідно до цього розрізняють прямий і непрямий раутінг.
Прямиий (локальний) раутінг або пряме доручення – це пересилання IP-данограми від одного вузла безпосередньо до іншого в рамках однієї фізичної мережі з використанням однієї фізичної передавальної системи (наприклад, тільки Ethernet). Пряме доручення, як правило, не використовує раутерів. Передавач упаковує IP-данограму в фізичні рамки, позначає IP-адресу призначення фізичною адресою і висилає ці рамки безпосередньо за призначенням. Передавач може встановити, що можна використати пряме доручення за співпадінням мережевих префіксів IP-адрес: власної та адресата, тобто коли мережеві частини адрес ідентичні. Пряме доручення здійснюється у такій послідовності:
Станція-джерело порівнює мережеву частину адреси призначення з мережевою частиною адреси власної мережі.
Якщо ці мережеві частини адрес тотожні, то станція здійснює пошук у власній таблиці протоколу ARP або здійснює ARP-запит для знаходження фізичної адреси станції-призначення.
Коли інформація отримана, станція відображає фізичну адресу на IP-адресу і висилає цю інформацію на канальний рівень для подальшого інкапсулювання в рамку Ethernet і пересилання.
Непрямий (віддалений) раутінг або непряме доручення стосується ситуації, коли станція-джерело і станція-призначення мають різні мережеві адреси. У цьому випадку використовується раутер. Непряме доручення значно складніше від прямого, бо в загальному випадку вузол-передавач мусить ідентифікувати раутер, до якого слід переслати IP-данограму, а цей раутер повинен вислати данограму в напрямку до мережі-призначення.
Нехай станція-джерело висилає повідомлення за фізичною адресою раутера, визначивши на мережевому рівні мережеву адресу віддаленої мережі. Завдання раутера полягає, по-перше, в утриманні таблиці раутінгу і, по-друге, у висиланні пакету при необхідності до наступного раутера. Цей процес продовжується до досягнення мережі-призначення.
Щоб коректно передавати IP-данограми, станція і раутер керуються інформацією щодо призначення (мережі, підмережі, станції) і способу її досягнення. Ця інформація зберігається в таблиці раутінгу у кожній станції або в раутері. Станції звичайно зберігають тільки мінімум інформації, залишаючи раутерам основний обсяг інформації про раутінг. Зокрема, раутери зберігають фізичні адреси раутерів, під’єднаних до локального сегменту мережі. Зауважимо, що для економії місця в пам’яті та більшої ефективності при маршрутизації раутери зазвичай використовують адреси мереж, а не безпосередньо адреси станцій в мережах.
Станція передає до раутера всі пакети, призначені для мереж поза даним локальним сегментом. Таблиця раутінгу містить входи до всіх мереж, безпосередньо сполучених з даною мережею. Ця таблиця може містити маршрути до окремих станцій і маршрути за замовчуванням. Кожний запистаблиці раутінгу має щонайменше два поля:
одне поле містить адресу мережі або станції призначення рівня 3;
інше поле містить IP-адресу наступного раутера або шлюза, до якого повинна бути вислана данограма з даною адресою призначення, якщо призначенням не є суміжна мережа.
Наступний раутер або шлюз повинен бути розташований у суміжній мережі., тобто у мережі, безпосередньо сполученій з даною. Якщо станція-джерело встановить, що станція-призначення данограми не міститься у суміжній мережі, то здійснюються такі кроки:
Програмне раутінгове забезпечення станції перевіряє свою таблицю раутінгу, щоб побачити, чи ця таблиця містить запис для станції-призначення. Якщо такий запис знайдено, то данограма висилається до станції-призначення.
Якщо запис для станції-призначення не знайдено, то здійснюється перевірка таблиці раутінгу на наявність у ній запису для мережі-призначення данограми. Якщо такий вхід знайдено, то данограма висилається до відповідного раутера або шлюза.
Якщо запис для мережі-призначення не знайдено, то таблиця раутінгу перевіряється на наявність входу для раутера або шлюза за замовчуванням. Якщо такий вхід знайдено, то данограма висилається до відповідного раутера або шлюза.
Якщо відсутні раутер або шлюз за замовчуванням, то генерується повідомлення про помилку.
Коли данограма прийнята раутером або шлюзом, описаний процес (п.п. 1-4) повторюється.
Отже для вирішення задачі маршрутизації на IP-рівні використовуються таблиць маршрутизації (routing table), які використовуються для вибору правильного маршруту пересилання IP-данограм. Типовий запис в таблиці раутінгу має такий вигляд:
IP-адреса призначення (destination). Це може бути як повна адреса станції, так і адреса мережі (позначається відповідним прапорцем для даного запису). Різниця між IP адресою мережі та станції в тому, що для адреси станції поле HostID ніколи не може дорівнювати 0, тоді як для адреси мережі воно повинно бути рівне 0.
Мережева маска (netmask) – визначає довжину префікса IP-адреси (NetID).
IP адреса порта раутера (gateway) або безпосередньо приєднаної мережі (визначається прапорцем), куди будуть передаватися пакети, у випадку коли раутер скористається даним записом в таблиці маршрутизації.
Прапорці (flags). Один з них визначає чи адреса призначення (destination) є адресою комп’ютера, чи адресою мережі. Інший, чи то, куда пакети будуть передаватися (gateway), є раутером, чи безпосередньо приєднаним мережевим інтерфейсом.
Мережевий інтерфейс (interface або netif), через який буде передаватися IP-данограма, якщо даний запис буде використано для маршрутизації.
Таймер (expire), який, якщо встановлений, вказує на те, скільки секунд даний запис може вважатися дійсним
Давайте подивимося як в загальному виглядає таблиця маршрутизації для одного з найбільш поширених протоколів динамічної маршрутизації Протокол раутінгової інформації (RIP).
Протокол раутінгової інформації (Routing Information Protocol - RIP) – це протокол раутінгу, початково опрацьований фірмою Xerox і використаний у системі протоколів Xerox Network Systems (XNS). RIP діє сумісно із операційною системою UNIX та системою Transmission Control Protocol/Internet Protocol (TCP/IP) та пристосований виробниками персональних комп’ютерів для застосування у їх мережевих продуктах. RIP є основою для протоколів маршрутування AppleTalk, Novell, 3Com, Ungermann-Bass і Banyan.
Існують дві версії протоколу RIP. Версія 1 (RIPv1 або RIP-1) – це широко вживаний протокол, який, проте, має численні обмеження. Версія 2 (RIPv2 або RIP-2) – це вдосконалена версія, опрацьована для подолання обмежень RIPv1, але із викокою степінню сумісності з RIPv1. Звичайно позначення RIP відносять до версії 1.
RIP є стандартним протоколом із статусом вибіркового (elective). Він описаний у RFC 1058 і звичайно впроваджується за допомогою програми (daemon) routed (читається “route D”). RIP також підтримується програмами gated (читається “gate D”).
RIP є безпосереднім впровадженням раутінгу “вектор-відстань” для локальних мереж. Комунікація RIP використовує UDP як транспортний протокол з номером порта 520 як порта призначення. RIP оперує в одному з двох режимів: активному (який звичайно вживається раутерами) і пасивному (звичайно вживається станціями). Повідомлення RIP висилаються в данограмах UDP і кожна данограма містить до 25 повідомлень.
Кожен запис в таблиці раутінгу RIP зберігає різноманітну інформацію, а саме інформацю про адресу кінцевого призначення, наступний стрибок на шляху до цього призначення і метрику. Метрика визначає відстань у кількості стрибків до призначення. У таблиці раутінгу наявна також інша інформація, наприклад таймери, пов’язані з маршрутом. Типова таблиця раутінгу RIP наведена нище:
Таблиця. Типовий вигляд таблиці раутінгу RIP
RIP підтримує тільки найкращий маршрут до призначення. Коли нова інформація забезпечує кращий маршрут, то ця інформація заміщає стару. Зміни мережевої топології можуть викликати зміни маршрутів, наприклад, новий маршрут стає кращим для конкретного призначення. Коли мережева топологія змінюється, то це відображається в повідомленнях про модифікацію раутінгу. Наприклад, коли раутер виявляє відмову сполучення або раутера, то він перераховує свої маршрути і висилає повідомлення про модифікацію раутінгу. Кожен раутер, який приймає ці повідомлення, вносить зміни у свої таблиці та поширює інформацію про зміни.
EMBED Visio.Drawing.5
Рис. 1 показує формат RIP-пакету версії 1 (RIPv1) для IP-реалізації, як це визначено RFC 1058 для IP-мереж в Internet. Інші варіанти RIP містять незначні відмінності у форматах і/або назвах полів, але базовий алгоритм раутінгу залишається незмінним.
Рис. 1. Формат пакету RIP.
Поля RIP-пакету мають такі значення:
Команда (command) – позначає, чи пакет є запитом, чи відповіддю (1 – запит, 2 – відповідь). Команда-запит питає систему-відповідача про вислання всієї або частини її таблиці раутінгу. Адреса системи-призначення, від якого очікується відповідь, вказується в пакеті. Команда-відповідь – це відповідь на запит або пакет регулярної модифікації таблиці раутінгу. У пакет-відповідь система-відповідач включає всю або частину своєї таблиці раутінгу. Регулярні пакети про модифікацію таблиці раутінгу включають в себе цілу таблицю раутінгу.
Номер версії (version number) – визначає номер реалізованої версії RIP (для RIPv1 –це 1). При можливості багатьох реалізацій RIP в об’єднанні мереж це поле застосовується для сигналізації про різні, можливо несумісні реалізації протоколу.
Ідентифікатор сімейства адрес (Address family identifier) – наступне поле після 16-бітового поля, заповненого нулями, яке визначає конкретне сімейство адрес, що використовується. Для Internet це сімейство IP-адрес (значення ідентифікатора дорівнює 2), однак можуть бути представлені також інші типи мереж.
IP-адреса мережі k (IP-address k) – слідує за іншим полем, заповненим нулями. Для Internet-реалізацій це поле звичайно містить IP-адресу k-ї мережі, до якої скероване повідомлення.
Метрика (metric) – слідує за двома 32-бітовими полями, заповненими нулями, і визначає лічильник стрибків. Лічильник стрибків для безпосередньо під’єднаного інтерфейсу рівний 1, а кожен проміжний раутер збільшує значення лічильника на 1 до максимального значення 15; значення лічильника 16 позначає відсутність маршруту до станції призначення.
В одному RIP-пакеті може міститися до 25 наборів полів від ідентифікатора сімейства адрес до поля метрики, тобто до 25 повідомлень для різних призначень. При 25 маршрутах пакет має довжину 2520+4=504 байти, що відповідає максимальній довжині пакета у 512-байтовій данограмі UDP. Для передачі інформації від великих таблиць раутінгу використовуються багаточастинні RIP-пакети.
Подібно до інших протоколів раутінгу, RIP використовує певні таймери для регулювання своїх параметрів:
Таймер модифікації RIP-раутінгу t1 у загальному випадку встановлюється на 30 с, тобто кожен раутер може вислати повну копію своєї таблиці раутінгу до всіх сусідів кожних 30 секунд.
Таймер нечинного маршруту t2 визначає, скільки часу повинно минути до того, коли раутер, який обслуговує певний маршрут, сприйме маршрут як недійсний. Типове початкове значення для цього таймера дорівнює 90 с. Коли маршрут позначений як нечинний, то сусіди повідомляються про цей факт. Це повідомлення з’являється перед вичерпанням таймера вилучення маршруту t3.
Коли таймер вилучення маршруту t3 вичерпується, то маршрут видаляється із таблиці раутінгу. Типове початкове значення для цього таймера дорівнює 270 с.
При старті протокол RIP висилає повідомлення до всіх сусідів (через UDP-порт 520), запитуючи про копії таблиць раутінгу сусідів. Це повідомлення є запитом (команда=1) із сімейством адрес 0 та метрикою 16. Сусідні раутери відповідають пересиланням копій своїх таблиць раутінгу.
Коли RIP працює в активному режимі, він висилає всю свою таблицю раутінгу або її частину до всіх сусідніх раутерів (через широкомовні повідомлення або висилаючи їх через зв’язки “пункт-пункт”). Це здійснюється кожних 30 с. Таблиця раутінгу висилається як відповідь (команда=2, навіть коли не було запиту). Коли RIP виявляє зміну метрики, він повідомляє про це інші раутери. Коли RIP приймає відповідь, контролюється правильність повідомлення і локальна таблиця раутінгу при потребі модифікується. Для покращення характеристик і надійності RIP визначає, що як тільки раутер (або станція) отримав маршрут від іншого раутера, то він повинен зберігати цей маршрут, доки не отримає кращий (із строго меншою вартістю). Це запобігає коливанням маршрутів між двома або більше шляхами з однаковою вартістю.
Коли раутер прийняв запит, відмінний від повної таблиці, то відповідь на цей запит повертається із метрикою для кожного запису, зі значеннями що беруться з локальної таблиці раутінгу. Якщо такий маршрут відсутній в локальній таблиці, то метрика встановлюється рівною 16. Маршрути RIP, отримані від інших раутерів, стають нечинними, якщо вони не будуть повторно оголошені протягом 180 с (6 циклів широкомовних повідомлень RIP). Коли маршрут стає нечинним, то його метрика встановлюється рівною 16 (невизначена), нечинність маршруту повідомляється сусідам даного раутера і після наступних 60 с маршрут видаляється із локальної таблиці раутінгу.
Протокол RIPv1 має такі особливі обмеження:
Максимальне значення метрики дорівнює 16, що означає недосяжність мережі. Тому RIP є неадекватним протоколом для великих мереж, тобто таких, де лічильник стрибків може перевищувати значення 15.
RIPv1 не підтримує мережеві маски змінної довжини. У повідомленнях RIPv1 нема параметра, який визначав би мережеву маску, пов’язану з IP-адресою.
RIPv1 не має механізму для забезпеченя проходження модифікацій таблиць раутінгу від авторизованих раутерів. Він не є захищеним протоколом.
RIPv1 використовує тільки фіксовані метрики для порівняння альтернативних маршрутів. Він не може бути викорстаний у ситуаціях, коли маршрути повинні бути змінені на підставі параметрів реального часу, таких як виміряна затримка, надійність або завантаженість.
Протокол залежить від підрахунку до безмежності при розв’язанні певних нештатних ситуацій.
RIPv2 – це проект стандартного протоколу із статусом опційного. Він описаний у RFC 1723. RIPv2 розширює можливості RIPv1. Він менш потужний, ніж інші відповідні протоколи IGP, наприклад, OSPF або IS-IS, однак має переваги – простоту впровадження і менший обсяг службової інформації. RIPv2 опрацьований із наміром заміщення RIPv1 у мережах малого або середнього розміру, коли застосовується поділ на підмережі (subnetting) або на надмережі (supernetting), зокрема при застосуванні безкласового раутінгу (CIDR). RIPv2 може співпрацювати з RIPv1. Формат RIP-повідомлень для версії 2 розширений у порівнянні з версією 1, за рахунок використання полів, зарезервованих (заповнених нулями) для RIPv1.
Підсумувавши все вище сказане можемо зробити висновок. Routing Information Protocol (RIP)- є протоколом динамічної маршрутизації побудований на базі стандарту. Це протокол маршрутизації типу вектор-відстань, що використовується маршрутизаторами для обміну маршрутизаційною інформацією. RIP використовує підрахунок стрибків для визначення найкращого маршруту до призначення. Кількість стрибків – це кількість маршрутизаторів, що пакет мусить пройти поки не досягне призначення. Максимально можлива кількість стрибків для цього протоколу є 15. Тому це протокол можна застосовувати лише в мережах з невеликою кількістю маршрутизаторів. В RIP мережі, кожен маршрутизатор розсилає всім своїм безпосереднім сусідам повну копію своєї таблиці маршрутизації кожні 30 секунд. Коли сусідній маршрутизатор отримує копію таблиці маршрутизації від сусіда, він використовує її для оновлення власної таблиці маршрутизації і потім відсилає свою таблицю маршрутизації до сусідів. Ця процедура триває до тих пір, поки всі маршрутизатори не перейдуть в стан сходження, в якому всі маршрутизатори мають єдине представлення про топологію мережі.
Для того, що сконфігурувати протокол RIP, необхідно сконфігурувати інтерфейси, запустити протокол RIP, визначити мережі, до яких безпосередньо маршрутизатор під’єднаний.
Ця лабораторна робота буде побудована на основі топології мережі, що приведена на Рис.2. Для прикладу, сконфігуруємо протокол RIP на маршрутизаторах Lab_A і Lab_B. Для початку сконфігуруємо інтерфейси обох маршрутизаторів:
Router>enableRouter#configure terminalRouter(config)#hostname Lab_ALab_A(config)#interface ethernet 0Lab_A (config-if)#ip address 192.5.5.1 255.255.255.0Lab_A (config-if)#no shut
Lab_A (config)#interface ethernet 1Lab_A (config-if)#ip address 205.7.5.1 255.255.255.0Lab_A (config-if)#no shutLab_A (config-if)#exit Lab_A (config)#interface serial 0Lab_A (config-if)#ip address 201.100.11.1 255.255.255.0Lab_A (config-if)#clock rate 56000
Lab_A (config-if)#no shutLab_A (config-if)#exit Lab_A (config)#
Router>enableRouter#configure terminalRouter(config)#hostname Lab_BLab_ B (config)#interface ethernet 0Lab_ B (config-if)#ip address 219.17.100.1 255.255.255.0Lab_ B (config-if)#no shut
Lab_ B (config)#interface serial 0Lab_ B (config-if)#ip address 205.7.5.1 255.255.255.0
Lab_ B (config-if)#clock rate 56000Lab_ B (config-if)#no shutLab_ B (config-if)#exit Lab_ B (config)#interface serial1Lab_ B (config-if)#ip address 201.100.11.2 255.255.255.0
Lab_ B (config-if)#no shutLab_ B (config-if)#exit Lab_ B (config)#
Тепер запустимо протокол RIP на цих маршрутизаторах і визначимо для маршрутизатора, які мережі будуть приймати участь у процесі RIP маршрутизації(для цього ми визначемо всі мережі, що безпосереднь під’єднані до маршрутизатора):
Lab_A (config)#router rip
Lab_A (config-router)#network 192.5.5.0
Lab_A (config-router)#network 201.100.11.0
Lab_A (config-router)#network 205.7.5.0
-
Lab_B (config)#router rip
Lab_B (config-router)#network 199.6.13.0
Lab_B (config-router)#network 201.100.11.0
Lab_B (config-router)#network 219.17.100.0
Після того, як ми запустили процес маршрутизації ми можемо перевірити чи працює сконфігурована нами мережа, використовуючи команду show ip route. Ця команда показує таблицю маршрутизації. Зауважте, що маршрути, що позначені літерою R – це маршрути вивчені за допомогою протоколу RIP.
Рис.2 Топологія мережі.
Хід роботи
1. Під’єднайтеся до маршрутизатора А і увійдіть в Привілейований режим.
2. Увійдіть в конфігураційний режим в і задайте ім’я хоста Lab_A.
3. Згідно Рис.2. сконфігуруйте інтерфеси маршрутизатора Lab_A. Не забудьте активізувати інтерфейси.
4. Тепер під’єднайтеся до маршрутизатора В і увійдіть в Привілейований режим.
5. Увійдіть у конфігураційний режим і задайте ім’я маршрутизатора Lab_B.
6. Згідно Рис.2. сконфігуруйте інтерфейси маршрутизатора Lab_B. Не забудьте активізувати інтерфейси.
7. Тепер запустіть протокол RIP на маршрутизаторах Lab_A і Lab_B і визначте мережі, які будуть приймати участь в процесі маршрутизації.
8. Тепер переконайтеся, що протокол RIP почав функціонувати. Введіть команду, яка продемонструє вам таблицю маршрутизації.
9. Закінчити роботу і здати звіт.