У меня есть набор доменных имен и их IP-адресов. Когда я отправляю HTTP-запросы на доменные имена и IP-адреса отдельно, я обнаружил несоответствие в ответах. Ответные хосты выше при отправке HTTP-запросов на имена доменов, чем IP-адреса. Итак, мне было интересно, изменились ли IP-адреса доменных имен сверхурочно. Если это изменится, то что может быть причиной. Буду признателен за любой ответ.Со временем ли изменяется IP-адрес DNS?
ответ
мне было интересно, если IP-адрес доменных имен изменяет сверхурочного
Они мог бы изменения с течением времени, и, вероятно, в конце концов.
Если это изменение, то в чем причина.
Это действительно зависит от конкретного сервера. Если у сервера есть статические IP-адреса, они, вероятно, не изменятся, но могут. Если у сервера есть динамические IP-адреса, они, скорее всего, изменятся. Если сервер перемещается в новое здание/сеть, IP-адреса могут и, вероятно, будут изменяться.
Это то, что DNS - это возможность разрешить заданное имя хоста текущим IP-адресам в тот момент, независимо от того, какие адреса на самом деле. Когда имя хоста зарегистрировано в DNS, DNS-записи имени хоста обновляются соответствующим образом, когда его IP-адреса изменяются, и эти изменения распространяются и кэшируются в общедоступных DNS-серверах. Именно поэтому иногда, когда имя хоста изменяет свои IP-адреса, для обнаружения новых IP-адресов изменение может занять некоторое время (минуты, часы) для клиентских систем, в зависимости от того, какие DNS-серверы являются запросами и как отформатирован запрос DNS.
Когда клиент хочет подключиться к серверу по имени хоста, он отправляет DNS-запрос для получения текущих IP-адресов. Запрос циркулирует через систему DNS до тех пор, пока DNS-сервер не решит, что у него есть подходящий ответ, и отвечает обратно на IP-адреса, которые он в настоящее время знает (которые могут быть кэшированы, поэтому запрос DNS не всегда может быть авторитарным ответом, если только клиент явно запрашивает, что в этом случае запрос будет перенаправлен на DNS-сервер, которому принадлежит имя хоста), а затем клиент подключается к этим IP-адресам по мере необходимости.
Иногда эти IP-адреса могут быть связаны с сетями, к которым клиент не подключен. Иногда IP-адреса могут кэшироваться промежуточным DNS-сервером и со временем устаревать. Вот почему лучше всего пытаться подключиться к каждому IP-адресу, который сообщается в ответе DNS. Но многие программисты сокетов не делают этого, они обычно просто подключаются к первому IP-адресу, который сообщается. Если можно, постарайтесь не попасть в ту же самую ловушку.
Спасибо @Remy. это действительно информативно. – saz
Я не уверен, что вы подразумеваете под «Ответные хосты выше при отправке HTTP-запросов на доменные имена, чем IP-адреса». – pajaja
, например, если я отправляю http-запрос на 20 доменных имен и их 20 IP-адресов отдельно, то, если я получаю 15 ответов HTTP при отправке запросов на доменные имена и 10 в случае запросов ip-адресов. – saz
Когда вы отправляете HTTP-запрос, независимо от того, идет ли он в домен или IP-адрес, вы получаете ответ HTTP-ответа, если домен не может быть разрешен к IP-адресу или сокет не сможет подключиться к IP-адресу. Таким образом, вы должны получать 20 ответов на 20 запросов, если только ошибки не возникают. Ошибки на самом деле происходят? –