Я использую nslookup и пытаюсь понять разницу в авторитетных и неавторитетных ответах. Эти два ответа кажутся согласованными (они дают одинаковый ответ, если вы запускаете команду несколько раз).
Обычный вызов nslookup
$ nslookup google.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: google.com
Address: 72.14.213.104
Name: google.com
Address: 72.14.213.105
Name: google.com
Address: 72.14.213.106
Name: google.com
Address: 72.14.213.147
Name: google.com
Address: 72.14.213.99
Name: google.com
Address: 72.14.213.103
Nslookup с использованием авторитетного сервера Google
$ nslookup google.com ns1.google.com
Server: ns1.google.com
Address: 216.239.32.10#53
Name: google.com
Address: 74.125.225.19
Name: google.com
Address: 74.125.225.20
Name: google.com
Address: 74.125.225.16
Name: google.com
Address: 74.125.225.17
Name: google.com
Address: 74.125.225.18
Есть идеи, почему они разные? Должны ли они давать разные ответы?
Когда я пингую google.com, он показывает 72.14.213.104, а RTT составляет 1/3 RTT для пинга 74.125.225.19.
Кто-нибудь может это объяснить?
Google пытается вернуть IP-адреса серверов, ближайших к запрашивающей стороне. В первом случае ваш сервер имен делает запрос. Во втором случае ваш компьютер делает запрос.
Авторитетная и неавторитетная информация тут ни при чем.
В принципе, если у вас нет нестандартных сетевых подключений (высокая задержка / низкая пропускная способность / высокая потеря пакетов) или ответы DNS от вашего интернет-провайдера неуместно медленные, я бы посоветовал вам не управлять DNS на микроуровне; это просто не стоит усилий. И в этом случае DNS-сервер интернет-провайдера в любом случае предоставил вам лучший (лучший?) Результат.
Авторитетный ответ должен исходить непосредственно от одного из серверов имен домена. Неавторитетный ответ может прийти с любого сервера, на котором есть ответ. Если конфигурация не менялась недавно, ответы будут такими же.
В запросах можно указать, что они требуют авторитетного ответа. Они могут потребовать дополнительных поисков, поскольку необходимо связаться с официальным сервером. При внесении изменений можно получить разные ответы от разных авторитетных серверов. Ответ с наибольшим порядковым номером должен быть самым последним ответом. (В редких случаях, когда серийный номер сбрасывается, это не так.)
На неавторитетные ответы должен ответить первый сервер, к которому вы связались. Это самый быстрый ответ. Этих ответов достаточно для большинства случаев использования.
Такие сервисы, как Google, - особый случай. Они используют специальные серверы, которые дают разные ответы в зависимости от вашего местоположения. Они также могут выполнять балансировку нагрузки. И то, и другое со временем приведет к разным ответам. Кэшированные (неавторизованные) ответы, скорее всего, будут старше и отражать предпочтительные серверы на момент кэширования результата.
Google пытается направить вас на серверы, которые имеют наилучшее соединение с вашим местоположением. Эти серверы должны иметь более низкое RTT, чем другие серверы Google в других местах.
В Запись в Википедии на DNS это довольно хорошо объясняет:
Авторитетный сервер имен - это сервер имен, который дает ответы, которые были настроены исходным источником, например, администратором домена, или с помощью методов динамического DNS, в отличие от ответов, которые были получены через обычный DNS-запрос к другому серверу имен.
Что касается разницы в пинге, это как если бы вы сказали: «Когда я еду в Вашингтон из Нью-Йорка, поездка до Портленда занимает лишь десятую часть времени». Адреса удаленно не совпадают, поэтому они могут быть далеко друг от друга.
Это касается как IP-адресов, так и географических адресов.