Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 88|Ответ: 1

[Устранение неполадок] Краткое введение в сетевой ICMP (Internet Control Message Protocol).

[Скопировать ссылку]
Опубликовано 02.03.2026 14:44:38 | | | |
Протокол управления сообщениями в Интернете ICMP (Internet Control Message Protocol) — это механизм отчёта об ошибках, важный подпротокол в кластере протоколов TCP/IP, обычно используемый протоколами IP-уровня или более высокого уровня (TCP или UDP), относящийся к протоколу сетевого уровня, в основном используемый для передачи контрольных сообщений между IP-хостами и маршрутизаторами, используется для отчета о доступности к хосту, доступности маршрута и т. д. Хотя эти управляющие сообщения не передают пользовательские данные, они играют ключевую роль в сборе различных сетевых данных, диагностике и устранении различных сетевых неисправностей, а также передаче пользовательских данных.

Зачем нужен ICMP?

В процессе передачи данных IP предоставляет сервис наилучших усилий, то есть прилагать максимум усилий для отправки пакетов данных на адрес назначения. Он не проверяет, получает ли получатель пакет или нет, и не может выполнять управление потоком и контроль ошибок. Поэтому в процессе передачи пакетов неизбежны различные ошибки. ICMP был создан для более эффективной пересылки IP-пакетов и повышения шансов на их успешную доставку. При ICMP, при возникновении проблемы с передачей пакетов в сети, хост или устройство сообщает об ошибке протоколу верхнего уровня и предоставляет отчёт о ненормальной ситуации, чтобы протокол верхнего уровня мог оценить правильность связи через собственную программу контроля ошибок для управления трафиком и ошибками, чтобы обеспечить качество обслуживания.

Каковы сценарии применения ICMP?

Отчётность об ошибках

Сообщения об ошибках ICMP сообщают о сетевых ошибках, таких как недоступность пункта назначения, тайм-ауты или проблемы с сегментацией. Эти сообщения особенно важны для User Datagram Protocol (UDP) с моделью бессоединенной коммуникации.

UDP не обеспечивает надёжную и упорядоченную передачу пакетов. При отправке UDP-пакетов пакеты могут теряться или выходить из строя, например, ошибки контрольной суммы во время передачи. Если это происходит, получатель отправляет обратно сообщение об ошибке ICMP отправителю, чтобы уведомить о проблеме.

Диагностика

ICMP можно использовать для диагностики сети. Чаще всего используется для команд ping и traceroute.

Команда ping проверяет доступность сетевых устройств, отправляя ICMP-эхо-запросы на целевое устройство. Если устройство доступно, возвращается ICMP-эхо-ответ. Он надёжно проверяет задержку сети и обеспечивает доступность устройств.

Команда traceroute отслеживает путь, пройденный пакетом от его источника до пункта назначения. Для этого команда отправляет эхо-запрос и ответное сообщение эха в нужное место.

Эхо-запросы содержат значение времени работы (TTL), которое уменьшается на 1 для каждого маршрутизатора, через который проходит пакет. Когда пакет достигает маршрутизатора с нулевой TTL, маршрутизатор отправляет ICMP-сообщение исходнику.

Сообщение содержит информацию о маршруте, пройденном пакетом. Traceroute показывает точный путь пакета и может предоставить информацию о производительности вашей сети.

Кибербезопасность

Вы можете использовать ICMP для обнаружения несанкционированного сетевого трафика и пропускать через сеть только легальный трафик. Межсетевые экраны используют ICMP для разрешения или блокировки определённых типов трафика. Сетевые администраторы также используют инструменты мониторинга ICMP для отслеживания состояния и подключения сетевых устройств и обнаружения неизвестных устройств.

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

Формат сообщения протокола ICMP

Формат пакета ICMP показан на рисунке, и каждое сообщение ICMP содержит полный заголовок IP-пакета, из которого возникло сообщение ICMP, а пакет ICMP инкапсулирован внутри IP-пакета как часть IP-пакета. Три фиксированных поля, включённых в заголовок ICMP, являются основной основой для исходного устройства для определения типа ошибки.

Поле Type указывает тип сообщения ICMP;
Поле Код представляет собой подтип сегмента типа сообщения ICMP;
Поле Checksum представляет контрольную сумму пакетов ICMP.

Различные типы пакетов ICMP делятся на два типа: пакеты ошибок и пакеты запросов, как показано в таблице классификации пакетов ICMP.



Классификация пакетов ICMP

Тип
Код
описание
Запрос/ошибка
0-эхо-ответ
0
Эхо отвечает на сообщение
Спрашивать
3- Цель недостижима
0
Целевая сеть не может достичь пакета
Ошибка
1
Целевой хост не может добраться до пакета
Ошибка
2
Целевой договор не может достичь пакета
Ошибка
3
Порт назначения не может достичь пакета
Ошибка
4
Сообщения сегментации и DF-флагов
Ошибка
5
Неудачные пакеты с исходным маршрутом
Ошибка
6
Неизвестные сетевые пакеты назначения
Ошибка
7
Неизвестные пакеты получателя
Ошибка
8
Исходный хост изолирует пакеты
Ошибка
9
Сетевые пакеты, к которым запрещен доступ
Ошибка
10
Сообщения хозяев, к которым запрещен доступ
Ошибка
11
Пакеты недоступны для конкретной сети TOS
Ошибка
12
Пакеты недоступны к конкретному хосту TOS
Ошибка
13
Пакеты подавляются из-за фильтрации сетевого трафика
Ошибка
14
Сообщение о превышении полномочий хозяина
Ошибка
15
Эффективное сообщение о прекращении приоритета
Ошибка
5- Перенаправление
0
Перенаправление сетевых пакетов
Ошибка
1
Перенаправлять хост-пакеты
Ошибка
2
Пакеты перенаправления сети на основе TOS
Ошибка
3
Пакеты перенаправления хостов на базе TOS
Ошибка
8- Запрос эха
0
Echo запрашивает пакеты
Спрашивать
9- Объявление о роутере
0
Сообщения о маршрутизации
Спрашивать
10 - Запрос на роутер
0
Обнаружение/выбор/запрос пакетов для маршрутизаторов
Спрашивать
11 - Тайм-аут ICMP
0
Сообщение о тайм-ауте TTL
Ошибка
1
Разделение и реорганизация тайм-аутов пакетов
Ошибка
12- Задачи параметров
0
Первое сообщение об ошибке параметра IP-отчёта
Ошибка
1
Отсутствуют необходимые пакеты опций
Ошибка
2
Неподдерживаемые пакеты длины
Ошибка
13- Запрос на отметку времени
0
Пакеты запросов с временной меткой
Спрашивать
Ответ с отметкой времени 14
0
Ответные пакеты с временной меткой
Спрашивать
15- Запрос информации
0
Пакеты запроса информации
Спрашивать
16- Информационный ответ
0
Пакеты ответов сообщений
Спрашивать

Разница между ICMP и TCP

TCP — это протокол, ориентированный на соединение, предназначенный для надёжной передачи данных с проверкой ошибок. Он широко используется для веб-серфинга, электронной почты, удалённого входа и передачи файлов. TCP требует рукопожатия — серии сообщений, устанавливающих доверие и аутентификацию между отправителем и получателем. TCP гарантирует доставку сообщений.

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

ICMP и TCP используются вместе для определения причины отказа передачи TCP.




Предыдущий:UNIX доменный сокет (UDS) через TCP-коммуникацию
Следующий:.NET/C# отправляет сообщения на основе трансляций PostMessage
 Хозяин| Опубликовано 03.03.2026 20:24:27 |
Ответ на пинг запрета сервера Linux (ICMP)
https://www.itsvse.com/thread-11203-1-1.html
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com