HTTP-запрос к недоступному ресурсу дает другое сообщение об ошибке

У меня есть клиент Ubuntu 18.04, и я пытаюсь подключиться к ХОСТУ, которого нет в сети, например:

curl 192.168.11.1 --connect-timeout 10
curl 192.168.11.1 --connect-timeout 35

Почему он иногда отвечает с

curl: (7) Не удалось подключиться к 192.168.11.1 порт 80: Нет маршрута к хосту ,

, а иногда и с

curl: (28) Время ожидания соединения истекло через 35001 миллисекунду ,

даже в тот же тайм-аут?


Я также попытался сделать HTTP-запрос с помощью библиотеки HTTP-запросов NodeJS от того же клиента Ubuntu. И иногда я получаю

Ошибка: подключите ETIMEDOUT 192.168.9.1:80, а в других случаях получаю

Ошибка: подключите EHOSTUNREACH 192.168.9.1:80 .

-1
задан 12 March 2019 в 14:43
1 ответ

Одно сообщение об ошибке сообщает вам, что все 192.168.9.1 не может быть достигнуто (EHOSTUNREACH), а другое сообщает вам, что вы достигли тайм-аута ожидания ответа (ETIMEDOUT), но вы не можете знать, доступен ли хост или нет (поэтому предполагается ДА).

EHOSTUNREACH означает, что либо ваш собственный хост, либо промежуточный маршрутизатор сообщает вам, что не было никаких маршрутов для достижения этого хоста, так что это эффективно недоступен. RFC говорит, что такое ICMP-сообщение должно быть возвращено отправителю: http://www.networksorcery.com/enp/protocol/icmp/msg3.htm .
Обратите внимание, как curl добавляет дополнительную информацию к сообщению, добавляя «нет маршрута к хосту». Это также может иметь место, если нет ответа на запросы разрешения ARP для 192.168.9.1, когда вы находитесь в том же широковещательном домене.

ETIMEDOUT означает, что либо трафик был доставлен на хост, и он не ответил, либо трафик был отброшен через путь по любым возможным причинам (например, межсетевой экран / ACL или даже отсутствие маршрутов, как EHOSTUNREACH). Также может быть случай, когда маршрутизатор сгенерировал требуемый ICMP, но другое устройство на пути отбросило этот ICMP (потому что по какой-то причине люди любят блокировать ICMP-трафик)

1
ответ дан 5 December 2019 в 19:39

Теги

Похожие вопросы