Протокол маршрутизації внутрішніх роутерів (Interior Gateway Routing Protokol-IGRP) є протоколом маршрутизації, розробленим в середині 1980 рр. компанією Cisco Systems, Inc. Головною метою, яку переслідувала Cisco при розробці IGRP, було забезпечення живучого протоколу для маршрутизації в межах автономної системи (AS), що має довільно складну топологію і включає в себе носій з різноманітними характеристиками ширини смуги і затримки. AS є набором мереж, які знаходяться під єдиним управлінням і спільно використовують загальну стратегію маршрутизації. Зазвичай AS присвоюється унікальний 16-бітовий номер, який призначається Центром Мережевий Інформації (Network Information Center - NIC) Мережі Міністерства Оборони (Defence Data Network - DDN).
В середині 1980 рр. найпопулярнішим протоколом маршрутизації всередині AS був Протокол Інформації Маршрутизації (RIP). Хоча RIP був цілком придатний для маршрутизації в межах щодо однорідних единенной мереж невеликого або середнього розміру, його обмеження стримували зростання мереж. Зокрема, невелика допустима величина числа пересилань (15) RIP обмежувала розмір единенной мережі, а його єдиний показник (число пересилань) не забезпечував достатню гнучкість в складних середовищах (дивись Главу 23 " RIP "). Популярність роутерів Cisco і живучість IGRP спонукали багато організацій, які мали великі единенной мережі, замінити RIP на IGRP.
Первісна реалізація IGRP компанії Cisco працювала в мережах IP. Однак IGRP був призначений для роботи в будь-який мережевий середовищі, і незабаром Cisco розповсюдила його для роботи в мережах використовують Протокол Сет без Встановлення З'єднання (Connectionless Network Protocol - CLNP) OSI.
IGRP є протоколом внутрішніх роутерів (IGP) з вектором відстані. Протоколи маршрутизації з вектором відстані вимагають від кожного роутера відправлення через певні інтервали часу всім сусіднім роутера всієї або частини своєї маршрутної таблиці в повідомленнях про коригування маршруту. У міру того, як маршрутна інформація поширюється по мережі, роутери можуть обчислювати відстані до всіх вузлів единенной мережі.
Протоколи маршрутизації з вектором відстані часто протиставляють протоколів маршрутизації з зазначенням стану каналу, які відправляють інформацію про локальному з'єднанні в усі вузли обєднання мережі. Розгляд двох популярних протоколів, що використовують алгоритм маршрутизації з зазначенням стану каналу, "Відкритий протокол з алгоритмом пошуку найкоротшого шляху" (Open Shortest Path First) і "Проміжна система-Проміжна система" (Intermediate System to Intermediate System (IS-IS)), дається відповідно в Главі 25 " OSPF "І Главі 28" маршрутизація OSI ".
IGRP використовує комбінацію (вектор) показників. Затримка единенной мережі (internetwork delay), ширина смуги (bandwidth), надійність (reliability) і навантаження (load) - всі ці показники враховуються у вигляді коефіцієнтів при прийнятті маршрутного рішення. Адміністратори мережі можуть встановлювати чинники вагомості для кожного з цих показників. IGRP використовує або встановлені адміністратором, або встановлюються за замовчуванням вагомості для автоматичного розрахунку оптимальних маршрутів.
IGRP передбачає широкий діапазон значень для своїх показників. Наприклад, надійність і навантаження можуть приймати будь-яке значення в інтервалі від 1 до 255, ширина смуги може приймати значення, що відображають швидкості пропускання від 1200 до 10 гігабіт на секунду, в той час як затримка може приймати будь-яке значення від 1-2 до 24-го порядку. Широкі діапазони значень показників дозволяють виробляти задовільну регулювання показника в единенной мережі з великим діапазоном зміни характеристик продуктивності. Найважливішим є те, що компоненти показників об'едіняются за алгоритмом, який визначає користувач. В результаті адміністратори мережі можуть впливати на вибір маршруту, покладаючись на свою інтуїцію.
Для забезпечення додаткової гнучкості IGRP дозволяє многотрактовую маршрутизацію. Дубльовані лінії з однаковою шириною смуги можуть пропускати окремий потік трафіку циклічним способом з автоматичним перемиканням на другу лінію, якщо перша лінія виходить з ладу. Кілька трактів можуть також використовуватися навіть в тому випадку, якщо показники цих трактів різні. Наприклад, якщо один тракт у три рази кращий за інший завдяки тому, що його показники в три рази нижче, то кращий тракт буде використовуватися в три рази частіше. Тільки маршрути з показниками, які знаходяться в межах певного діапазону показників найкращого маршруту, використовуються для многотрактовой маршрутизації.
Формат пакета IGRP представлений на Рис. 24-1.
Перше поле пакету IGRP містить номер версії (version number). Цей номер версії вказує на використовувану версію IGRP і сигналізує про різні, потенційно несумісних реалізаціях.
За полем версії йде полі операційного коду (opcode). Це поле позначає тип пакета. Операційний код, рівний 1, позначає пакет коригування; рівний 2-пакет запиту. Пакети запиту використовуються джерелом для запиту маршрутної таблиці з іншого роутера. Ці пакети складаються тільки з заголовка, що містить версію, операційний код і поля номера AS. Пакети коригування містять заголовок, за яким відразу ж йдуть записи даних маршрутної таблиці. На записі даних маршрутної таблиці не накладається ніяких обмежень, за винятком того, що пакет не може перевищувати 1500 байтів, разом із заголовком IP. Якщо цього недостатньо для того, щоб охопити весь об'ем маршрутної таблиці, то використовуються декілька пакетів.
За полем операційного коду йде поле випуску (edition). Це поле містить послідовний номер, який инкрементируется, коли маршрутна таблиця якимось чином змінюється. Це значення номера випуску використовується для того, щоб дозволити роутера уникнути обробки коригувань, що містять інформацію, яку вони вже бачили.
За полем випуску йде поле, що містить номер AS (AS number). Це поле необхідно з тієї причини, що роутери Cisco можуть перекривати кілька AS. Кілька AS (або процесів IGRP) в одному роутере зберігають інформацію маршрутизації AS окремо.
Наступні три поля позначають номер підмереж, номер головних мереж і номер зовнішніх мереж в пакеті коригування. Ці поля присутні тому, що повідомлення коригування IGRP складаються з трьох частин: внутрішньої для даної підмережі, внутрішньої для поточної AS і зовнішньої для поточної AS. Сюди включаються тільки підмережі мережі, пов'язаної з тією адресою, в який відправляється це коригування. Головні мережі (тобто не підмережі) поміщаються у "внутрішню для поточної AS" частина пакета, якщо тільки вони не позначені чітко як зовнішні. Мережі позначаються як зовнішні, якщо інформація про них надходить у зовнішній частині повідомлення з іншого роутера.
Останнім полем в заголовку IGRP є поле контрольної суми (checksum). Це поле містить якусь контрольну суму для заголовка IGRP і будь-яку інформацію коригування, що міститься в даному пакеті. Обчислення контрольної суми дозволяє приймаючому роутера перевіряти достовірність вхідних пакетах.
Повідомлення про коригування містять послідовність із семи полів даних для кожного запису даних маршрутної таблиці. Перше з цих полів містить три значущих байта адреси (address) (в разі адреси IP). Наступні п'ять полів містять значення показників. Перше з них означає затримку (delay), виражену в десятках мікросекунд. Діапазон перекриває значення від 10 мксек. до 167 сек. За полем затримки слід поле ширини смуги (bandwidth). Ширина смуги виражена в одиницях 1 Кбіт / сек і перекриває діапазон від лінії з шириною смуги 1200 біт / сек до 10 Гбіт / сек. Потім йде поле MTU, яке обеспечівет розмір MTU в байтах. За полем MTU йде поле надійності (reliability), яке вказує відсоток успішно переданих і прийнятих пакетів. Далі йде поле навантаження (load), яке позначає зайняту частину каналу в процентному відношенні. Останнім полем в кожного запису даних маршрутизації є поле числа пересилань (hop count). І хоча використання числа пересилань неявно виражене при визначенні показника, проте це поле міститься в пакеті IGRP і инкрементируется після обробки пакета, забезпечуючи використання підрахунку пересилань для запобігання петель.
IGRP має ряд характеристик, призначених для підвищення своєї стабільності. В їх число входять тимчасове утримання змін, розщеплені горизонти і коректування скасування.
Тимчасове утримання змін використовується для того, щоб перешкодити регулярним повідомленням про коррректіровке незаконно відновити в правах маршрут, який можливо був зіпсований. Коли який-небудь роутер виходить з ладу, сусідні роутери виявляють це через відсутність регурярного надходження запланованих повідомлень. Далі ці роутери обчислюють нові маршрути і відправляють повідомлення про коректування маршрутизації, щоб інформувати своїх сусідів про цю зміну маршруту. Результатом цієї діяльності є запуск цілої хвилі коригувань, які фільтруються через мережу.
Наведені в дію коректування надходять в кожне мережеве пристрій не одночасно. Тому можливо, що який-небудь пристрій, яке ще не було оповіщено про несправності в мережі, може відправити регулярне сполучення про коригування (яке вказує, що який-небудь маршрут, який тільки що відмовив, все ще вважається справним) в інший пристрій, що тільки що одержало повідомлення про дану несправності в мережі. В цьому випадку останнім пристрій буде тепер містити (і можливо, рекламувати) неправильну інформацію про маршрутизації.
Команди про тимчасове утримуванні змін наказують роутера утримувати протягом деякого періоду часу будь-які зміни, які можуть вплинути на маршрути. Період утримування змін зазвичай розраховується так, щоб він був більше періоду часу, необхідного для коригування всієї мережі відповідно до будь-яким зміною маршрутизації.
Поняття про розщеплених горизонтах виникає з того факту, що ніколи не буває корисним відправляти інформацію про якомусь маршруті назад в тому напрямку, з якого вона прийшла. Для ілюстрації цього положення розглянемо Рис. 24-2.
Роутер 1 (R1) спочатку об'являет, що у нього є якийсь маршрут до Мережі А. Роутер 2 (R2) немає підстав включати цей маршрут в свою коригування, що відправляється в R1, тому що R1 ближче до Мережі А. У правилі про розщеплених горизонтах говориться, що R2 повинен виключити цей маршрут незалежно від того, які коригування він відправляє в R1.
Правило про розщеплених горизонтах допомагає запобігати зациклення маршрутів. Наприклад, розглянемо випадок, коли інтерфейс R1 з Мережею А відмовляє. Без розщеплених горизонтів R2 продовжував би інформувати R1, що він може потрапити в Мережу А (через R1!). Якщо R1 не має достатньої інтелектом, він дійсно може вибрати маршрут, пропонований R2, в якості альтернативи своєму відмовив прямому з'єднанню, що призводить до утворення маршрутної петлі. І хоча утримання змін повинно перешкодити цьому, в IGRP реалізовані також розщеплені горизонти, тому що вони забезпечують додаткову стабільність алгоритму.
Коригування скасування маршруту
У той час як розщеплені горизонти повинні перешкоджати зациклення маршрутів між сусідніми роутерами, коригування скасування маршруту призначені для боротьби з більш великими маршрутними петлями. Збільшення значень показників маршрутизації звичайно вказує на появу маршрутних петель. В цьому випадку надсилаються коректування скасування, щоб видалити цей маршрут і перевести його в стан утримування. У реалізації IGRP компанії Cisco коректування скасування відправляються в тому випадку, якщо показник маршруту збільшується на коефіцієнт 1.1 або більш.
IGRP забезпечує ряд таймерів і змінних, що містять тимчасові інтервали. Сюди входять таймер коригування, таймер недіючих маршрутів, період часу утримування змін і таймер відключення. Таймер коригування визначає, як часто повинні відправлятися повідомлення про коригування маршрутів. Для IGRP значення цієї змінної, яке встановлюється за замовчуванням, так само 90 сек. Таймер недіючих маршрутів визначає, скільки часу повинен чекати роутер за відсутності повідомлень про коригування якогось конкретного маршруту, перш ніж явити цей маршрут недіючим. Час за замовчуванням IGRP для цієї змінної в три рази перевищує період коректування. Змінна величина часу утримування визначає проміжок часу утримування. Час за замовчуванням IGRP для цієї змінної в три рази більше періоду таймера коректування, плюс 10 сек. І нарешті, таймер відключення вказує, скільки часу має пройти перш, ніж який-небудь роутер повинен бути виключений з маршрутної таблиці. Час за замовчуванням IGRP для цієї величини в сім разів перевищує період коректування маршрутизації.
Даний документ підготовлений для HTML версії Володимиром Плешаковим.Версія: 0.1
Vladimir V. Pleshakov, [email protected].
Спонсори:
Хостинг: