Неудачный пинг означает, что либо:
- Пинг-запрос не переходит на целевой хост
- Ping-ответ не передается хосту, отправившему запрос
Есть много причин, по которым может произойти любая из этих вещей, большинство из которых можно разделить на физические или программные проблемы.
При отладке я начинаю с физического компонента пути передачи, то есть сетевых карт, сетевых кабелей и промежуточных устройств.
Физические проверки
- Сетевой кабель соединяет два хоста. Если два хоста не связаны напрямую кабелем, убедитесь, что отправляющие и принимающие сетевые карты подключены к правильному маршрутизатору и / или порту коммутатора, так как они могут быть настроены для маршрутизации трафика по-разному.
Проверка программного обеспечения
- Убедитесь, что сетевые карты на каждом компьютере распознаются операционной системой. [1]
- Убедитесь, что обе машины имеют действительный IP-адрес, маску подсети, шлюз и конфигурацию сервера имен. [2]
- Убедитесь, что отправляющий и принимающий хосты имеют действительные MAC-адреса (да, у меня была эта проблема раньше) [3]
- Убедитесь, что отправляющий и принимающий хосты имеют правильную информацию кэша ARP для своих шлюзов [4]
- Существует вероятность того, что отправляющий узел будет иметь запись кэша ARP для принимающего узла или наоборот. Если такие записи существуют, убедитесь, что эти записи являются правильными, проверив, что IP-адрес отображается на правильный MAC-адрес. Если есть несоответствия, удалите эти записи из кэша ARP
- Убедитесь, что ping-пакеты (эхо-запросы ICMP и эхо-ответы ICMP) не блокируются фильтрами на локальных программных брандмауэрах или фильтрами, работающими на устройствах между отправляющим и принимающим хостом.
- Если вы используете имя хоста для идентификации принимающего хоста, попробуйте использовать IP-адрес напрямую, так как это устранит проблемы, возникающие в процессе разрешения имен.
Сообщение об ошибке, возвращаемое командой ping, также следует учитывать при устранении неполадок. Обычно я вижу следующие сообщения об ошибках:
Request Timed Out
Это очень общее сообщение, которое указывает, что ответ не был получен в течение периода ожидания. Это может произойти из-за того, что хост не смог ответить из-за рабочей нагрузки и временных ограничений или из-за проблем с подключением или маршрутизацией, которые обсуждались выше.
Reply from {host}: Destination network unreachable
Часто {host}
будет сетевой картой на локальной машине или шлюзом машины. Сообщение означает, что не удалось найти маршрут между {host}
и принимающим хостом (я могу ошибаться здесь)
Это ни в коем случае не исчерпывающий список причин, по которым ping может потерпеть неудачу, однако он охватывает многие общие проблемы. Я надеюсь, что это может помочь кому-то в следующий раз, когда их сеть обрывается
Сноски ниже относятся к системам на базе Windows NT, так как здесь у меня есть опыт,
[1] Вы можете проверить, что операционная система имеет действительный драйвер для вашей сетевой карты, проверив наличие каких-либо элементов сетевого контроллера в узле Неизвестные устройства в диспетчере устройств. Если есть, вам нужно найти совместимый драйвер для вашей карты.
Проверьте узел вашей сетевой карты под узлом сетевого адаптера, при условии, что ваша карта есть в списке, дважды щелкните его и проверьте все известные ошибки, перечисленные в разделе «Состояние устройства».
[2] Доступ к диалоговому окну конфигурации TCP/IP в Vista / Win 7 можно получить, открыв Центр управления сетями и общим доступом -> Изменить настройки адаптера (левая панель) -> щелкните правой кнопкой мыши по нужному адаптеру и выберите Свойства (требуется повышение прав). а затем дважды щелкните по протоколу TCP/IP версии 4 или 6 в зависимости от того, что вы используете (скорее всего, v4)
[3] при запуске команды ipconfig /all
будет отображаться MAC-адрес, а также IP-адрес, маска подсети, шлюз и серверы имен. MAC-адрес помечен как физический адрес на выходе
[4] Команда ARP -a
отображает текущую таблицу ARP для хоста.