|
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) |