Алгоритмы работы итеративных и рекурсивных запросов DNS
Все запросы, отправляемые DNS-клиентом DNS-серверу для разрешения имен, делятся на два типа:
- итеративные запросы (клиент посылает серверу DNS запрос, в котором требует дать наилучший ответ без обращений к другим DNS-серверам);
- рекурсивные запросы (клиент посылает серверу DNS запрос, в котором требует дать окончательный ответ даже если DNS-серверу придется отправить запросы другим DNS-серверам; посылаемые в этом случае другим DNS-серверам запросы будут итеративными).
Обычные DNS-клиенты (например, рабочие станции пользователей), как правило, посылают рекурсивные запросы.
Рассмотрим на примерах, как происходит взаимодействие DNS-клиента и DNS-сервера при обработке итеративных и рекурсивных запросов.
Допустим, что пользователь запустил программу Обозреватель Интернета и ввел в адресной строке адрес http://www.microsoft.com. Прежде чем Обозреватель установит сеанс связи с веб-сайтом по протоколу HTTP, клиентский компьютер должен определить IP-адрес веб-сервера. Для этого клиентская часть протокола TCP/IP рабочей станции пользователя (так называемый resolver ) сначала просматривает свой локальный кэш разрешенных ранее имен в попытке найти там имяwww.microsoft.com. Если имя не найдено, то клиент посылает запрос DNS-серверу, указанному в конфигурации TCP/IP данного компьютера (назовем данный DNS-сервер "локальным DNS-сервером" ), на разрешение имени www.microsoft.com в IP-адрес данного узла. Далее DNS-сервер обрабатывает запрос в зависимости от типа запроса.
Вариант 1 (итеративный запрос).
Если клиент отправил серверу итеративный запрос (напомним, что обычно клиенты посылают рекурсивные запросы), то обработка запроса происходит по следующей схеме:
- сначала локальный DNS-сервер ищет среди зон, за которые он отвечает, зону microsoft.com;
если такая зона найдена, то в ней ищется запись для узла www ; если запись найдена, то результат поиска сразу же возвращается клиенту;
в противном случае локальный DNS-сервер ищет запрошенное имя www.microsoft.com в своем кэше разрешенных ранее DNS-запросов;
если искомое имя есть в кэше, то результат поиска возвращается клиенту; если локальный DNS-сервер не нашел в своей базе данных искомую запись, то клиенту посылается IP-адрес одного из корневых серверов DNS;
- клиент получает IP-адрес корневого сервера и повторяет ему запрос на разрешение имени www.microsoft.com;
корневой сервер не содержит в своей БД зоны "microsoft.com", но ему известны DNS-серверы, отвечающие за зону "com", и корневой сервер посылает клиенту IP-адрес одного из серверов, отвечающих за эту зону;
- клиент получает IP-адрес сервера, отвечающего за зону "com", и посылает ему запрос на разрешение имени www.microsoft.com;
сервер, отвечающий за зону com, не содержит в своей БД зоны microsoft.com, но ему известны DNS-серверы, отвечающие за зону microsoft.com, и данный DNS-сервер посылает клиенту IP-адрес одного из серверов, отвечающих уже за зону microsoft.com;
- клиент получает IP-адрес сервера, отвечающего за зону microsoft.com, и посылает ему запрос на разрешение имени www.microsoft.com;
сервер, отвечающий за зону microsoft.com, получает данный запрос, находит в своей базе данных IP-адрес узла www, расположенного в зоне microsoft.com, и посылает результат клиенту;
клиент получает искомый IP-адрес, сохраняет разрешенный запрос в своем локальном кэше и передает IP-адрес веб-сайта программе Обозреватель Интернета (после чего Обозреватель устанавливает связь с веб-сайтом по протоколу HTTP).
Вариант 2 (рекурсивный запрос).
Если клиент отправил серверу рекурсивный запрос, то обработка запроса происходит по такой схеме:
- сначала локальный DNS-сервер ищет среди зон, за которые он отвечает, зону microsoft.com; если такая зона найдена, то в ней ищется запись для узла www ; если запись найдена, то результат поиска сразу же возвращается клиенту;
в противном случае локальный DNS-сервер ищет запрошенное имя www.microsoft.com в своем кэше разрешенных ранее DNS-запросов; если искомое имя есть в кэше, то результат поиска возвращается клиенту;
- если локальный DNS-сервер не нашел в своей базе данных искомую запись, то сам локальный DNS-сервер выполняет серию итеративных запросов на разрешение имени www.microsoft.com, и клиенту посылается либо найденный IP-адрес, либо сообщение об ошибке.
Дата добавления: 2015-10-13; просмотров: 1625;