DNS-сервер обеспечивает разрешение имён с помощью программы для поддержки сервера имён доменов (BIND) или управляющей программы, которая часто называется «named» (произносится как «нэйм-ди»). Служба BIND была разработана четырьмя студентами Калифорнийского университета в Беркли в начале 80-х годов. Как показано на рисунке, формат сообщений DNS, используемый в BIND, является самым распространённым форматом DNS в сети Интернет.
На DNS-серверах хранятся различные типы записей ресурсов, используемые для разрешения имён. Эти записи содержат имя, адрес и тип записи.
К некоторым типам записи относятся:
- A — адрес оконечного устройства.
- NS — доверенный сервер имён.
- CNAME — полное доменное имя для канонического имени; используется, когда несколько сервисов имеют один сетевой адрес, но для каждого из них есть отдельная запись в DNS.
- MX — запись для обмена почтой; связывает имя домена со списком почтовых серверов для этого домена.
Когда клиент выполняет запрос, процесс BIND сервера сначала ищет это имя в своих записях, чтобы разрешить его. Если имя не удалось разрешить по локальным записям, сервер обращается к другим серверам для разрешения имени.
Запрос может пересылаться по нескольким серверам, на что могут потребоваться дополнительное время и пропускная способность сети. Числовой адрес после нахождения возвращается исходному серверу, который определённое время хранит эту запись в своей кэш-памяти.
При повторном запросе этого же имени первый сервер может вернуть адрес, используя значение, которое в хранится кэше имён. Кэширование снижает трафик DNS-данных в сети и нагрузку серверов на более высоком уровне в иерархии. Служба «Клиент DNS» на ПК с операционной системой Windows оптимизирует производительность разрешения имён DNS, также сохраняя ранее разрешённые имена в памяти. На ПК с операционной системой Windows команда ipconfig /displaydns выводит на экран все кэшированные записи DNS.