Протокол повідомлень управління ICMP 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Протокол повідомлень управління ICMP



Протокол ICMP (Internet Control Message Protocol - міжмережевий протокол повідомлень управління) є стандартним обов’язковим протоколом, описаним у RFC 792 із модифікаціями, наведеними в RFC 950. Він є частиною STD 5, який також включає IP. Деякі аспекти застосувань ICMP викладені в RFC 1191 та RFC 1256.

Коли раутер або станція-призначення повинні інформувати станцію-джерело про помилки при обробці данограм, то вони використовують протокол ICMP. Протокол ICMP може бути охарактеризований таким чином:

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

q ICMP використовується для повідомлень про певні помилки, але він не робить IP надійним протоколом. Данограми все ще можуть бути недорученими без будь-якого повідомлення про їх втрату. Надійність повинна бути впроваджена протоколами вищих рівнів, які використовують IP.

q ICMP може повідомляти про помилки в будь-якій данограмі за винятком ICMP-повідомлень, щоб уникнути нескінченних повторень.

q Для фрагментованих IP-данограм ICMP-повідомлення висилаються тільки щодо помилок у фрагменті 0, тобто ICMP-повідомлення ніколи не відносяться до IP-данограм з неннульовим полем відступу фрагменту.

q ICMP-повідомлення ніколи не висилаються у відповідь на данограми із широкомовними або багатоадресними адресами призначення.

q ICMP-повідомлення ніколи не висилаються у відповідь на данограми, які мають IP-адреси джерела, що не є адресами одної станції. Інакше, адреса джерела не може бути нулем, адресою зворотнього зв’язку або багатоадресною.

q ICMP-повідомлення ніколи не висилаються у відповідь на ICMP-повідомлення про помилки. Вони можуть висилатися у відповідь на ICMP-запити (ICMP-типи 0, 8, 9, 10, 13..18).

q RFC 792 встановлює, що ICMP-повідомлення “можуть”, але не “мусять” бути генеровані для повідомлення про помилки при обробці IP-данограм. На практиці раутери можуть майже завжди генерувати ICMP-повідомлення про помилки, однак для станцій-призначень кількість генерованих ICMP-повідомлень залежить від реалізації.

Повідомлення ICMP

ICMP-повідомлення передаються інкапсульованими в IP-данограми, як показано на рисунку 5.11. IP-заголовок завжди має номер протоколу, рівний 1, що позначає ICMP, і тип послуг, рівний нулю (програма). Коли генерується ICMP-повідомлення про помилку, то воно завжди включає IP-заголовок і перші 8 байтів IP- данограми, що її викликала. Це дозволяє асоціювати помилку з конкретним протоколом (TCP чи UDP, завдяки полю protocol в IP-заголовку) і конкретним прикладним процесом (завдяки тому, що номери портів знаходяться в перших восьми байтах TCP- та UDP-заголовків).

 
 

Рис. 3.31. ICMP-повідомлення, інкапсульоване в IP-данограму.

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

Тип (type) тип ICMP-повідомлення; всього існує 15 різних типів;
Код (code) код ICMP-повідомлення одного типу;
Контрольна сума ICMP (checksum) 16-бітова контрольна сума, що охоплює все ICMP-повідомлення, обчислюється так само як для IP-заголовку; для обчислення контрольної суми поле повинне мати значення 0.
Ідентифікатор (identifier) Ідентифікатор, який застосовується для узгодження запиту/відповіді; повинен дорівнювати нулю.
Номер послідовності (sequence number) Номер послідовності, який застосовується для узгодження запити/відповіді; повинен дорівнювати нулю.
Маска адреси (address mask) 32-бітова маска адреси
Дані ICMP (body) Саме повідомлення, має змінну довжину, його формат залежить від типу ICMP-повідомлення.

Нижче наведені всі типи ICMP-повідомлень та їх короткий опис.

Тип Зміст
  ехо (відповідь)
  призначення недосяжне
  обірвання джерела
  переспрямування
  ехо (запит)
  оголошення раутера
  вимога раутера
  час вичерпаний (TTL=0)
  проблема із параметром
  запит часової позначки
  відповідь про часову позначку
  запит інформації (застаріле)
  відповідь про інформацію (застаріле)
  запит мережевої маски
  відповідь про мережеву маску

 

Поле код містить код помилки для данограми, про яку повідомляється у даному ICMP-повідомленні. Інтерпретація коду залежить від типу повідомлення:

Тип Код Зміст
    мережа недосяжна
    станція недосяжна
    протокол недосяжний
    порт недосяжний
    необхідна фрагментація і встановлено DF-біт
    невдалий маршрут від джерела
    невідома мережа призначення
    невідомий станція призначення
    станція-джерело ізольована (застаріла)
    доступ до мережі призначення адміністративно заборонений
    доступ до станції-призначення адміністративно заборонений
    для вибраного TOS мережа недосяжна
    для вибраного TOS комп’ютер недосяжний
    зв’язок адміністративно заборонений за допомогою фільтрування:
    порушення приорітету комп’ютера
    роз’єднання на основі приорітету
    переспрямування для мережі
    переспрямування для станції
    переспрямування для мережі на основі TOS
    переспрямування для станції на основі TOS
    TTL рівне 0 під час транзитної передачі
    TTL рівне 0 під час реасемблювання данограми
    помилка в параметрі:
    неправильний IP-заголовок
    опція, що вимагається, відсутня

Існують два прості і дуже поширені застосування, які базуються на ICMP – ping і traceroute. Ping використовує повідомлення Echo і Echo Reply для визначення, чи потрібна станція досяжна. Traceroute висилає IP-данограму з малим значенням TTL, так що таймер TTL вичерпується на маршруті до призначення. Тоді traceroute використовує ICMP-повідомлення Time Exceeded для встановлення, де в об’єднанні мереж данограма вичерпала час існування і поєднує це з маршрутом до станції. Важливе застосування протоколу ICMP для раутінгу IP-данограм буде розглянене нижче.

Раутінг в IP-мережах



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 206; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.19.31.73 (0.006 с.)