logo
Ответы к экзамену по ПСП

Служба dns.

Служба DNS (Domain Name System)является одной из важнейших службTCP/IP, само появление которой в 1980-х годах дало мощный толчок развитиюTCP/IPи всемирной сетиInternet. Дело в том, чтоDNSобеспечивает важную возможность преобразования символических доменных имен в соответствующиеIP-адреса (разрешение имен). Например, для обращения к адресу серверу компанииMicrosoft, имеющемуIP-адрес 207.46.230.229, можно обратиться, используя символическое имяmicrosoft.com. С одной стороны, это дает более наглядную нотацию, а с другой, появляется возможность не привязывать жестко получение услуг сервера к фиксированному адресу, который при реорганизации сети может измениться.

Службу DNSможно рассматривать, как распределенную иерархическую базу данных, основное назначение которой отвечать на два вида запросов: выдатьIP-адрес по символическому имени хоста и наоборот – выдать символическое имя хоста по егоIP-адресу. Облуживание этих запросов и поддержку базы данных в актуальном состоянии обеспечивают взаимодействующие глобально рассредоточенные в сетиInternetсерверыDNS. База данных имеет древовидную структуру, в корне которой нет ничего, а сразу под корнем находятсяпервичные сегменты (домены): .com, .edu, .gov, …, .ru, .by, .uk, … Наименование этих первичных доменов отражает деление базы данныхDNSпо отраслевому (домены, обозначенные трехбуквенным кодом) и национальному признакам (двухбуквенные домены в соответствии со стандартомISO3166). Доменом в терминологииDNSназывается любое поддерево дерева базы данныхDNS.

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

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

Разработчик приложения может обратиться за разрешением имени с помощью функций, имеющих, как правило, имена gethostbynameиgethostbyaddr.

В одной доменной зоне может быть несколько доменных имен.

Существует определенный ряд записей, почтовый адрес админа, записи сопоставления имени и IPадреса, для замены одного имени на другое, для указания зоны, для поиска серверов где функционируют определенные службы.

Запись SOA: в ней указывается имя доменной зоны, период обновления,Ipадрес администратора, задержка перед следующей попыткой, минимальное время жизни

Запись А: связывает доменное имя и ipадрес. Если создать несколько записей с одним и тем же доменным именем но разнымиIpадресами, то это позволит равномерно распределить нагрузки между несколькими хостами. Сервер выбирает ближайшийIPадрес к клиенту.

Запись CNAME: позволяет одномуIPадресу сопоставить несколько доменных имен.

Запись MX: связывает имена почтовых доменов с именами хостов.

Запись PTR: запись обратная записи А.

Запись NS: определяет полномочный сервер имен субдомена. Связывает имена субдомена с именем полномочногоDNSсервера.

Запись SRV: отображает порядок и доступность служб в конкретной зоне. Определяет сетевой протокол, порт, доменное имя хоста.

Формат пакета DNS.

ID

QR

OPCODE

AA

TC

RD

RA

Z

RCODE

QDCOUNT

ANCOUNT

NSCOUNT

ARCOUNT

ID– идентификатор. Состоит из 2х байт. Т.к. обмен данными носит диалоговый характер, каждый запрос идентифицируется. Клиент передавая запрос заполняет это поля, сервер генерирует ответ и помещает его в тоже поле.

QR– идентификатор, обозначает данное сообщение запрос от клиента или ответ от сервера.

OPCODE– клиент указывает тип запроса к серверуDNS.

AA– имеет смысл только в пакетах ответа от сервера клиенту. Если установлен данный флаг, значит сервер сгенерировал ответ.

TC– данный флаг устанавливается в пакете ответе в том случае если сервер не смог поместить всю необходимую информацию в пакет из-за существующих ограничений.

RD– заголовокDNS. Клиент просит сервера не сообщать ему промежуточный ответ, а сообщить клиенту только конечный результат.

RA– данный флаг устанавливается в ответах. Служит для ответа клиенту поддерживает ли сервер рекурсивное обслуживание.

Следующие 3 бита заголовка DNSЗарезервированы для дальнейшего использования и должны быть равны нулю во всех запросах и ответах.

RCODE– поле кода ответа, либо с ошибкой, либо успешно. 0 – без ошибок, 1- ошибка разрешения имен и эта ошибка связана сDNSсервером который не смог понять формат запроса клиента, 2 – означает что сервер сигнализирует о неисправностях сервера. 3 – имени не существует в данном домене. 4 – сервер не может выполнить запрос данного типа.

QDCOUNT– количество запросов

ANCOUNT– количество ответов

NSCOUNT – количество записей в Authority Section

ARCOUNT – количество записей в Additional Record Section

Утилита NSLOOKUP