В настоящее время, когда клиент DNS делает запрос на запись DNS (скажем, www.example.com.
, ему необходимо пройти по дереву DNS. Он запрашивает у корневых серверов местонахождение com.
, который затем запрашивает местоположение example.com.
, который затем запрашивает местоположение www.example.com.
. К счастью, большая часть этого кешируется.
Если example.com.
имеет несколько географически разнообразных NS
перечисленные записи, я понимаю, что они перечислены в случайном порядке, чтобы все запросы не отправлялись к первому (или последнему) NS
запись в списке.
Это может означать, что преобразователь DNS в Австралии может выбрать NS
запись для сервера имен, который находится далеко, возможно, в Европе, хотя может быть другой авторитетный сервер имен, который находится намного ближе.
Итак, мой вопрос: есть ли в спецификации DNS какое-либо положение, позволяющее преобразователям DNS выбирать локальный для них авторитетный сервер имен? Единственный способ, которым я могу добиться этого, - это иметь записи NS за произвольным адресом и таким образом выполнять локальное разрешение. Это сработает? Есть ли другой вариант?
Вы на 100% на месте. Anycast - единственный способ сделать это, DNS не предусматривает географического выбора авторитетных серверов имен.
Фактически, большинство IP-адресов корневых серверов имен являются произвольными :)