информации о состоянии процесса, и влечет за собой необходимое действие,
которое заключается в том, что DNS-клиент передает запрос на DNS-серверы,
причем таким образом, чтобы максимизировать вероятность получения ответа
на отправленный запрос, минимизировать время обработки запроса и избежать
повторных процедур отправки запроса. Базовый алгоритм использует вопрос с
информацией о состоянии процесса для выбора следующего адреса DNS-
сервера, который будет запрашиваться, а также вычисляет время тайм-аута, по
истечении которого (то есть в случае отсутствия ответного сообщения) будут
предприняты следующие действия или процедуры. Следующим действием, как
правило, становиться очередная попытка повторной передачи запроса, но
только не другой DNS-сервер. Кроме этого, может последовать ответ
пользователю о наличии временной ошибки.
DNS-клиент всегда начинает функционировать с анализа перечня DNS-
серверов (перечень), на которые будет направляться запрос. Этот перечень
будет содержать “NS” записи о всех DNS-серверах, указывающих на
ближайшую родительскую зону, о которой знает DNS-клиент. Для исключения
каких-либо проблем в начальной стадии процесса, DNS-клиент должен иметь
список DNS-серверов в режиме “по умолчанию”, которые он будет опрашивать,
если он не имеет текущих “NS” записей, содержащих адреса необходимых
DNS-серверов. Затем DNS-клиент добавляет в перечень все известные адреса
DNS-серверов, и может начать параллельную рассылку запросов с цель
получения адресов серверов, когда DNS-клиент знает их имена, но не знает их
адресов.
Для завершения комплектования перечня, DNS-клиент добавляет к
каждому адресу в перечне какую бы то ни было известную ему историческую
информацию, связанную с этим адресом. Эта информация, как правило, будет
включать некоторую группу наиболее важных усредненных значений
интервала времени, через который поступил ответ, причем каждый интервал
будет закреплен за конкретным адресом, а также данные о “популярности”
DNS-сервера (то есть, как часто DNS-сервер с конкретным адресом отвечал на
все вопросы, помещенные в сообщении-запросе). (Замечание. Эта
информация должна закрепляться именно за каждым адресом, а не за
DNS-сервером, так как время поступления ответа и имя
соответствующего DNS-сервера могут существенно варьироваться от
адреса к адресу. Кроме этого, такая информация, на самом деле,
определяет пару адресов DNS-клиент/DNS-сервер, и поэтому DNS-клиент
с несколькими адресами может предпочесть хранение исторических
данных отдельно для каждого своего адреса.) Часть процедуры завершения
комплектования перечня может быть связана с адресами, которые не имеют
какой-либо предыстории. В таком случае, предполагаемый кольцевой маршрут