3.5.1. Формат ICMP-сообщения


а)

ICMP передает сообщения-запросы и сообщения об ошибках. TCP/IP инкапсулирует ICMP-сообщение в IP-датаграмму. Сетевые программы распознают ICMP-сообщения по двум признакам: 8-битному значению Туре и 8-битному значению Code. Как показано на рис. 3.12, два этих значения являются первыми полями ICMP -заголовка.

б)

Сразу за двумя полями «Тип» (Туре) и «Код» (Code) следует 16-битное поле контрольной суммы. Как известно, контрольная сумма позволяет определить повреждение пакета на другом конце сетевого соединения. Контрольная сумма вычисляется не только для заголовка, но и для тела ICMP-сообщения.

Дальнейшее содержимое заголовка зависит от типа сообщения. Так же как мы уже отмечали, ICMP-сообщение об ошибке содержит заголовок IР-датаграммы и первые 64 бита (восемь байт) ее данных. Кроме двух рассмотренных классов ICMP-сообщений существует еще 15 типов. Они приведены в табл. 3.5.

Таблица 3.5

Типы сообщений ICMP

Тип

Запрос-Ошибка

Описание

0

Запрос

Ответ эхо (echo reply)

3

Ошибка

Пункт назначения недоступен (destination unreachable)

4

Ошибка

Столкновение данных (source quench)

5

Ошибка

Перенаправление (redirect)

8

Запрос

Запрос эхо (echo request)

9

Запрос

Информация о маршрутизаторах (router advertiserment)

10

Запрос

Регистрация маршрутизатора (router solicitation)

11

Ошибка

Лимит времени превышен (time exceeded)

12

Ошибка

Неверный параметр (parameter problem)

13

Запрос

Временная метка-запрос (timestamp request)

14

Запрос

Временная метка-ответ (timestamp reply)

15

Запрос

Информационный запрос (устарело) (information request)

16

Запрос

Информационный  ответ   (устарело)   (information reply)

17

Запрос

Запрос маски адреса (address mask request)

18

Запрос

Ответ маски адреса (address mask reply)