Пинг по одному адресу дает мне разные IP

290
Corey Hart

Когда на windows 10 в cmd.exe создается запрос на cryptopia.co.nz, я получаю один из следующих результатов:

Pinging cryptopia.co.nz [45.60.13.241] with 32 bytes of data: Reply from 45.60.13.241: bytes=32 time=7ms TTL=54 Reply from 45.60.13.241: bytes=32 time=12ms TTL=54 Reply from 45.60.13.241: bytes=32 time=12ms TTL=54 Reply from 45.60.13.241: bytes=32 time=10ms TTL=54  Ping statistics for 45.60.13.241: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 7ms, Maximum = 12ms, Average = 10ms 

или же

Pinging cryptopia.co.nz [45.60.11.241] with 32 bytes of data: Reply from 45.60.11.241: bytes=32 time=111ms TTL=55 Reply from 45.60.11.241: bytes=32 time=110ms TTL=55 Reply from 45.60.11.241: bytes=32 time=114ms TTL=55 Reply from 45.60.11.241: bytes=32 time=111ms TTL=55  Ping statistics for 45.60.11.241: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 110ms, Maximum = 114ms, Average = 111ms 

Эти два пинга выполнялись с интервалом в 1 секунду. Я думал, что кэш DNS моего компьютера будет держать адрес разрешенным в первый раз, почему бы и нет? Можно ли заставить систему использовать IP-адрес с 13 для всех операций? Время пинга намного лучше.

0
Похоже на случай балансировки нагрузки. Что ты находишь необычным? Google делает то же самое Ramhound 6 лет назад 0
«Можно ли заставить систему использовать IP-адрес с 13 для всех операций?» - Вы не можете Ramhound 6 лет назад 1
Но если этот домен находится в моем DNS-кэше, почему он не выбирает IP-адрес, который был впервые разрешен в следующий раз? Corey Hart 6 лет назад 0
Две записи A, которые вы получили, вероятно, оба кешируются в течение одинакового промежутка времени, и ваш локальный распознаватель произвольно выбирает одну. Существуют и другие сценарии, но в этом случае сервер вернул две записи A одновременно, по крайней мере, для меня. tripleee 6 лет назад 0

1 ответ на вопрос

1
tripleee

Запишите IP-адрес в первом запросе, а затем явно пропингуйте IP-адрес.

A:\> nslookup cryptiopia.co.nz Server: 10.9.8.7 Address: 10.9.8.7#53  Non-authoritative answer: Name: cryptopia.co.nz Address: 45.60.11.241 Name: cryptopia.co.nz Address: 45.60.13.241  A:\> ping 45.60.11.241 Pinging 45.60.11.241 [45.60.11.241] with 32 bytes of data: Reply from 45.60.11.241: bytes=32 time=111ms TTL=55 Reply from 45.60.11.241: bytes=32 time=110ms TTL=55 Reply from 45.60.11.241: bytes=32 time=114ms TTL=55 Reply from 45.60.11.241: bytes=32 time=111ms TTL=55  Ping statistics for 45.60.11.241: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 110ms, Maximum = 114ms, Average = 111ms 

Конечно, без предварительных знаний вы не знаете, какой из IP-адресов будет быстрее, или будет ли выбор другого фактически иметь какое-либо значение, или будет ли повторный запрос производить еще один набор IP-адресов.

Спасибо, так что это мне говорит? То, что они оба используются криптопией, но могу ли я выбрать, к какому из них следует обращаться? Я нуб на этом поле ... Corey Hart 6 лет назад 0
Как я уже сказал, вы можете выбрать один IP-адрес, и тогда он не в ваших руках. Они дали вам два адреса по причинам балансировки нагрузки или избыточности, и ваш распознаватель ведет себя ответственно, выполняя часть балансировки. tripleee 6 лет назад 0
Ах, понял тебя сейчас, я думаю. Таким образом, вы имеете в виду, что я должен вручную заменить имя хоста на IP-адрес по моему выбору? К сожалению, это не работает. Например, в браузере https://45.60.13.241/api/GetMarketHistory/ETH_BTC выдает ошибку прокси с хоста. Это будет работать с именем хоста, заменяющим IP. Corey Hart 6 лет назад 0
Действительно, HTTP 1.1 требует, чтобы имя хоста передавалось во многих случаях. Это сильно отличается от вашего вопроса о пинге. Плагин для браузера может дать вам больше контроля над этим, но опять же, это действительно должен быть новый вопрос, если вам нужна дополнительная помощь. tripleee 6 лет назад 0
На самом деле это библиотека httpjob внутри b4j (язык программирования), откуда должен быть отправлен запрос. Я думал, что сценарий один и тот же, будь то с помощью ping или через HTTP-запрос, что мне нужно будет установить IP-адрес где-то в локальном DNS-кэше. Извините, если я ошибаюсь по этому поводу. Corey Hart 6 лет назад 0
`printf" GET% s \ r \ nHost:% s \ r \ n \ r \ n ", url, host` создает допустимый HTTP-запрос, который можно отправить на IP-адреса по вашему выбору. tripleee 6 лет назад 0