Служба Доменных Имен (DNS)

Служба разрешения доменных имен (DNS)

 Глава 1. Разрешение имен сетевых узлов

В сетях TCP/IP адрес узла представляет собой 32-битное число. Однако обычному человеку сложно запомнить хотя бы пару таких адресов. Сетевые узлы обычно назвают привычными легко запоминаемыми и информативными именами, например gauss или strange .Чтобы пересылать данные через сеть, необходимо, исходи из символьного имени, определить соответствующий IP-адрес. Этот процесс называется разрешением имен сетевых узлов (host name resolution).

Приложение, которому требуется определить IP-адрес, поделает это самостоятельно, а обращается к набору специальных библиотечных функции, которые осуществляют прозрачное преобразование. Этими функциями являются gethostbymime (3) и gethostbyaddr (3). Обычно эти функции наряду с некоторыми сопутствующими процедурами группируются и отдельную библиотеку, называемую библиотекой револьвера (resolver library),В операционной системе Linux они являются частью стандартной библиотекиlibc. Для краткости этот набор функций часто называют резольвером (resolver).

В небольших сетях (например, Ethernet) поддерживать таблицы соответствия имен узлов IP-адресам вручную не сложно. Обычно эта информация хранится и файле /etc/hosts. Если в сети появляются новые компьютеры, удаляются старые или происходит переопределение какого-либо адреса, все, что требуется сделать, - это обновить содержимое файла hosts на всех компьютерах сети. Очевидно, что задача обновления всех этих файлов может оказаться весьма обременительной, если речь идет о сети с большим количеством узлов.

Одним из решений этой проблемы является использование сетевой информационной системы (Network Information System, NIS), разработанной компанией Sun Microsystems. Эту систему также иногда называют желтыми страницами (Yellow Pages, YP). При использовании NIS файлhosts хранится на центральном компьютере сети, и все клиенты сети могут в случае надобности получить интересующую их информацию о соответствии IP-адресов прямо оттуда. Этот подход приемлем в условиях средних по размеру локальных сетей, так как он подразумевает централизованное хранение базы данных hosts.

Изначально в Интернете (вернее в его прородителе - APRANET) информация об адресах и именах сетевых узлов также хранилась в одном файле HOSTS.TXT. Этот файл поддерживался Сетевым информационным центром (Network Information Center, NIC) >и должен был загружаться каждым из узлов, подключенным к Интернету. По мере роста сети появлялось все больше связанных с этим проблем. Помимо чисто административных неудобств, вызванных необходимостью регулярного обновления и переустановки файлаHOSTS.TXT, возникли сложности с его распространением. Нагрузка на серверы, предоставляющие этот файл для всеобщего использования, значительно возросла. Необходимость присвоения каждому новому узлу уникального имени также была серьезной проблемой.

Для решения обеих этих проблем в 1984 году была принята новая схема разрешения имен. Это была служба разрешения доменных имен (Domain Name System, DNS), разработанная Полом Мокапетрисом (Paul Mockapetris).