ICMP (Internet Control Message Protocol) is a network protocol used for diagnostics and network management. A good example is the “ping” utility which uses an ICMP request and ICMP reply message. When a certain host of port is unreachable, ICMP might send an error message to the source. Another example of an application that uses ICMP is traceroute.
ICMP messages are encapsulated in IP packets so most people would say that it’s a layer 4 protocol like UDP or TCP. However, since ICMP is a vital part of the IP protocol it is typically considered a layer 3 protocol.
The header that ICMP uses is really simple, here’s what it looks like:

The first byte specifies the type of ICMP message. For example, type 8 is used for an ICMP request and type 0 is used for an ICMP reply. We use type 3 for destination unreachable messages.
The second byte called code specifies what kind of ICMP message it is. For example, the destination unreachable message has 16 different codes. When you see code 0 it means that the destination network was unreachable while code 1 means that the destination host was unreachable.
The third field are 2 bytes that are used for the checksum to see if the ICMP header is corrupt or not. What the remaining part of the header looks like depends on the ICMP message type that we are using.
If you are interested, here is a full list with all ICMP codes and types.
To show you some examples of ICMP in action, let’s look at some popular ICMP messages in Wireshark.
Wireshark Captures
Let’s start with a simple example, a ping. I will use two routers for this:

Let’s send a ping from R1:

The message above is the ICMP request, you can see it uses type 8 and code 0 for this. When R2 receives it will reply:

Destination Unreachable
Another nice example to look at is the destination unreachable message. We can test this by adding an access-list on R2 that denies ICMP messages:
R2(config)#ip access-list extended NO_ICMP
R2(config-ext-nacl)#deny icmp any host 192.168.12.2
R2(config-ext-nacl)#permit ip any any
R2(config)#interface FastEthernet 0/0
R2(config-if)#ip access-group NO_ICMP in
Now let’s try that ping from R1 again:
The ping fails and you can see the U (unreachable) messages on R1. Here’s the ICMP message that R2 sends:

Traceroute
Traceroute also uses ICMP messages, to demonstrate this we will use three routers:

Let’s see what a traceroute from R1 to R3 looks like:
R1#traceroute 192.168.23.3 probe 1
Type escape sequence to abort.
Tracing the route to 192.168.23.3
1 192.168.12.2 52 msec
2 192.168.23.3 60 msec
Cisco IOS by default will send multiple probes. For this demonstration I only need one probe. Here’s the first packet that R1 sends:

Cisco IOS uses UDP packets with a TTL value of 1 and destination port 33434. The TTL and destination port will increase for every hop. Once R2 receives this packet it will reply like this:

Here’s where ICMP comes into play. R2 will send an ICMP type 11 (time to live exceeded) message to R1. Once R1 receives this, it will send its second probe:

Above you can see that the TTL is now 2 and the destination port number has increased to 33435. Once R3 receives this packet it will reply like this:

R3 will reply with a type 3 destination unreachable message. Take a close look at the type and code. The type tells us the destination is unreachable. This could mean that the remote host or network is unreachable.
However, the code is number 3 which means port unreachable. R3 uses this code because nothing is listening on UDP port 33435. R3 replies to R1 and sets this code, so R1 at least now knows that R3 (192.168.23.3) is reachable, it’s just not listening in UDP port 33435.
Conclusion
You have now seen what the ICMP is used for, what the header looks like and what some of the most popular messages look like. If you have any questions, feel free to leave a comment in our forum!
Протокол передачи команд и сообщений об ошибках (ICMP – internet control message protocol, RFC-792, – 1256) выполняет многие и не только диагностические функции, хотя у рядового пользователя именно этот протокол вызывает раздражение, сообщая об его ошибках или сбоях в сети. Именно этот протокол используется программным обеспечением ЭВМ при взаимодействии друг с другом в рамках идеологии TCP/IP. Осуществление повторной передачи
пакета, если предшествующая попытка была неудачной, лежит на TCP или прикладной программе. При пересылке пакетов промежуточные узлы не информируются о возникших проблемах, поэтому ошибка в маршрутной таблице будет восприниматься как неисправность в узле адресата и достоверно диагностироваться не будет. ICMP-протокол сообщает об ошибках в IP-дейтограммах, но не дает информации об ошибках в самих ICMP-сообщениях. icmp использует IP, а IP-протокол должен использовать ICMP. В случае ICMP-фрагментации сообщение об ошибке будет выдано
только один раз на дейтограмму, даже если ошибки были в нескольких фрагментах. Подводя итоги, можно сказать, что ICMP-протокол осуществляет:
- передачу отклика на пакет или эхо на отклик;
- контроль времени жизни дейтограмм в системе;
- реализует переадресацию пакета;
- выдает сообщения о недостижимости адресата или о некорректности параметров;
- формирует и пересылает временные метки;
- выдает запросы и отклики для адресных масок и другой информации.
ICMP-сообщения об ошибках никогда не выдаются в ответ на:
- icmp-сообщение об ошибке.
- При мультикастинг или широковещательной адресации.
- Для фрагмента дейтограммы (кроме первого).
- Для дейтограмм, чей адрес отправителя является нулевым, широковещательным или
мультикастинговым.
Эти правила призваны блокировать потоки дейтограмм, посылаемым в отклик на мультикастинг или широковещательные ICMP-сообщения.
ICMP-сообщения имеют свой формат, а схема их вложения аналогична UDP или TCP и представлена на рис. 4.4.4.1.
Рис. 4.4.4.1. Схема вложения ICMP-пакетов в Ethernet-кадр
Все ICMP пакеты начинаются с 8-битного поля типа ICMP и его кода (15 значений). Код уточняет функцию ICMP-сообщения. Таблица этих кодов приведена ниже (символом * помечены сообщения об ошибках, остальные – являются запросами):
Таблица 4.4.4.1. Типы и коды ICMP-сообщений.
Процедура “отключение источника”
(quench, поле тип ICMP=4) позволяет управлять потоками данных в каналах Интернет. Не справляясь с обработкой дейтограмм, ЭВМ-адресат может послать запрос “отключить источник” отправителю, который может сократить темп
посылки пакетов или вовсе прервать их посылку. Специальной команды, отменяющей прежние запреты, не существует. Если сообщения об отключении прекращаются, источник может возобновить посылку пакетов или увеличить частоту их отправки. Ниже (на рис. 4.4.4.2) представлен формат эхо-запроса (ping) и отклика для протокола ICMP.
Рис. 4.4.4.2. Формат эхо-запроса и отклика ICMP
Поля идентификатор и номер по порядку служат для того, чтобы отправитель мог связать в пары запросы и отклики. Поле тип определяет, является ли этот пакет запросом (8) или откликом (0). Поле контрольная сумма представляет собой 16-разрядное дополнение по
модулю 1 контрольной суммы всего ICMP-сообщения, начиная с поля тип. Поле данные служит для записи информации, возвращаемой отправителю. При
выполнении процедуры ping эхо-запрос с временной меткой в поле данные посылается адресату. Если адресат активен, он принимает IP-пакет, меняет
адрес отправителя и получателя местами и посылает его обратно. ЭВМ-отправитель, восприняв этот отклик, может сравнить временную метку, записанную им в пакет, с текущим показанием внутренних часов и определить время распространения пакета (RTT – round trip time). Размер поля данные не регламентирован и определяется предельным размером IP-пакета.
Время распространения ICMP-запроса, вообще говоря, не
равно времени распространения отклика. Это связано не только с возможными изменениями в канале. В общем случае маршруты их движения могут быть различными.
Когда маршрутизатор не может доставить дейтограмму по месту назначения, он посылает отправителю сообщение “адресат не достижим” (destination unreachable). Формат такого сообщения показан ниже (на рис. 4.4.4.3).
Рис. 4.4.4.3. Формат ICMP-сообщения “адресат не достижим”
Поле код содержит целое число, проясняющее положение дел. Перечень кодов таких сообщений помещена в таблице 4.4.4.1. Поле MTU на
следующем этапе характеризует максимальную длину пакетов на очередном шаге пересылки.
Так как в сообщении содержится Интернет-заголовок и первые 64-бита дейтограммы, легко понять, какой адрес оказался недостижим. Этот тип ICMP-сообщения посылается и в случае, когда дейтограмма имеет флаг DF=1 (“не фрагментировать”), а фрагментация необходима. В поле код в этом случае будет записано число 4.
Если буфер приема сообщения переполнен, ЭВМ посылает сообщение типа 4 для каждого из не записанных в буфер сообщений.
Когда дейтограммы поступают слишком часто и принимающая сторона не справляется с этим потоком, отправителю может быть послано сообщение с требованием резко сократить информационный поток (quench-запрос), снижение потока должно продолжаться до тех пор, пока не прекратятся quench-запросы. Такое сообщение имеет формат:
Рис. 4.4.4.4. Формат icmp-запроса снижения загрузки
В Internet таблицы маршрутизации остаются без изменений достаточно долгое время, но иногда таблицы все же меняются. Если маршрутизатор обнаружит, что ЭВМ использует неоптимальный маршрут, он может послать ей ICMP-запрос переадресации. Формат такого сообщения отображен на рисунке 4.4.4.5.
Рис. 4.4.4.5. Формат ICMP-запроса переадресации
Поле Internet-адрес маршрутизатора содержит адрес маршрутизатора, который ЭВМ должна использовать, чтобы посланная дейтограмма достигла места назначения, указанного в ее заголовке. В поле internet-заголовок кроме самого заголовка лежит 64 первых бита дейтограммы, вызвавшей это сообщение. Поле код специфицирует то, как нужно интерпретировать адрес места назначения (см. табл. 4.4.4.1).
Команды переадресации маршрутизатор посылает только ЭВМ и никогда другим маршрутизаторам. Рассмотрим конкретный пример. Пусть некоторая ЭВМ на основе своей маршрутной таблицы посылает пакет маршрутизатору M1. Он, просмотрев свою маршрутную таблицу, находит, что пакет следует переслать маршрутизатору M2. Причем выясняется, что пакет из M1 в M2 следует послать
через тот же интерфейс, через который он попал в M1. Это означает, что M2 доступен и непосредственно для ЭВМ-отправителя. В такой ситуации M1 посылает ICMP-запрос переадресации ЭВМ-отправителю указанного пакета с тем, чтобы она внесла соответствующие коррективы в свою маршрутную таблицу.
Маршрутная таблица может загружаться из файла, формироваться менеджером сети, но может создаваться и в результате запросов и объявлений, посылаемых маршрутизаторами. После загрузки системы маршрутизатор посылает широковещательный запрос. Один или более маршрутизаторов посылают в ответ сообщения об имеющейся маршрутной информации. Кроме того, маршрутизаторы периодически (раз в 450-600 сек.) широковещательно объявляют о своих маршрутах,
что позволяет другим маршрутизаторам скорректировать свои маршрутные таблицы. В RFC-1256 описаны форматы ICMP-сообщений такого рода (см. рис. 4.4.4.6).
Рис. 4.4.4.6. Формат ICMP-сообщений об имеющихся маршрутах
Поле число адресов характеризует количество адресных записей в сообщении. Поле длина адреса содержит число 32-битных слов, необходимых для описания адреса маршрутизатора. Поле время жизни предназначено для записи продолжительности жизни объявленных маршрутов (адресов) в секундах. По умолчанию время жизни равно 30 мин. Поля уровень приоритета представляют собой меру приоритетности маршрута по отношению к другим маршрутам данной подсети. Чем больше этот код тем выше приоритет. Маршрут по умолчанию имеет уровень приоритета 0. Формат запроса маршрутной информации (8 октетов, рис. 4.4.4.7).
Рис. 4.4.4.7 Формат запроса маршрутной информации
Так как следующий прогон (hop) дейтограммы определяется на основании локальной маршрутной таблицы, ошибки в последней могут привести к зацикливанию пакетов. Для подавления таких циркуляций используется контроль по времени жизни пакета (TTL). При ликвидации пакета по истечении TTL маршрутизатор посылает отправителю сообщение “время истекло”,
которое имеет формат (рис. 4.4.4.8):
Рис. 4.4.4.8. Формат сообщения “время (ttl) истекло”
Значение поля код определяет природу тайм-аута (см. табл. 4.4.4.1).
Когда маршрутизатор или ЭВМ выявили какую-либо ошибку, не из числа описанных выше (например, нелегальный заголовок дейтограммы), посылается сообщение “конфликт параметров”. Это может произойти при неверных параметрах опций. При этом посылается сообщение вида (рис. 4.4.4.9):
Рис. 4.4.4.9. Формат сообщения типа “конфликт параметров”
Поле указатель отмечает октет дейтограммы, который создал проблему. Код=1 используется для сообщения о том, что отсутствует требуемая опция (например, опция безопасности при конфиденциальных обменах), поле указатель при значении поля код=1 не используется.
В процессе трассировки маршрутов возникает проблема синхронизации работы часов в различных ЭВМ. К счастью синхронизация внутренних часов ЭВМ требуется не так часто (например, при выполнении синхронных измерений), негативную роль здесь могут играть задержки в каналах связи. Для запроса временной метки другой ЭВМ используется сообщение запрос временной метки, которое вызывает отклик с форматом (рис. 4.4.4.10):
Рис. 4.4.4.10. Формат ICMP-запроса временной метки
Отсюда видно, что наиболее узкими участками маршрута являются
Гамбург-Дюссельдорф-Берн-CERN. Следует иметь в виду, что канал МГУ-Гамбург является спутниковым и 500мс задержки здесь вносит время распространения сигнала до спутника и обратно. Участок Гамбург-Дюссельдорф (X.25, квота 256кбит/с) является общим также и для потока данных из Германии в США. Передача IP поверх X.25 также снижает эффективную широкополосность канала. Остальные связи обладают недостаточной пропускной способностью. Программа ping показывает для данных участков в часы пик высокую долю потерянных пакетов. Таким
образом, имея карту связей и используя указанные процедуры, вы можете успешно диагностировать ситуацию в сети. Продвинутые же программисты могут легко написать свои диагностические программы, базирующиеся на ICMP, как для локальной
сети, так и для “окрестного” Интернет.
Рис. 4.4.4.11. Формат запроса (отклика) маски субсети
Поле тип здесь специфицирует модификацию сообщения, тип=17 – это запрос, а тип=18 – отклик. Поля идентификатор и номер по
порядку, как обычно, обеспечивают взаимную привязку запроса и отклика, а поле адресная маска содержит 32-разрядную маску сети.

Эхо-запрос (он же ICMP-пакеты или пинг) служит для обнаружения наличия сетевого устройства в сети (LAN или WAN). Его можно использовать для проверки связи с компьютерами, ноутбуками, серверами (в том числе хостингом веб-сайтов), сетевыми принтерами, маршрутизаторами и т. Д. Однако ответ на эхо-запрос должен быть включен заранее, чтобы сетевое устройство могло отвечать. В противном случае вы получите тайм-аут запроса вместо ответа.
К сожалению, большинство пользователей отключают брандмауэр Windows, когда хотят, чтобы в ответе ICMP работала команда Ping. Они забывают о том, что брандмауэр защищает их ПК от взлома и вредоносных программ, и это необходимо при работе в общественных сетях. Вот как правильно поступить.
- Нажмите Win + R.
- Введите wf.msc.
- Нажмите Enter:
- Нажмите на ссылку «Дополнительные настройки» в левой части окна:
- Выберите Inbound Rules на левой панели.
- Включите правило с именем: Общий доступ к файлам и принтерам
Обратите внимание, что вы можете разрешить эхо-запросы для сети Приватный, Общедоступный и Домен независимо. Если для каждого типа предварительно установлены отдельные правила, включите те, которые вам нужны. В противном случае вы можете дважды щелкнуть правило, чтобы вызвать его свойства, перейти на вкладку «Дополнительно» и указать сетевые профили:
Теперь ваш компьютер будет реагировать на ICMP-пакеты при пинге с другого устройства. Именно так:

Надеюсь, это будет полезно для вас.
https://youtube.com/watch?v=DE3wSAThgXE%3Ffeature%3Doembed
7.1. Общая характеристика протокола
ICMP
Протокол обмена управляющими сообщениями
ICMP (Internet Control Message Protocol) позволяет
маршрутизатору сообщить конечному узлу
об ошибках, с которыми машрутизатор
столкнулся при передаче какого-либо
IP-пакета от данного конечного узла.
Управляющие сообщения ICMP не могут
направляться промежуточному маршрутизатору,
который участвовал в передаче пакета,
с которым возникли проблемы, так как
для такой посылки нет адресной информации
– пакет несет в себе только адрес источника
и адрес назначения, не фиксируя адреса
промежуточных маршрутизаторов.
Протокол ICMP – это протокол сообщения
об ошибках, а не протокол коррекции
ошибок. Конечный узел может предпринять
некоторые действия для того, чтобы
ошибка больше не возникала, но эти
действия протоколом ICMP не регламентируются.
Каждое сообщение протокола ICMP передается
по сети внутри пакета IP. Пакеты IP с
сообщениями ICMP маршрутизируются точно
так же, как и любые другие пакеты, без
приоритетов, поэтому они также могут
теряться. Кроме того, в загруженной сети
они могут вызывать дополнительную
загрузку маршрутизаторов. Для того,
чтобы не вызывать лавины сообщения об
ошибках, потери пакетов IP, переносящие
сообщения ICMP об ошибках, не могут
порождать новые сообщения ICMP.
7.2. Формат сообщений протокола ICMP
Существует несколько типов сообщений
ICMP. Каждый тип сообщения имеет свой
формат, при этом все они начинаются с
общих трех полей: 8-битного целого числа,
обозначающего тип сообщения (TYPE),
8-битного поля кода (CODE), который
конкретизирует назначение сообщения,
и 16-битного поля контрольной суммы
(CHECKSUM). Кроме того, сообщение ICMP
всегда содержит заголовок и первые 64
бита данных пакета IP, который вызвал
ошибку. Это делается для того, чтобы
узел-отправитель смог более точно
проанализировать причину ошибки, так
как все протоколы прикладного уровня
стека TCP/IP содержат наиболее важную
информацию для анализа в первых 64 битах
своих сообщений.
Поле типа может иметь следующие значения:
Как видно из используемых типов сообщений,
протокол ICMP представляет собой некоторое
объединение протоколов, решающих свои
узкие задачи.
Во многих операционных системах
используется утилита ping, которая
предназначена для тестирования
достижимости узлов. Эта утилита обычно
посылает серию эхо-запросов к тестируемому
узлу и предоставляет пользователю
статистику об утерянных эхо-ответах и
среднем времени реакции сети на запросы.
7.4. Сообщения о недостижимости узла
назначения
Когда маршрутизатор не может передать
или доставить IP-пакет, он отсылает узлу,
отправившему этот пакет, сообщение
“Узел назначения недостижим” (тип
сообщения – 3). Это сообщение содержит в
поле кода значение, уточняющее причину,
по которой пакет не был доставлен.
Причина кодируется следующим образом:
Маршрутизатор, обнаруживший по какой-либо
причине, что он не может передать IP-пакет
далее по сети, должен отправить
ICMP-сообщение узлу-источнику, и только
потом отбросить пакет. Кроме причины
ошибки, ICMP-сообщение включает также
заголовок недоставленного пакета и его
первые 64 бита поля данных.
Узел или сеть назначения могут быть
недостижимы из-за временной
неработоспособности аппаратуры, из-за
того, что отправитель указал неверный
адрес назначения, а также из-за того,
что маршрутизатор не имеет данных о
маршруте к сети назначения.
Недостижимость протокола и порта
означают отсутствие реализации
какого-либо протокола прикладного
уровня в узле назначения или же отсутствие
открытого порта протоколов UDP или TCP в
узле назначения.
Ошибка фрагментации возникает тогда,
когда отправитель послал в сеть пакет
с признаком DF, запрещающим фрагментацию,
а маршрутизатор столкнулся с необходимостью
передачи этого пакета в сеть со значением
MTU меньшим, чем размер пакета.
Маршрутные таблицы у компьютеров обычно
являются статическими, так как
конфигурируются администратором сети,
а у маршрутизаторов – динамическими,
формируемыми автоматически с помощью
протоколов обмена маршрутной информации.
Поэтому с течением времени при изменении
топологии сети маршрутные таблицы
компьютеров могут устаревать. Кроме
того, эти таблицы обычно содержат минимум
информации, например, только адреса
нескольких маршрутизаторов.
Для корректировки поведения компьютеров
маршрутизатор может использовать
сообщение протокола ICMP, называемое
“Перенаправление маршрута”
(Redirect).
Это сообщение посылается в том случае,
когда маршрутизатор видит, что компьютер
отправляет пакет некоторой сети
назначения нерациональным образом, то
есть не тому маршрутизатору локальной
сети, от которого начинается более
короткий маршрут к сети назначения.
Протокол ICMP (Internet Control Message Protocol) — протокол межсетевых управляющих сообщений.

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

Второе поле -код сообщения. В нем подробно описывается тип ошибки, её причина или диагностическое действие. Дальше идёт контрольная сумма, которая используется для проверки правильности доставки. Следующие 4 байта, служебная информация, которая зависит от типа и кода сообщения. В поле данных ICMP, как правило включается фрагмент пакета при передачи которого произошла ошибка.
Типы ICMP — сообщений
Самое важно в пакете ICMP это тип сообщений. Именно тип, говорит о том, что произошло в сети. Есть 2 вида ICMP сообщений. Первый вид это запрос-ответ.

- Например, тип 0 и тип 8 это эхо-ответ и эхо-запрос, которые используются для проверки доступности компьютера в сети.
- Тип 13 и 14 запрос и ответ отметки времени. Эти запросы используются для проверки быстродействия сети. Другой вид это сообщение без запроса.
- Тип 3 это сообщение об ошибке узел назначения недостижим.
- Тип 5 сообщение о новом маршруте, который позволяет быстрее попасть к необходимой сети.
- Тип 9 сообщение о маршрутизаторе. Маршрутизаторы в сети периодически рассылают такие сообщения, чтобы компьютеры, которые находятся в сети могли узнать, какие есть маршрутизаторы.
- Сообщение с типом 11 используется если маршрутизатор отбросил пакет время жизни которого истекло, как правило такая ситуация возникает, если в сети появилась петля.
Коды ICMP — сообщений
Следующее поле в заголовке ICMP это код сообщения. Ниже представлено несколько возможных кодов для типа сообщения 3 — узел назначения недостижим. Какие могут быть причины? Причины перечислены ниже на картинке.

Применение ICMP
Большая часть пакетов ICMP формируется и отправляется автоматически сетевым оборудованиям. Но некоторые типы сообщений формируются утилитами, которые применяются для диагностики сети. Рассмотрим утилиты ping и traceroute (в Windows tracert)
Утилита ping
Утилита ping используется, чтобы проверить доступность компьютера в сети. Возможно подключиться к этому компьютеру или нельзя. Ping использует это-протокол ICMP. Компьютер, который хочет проверить доступность другого, отправляет эхо-запрос (тип=8, код=0).

Компьютер, который получил такой запрос, в ответ отправляет эхо-ответ ICMP с типом 0, если эхо-ответ не пришел, значит установить с компьютером соединение по сети невозможно.

Пример использования утилиты ping для проверки возможности подключиться к сайту ВКонтакте. По умолчанию утилита ping запускает 4 эхо-запроса и для каждого эхо-запроса получен эхо-ответ. В ответе указывается некоторая диагностическая информация.

Утилита traceroute
Утилита traceroute позволяет определить маршрут от отправителя к получателю. Под маршрутом имеется в виду перечень всех маршрутизаторов через которые проходит пакет.
Пример работы утилиты traceroute ее windows вариант tracert для определения маршрута к сайту ВКонтакте.

Работа утилиты traceroute

Пакет доходит до первого маршрутизатора, маршрутизатор уменьшает время жизни TTL=0 и маршрутизатор отбрасывает пакет.



На первом маршрутизаторе время жизни уменьшается до единицы и пакет переходит на второй маршрутизатор.

Второй маршрутизатор снова уменьшает время на 1, время жизни становится нулем. Пакет отбрасывается и уже второй маршрутизатор отправляет сообщение время жизни истекло. Утилита traceroute извлекает адрес второго маршрутизатора из IP заголовка этого сообщения.

И так происходит до тех пор пока пакет не дойдет до узла назначения.
Заключение
Рассмотрели протокол ICMP протокол межсетевых управляющих сообщений. Протокол ICMP используется для сообщения об ошибках, которые происходят в сети и для тестирования работоспособности сети.




