Тип | Код | Название сообщения | Описание |
---|---|---|---|
0 | Echo Reply Message | Эхо-ответ | |
0 | Код всегда равен 0 | ||
3 | Destination Unreachable Message | Адресат недоступен | |
0 | Сеть недоступна | ||
1 | Узел недоступен — что-то случилось с компьютером возможно, он просто выключен | ||
2 | Протокол недоступен — запрашиваемый протокол ни поддерживается | ||
3 | Порт недоступен — на машине ни одна служба не связана с указанным номером порта | ||
4 | Длина пакета слишком велика, а в его заголовке установлен флаг DF (Don't Fragment), то есть не фрагментировать. Для передачи большого пакета его нужно фрагментировать (разбить на части), а так как установлен флаг DF, фрагментация, а следовательно, и передача пакета невозможна | ||
5 | Ошибочный маршрут источника | ||
4 | Source Quench Message | Обрыв источника | |
0 | Код всегда равен 0 | ||
5 | Redirect Message | Переадресация | |
0 | Переадресация пакетов для сети | ||
1 | Переадресация пакетов для узла | ||
2 | Переадресация пакетов для сети и типа обслуживания (TOS, Type Of Service) | ||
3 | Переадресация пакетов для узла и типа обслуживания (TOS, Type Of Service) | ||
8 | Echo Message | Эхо-запрос | |
0 | Код всегда равен 0 | ||
11 | Time Exceeded Message | Превышен лимит времени | |
0 | При передаче превышено «время жизни» (TTL, Time То Live) | ||
1 | Превышено время реассемблирования (сборки) фрагментов | ||
12 | Parameter Problem Message | Ошибочный параметр | |
0 | Указатель на ошибочный параметр (табл. 27.7) | ||
13 | Time stamp Message | Запрос временной метки | |
0 | Код всегда равен 0 | ||
14 | Timestamp Reply Message | Ответ о временной метке | |
0 | Код всегда равен 0 | ||
15 | Information Request | Информационный запрос (запрашивается номер нашей сети) | |
0 | Код всегда равен 0 | ||
16 | Information Reply Message | Информационный ответ (возвращается номер кашей сети) | |
0 | Код всегда равен 0 | ||
17 (*) | Information Request | Информационный запрос (запрашивается маска адреса) | |
0 | Код всегда равен 0 | ||
18 (*) | Information Reply Message | Информационный ответ (возвращается маска адреса) | |
0 | Код всегда равен 0 |
27.2.4. Функции для работы с протоколом ICMP
Для работы с протоколом ICMP существует 12 основных функций. Все эти функции описаны в файле /usr/src/linux/net/ipv4/icmp.c
. У вас нет этого файла? Тогда установите исходники ядра (странно, почему вы до сих пор этого не сделали).
♦ icmp_address() — отправка ответа на запрос о маске адреса;
♦ icmp_discard() — удаляет ICMP-пакет;
♦ icmp_echo() — эхо-запрос;
♦ icmp_init() — инициализирует служебные подпрограммы протокола ICMP в операционной системе;
♦ icmp_out_count() — увеличивает счетчик отправленных пакетов;
♦ icmp_rcv() — прием ICMP-пакета;
♦ icmp_redirect() — отправка сообщения переадресации;
♦ icmp_send() — отправка ICMP-сообщения;
♦ icmp_timestamp() — ответ на запрос о времени создания;
♦ icmp_unreach() — отправляет сообщение об ошибке;
♦ xrlim_allow() — решает, отправлять ли ICMP-пакет или нет;
♦ xrlim_init() — ограничение скорости передачи ICMP-пакетов (в версии ядра 2.0).
27.2.4.1. Технические подробности
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии