Система доменных имен DNS


DNS — это централизованная служба, основанная на распределённой базе отображений «доменное имя — IP-адрес». Она использует в своей работе протокол типа «клиент-сервер». DNS-серверы поддерживают распределённую базу отображений, а DNS-клиенты обращаются к серверам с запросами о разрешении доменного имени в IP-адрес.

Служба DNS использует текстовые файлы, которые администратор подготавливает вручную. Однако служба DNS хранит только часть имён сети, а не все имена. При росте количества узлов в сети проблема масштабирования решается созданием новых доменов и подддоменов имен и добавлением в службу DNS новых серверов.

Каждый DNS-сервер кроме таблицы отображений содержит ссылки на DNS-серверы своих поддоменов, которые связывают отдельные DNS-серверы в единую службу DNS. Ссылки представляют собой IP-адреса соответствующих серверов. Процедура разрешения DNS-имени во многом аналогична процедуре поиска файловой системой адреса файла по его символьному имени. Для доменных имен, так же как и для символьных имен файлов, характерна независимость именования от физического местоположения.

Существует две основные схемы разрешения DNS-имен. В первом варианте работу по поиску IP-адреса координирует DNS-клиент. Такая схема взаимодействия называется нерекурсивной или итеративной, когда клиент сам итеративно выполняет последовательность запросов к разным серверам имен. Так как эта схема загружает клиента сложной работой, то она применяется редко.

Во втором варианте реализуется рекурсивная процедура, в которой клиент перепоручает работу своему серверу. Практически все DNS-клиенты используют рекурсивную процедуру. Для ускорения поиска IP-адресов DNS-серверы широко применяют процедуру кэширования проходящих через них ответов, которые хранятся от нескольких часов до нескольких дней.