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