Важно понимать, что все серверы DNS делятся на два типа согласно основной роли, которую они играют. Одни отвечают за хранение и распространение информации о вверенном им домене в глобальной Сети, другие – за поиск информации о том или ином адресе DNS. Иногда обе роли могут быть объединены в одном физическом сервере, но использовать такую конфигурацию не рекомендуется.
Серверы, выполняющие поиск информации в DNS, призваны отвечать на запросы своих клиентов о тех или иных адресах. Ответы они ищут,
Серверы, опрашивающие DNS в поисках нужных адресов, называются рекурсивными резолверами (от
С точки зрения пользователя и в сильно упрощенном виде алгоритм работы DNS-резолвера по поиску адресов сайтов можно описать следующим образом. Когда пользователь вводит в адресной строке браузера адрес сайта, например hat.nic.ru, компьютер выполняет запрос к тому или иному известному ему DNS-резолверу, спрашивая этот сервер о том, какой IP-адрес связан с «доменным адресом», указанным пользователем. В ответ сервер-резолвер DNS, проверив соответствие по своим внутренним таблицам или выполнив запрос к другим серверам, присылает искомый IP-адрес. Далее браузер устанавливает соединение с сайтом уже по IP-адресу.
По отношению к другим серверам DNS-резолвер выступает клиентом, так как отправляет запросы, на которые они отвечают с теми или иными данными. У резолвера есть и свои клиенты, для них он – сервер. Это операционные системы на компьютерах, обслуживаемых данным резолвером. Например, в сети интернет-провайдера обязательно существует резолвер, обслуживающий его клиентов. Традиционно им является сервер, доступный изнутри сети по известному IP-адресу.
В ряде случаев работа DNS-резолвера, пытающегося выяснить IP-адрес, соответствующий заданному имени домена, начинается с запроса к одному из корневых серверов. Корневой сервер, конечно, не знает ответа для каждого из имен, существующих в Интернете, однако он может сообщить клиенту адреса тех серверов, которые располагают информацией об искомом имени, – и клиент обратится к следующим серверам с тем же запросом. В этом и состоит рекурсия. Ниже мы разберем процесс подробно.
Попробуем проследить за запросами на простом примере. Предположим, что требуется определить IP-адрес, соответствующий домену www.nic.ru.
Сразу нужно обговорить пару важных моментов. Во– первых, резолвер, занимающийся поиском имен, – это обычно специальная программа, работающая на том или ином компьютере. Как мы разобрались, резолвер обрабатывает запросы вида «А какой адрес у www.nic. ru?», поступающие от других программ и компьютеров. Резолвер может быть и локальным, то есть работающим на том же компьютере, где, например, запущен браузер. Во-вторых, наиболее важные из резолверов (кэширующие DNS-серверы) обслуживают множество разных запросов и имеют собственный кэш адресов (особую память), в котором в течение определенного времени сохраняются ранее полученные из DNS сведения об адресации внутри доменов. Наличие такого кэширования – важнейшая особенность DNS, делающая эту систему распределенной и устойчивой к большим нагрузкам.
Вернемся к нашему примеру: получив запрос о www. nic.ru резолвер прежде всего проверит свой кэш; если там не удастся найти ответа на вопрос об адресе узла с именем www.nic.ru, то рекурсивный резолвер начнет опрос глобальной DNS с запроса к одному из корневых серверов. Конечно, корневой сервер не знает ответа на вопрос о www.nic.ru, но он сообщит резолверу адреса тех серверов, которые отвечают за доменную зону .ru, благо они содержатся в корневой доменной зоне. Серверы .ru в свою очередь отправят резолвер к серверам, отвечающим за .nic.ru, и те наконец ответят о www.nic.ru, то есть об адресе узла, соответствующего домену третьего уровня www.nic.ru. Вот так рекурсивно работает DNS.
Надо заметить, что сейчас на подавляющем большинстве пользовательских компьютеров используются так называемые глупые (dumb или stub в англоязычной литературе) или, если выразиться более корректно, «простые» резолверы, которые не умеют выполнять сложные рекурсивные DNS-запросы, требующие обхода множества серверов имен. Они целиком полагаются на тот или иной известный им «умный» резолвер – кэширующий сервер DNS, – просто передавая свои запросы ему. Традиционно это сервер интернет-провайдера, обеспечивающего доступ к Сети. В такой конфигурации запросы к корневым серверам, а равно и к серверам, отвечающим за другие доменные зоны, выполняет сервер провайдера, делая за «глупого» всю сложную работу.
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии