Сообщения об ошибках ICMP и их формат

Для сообщения об ошибках и контроля протокол IP использует ICMP. ICMP — это набор предопределенных сообщений, которые устройство с поддержкой IP может использовать для информирования другого устройства о конкретном состоянии. Например, всякий раз, когда маршрутизатору не удается переслать или доставить IP-пакет, он отправляет обратно источнику ICMP-сообщение, в котором объясняется, почему он не может переслать или доставить пакет.

Сообщения ICMP делятся на две категории: сообщения об ошибках ICMP и сообщения запроса или информации ICMP. В этом уроке мы обсудим сообщения об ошибках ICMP.

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

Каждое сообщение об ошибке ICMP описывает отдельное сообщение об ошибке и требует индивидуального решения. Однако все сообщения об ошибках ICMP используют один и тот же формат сообщения об ошибке.

На следующем изображении показаны базовая структура и поля в формате сообщения об ошибке ICMP.

В следующей таблице перечислены поля сообщений об ошибках ICMP и приведено краткое описание каждого поля.

ПолеРазмер (в байтах)Описание
Тип сообщения1Укажите конкретное сообщение об ошибке ICMP или группу сообщений.
Код сообщения1Укажите конкретное сообщение в группе, если тип сообщения представляет группу.
Контрольная сумма2Подтвердите сообщение ICMP.
Оригинальные заголовки20 — 60Содержит полный заголовок неудачного IP-пакета.
Исходные данные8Содержит первые 64 бита ошибочного IP-пакета.

Без учета заголовка и данных ошибочного IP-пакета длина сообщения об ошибке ICMP составляет восемь байт. После включения этих полей общая длина пакета ICMP может составлять от 36 до 72 байт.

Поля типа и кода

Сообщения ICMP организованы по типам и кодам. Типы и коды представляют собой числовые значения. Каждый тип сообщения представляет собой одно сообщение или группу сообщений. Если тип представляет группу сообщений, используются значения кода. Каждое значение кода представляет сообщение в группе.

Поля типа и кода используются для указания точного отправляемого сообщения об ошибке ICMP. Оба поля имеют длину 8 бит.

Поле контрольной суммы

Поле контрольной суммы используется для проверки сообщений ICMP. Система-отправитель устанавливает значение поля контрольной суммы на 0 и выполняет простую операцию с контрольной суммой. После выполнения операции контрольной суммы отправляющая система помещает вычисленное значение контрольной суммы в поле контрольной суммы.

Принимающая система отменяет эту процедуру перед обработкой сообщения. Он устанавливает поле контрольной суммы значения в 0 и выполняет ту же операцию с контрольной суммой. После выполнения операции контрольной суммы результат сравнивается со значением, хранящимся в поле контрольной суммы. Если оба значения одинаковы, сообщение считается действительным. Все действительные сообщения обрабатываются, а недействительные отбрасываются.

Тело сообщения

Каждый IP-пакет состоит из двух полей: заголовка и данных. Протокол IP включает всю необходимую информацию в каждый IP-пакет, что позволяет ему достичь пункта назначения по любому доступному пути. Эта информация включается в поле заголовка IP-пакетов. Первые 64 бита поля данных содержат заголовок верхнего уровня. Он содержит поле номера порта источника и назначения, используемое уровнем TCP.

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

Сообщения об ошибках ICMP

Сообщения об ошибках ICMP используются для сообщения о невременных проблемах доставки. ICMP предоставляет два набора сообщений об ошибках: один для IPv4, другой для IPv6. В следующей таблице перечислены все сообщения об ошибках ICMP.

Тип ICMP-сообщенияОписаниеКодыIP-версия
3Пункт назначения недоступен0–15IPv4
5Перенаправление0–3IPv4
11Время превышено0–1IPv4
12Проблема с параметром0 -2IPv4
4Источник Quench (устарело)NAIPv4
1Пункт назначения недоступен0–8IPv6
2Пакет слишком большой0IPv6
3Время превышено0–1IPv6
4Проблема с параметром0–10IPv6

Давайте подробно обсудим сообщения об ошибках ICMP.

Пункт назначения недоступен

Это сообщение об ошибке указывает на то, что целевой хост, сеть или номер порта, указанные в IP-пакете, недоступны. Это может произойти по множеству причин, таких как выходное устройство назначения не работает, промежуточный маршрутизатор не может найти путь для пересылки пакета, а брандмауэр настроен на блокировку соединений от источника пакета.

Как упоминалось ранее, если существует несколько причин конкретной ошибки, ICMP определяет их в подклассе или категории этого сообщения об ошибке. Сообщения в подкатегории называются кодами. ICMP определяет 16 возможных кодов IPv4 для этого сообщения об ошибке. Из них три устарели или непригодны для обычного использования.

В следующей таблице перечислены все коды сообщения об ошибке «Назначение IPv4 недоступно».

КодОписание
0Сеть недоступна
1Хост недоступен
2Протокол недоступен
3Порт недоступен
4Требуется фрагментация, и не было установлено значение «Фрагментация»
5Исходный маршрут не выполнен
6Сеть назначения неизвестна
7Хост назначения неизвестен
8Изолированный исходный хост (устарело)
9Связь с сетью назначения административно запрещена (устарело)
10Связь с целевым хостом запрещена административно (устарело)
11Сеть назначения недоступна для данного типа услуги
12Хост назначения недоступен для данного типа услуги
13Общение административно запрещено
14Нарушение приоритета хоста
15Действует ограничение приоритета

Для IPv6 IPCMP определяет девять кодов. Эти коды перечислены в следующей таблице.

КодОписание
0нет маршрута к месту назначения
1сообщение с пунктом назначения административно запрещено
2за пределами исходного адреса
3адрес недоступен
4порт недоступен
5исходный адрес не справился с политикой входящего/исходящего трафика
6отклонить маршрут до пункта назначения
7Ошибка в заголовке исходной маршрутизации
8Заголовки слишком длинные

Источник Закалка

Это сообщение указывает на то, что либо хост назначения, либо промежуточный маршрутизатор (или устройство) получает больше данных, чем может обработать. Если источник получает это сообщение об ошибке, он может снизить скорость передачи, чтобы решить эту проблему.

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

Этот тип сообщения об ошибке устарел.

Перенаправление

Это сообщение об ошибке используется, когда маршрутизатору необходимо сообщить отправителю, что ему следует использовать другой путь для определенного пункта назначения. Обычно это происходит, когда маршрутизатор знает более короткий путь к месту назначения.

Это сообщение об ошибке имеет четыре подтипа. Из них два износились. Ниже перечислены все подтипы и их значения.

КодЗначение
0Перенаправление для целевой сети (устарело)
1Перенаправление для целевого хоста
2Перенаправление для сети назначения на основе типа услуги (устарело)
3Перенаправление для целевого хоста в зависимости от типа услуги

Время превышено

Это сообщение указывает, что значение времени жизни дейтаграммы достигло нуля, но дейтаграмма еще не доставлена ​​в конечный пункт назначения. Система назначения также может отправить эту ошибку, если она не получила все фрагменты IP-дейтаграммы в течение отведенного времени.

Существует два подтипа этого сообщения об ошибке. Оба перечислены в следующей таблице.

КодЗначение
0Превышено время жизни в пути
1Превышено время сборки фрагмента

Проблема с параметром

Если устройство обнаруживает проблему, не описанную ни в одном типе сообщения ICMP, оно отправляет отправителю сообщение о проблеме с параметром. В сети IPv4 это обычно происходит, когда аргументы опции неверны. В IPv6 эта ошибка возникает, когда значение в поле заголовка выходит за пределы диапазона, либо один из параметров не распознан, либо значение в поле типа или кода недопустимо.

В большинстве случаев эта проблема связана с проблемами с параметрами IP или TCP. В следующей таблице перечислены сообщения кода ICMP, относящиеся к этой ошибке.

КодОписаниеIP-версия
0Указатель указывает на ошибкуIPv4
1Отсутствует обязательная опцияIPv4
2Неправильная длинаIPv4
0обнаружено ошибочное поле заголовкаIPv6
1обнаружен нераспознанный тип следующего заголовкаIPv6
2обнаружен неопознанный параметр IPv6IPv6
3Первый фрагмент IPv6 имеет неполную цепочку заголовков IPv6IPv6
4Ошибка заголовка верхнего уровня SRIPv6
5Неопознанный тип следующего заголовка, обнаруженный промежуточным узломIPv6
6Заголовок расширения слишком большойIPv6
7Цепочка расширенных заголовков слишком длиннаяIPv6
8Слишком много заголовков расширенийIPv6
9Слишком много опций в шапке расширенияIPv6
10Слишком большой вариантIPv6

Пакет слишком большой

Эта ошибка возникает, когда дейтаграмма слишком велика для сети, по которой она должна передаваться. Чтобы сообщить об этой проблеме, ICMP использует разные типы и коды сообщений в обеих версиях IP. В IPv4 используется сообщение о недостижимости пункта назначения с полем кода, равным 4. В IPv6 используется сообщение «слишком большой пакет», поле типа которого имеет значение 2.

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

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

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

https://www.youtube.com/watch?v=gJEZJ9Drd1Y&pp=ygVA0KHQvtC-0LHRidC10L3QuNGPINC-0LEg0L7RiNC40LHQutCw0YUgSUNNUCDQuCDQuNGFINGE0L7RgNC80LDRgg%3D%3DVideo can’t be loaded because JavaScript is disabled: Протокол ICMP, утилиты ping и traceroute | Введение в сети, часть 10 (https://www.youtube.com/watch?v=gJEZJ9Drd1Y&pp=ygVA0KHQvtC-0LHRidC10L3QuNGPINC-0LEg0L7RiNC40LHQutCw0YUgSUNNUCDQuCDQuNGFINGE0L7RgNC80LDRgg%3D%3D)


Source: https://ip-calculator.ru/blog/networking/icmp-error-messages-and-format-explained/

Межтекстовые Отзывы
Посмотреть все комментарии
guest

Сообщения об ошибках ICMP и их формат

Для сообщения об ошибках и контроля протокол IP использует ICMP. ICMP — это набор предопределенных сообщений, которые устройство...

Почему DNS-сервер может быть недоступен в Windows 10

Сообщение об ошибке «Ваш DNS-сервер может быть недоступен» указывает на то, что может возникнуть проблема с DNS-сервером (системой...

Интернет-соединение постоянно прерывается и снова подключается

Интернет является наиболее используемой услугой прямо сейчас. Это экономит много времени, уменьшая расстояние, а также распространяет информацию по...

Ошибка IPI_WATCHDOG_TIMEOUT BSOD 0x000001DB

Синий экран IPI_WATCHDOG_TIMEOUT Windows появляется, когда процессор слишком долго застревает в цикле IPI, и ОС в конечном итоге...

Как подключиться к домашней сети из любого места?

Концепция удаленного доступа к чему-либо — один из наиболее удобных способов выполнения задач без физического присутствия. Удаленное управление...

Что такое адаптер Wi-Fi? (13 вещей, которые вам следует знать!)

Хотите знать, как ваши устройства подключаются к Интернету по беспроводной сети? Спасибо адаптеру Wi-Fi за это! Но что...

Как сбросить роутер после аварийного отключения электроэнергии?

На этом этапе мы все стали, по крайней мере, в некоторой степени полагаться на приличную домашнюю интернет-систему. Даже...

Как зарегистрировать DLL: 3 способа сделать это быстро

  Часто рекомендуется принудительно зарегистрировать поврежденный файл DLL, когда вы заменяете его новым. Узнайте, как зарегистрировать DLL на...

Чем отличаются коммутатор и роутер?

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

Как исправить ошибку ERROR_PROCESS_MODE_ALREADY_BACKGROUND

ERROR_PROCESS_MODE_ALREADY_BACKGROUND — это проблема, которая часто возникает в старых версиях Windows Server и Windows XP, но может также...

Как узнать SSID роутера на Android?

Идентификатор набора служб или SSID — это прозвище, присвоенное вашей сети Wi-Fi. Большинство людей назовут свою сеть Wi-Fi...

В чем разница между соединением WiFi и Ethernet?

В современном сетевом мире Wi-Fi и Ethernet являются важными терминами, а также средством для цифрового соединения людей. В...

INVALID_SILO_DETACH 0x000001CB: как исправить этот BSOD

  INVALID_SILO_DETACH — это ошибка BSOD, которая сопровождается кодом ошибки 0x000001CB. Обычно эта проблема касается разработчиков, но вы...

Проблема с подключением к Wi-Fi ноутбука с Windows 11 после обновления

Работаете ли вы дома, учитесь онлайн или смотрите любимые шоу в потоковом режиме, стабильное и быстрое соединение Wi-Fi...

Как исправить ошибку 0x0000003B в Windows 11

Ошибка SYSTEM_SERVICE_EXCEPTION (0x0000003B) появляется в Windows 11, когда системная служба не может выполниться правильно, что обычно приводит к...

Как исправить ошибку ERROR_INTERRUPT_STILL_CONNECTED

  Ошибка ERROR_INTERRUPT_STILL_CONNECTED с кодом ошибки 764 (0x2FC) и описанием Указанный вектор прерывания все еще подключен показывает, что...

Как изменить тип NAT в маршрутизаторе (для пользователей Windows 11)

Изменение типа NAT (трансляции сетевых адресов) вашей сети может значительно улучшить вашу работу в Интернете, особенно в играх...

Как исправить ошибку 0xC1900208 Windows 11 Update

Ошибка Windows Update 0xC1900208 возникает, когда процесс установки обнаруживает несовместимое программное обеспечение или драйверы в вашей системе. Эта...

Как исправить ошибку синего экрана PAGE_FAULT_IN_NONPAGED_AREA в Windows 10/11

Ошибка PAGE_FAULT_IN_NONPAGED_AREA — это распространенная проблема синего экрана смерти (BSOD) в системах Windows 10 и 11. Обычно она...

Как исправить ошибки «Libegl.dll не найден или отсутствует»

Libegl.dll — это файл, который находится в программном обеспечении, которое отображает графику, например, в браузерах. Если он отсутствует...