У меня есть гипотетическая ситуация, на которую я не смог найти никакого реального ответа. Представьте, что у нас есть компьютер, который никогда не был в интернете. Компьютер также находится в сети, где служба DNS не предоставляется. Давайте также притворимся, что такие вещи, как общедоступный DNS Google, не существуют.
Теперь давайте предположим, что на этом компьютере есть только имена и разрешенные адреса корневых DNS-серверов, вот так.
Теперь этот компьютер хочет знать IP-адрес, скажем, superuser.com. Как, имея только IP-адреса корневых серверов, компьютер обрабатывает запросы к корневому серверу, чтобы получить разрешенную A-запись superuser.com?
Я делал попытки, но всегда оказывался там, где мне нужно использовать существующий DNS-сервер, о котором я знаю, для разрешения A-записи. Например, если я открываю командную строку и начинаю пытаться разрешить google.ca (для корневого сервера), я получаю:
Обслуживается:
ns1.google.com
google.ca
ns2.google.com
google.ca
... и так и так и так далее. Таким образом, на данный момент мне нужно разрешить nsX.google.com, чтобы запросить его, чтобы получить A-запись для google.ca, однако, учитывая сценарий, у меня нет сервера, который я мог бы запросить для адрес nsX.google.com. Если я попытаюсь разрешить ns1.google.com обратно с корневого сервера, я попаду туда же.
Краткая версия: Как, черт возьми, я могу разрешить A-запись для домена без использования какой-либо другой информации, кроме той, которая предоставляется мне корневым сервером? Заранее спасибо. :)