Конкретный запрос, который заставил меня попытаться распаковать этот процесс, был:
Будет ли поиск DNS для субдомена, такого как assets.example.com
, быстрее, если родительский домен example.com
уже разрешен?
По моему (наивному )пониманию, основной процесс преобразования доменного имени в IP-адрес довольно прост. Адреса тринадцати корневых серверов, которые знают, как разрешать домены верхнего уровня -, такие как com
и net
, жестко запрограммированы в сетевом оборудовании. В случае поиска example.com
наш локальный DNS-сервер, возможно, наш маршрутизатор, запрашивает один из этих корневых серверов, где найти сервер имен верхнего уровня -для com
. Затем он спрашивает результирующий сервер имен, знает ли он, как разрешить example
. Если это так, мы закончили, если нет, мы перешли на другой сервер. Каждый сервер имён в этом процессе вполне может кэшировать, так что какое-то время наш локальный роутер теперь будет знать навскидку, где искать com
и example
, а сервер com
будет знать, где искать example
.
Тем не менее, я действительно не понимаю.
com
TLD не знает, как разрешить example
, как он решает, какие другие серверы имен проверять? Или это просто означает, что example.com
не может быть разрешено?Википедия объясняет, что некоторые DNS-серверы сочетают кэширование с реализацией рекурсивных запросов, что позволяет им обслуживать попадания в кеш и надежно разрешать промахи в кеше.Я не понимаю, как эти серверы запрашиваются или как (даже в общих чертах )работает алгоритм разрешения.
Оглядываясь назад на свой первоначальный вопрос, я мог бы ответить «нет», предполагая, что обе записи A находятся на одном и том же сервере имен. Это точно?