3

Если я пингую localhost, я получаю ответ от ::1, который IIRC является адресом обратной связи IPV6.

Если я пинг 127.0.0.1, я получаю ответ от 127.0.0.1, как и ожидалось.

Почему существует разница, когда разрешение имени хоста localhost действительно составляет 127.0.0.1?

Пожалуйста, смотрите следующий скриншот:

Снимок экрана командной строки: ping localhost и ping 127.0.0.1

1 ответ1

3

Имена хостов могут преобразовываться в адреса IPv4 и IPv6. "localhost" преобразуется в IPv4 (127.0.0.1) и IPv6 (::1).

Я думаю, что Windows предпочитает использовать IPv6 там, где это возможно, поэтому localhost по умолчанию использует разрешение IPv6. Если вы отключите IPv6, он перейдет на адрес IPv4.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .