Различия между ответами на самом деле определяются не самим ICMP, а косвенно.
ICMP может различаться между:
0 = net unreachable;
1 = host unreachable;
2 = protocol unreachable;
3 = port unreachable;
4 = fragmentation needed and DF set;
5 = source route failed.
Но это происходит с другими сетевыми ресурсами. Коды 0, 1, 4 и 5 могут быть получены от шлюза. Коды 2 и 3 могут быть получены от хоста.
Если в соответствии с информацией в таблицах маршрутизации шлюза сеть назначения недоступна (например, расстояние до сети бесконечно), шлюз может отправлять сообщение о недоступности пункта назначения на хост источника Интернета дейтаграммы. Кроме того, в некоторых сетях шлюз может быть в состоянии определить, недоступен ли хост назначения Интернета. Именно шлюзы в этих сетях могут отправлять сообщения о недоступности пункта назначения узлу-источнику, когда узел назначения недоступен, поэтому на самом деле не ICMP выполняет определения.
В случае, когда на хосте назначения IP-модуль не может доставить дейтаграмму, поскольку указанный модуль протокола или порт процесса не активен, тогда хост назначения может отправить сообщение «пункт назначения недоступен» узлу источника.
Наконец, если дейтаграмма должна быть фрагментирована для пересылки шлюзом, но флаг «Не фрагментировать» включен, шлюз отбрасывает дейтаграмму и возвращает сообщение «пункт назначения недоступен».
Теперь различие между двумя отдельными случаями: время ожидания запроса означает, что в течение установленного времени не было получено ни одного сообщения эхо-ответа. Это может быть связано со многими различными причинами: сбой запроса ARP, перегрузка сети, фильтрация пакетов, ошибка маршрутизации или даже тихое отбрасывание.
Когда вы получаете ответ от [IP-адрес]: «Узел назначения недоступен», проблема возникает на / после удаленного маршрутизатора, адрес которого указан [IP-адрес]. Так что это маршрутизатор, сообщающий вам, что существует проблема между ним и адресом назначения.