Протокол
обміну керуючими повідомленнями ICMP h2>
Загальна характеристика протоколу ICMP b>
p>
Протокол обміну керуючими
повідомленнями ICMP (Internet Control Message Protocol) дозволяє маршрутизатора
повідомити кінцевому вузлу про помилки, з якими зіткнувся при машрутізатор
передачі будь-якого IP-пакету від даного кінцевого вузла. p>
Керуючі повідомлення ICMP НЕ
можуть направлятися проміжного маршрутизатора, який брав участь у передачі
пакету, з яким виникли проблеми, тому що для такої посилки немає адресної
інформації - пакет несе в собі тільки адресу джерела і адреса призначення, не
фіксуючи адреси проміжних маршрутизаторів. p>
Протокол ICMP - це протокол
повідомлення про помилки, а не протокол корекції помилок. Кінцевий вузол може
почати деякі дії для того, щоб помилка більше не виникала, але
ці дії протоколом ICMP не регламентуються. p>
Кожне повідомлення протоколу ICMP
передається по мережі всередині пакету IP. Пакети IP з повідомленнями ICMP
маршрутізіруются точно так само, як і будь-які інші пакунки, без пріоритетів,
тому вони також можуть губитися. Крім того, в завантаженої мережі вони можуть
викликати додаткове завантаження маршрутизаторів. Для того, щоб не викликати
лавини повідомлення про помилки, втрати пакетів IP, що переносять повідомлення ICMP про
помилки, не можуть породжувати нові повідомлення ICMP. p>
Формат повідомлень протоколу ICMP b>
p>
Існує кілька типів
повідомлень ICMP. Кожен тип повідомлення має свій формат, при цьому всі вони
починаються з загальних трьох полів: 8-бітного цілого числа, що позначає тип
повідомлення (TYPE), 8-бітного поля коду (CODE), який конкретизує призначення
повідомлення, і 16-бітного поля контрольної суми (CHECKSUM). Крім того,
повідомлення ICMP завжди містить заголовок і перші 64 біти даних пакету IP,
який викликав помилку. Це робиться для того, щоб вузол-відправник зміг більше
точно проаналізувати причину помилки, тому що всі протоколи прикладного рівня
стека TCP/IP містять найбільш важливу інформацію для аналізу в першій 64 бітах
своїх повідомлень. p>
Поле типу може мати наступні
значення: p>
Значення p>
Тип повідомлення p>
0 p>
Ехо-відповідь (Echo Replay) p>
3 p>
Вузол призначення недосяжний (Destination Unreachable) p>
4 p>
Придушення джерела (Source Quench) p>
5 p>
Перенаправлення маршруту (Redirect) p>
8 p>
Ехо-запит (Echo Request) p>
11 p>
Закінчення часу дейтаграми (Time Exceeded for a
Datagram) p>
12 p>
Проблема з параметром пакета (Parameter Problem on
a Datagram) p>
13 p>
Запит мітки часу (Timestamp Request) p>
14 p>
Відповідь позначки часу (Timestamp Replay) p>
17 p>
Запит маски (Address Mask Request) p>
18 p>
Відповідь маски (Address Mask Replay) p>
Як видно з використовуваних типів
повідомлень, протокол ICMP являє собою деякий об'єднання протоколів,
вирішальних свої вузькі завдання. p>
Ехо-протокол b>
p>
Протокол ICMP надає
мережевим адміністраторам кошти для тестування досяжності вузлів мережі. Ці
кошти являють собою дуже простий луна-протокол, що включає обмін двома
типами повідомлень: луна-запит і луна-відповідь. Комп'ютер або маршрутизатор посилають
по інтермережі луна-запит, в якому вказують IP-адресу сайту, досяжність
якого потрібно перевірити. Вузол, який отримує луна-запит, формує і
відправляє луна-відповідь і повертає повідомлення вузла - відправника запиту. У
запиті можуть міститися деякі дані, які повинні бути повернуті в
відповіді. Так як луна-запит і луна-відповідь передаються по мережі всередині IP-пакетів, то
їх успішна доставка означає нормальне функціонування всієї транспортної
системи інтермережі. p>
У багатьох операційних системах
використовується утиліта ping, яка призначена для тестування досяжності
вузлів. Ця утиліта зазвичай посилає серію луна-запитів до тестується, вузлу і
надає користувачеві статистику про загублені луна-відповідях і середньому
часу реакції мережі на запити. p>
Повідомлення про недосяжності вузла призначення b>
p>
Коли маршрутизатор не може
передати або доставити IP-пакет, він відсилає вузла, який відправив цей пакет,
повідомлення "Вузол призначення недосяжний" (тип повідомлення - 3). Це
повідомлення, яке містить в поле коду значення, уточнююче причину, по якій пакет
не був доставлений. Причина кодується таким чином: p>
Код p>
Причина p>
0 p>
Мережа недосяжна p>
1 p>
Вузол недосяжний p>
2 p>
Протокол недосяжний p>
3 p>
Порт недосяжний p>
4 p>
Потрібна фрагментація, а біт DF встановлено p>
5 p>
Помилка в маршруті, заданому джерелом p>
6 p>
Мережа призначення невідома p>
7 p>
Вузол призначення невідомий p>
8 p>
Вузол-джерело ізольований p>
9 p>
Взаємодія з мережею призначення адміністративно
заборонено p>
10 p>
Взаємодія з вузлом призначення адміністративно
заборонено p>
11 p>
Мережа недосяжна для заданого класу сервісу p>
12 p>
Вузол недосяжний для заданого класу сервісу p>
Маршрутизатор, що виявив по
будь-якої причини, що він не може передати IP-пакет далі по мережі, повинен
відправити ICMP-повідомлення вузла-джерела, та й тільки потім відкинути пакет. Крім
причини помилки, ICMP-повідомлення включає також заголовок недоставлених пакету
і його перші 64 біти поля даних. p>
Вузол або мережу призначення можуть
бути недосяжні через тимчасову непрацездатність апаратури, з-за того,
що відправник вказав неправильну адресу призначення, а також через те, що
маршрутизатор не має даних про маршрут до мережі призначення. p>
недосяжність протоколу і порту
означають відсутність реалізації будь-якого протоколу прикладного рівня у вузлі
призначення або ж відсутність відкритого порту протоколів UDP або TCP у вузлі
призначення. p>
Помилка фрагментації виникає
тоді, коли відправник послав в мережу пакет з ознакою DF, яка забороняє
фрагментацію, а маршрутизатор зіткнувся з необхідністю передачі цього пакета
в мережу зі значенням MTU меншим, ніж розмір пакету. p>
Перенаправлення маршруту b>
p>
Маршрутні таблиці в комп'ютерів
звичайно є статичними, так як конфігуруються адміністратором мережі, а у
маршрутизаторів - динамічними, формованими автоматично за допомогою
протоколів обміну маршрутної інформації. Тому з плином часу при
зміні топології мережі маршрутні таблиці комп'ютерів можуть застарівати. Крім
того, ці таблиці зазвичай містять мінімум інформації, наприклад, тільки адреси
декількох маршрутизаторів. p>
Для коректування поведінки
комп'ютерів маршрутизатор може використовувати повідомлення протоколу ICMP,
зване "Перенаправлення маршруту" (Redirect). p>
Це повідомлення надсилається у тому
випадку, коли маршрутизатор бачить, що комп'ютер відправляє пакет деякої
мережі призначення нераціональним чином, тобто не тому маршрутизатора
локальної мережі, від якого починається коротший маршрут до мережі
призначення. p>
Механізм перенаправлення
протоколу ICMP дозволяє комп'ютерам містити у файлі конфігурації тільки
IP-адреси його локальних маршрутизаторів. За допомогою повідомлень про перенаправлення
маршрутизатори повідомлятимуть комп'ютера всю необхідну йому інформацію про те,
якого маршрутизатора слід відправляти пакети для тієї чи іншої мережі
призначення. Тобто маршрутизатори передадуть комп'ютера потрібну йому частину їх
таблиць маршрутизації. p>
У повідомленні
"Перенаправлення маршруту" маршрутизатор поміщає IP-адреса
маршрутизатора, яким потрібно користуватися й надалі, і заголовок вихідного
пакета з першими 64 битами його поля даних. З заголовка пакету вузол дізнається,
для якої мережі необхідно користуватися зазначеним маршрутизатором. p>
Список
літератури h2>
Для підготовки даної роботи
були використані матеріали з сайту http://al.km.ru/
p>