Повідомлення 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-повідомлень та їх короткий опис.
Тип | Зміст |
0 | ехо (відповідь) |
3 | призначення недосяжне |
4 | обірвання джерела |
5 | переспрямування |
8 | ехо (запит) |
9 | оголошення раутера |
10 | вимога раутера |
11 | час вичерпаний (TTL=0) |
12 | проблема із параметром |
13 | запит часової позначки |
14 | відповідь про часову позначку |
15 | запит інформації (застаріле) |
16 | відповідь про інформацію (застаріле) |
17 | запит мережевої маски |
18 | відповідь про мережеву маску |
Поле код містить код помилки для данограми, про яку повідомляється у даному ICMP-повідомленні. Інтерпретація коду залежить від типу повідомлення:
Тип | Код | Зміст |
3 | 0 | мережа недосяжна |
3 | 1 | станція недосяжна |
3 | 2 | протокол недосяжний |
3 | 3 | порт недосяжний |
3 | 4 | необхідна фрагментація і встановлено DF-біт |
3 | 5 | невдалий маршрут від джерела |
3 | 6 | невідома мережа призначення |
3 | 7 | невідомий станція призначення |
3 | 8 | станція-джерело ізольована (застаріла) |
3 | 9 | доступ до мережі призначення адміністративно заборонений |
3 | 10 | доступ до станції-призначення адміністративно заборонений |
3 | 11 | для вибраного TOS мережа недосяжна |
3 | 12 | для вибраного TOS комп’ютер недосяжний |
3 | 13 | зв’язок адміністративно заборонений за допомогою фільтрування: |
3 | 14 | порушення приорітету комп’ютера |
3 | 15 | роз’єднання на основі приорітету |
5 | 0 | переспрямування для мережі |
5 | 1 | переспрямування для станції |
5 | 2 | переспрямування для мережі на основі TOS |
5 | 3 | переспрямування для станції на основі TOS |
11 | 0 | TTL рівне 0 під час транзитної передачі |
11 | 1 | TTL рівне 0 під час реасемблювання данограми |
12 |
| помилка в параметрі: |
12 | 0 | неправильний IP-заголовок |
12 | 1 | опція, що вимагається, відсутня |
Існують два прості і дуже поширені застосування, які базуються на ICMP – ping і traceroute. Ping використовує повідомлення Echo і Echo Reply для визначення, чи потрібна станція досяжна. Traceroute висилає IP-данограму з малим значенням TTL, так що таймер TTL вичерпується на маршруті до призначення. Тоді traceroute використовує ICMP-повідомлення Time Exceeded для встановлення, де в об’єднанні мереж данограма вичерпала час існування і поєднує це з маршрутом до станції. Важливе застосування протоколу ICMP для раутінгу IP-данограм буде розглянене нижче.
- 3. Мережі ip.
- Коротка історія Internet та ip-технологій
- Модель tcp/ip.
- Потреба в проектуванні ip-мереж
- Проектування ip-мережі
- Загальний погляд на проектування.
- Етапи проектування мережі
- Розгляд застосувань
- Розгляд платформ.
- Розгляд мережевої інфраструктури.
- Ідеальна мережа
- Структура ip-адреси.
- Повнокласова та безкласова ip-адресація
- Структура ip-адрес при повнокласовій адресації.
- Використання мережевої маски.
- Безкласова ip-адресація
- Мережі та підмережі.
- Спосіб впровадження підмереж.
- Розширений мережевий префікс і мережева маска.
- Організація підмереж – складання адресного плану
- Загальні правила побудови адресного плану мережі з підмережами.
- Нові розв’язання для масштабування адресного простору Internet.
- Мережеві маски змінної довжини.
- Впровадження cidr
- Раутінг у безкласовому середовищі.
- Трансляція мережевих адрес
- Статична nat.
- Динамічна nat .
- Динамічна nat з перевантаженням.
- Динамічна nat з надлишковими зовнішніми інтерфейсами.
- Nat всередині локальних адрес.
- Динамічна nat з трансляцією номерів портів для глобальної адресації.
- Спільне використання статичної та динамічної nat.
- Переваги та недоліки nat
- Відповідність між mac-адресами та ip-адресами.
- Протоколи високого рівня і mac-адреси.
- Протокол arp.
- Протокол rarp (Reverse Address Resolution Protocol)
- Пересилання данограм.
- Концепція пересилання данограм.
- Опції данограми.
- Інкапсуляція, фрагментація та реасемлювання данограми.
- Інкапсуляція данограми.
- Фрагментація данограми.
- Реасемблювання данограми.
- Протокол повідомлень управління icmp
- Повідомлення icmp
- Раутінг в ip-мережах
- Раутінг (маршрутування) – основні поняття
- Встановлення маршруту
- Комутація.
- Маршрутовані протоколи і протоколи раутінгу
- Прямий і непрямий раутінг.
- Прямий раутінг і використання arp
- Непрямий раутінг
- Машрути за замовчуванням
- Використання протоколу icmp для маршрутизації
- Статичний раутінг та організація підмереж
- Під’єднання окремого вузла до раутера wan
- Стандартна керована конфігурація раутера
- Під’єднання локальної мережі до раутера wan
- Ієрархічний розподіл адрес класу c
- Об’єднання мереж через wan-зв’язок “пункт-пункт”
- Замовник з багатьма локалізованими lan
- Замовник з окремими lan, сполученими через виділені лінії
- Замовник із сервером мережевого доступу
- Динамічний раутінг