Протокол DNS. Формат DNS — сообщения Управление услугой Premium DNS

Серверы, обслуживающие корневую зону (Root servers)

Кэширующие (cache) серверы

Этот тип серверов отличается от тех, что были рассмотрены ранее, тем, что сервер данного типа не является авторитативным для какой-либо зоны.

Серверы данного вида используют для организации централизованного кеширования соответствий доменных имен и IP-адресов. Идея организации кэширующего сервера состоит в том, чтобы не искать соответствие доменного имени и IP-адреса в сети, а накапливать их в своём локальном кэше и обслуживать запросы relover-ов, используя данные кэша.

Кэш-сервер не поддерживает описаний зон и, соответственно, не посылает resolver’ам авторитативных откликов:

MCBC > nslookup

> set type=any

> www.w3.org

Server: udc.nwudc.lan

Address: 192.168.25.25

Non-authoritative answer:

www.w3.org internet address = 193.51.208.69

www.w3.org internet address = 128.30.52.31

www.w3.org internet address = 128.30.52.45

www.w3.org internet address = 128.30.52.46

www.w3.org internet address = 128.30.52.47

www.w3.org internet address = 128.30.52.54

w3.org nameserver = ns3.w3.org

w3.org nameserver = ns1.w3.org

w3.org nameserver = ns2.w3.org

Выше приведен типичный отклик кэширующего сервера на запрос nslookup об адресе «www.w3.org». Если бы сервер был авторитативным, то строчки «Non-authoritative answer» в отклике не было.

Их место в получении отклика на запрос к системе доменных имён ключевое. Именно к одному из корневых серверов обращается локальный сервер доменных имен, если не находит в зоне своей ответственности или в своем кэше соответствия между доменным именем и IP-адресом.

Протокол DNS выполняет две основные функции. Он позволяет клиентским компьютерам запрашивать DNS-сервер об IP-адресе или имени какого-либо хоста в сети, а также позволяет производить обмен информацией между базами данных серверов DNS. В этом протоколе используется стандартный формат типа «запрос-ответ», где клиент посылает пакет запроса, и сервер отвечает либо пакетом с информацией, полученной из базы данных, либо сообщением об ошибке, в котором указывается причина отказа в обработке запроса. В своей работе этот протокол использует порт 53 и хорошо известные протоколы - TCP или UDP. Причем в последнее время UDP стал более распространенным методом транспортировки пакетов по сети Internet. Пакет DNS состоит из пяти полей: заголовка, вопроса, ответа, полномочий и поля дополнительной информации. На рисунке 5.7 показана общая структура пакета DNS.

Рис. 5.7 Описание пакета протокола DNS

Поле заголовка



В поле заголовка содержится информация о пакете и его назначении. В нём дается общее описание пакета (пакет запроса или пакет ответа) и указывается количество данных, содержащихся в каждом поле данных пакета. Описание заголовка приводится в таблице 5.1.

Биты ID являются уникальным 16-битовым идентификационным номером пакета запроса. Пакет ответа, формируемый сервером, также использует этот идентификационный номер, чтобы клиент мог сопоставить ответ сервера со своим запросом. Бит QR обозначает тип пакета (пакет запроса - 0, пакет ответа - 1). Поле OPCODE определяет тип запроса - стандартный (0), обратный (1) или запрос о статусе сервера (2).

Таблица 5.1. Поле заголовка DNS-пакета

Бит Описание Бит Описание
0-15 ID RA
QR 25-27 Z
17-20 OPCODE 28-31 RCODE
AA 32-47 QDCOUNT
TC 48-63 ANCOUNT
RD 64-79 NSCOUNT
80-95 ARCOUNT

Следующие четыре бита определяют различные параметры пакета. Бит AA устанавливается, когда ответ является авторитетным (данные поступают напрямую от DNS-сервера, ответственного за зону). Неавторитетные ответы могут поступать от серверов DNS, в кэше которых сохранилась информация об исходных записях от предыдущих запросов. Эта информация считается неавторитетной, так как есть вероятность, что с момента последнего обращения к серверу информация была изменена. Бит TC устанавливается, когда требуется урезать данные в пакете до вида, удобного для передачи по сети. Такое вполне возможно при использовании протокола UDP, согласно которому размер пакета не должен превышать 512 байт. Бит RD включается, когда клиент желает рекурсивно запрашивать DNS-сервер на постоянной основе. Если этот бит установлен, то DNS-сервер будет запрашивать другие DNS-серверы, пока не получит ответ. Если этот бит не установлен, то DNS-сервер будет возвращать на запрос любую информацию, которая у него имеется. Бит RA устанавливается, чтобы уведомить клиента о возможности рекурсивного запроса на данный сервер. Биты Z в настоящее время не используются и зарезервированы на будущее.

Биты RCODE используются только в пакетах ответов. Они отображают состояние ответа - без ошибок (0), ошибки в пакете запроса (1), внутренние ошибки не дали возможности серверу обработать запрос (2), имя, указанное в запросе, не существует (3), данный тип запроса не поддерживается сервером (4) и сервер отказался обработать запрос (5).

Остальные четыре параметра заголовка представляют собой 16-битовые числа и используются в качестве счётчиков. С их помощью ведётся учёт количества исходных записей, возвращаемых в пакете. QDCOUNT отображает количество запросов (в пакет может включаться более одного запроса). ANCOUNT - количество исходных записей, включенных в ответ. NSCOUNT обозначает число исходных записей об авторитетных серверах имен, а ARCOUNT - число записей в поле дополнительной информации.

Поле вопроса

Поле вопроса содержит запросы, ответы на которые клиент желает получить от DNS-сервера. В одном пакете DNS может содержаться несколько запросов. Количество запросов в пакете определяется параметром QDCOUNT из поля заголовка. Поле вопроса состоит из трех частей: списка преобразуемых доменных имен; поля типов записей, которые клиент желает получить в ответе, и параметра класса запроса. Список преобразуемых доменных имён представляет собой список имён, для которых клиент желает получить IP-адреса. Для формирования списка имён используется специальный формат. Перед каждым именем ставится однобайтное значение, которое определяет длину имени. Конец списка обозначается именем с нулевой длиной. После текстовой части следует двубайтная запись QTYPE. В ней определяется, в каком виде клиент желает принимать информацию о имеющихся доменах. Эти значения полностью соответствуют типам исходных записей в DNS. Например, для того чтобы найти почтовый сервер для определённого домена, вам следует воспользоваться типом записи МХ. И, наконец, последний параметр в поле вопроса - QCLASS. Он определяет класс запроса, который в нашем случае для сети Internet всегда будет IN.

Поля ответа, полномочий и дополнительной информации

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

Например, если запросить информацию об МХ-записях домена, то в поле ответа будет получена информация об МХ-записях, а в поле дополнительной информации - записи А для серверов, указанных в поле ответа. Таким образом, с помощью одного DNS-запроса можно узнать и имя, и IP-адрес почтового сервера для домена.

Формат представления исходной записи в пакете DNS показан в таблице 5.2.

Таблица 5.2. Форматы полей ответа, полномочий и дополнительной информации

В поле ответа значения RDATA соответствуют результатам обработки запроса. Записи МХ представляются не в текстовом формате. Вместе с именем почтового сервера в них вносится значение приоритета.

В этом разделе мы столкнулись с понятиями DNS-запроса и DNS-ответа. Запрос и ответ представляют собой единственные два типа сообщений, используемые протоколом DNS. Форматы этих сообщений совпадают и представлены на рис. 2.17. Ниже приведено описание структуры DNS-сообщения.

□ Первые 12 байт составляют заголовочную секцию, состоящую из нескольких полей. Первое поле представляет собой 16-разрядное число, идентифицирующее запрос. Идентификатор запроса копируется в ответное сообщение, что позволяет клиенту сопоставлять ответы с запросами. Поле флагов включает одноразрядный флаг «запрос/ответ» и определяет, является ли сообщение запросом (0) или ответом (1). Одноразрядный флаг полномочности устанавливается для ответного сообщения в случае, если сервер имен является полномочным для запрашиваемого имени.

Одноразрядный флаг предпочтительности рекурсии устанавливается в случае, когда клиенту (хосту или серверу имен) необходимо дать указание серверу имен применить рекурсивный запрос при отсутствии IP-адреса. Одноразрядный флаг доступности рекурсии устанавливается в ответном сообщении, если сервер имен поддерживает рекурсивный механизм запросов. В заголовке также содержатся четыре секции для «типов» данных.

□ Секция вопросов содержит информацию о запросе и включает поле имени, в котором указано имя запрашиваемого хоста, и поле типа, определяющее содержание ответа, например адрес хоста (тип А) или имя почтового сервера (тип MX).

□ Секция ответов присутствует в ответных сообщениях и содержит требуемые ресурсные записи. Каждая RR-запись включает поля Туре с одним из значений A, NS, CNAME или MX, Value и TTL. Поскольку имени хоста может быть сопоставлено несколько IP-адресов (например, из-за дублирования web-серверов, упоминавшегося в этой главе), секция ответов также может содержать несколько записей.

□ Секция полномочности включает в себя записи о других полномочных серверах.

□ Дополнительная секция содержит прочие «полезные» записи. Например, в поле ответов для запроса на запись типа MX может находиться запись, хранящая каноническое имя почтового сервера, а в дополнительную секцию помещена запись типа А с IP-адресом почтового сервера.

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

Premium DNS — пакет услуг, с помощью которого можно более гибко управлять зоной домена, а также просматривать историю изменений DNS-записей.

Вся информация о доменах, для которых подключен Premium DNS , дублируется на наши DNS-серверы и хранится в надежных дата-центрах. «Страхующие» серверы объединяются в сеть Anycast . Это обеспечивает их бесперебойную работу. Если один из серверов отказывает, другие продолжают работу и предоставляют бесперебойный uptime ваших сайтов и сервисов на домене.

Если для вашего домена прописаны хостинговые DNS-серверы (ns1.hosting..hosting. .

Пакет услуг Premium DNS дает возможность:

    создавать шаблоны DNS-зон;

    экспортировать DNS-зоны;

    импортировать DNS-зоны;

    откатить любое нежелательное изменение DNS-записей и восстановить настройки зоны, на которых сайт функционирует без ошибки;

    использовать услугу для защиты от кибератак;

    сократить время обновления зоны после любой операции до 10 минут (на стандартных условиях обновление занимает не менее 1 часа);

    повысить отказоустойчивость системы и обеспечить бесперебойную работу интернет-ресурсов клиентов сайт.

Кому полезен Premium DNS?

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

Как заказать Premium DNS?

Готово! Вы заказали услугу Premium DNS.

Управление услугой Premium DNS



Как применить созданный шаблон зоны?

Перейдите на вкладку «Шаблоны зон» и напротив необходимого шаблона нажмите Применить шаблон :

Готово! Созданный шаблон зоны применён.

Экспорт и импорт зоны домена

Перейдите на вкладку «Управление зоной». Для импорта или экспорта зоны домена нажмите Экспорт/Импорт и выберите необходимое действие:

Экспорт зоны производится в формате BIND . Импортировать зону возможно также только из файла с форматом BIND .

Готово! Шаблон экспортирован/импортирован.

Как изменить тариф Premium DNS?

Прямой смены тарифа Premium DNS «для домена» на Premium DNS «для аккаунта» нет.

Протокол DNS выполняет две основные функции. Он позволяет клиентским компьютерам запрашивать DNS-сервер об IP-адресе или имени какого-либо хоста в сети, а также позволяет производить обмен информацией между базами данных серверов DNS. В этом протоколе используется стандартный формат типа "запрос-ответ", где клиент посылает пакет запроса, и сервер отвечает либо пакетом с информацией, полученной из базы данных, либо сообщением об ошибке, в котором указывается причина отказа в обработке запроса. В своей работе этот протокол использует порт 53 и хорошо известные протоколы - TCP или UDP. Причем в последнее время UDP стал более распространенным методом транспортировки пакетов по сети Internet. Пакет DNS состоит из пяти полей: заголовка, вопроса, ответа, полномочий и поля дополнительной информации. На рис. 4.5 показана общая структура пакета DNS.


Рис. 4.5.

Поле заголовка

В поле заголовка содержится информация о пакете и его назначении. В нем дается общее описание пакета (пакет запроса или пакет ответа) и указывается количество данных, содержащихся в каждом поле данных пакета. Описание заголовка приводится в табл. 4.3 .

Таблица 4.3. Поле заголовка DNS-пакета
Бит Описание
0-15 ID
16 QR
17-20 OPCODE
21 AA
22 TC
23 RD
24 RA
25-27 Z
28-31 RCODE
32-47 QDCOUNT
48-63 ANCOUNT
64-79 NSCOUNT
80-95 ARCOUNT

Биты ID являются уникальным 16-битовым идентификационным номером пакета запроса. Пакет ответа, формируемый сервером, также использует этот идентификационный номер, чтобы клиент мог сопоставить ответ сервера со своим запросом. Бит QR обозначает тип пакета (пакет запроса - 0, пакет ответа - 1). Поле OPCODE определяет тип запроса - стандартный (0), обратный (1) или запрос о статусе сервера (2).

Следующие четыре бита определяют различные параметры пакета. Бит AA устанавливается, когда ответ является авторитетным (данные поступают напрямую от DNS-сервера, ответственного за зону). Неавторитетные ответы могут поступать от серверов DNS, в кэше которых сохранилась информация об исходных записях от предыдущих запросов. Эта информация считается неавторитетной, так как есть вероятность, что с момента последнего обращения к серверу информация была изменена. Бит TC устанавливается, когда требуется урезать данные в пакете до вида, удобного для передачи по сети. Такое вполне возможно при использовании протокола UDP, согласно которому размер пакета не должен превышать 512 байт. Бит RD включается, когда клиент желает рекурсивно запрашивать DNS-сервер на постоянной основе. Если этот бит установлен, то DNS-сервер будет запрашивать другие DNS-серверы, пока не получит ответ. Если этот бит не установлен, то DNS-сервер будет возвращать на запрос любую информацию, которая у него имеется. Бит RA устанавливается, чтобы уведомить клиента о возможности рекурсивного запроса на данный сервер. Биты Z в настоящее время не используются и зарезервированы на будущее.

Биты RCODE используются только в пакетах ответов. Они отображают состояние ответа - без ошибок (0), ошибки в пакете запроса (1), внутренние ошибки не дали возможности серверу обработать запрос (2), имя, указанное в запросе, не существует (3), данный тип запроса не поддерживается сервером (4) и сервер отказался обработать запрос (5).

Остальные четыре параметра заголовка представляют собой 16-битовые числа и используются в качестве счетчиков. С их помощью ведется учет количества исходных записей, возвращаемых в пакете. QDCOUNT отображает количество запросов (в пакет может включаться более одного запроса). ANCOUNT - количество исходных записей, включенных в ответ. NSCOUNT обозначает число исходных записей об авторитетных серверах имен, а ARCOUNT - число записей в поле дополнительной информации.

Поле вопроса

Поле вопроса содержит запросы, ответы на которые клиент желает получить от DNS-сервера. В одном пакете DNS может содержаться несколько запросов. Количество запросов в пакете определяется параметром QDCOUNT из поля заголовка. Поле вопроса состоит из трех частей: списка преобразуемых доменных имен; поля типов записей, которые клиент желает получить в ответе, и параметра класса запроса. Список преобразуемых доменных имен представляет собой список имен, для которых клиент желает получить IP-адреса. Для формирования списка имен используется специальный формат. Перед каждым именем ставится однобайтное значение, которое определяет длину имени. Конец списка обозначается именем с нулевой длиной. После текстовой части следует двубайтная запись QTYPE . В ней определяется, в каком виде клиент желает принимать информацию о имеющихся доменах. Эти значения полностью соответствуют типам исходных записей в DNS. Например, для того чтобы найти почтовый сервер для определенного домена, вам следует воспользоваться типом записи МХ . И, наконец, последний параметр в поле вопроса - QCLASS . Он определяет класс запроса, который в нашем случае для сети Internet всегда будет IN .

Поделиться: