На рисунке 6.3 приведены возможные типы ICMP сообщений, как они определяются полями типа (type) и кода (code).
Последние две колонки на рисунке указывают, является ли ICMP сообщение запросом (query) или сообщением об ошибке (error). Подобное разделение необходимо, потому что сообщения об ошибках ICMP иногда обрабатываются специальным образом. Например, ICMP сообщение об ошибке никогда не генерируется в ответ на ICMP сообщение об ошибке. (Если не придерживаться этого правила, то ошибка будет генерироваться на ошибку до бесконечности.)
Когда посылается ICMP сообщение об ошибке, оно всегда содержит IP заголовок и первые 8 байт IP датаграммы, которая вызвала генерацию ICMP ошибки. Это позволяет принимающему ICMP модулю установить соответствие между полученным сообщением, одним из конкретных протоколов (TCP или UDP из поля протоколов в IP заголовке) и с одним из конкретных пользовательских процессов (с помощью номера порта TCP или UDP, который содержится в TCP или UDP заголовке в первых 8 байтах IP датаграммы). В разделе "ICMP ошибка недоступности порта (ICMP Port Unreachable Error)" главы 6 мы рассмотрим это более подробно.
Сообщение об ошибке ICMP никогда не генерируется в ответ на:
тип | код | Описание | запрос | ошибка |
0 | 0 | эхо-отклик (отклик-Ping, глава 7) | · | |
3 | назначение недоступно: | |||
0 | сеть недоступна - network unreachable (раздел "ICMP ошибки о недоступности хоста и сети" главы 9) | · | ||
1 | хост недоступен - host unreachable (раздел "ICMP ошибки о недоступности хоста и сети" главы 9) | · | ||
2 | протокол недоступен - protocol unreachable | · | ||
3 | порт недоступен - port unreachable (раздел "ICMP ошибка недоступности порта (ICMP Port Unreachable Error)" главы 6) | · | ||
4 | необходима фрагментация, однако установлен бит “не фрагментировать”- fragmentation needed but don’t-fragment bit set (раздел "ICMP ошибки о недоступности" главы 11) | · | ||
5 | не работает маршрутизация от источника - source route failed (глава 8, раздел "Опция IP маршрутизации от источника") | · | ||
6 | неизвестна сеть назначения - destination network unknown | · | ||
7 | неизвестен хост назначения - destination host unknown | · | ||
8 | хост источник изолирован - source host isolated | · | ||
9 | сеть назначения закрыта администратором - destination network administrativrly prohibited | · | ||
10 | хост назначения закрыт администратором - destination host administrativrly prohibited | · | ||
11 | сеть недоступна для TOS - network unreachable for TOS (глава 9, раздел "ICMP ошибки о недоступности хоста и сети") | · | ||
12 | хост недоступен для TOS - host unreachable for TOS (глава 9, раздел "ICMP ошибки о недоступности хоста и сети") | · | ||
13 | связь административно закрыта путем фильтрации - communication administratively prohibited by filtering | · | ||
14 | нарушено старшинство для хоста - host precedence violation | · | ||
15 | старшинство разъединено - precedence cutoff in effect | · | ||
4 | 0 | подавление источника (элементарное управление потоком данных) - source quench (глава 11, раздел "ICMP ошибка подавления источника") | · | |
5 | перенаправление - redirect (глава 11, раздел "ICMP ошибка подавления источника"): | |||
0 | перенаправление в сеть - redirect for network | · | ||
1 | перенаправление в хост - redirect for host | · | ||
2 | перенаправление для типа сервиса и сети - redirect for type-of-service and network | · | ||
3 | перенаправление для типа сервиса и хоста - redirect for type-of-service and host | · | ||
8 | 0 | эхо запрос - echo request (Ping запрос, глава 7) | · | |
9 | 0 | объявление маршрутизатора - router advertisement (глава 9, раздел "ICMP сообщения поиска маршрутизатора") | · | |
10 | 0 | запрос к маршрутизатору - router solicitation (глава 9, раздел "ICMP сообщения поиска маршрутизатора") | · | |
11 | время истекло - time exceeded: | |||
0 | время жизни стало равным 0 в процессе передачи - time-to-live equals 0 during transit (Traceroute, глава 8) | · | ||
1 | время жизни стало равным 0 в процессе повторной сборки - time-to-live equals 0 during reassembly (глава 11, раздел "Фрагментация IP") | · | ||
12 | проблемы с параметрами - parameter problem: | |||
0 | неверный IP заголовок - IP header bad | · | ||
1 | отсутствует необходимая опция - required option missing | · | ||
13 | 0 | запрос временной марки - timestamp request (глава 6, раздел "ICMP запрос и отклик временной марки") | · | |
14 | 0 | отклик с временной маркой - timestamp reply (глава 6, раздел "ICMP запрос и отклик временной марки") | · | |
15 | 0 | информационный запрос - information request | · | |
16 | 0 | информационный отклик - information reply | · | |
17 | 0 | запрос маски адреса - address mask request (глава 6, раздел "ICMP запрос и отклик маски адреса") | · | |
18 | 0 | отклик с маской адреса - address mask reply (глава 6, раздел "ICMP запрос и отклик маски адреса") | · |