Служба DNS

 

Служба именования доменов (DNS, Domain Name System) описана в RFC и предназначена для установления глобального соответствия между символическими имена узлов и их IP-адресами. На ранних этапах развития TCP/IP сетей нужды в распределенной службе имен не было: существовал один текстовый файл, в котором были перечислены все имена узлов и их IP-адреса. Однако с ростом количества узлов такое решение стало неприемлемым.

DNS использует иерархическую схему выделения имен, позволяя децентрализовать управление отдельными участками пространства имен.

DNS-сервер домена должен поддерживать таблицу соответствий IP-адресов и символических имен для всех узлов, входящих в домен.

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

DNS-сервер хранит, в первую очередь, пары “символическое имя–IP-адрес” для всех узлов своего домена. Кроме того, в базе данных DNS-сервера имеется информация об адресах всех DNS-серверов данного домена (для повышения надежности поддерживается, как правило, не менее двух DNS-серверов для каждого домена, причем все они должны располагаться в разных IP-подсетях), списки псевдонимов (один и тот же узел может иметь несколько символических имен), а также список почтовых серверов данного домена.