Rechercher une page de manuel

Chercher une autre page de manuel:

icmp

Autres langues

Langue: ru

Autres versions - même langue

Version: 27 апреля 1999 (fedora - 25/11/07)

Section: 7 (Divers)

НАЗВАНИЕ

icmp, IPPROTO_ICMP - модуль ядра Linux, реализующий протокол IPv4 ICMP.

ОПИСАНИЕ

Этот модуль ядра реализует Internet Control Message Protocol (описанный в RFC792). Он используется для извещения об ошибках и для диагностики. Пользователь не взаимодействует напрямую с этим модулем; вместо этого он общается с другими протоколами в ядре, а они при помощи протокола ICMP передают ошибки на уровень приложения. Кроме того, этот модуль отвечает на ICMP-запросы.

Пользовательский протокол может получать ICMP-пакеты для всех локальных сокетов, если откроет "сырой" сокет, используя протокол IPPROTO_ICMP. Смотри описание raw(7), где приведена более подробная информация. Типы ICMP-пакетов, передаваемые в сокет, могут быть отфильтрованы, используя параметр сокета ICMP_FILTER. Пакеты ICMP всегда обрабатываются ядром, даже когда передаются в пользовательский сокет.

Linux ограничивает для каждого получателя поток ICMP-пакетов с сообщениями об ошибках. Количество ICMP_REDIRECT и ICMP_DEST_UNREACH также ограничивается для каждого отправителя приходящих пакетов.

SYSCTLS

ICMP поддерживает интерфейс sysctl для настройки некоторых глобальных параметров IP. К этим параметрам можно обращаться, читая и записывая файлы /proc/sys/net/ipv4/*, или же при помощи интерфейса sysctl(2). Большая часть этих параметров управляет ограничением потока разнообразных ICMP-пакетов. Linux 2.2 использует token bucket фильтр для ограничения ICMP пакетов. Значение таких параметров -- задержка в jiffies, пока token-bucket-фильтр очищается после всплеска. "Jiffy" -- это системо-зависимая единица измерения, обычно 10мс на x86 и около 1ms на Alpha и IA64.
icmp_destunreach_rate
Максимальная частота посылки ICMP-пакетов Destination Unreachable по каждому конкретному маршруту или получателю. Ограничение не влияет на посылку пакетов ICMP_FRAG_NEEDED, необходимых для определения MTU маршрута (path MTU discovery).
icmp_echo_ignore_all
Если этот параметр больше нуля, Linux будет игнорировать все запросы ICMP_ECHO.
icmp_echo_ignore_broadcasts
Если этот параметр больше нуля, Linux будет игнорировать все пакеты ICMP_ECHO, посланные по широковещательным адресам.
icmp_echoreply_rate
Максимальная частота посылки пакетов ICMP_ECHOREPLY в ответ на запросы ICMP_ECHOREQUEST.
icmp_paramprob_rate
Максимальная частота посылки пакетов ICMP_PARAMETERPROB. Эти пакеты посылаются, когда приходит пакет с ошибочным заголовком IP.
icmp_timeexceed_rate
Максимальная частота посылки пакетов ICMP_TIME_EXCEEDED. Эти пакеты посылаются для предотвращения зацикливания, когда пакет прошел слишком большое количество хопов.

ПРИМЕЧАНИЯ

Так как многие реализации не поддерживают "сырые" сокеты с параметром IPPROTO_ICMP, то использование этой особенности нежелательно при написании переносимых программ.

Пакеты ICMP_REDIRECT не посылаются, когда Linux не является маршрутизатором. Они принимаются только от старых шлюзов, определенных в таблице маршрутизации, причем информация о перенаправлении маршрутов устаревает через некоторое время.

64-битные временные метки ICMP_TIMESTAMP возвращаются в миллисекундах, прошедших с 1-го января 1970 года.

Реализация ICMP в Linux внутри себя использует для посылки ICMP-пакетов "сырые" сокеты. Такие сокеты могут показываться программой netstat(8), причем их inode будет равен нулю.

ВЕРСИИ

Поддержка запроса ICMP_ADDRESS была прекращена в ядре 2.2.

Поддержка ICMP_SOURCE_QUENCH была прекращена в ядре Linux 2.2.

СМОТРИ ТАКЖЕ

ip(7)

RFC792, где описан протокол ICMP.

ПЕРЕВОД

Перевел с английского Алексей Миллер <asm@asm.kiev.ua> 2000
Ils vivent de nombreuses années, ils ont beaucoup de mémoire et
transmettent leur sagesse à leurs enfants. Je connaissais un bon
nombre de corbeaux des rochers quand j'étais un jeune nain. Cette
hauteur même s'appelait autrefois Ravenhill, parce qu'un sage et
fameux couple, le vieux Carc et sa femme, vivait ici au-dessus du
corps de garde. Mais je pense qu'il ne reste plus ici personne de
cette ancienne race.
-- J.R.R. Tolkien, "Bilbo le Hobbit"