Литература

Служба DNS

2.1 Для чего это нужно?

Числовая IP-адресация не неудобна для человека. Запомнить наборы цифр гораздо труднее, чем слова. Для облегчения стали использовать соответствия числовых адресов именам машин.

Например, для нашего сервера существуют следующие соответствия:


127.0.0.1 localhost
195.208.44.20 ipm.kstu.ru
195.208.44.20 www.ipm.kstu.ru

Длина имени не более 63 символов

Сначала такие соответствия просто сами записывали в файл, брали у знакомых и копировали с FTP-серверов.

Это файлы имеет название hosts, и находится в каталогах:

  • Для UNIX - /etc/hosts

  • Для Windows - C:\windows\system32\drivers\etc\hosts

Можете сами изменить его, например, внеся запись:

195.208.44.20 ipm

Теперь вы можете, просто набрав в браузере ipm попасть на сервер www.ipm.kstu.ru. Таким образом, вы можете записать любой сервер.

Однако такой способ присвоения символьных имен был хорош до тех пор, пока Internet был маленьким. По мере роста сети стало затруднительным поддерживать большие списки имен на каждом компьютере. Для того, что бы решить эту проблему, были придумана служба DNS (Domain Name System).

2.2 Принципы организации DNS

Первый стандарт DNS определен в RFC0883 (Domain names: Implementation specification P.V. Mockapetris Nov-01-1983) и RFC0882 (Domain names: Concepts and facilities P.V. Mockapetris Nov-01-1983)

Последняя версия RFC1034 (Domain names - concepts and facilities P.V. Mockapetris Nov-01-1987) и RFC1035 (Domain names - implementation and specification P.V. Mockapetris Nov-01-1987)

Система доменных адресов строится по иерархическому принципу. Администрирование начинается с доменов верхнего, или первого, уровня.

Первые домены верхнего уровня были рассчитаны на США:

  • gov - государственные организации

  • mil - военные учреждения

  • edu - образовательные учреждения

  • com - коммерческие организации

  • net - сетевые организации

Позднее, когда сеть перешагнула национальные границы США появились национальные домены типа:

  • uk - Объединенное королевство

  • jp - Япония

  • au - Австралия

  • ch - Чехия

  • su - СССР

  • ru - Россия

  • и т.п.

IANA - The Internet Assigned Numbers Authority (Управление назначением адресов в Internet) - организация, осуществляющая контроль над распределением доменов первого уровня. Сервер http://www.iana.org/ .

Базу можно посмотреть по адресу whois.iana.org.

Через WWW-интерфейс http://whois.iana.org/

Вслед за доменами первого уровня следуют домены, либо географические (kazan.ru, tatarstan.ru), либо организации (kstu.ru). В настоящее время практически любая организация или физическое лицо может получить свой собственный домен второго уровня (сервер РосНИИРОС - www.ripn.net ).

Далее идут домены третьего уровня, например :

efir.kazan.ru

ipm.kstu.ru

www.kstu.ru - тоже домен третьего уровня.

Систему доменной адресации можно представить следующим образом:

2-1

Дерево доменных имен.

Служба доменных имен работает как распределенная база, данные которой распределены по DNS-серверам.

Система доменных имен - это сервис прикладного уровня, значит, использует транспорт TCP и UDP.

Порт по умолчанию - 53.

Сервис DNS строится по схеме "клиент-сервер". В качестве клиентской части выступает процедура разрешения имен - resolver, а в качестве сервера DNS-сервер (BIND ...).

2-5

Взаимодействие клиент и сервера по протоколу DNS.

Например, когда мы хотим обратиться к серверу ipm.kstu.ru, ваш браузер, используя resolver, поступает следующим образом:

  1. ищет запись ipm.kstu.ru в файле hosts, если не находит, то,

  2. посылает запрос на известный DNS-кэширующий сервер (как правило, локальный), если на этом сервере запись не найдена, то,

  3. сервер DNS-кэширующий обращается к DNS-ROOT серверу с запросом адреса DNS сервера отвечающего за домен первого уровня ru, если получает адрес, то,

  4. сервер DNS-кэширующий обращается к DNS серверу, отвечающего за домен первого уровня ru, с запросом адреса DNS сервера отвечающего за домен второго уровня kstu.ru, если получает адрес, то,

  5. сервер DNS-кэширующий посылает запрос на DNS сервер, отвечающий за домен второго уровня kstu.ru, если получает адрес, то,

  6. сервер DNS-кэширующий адрес кэширует и передает клиенту

  7. клиент обращается по IP адресу - 195.208.44.20

На схеме это выглядит так:

2-2

Алгоритм разрешения имен.

2.3 Некоторые типы DNS-серверов

Первичный - сервер, содержащий полную информацию о зоне.

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

Кэширующий - содержит записи, которые уже были запрошены

2.4 Формат DNS-сообщения

2-3

Формат DNS-сообщения. Слова по 32 бита.

2-4

Флаги DNS-сообщения (подробно поле флаги)

QR - Операция:
0 Запрос
1 Отклик

Тип запроса -
0 стандартный
1 инверсный
2 запрос состояния сервера

AA - Равен 1 при ответе от сервера, в ведении которого находится домен, упомянутый в запросе.

TC - Равен при укорочении сообщения. Для UDP это означает, что ответ содержал более 512 байт, но прислано только первые 512.

RD - Равен 1, если для получения ответа желательна рекурсия.

RA - Равен 1, если рекурсия для запрашиваемого сервера доступна.

Нули - Зарезервировано на будущее..

Тип отклика -
0 нет ошибки
1 ошибка в формате запроса
2 сбой в сервере
3 имени не существует

2.5 Некоторые виды записей в DNS

SOA (Start Of Authorisation) - Начало Полномочий.

Запись SOA, обозначает начало зоны. Для каждой зоны должна быть только одна запись SOA.

Синтаксис:

{name} {ttl} addr-class SOA Origin Person in charge

Пример для зоны kstu.ru:

kstu.ru IN SOA ns.kstu.ru. admin.kstu.ru. (

19970315 ; Serial

3600 ; Refresh

300 ; Retry

3600000 ; Expire

3600) ; Minimum

Пояснения:

kstu.ru ({name}) - имя зоны

IN (addr-class) - Запись относится к InterNet.

SOA - вид записи.

ns.kstu.ru (Origin) - первичный сервер зоны.

admin.kstu.ru. (Person in charge) - ответственный за зону. Почтовый адрес лица (admin@kstu.ru), ответственного за зону.

В скобки заключаются параметры, растянутые на несколько строк:

19970315 ; Serial

Серийный номер версии; должен увеличиваться при каждом изменении в зоне - по нему вторичный сервер обнаруживает, что надо обновить информацию. Обычно пишется в виде <год><месяц><число><номер>.

3600 ; Refresh

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

300 ; Retry

Временной интервал в секундах, через который вторичный сервер будет повторять обращения при неудаче.

3600000 ; Expire

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

3600 ) ; Minimum

Значение времени жизни информации на кэширующих серверах ((ttl) в последующих записях ресурсов).

NS - Сервер Имен

Описывает вторичные DNS-сервера или DNS-сервер которому делегируется подзона.

Синтаксис:

{name} {ttl} addr-class NS Name-servers-name

Пример описания вторичных DNS-серверов:

IN NS ns1.kstu.ru.

IN NS ns2.kstu.ru.

IN NS ns3.kstu.ru.

Пример описания DNS-сервера (ns.ipm.kstu.ru), которому делегируется подзона ipm.kstu.ru:

ipm.kstu.ru. IN NS ns.ipm.kstu.ru.

A - Адрес

Описывает имя указанного IP-адреса

Синтаксис:

{name} {ttl} addr-class A address

Пример:

ipm.kstu.ru. IN A 195.208.44.20

www.ipm.kstu.ru. IN A 195.208.44.20

HINFO - Информация о Хосте

Содержит некоторую информацию о машине, обычно - тип процессора и операционной системы.

Синтаксис:

{name} {ttl} addr-class HINFO Hardware OS

Hardware - тип процессора

OS - операционная система

Пример:

ipm.kstu.ru. IN HINFO "Celeron-600" "RedHat linux"

CNAME (Canonical Name) - Каноническое имя

Указывает псевдоним для официального имени хоста

Синтаксис:

alias {ttl} addr-class CNAME Canonical-name

Пример псевдонимов для хоста ipm.kstu.ru:

www.ipm.kstu.ru. IN CNAME ipm.kstu.ru.

fuzzy.kstu.ru. IN CNAME ipm.kstu.ru.

www.fuzzy.kstu.ru. IN CNAME ipm.kstu.ru.

MX (Mail Exchange) - Почтовый Коммутатор

Записи используются для обозначения списка хостов, которые сконфигурированы для приема почты посланной на это доменное имя.

Синтаксис:

name {ttl} addr-class MX preference value mail exchange

preference value - значение приоритета, более низкие числа показывают более высокий приоритет, а приоритеты одинаковые отправители должны использовать в произвольном порядке хосты MX для равномерного распределения нагрузки.

Пример:

mail.kstu.ru. IN MX 0 mail1.kstu.ru.

mail.kstu.ru. IN MX 20 mail2.kstu.ru.

mail.kstu.ru. IN MX 10 mail3.kstu.ru.

0, 10, 20 - указывают приоритет для отправки почты.

Если mail1.kstu.ru не доступен, то почта посылается на mail3.kstu.ru, если и он не доступен то на mail2.kstu.ru.

TXT - Текст

Запись TXT содержит текстовые данные любого вида.

Синтаксис:

name {ttl} addr-class TXT string

Пример:

ipm.kstu.ru. IN TXT "Текстовая информация"

RP - Ответственная Персона

Ответственный за хост. Почтовый адрес лица (admin@ipm.kstu.ru), ответственного за хост.

Синтаксис:

owner {ttl} addr-class RP mbox-domain-name TXT-domain-name

mbox-domain-name - это доменное имя, определяющее почтовый ящик ответственного человека

TXT-domain-name - это имя домена, для которого существует запись TXT

Пример:

www.ipm.ru. IN RP admin.ipm.kstu.ru. ipm.kstu.ru.

ipm.kstu.ru. IN TXT "tel: 34-54-34, fax: 34-54-34"

Пояснение:

www.ipm.ru. - хост за который он отвечает

admin.ipm.kstu.ru - его e-mail (admin@ipm.kstu.ru)

ipm.kstu.ru - это имя записи TXT, которая может содержать телефоны этого лица.

2.6 Программа NSLookUp.

Программа nslookup предназначена для тестирования работы DNS сервера.

Можно использовать как с командной строки, так и в таких программах как CyberKit.

Последнее изменение: среда, 13 июля 2011, 16:23