ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 29
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Служба DNS
DNS (англ. Domain Name System «система доменных имён») — компьютерная
распределённая система для получения информации о доменах. Чаще всего используется
для получения IP-адреса по имени хоста (компьютера или устройства), получения
информации о маршрутизации почты и/или обслуживающих узлах для протоколов в
домене (SRV-запись).
Числовая 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).
Принципы организации 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 - тоже домен третьего уровня. Систему доменной адресации можно представить следующим образом:
Дерево доменных имен.
Служба доменных имен работает как распределенная база, данные которой распределены по DNS-серверам.
Система доменных имен - это сервис прикладного уровня, значит, использует транспорт TCP и UDP.
Порт по умолчанию - 53.
Сервис DNS строится по схеме "клиент-сервер". В качестве клиентской части выступает процедура разрешения имен - resolver, а в качестве сервера DNS-сервер (BIND
Взаимодействие клиент и сервера по протоколу DNS.
Например, когда мы хотим обратиться к серверу ipm.kstu.ru, ваш браузер, используя resolver, поступает следующим образом:
-
ищет запись ipm.kstu.ru в файле hosts, если не находит, то, -
посылает запрос на известный DNS-кэширующий сервер (как правило, локальный), если на этом сервере запись не найдена, то, -
сервер DNS-кэширующий обращается к DNS-ROOT серверу с запросом адреса DNS сервера отвечающего за домен первого уровня ru, если получает адрес, то, -
сервер DNS-кэширующий обращается к DNS серверу, отвечающего за домен первого уровня ru, с запросом адреса DNS сервера отвечающего за домен второго уровня kstu.ru, если получает адрес, то, -
сервер DNS-кэширующий посылает запрос на DNS сервер, отвечающий за домен второго уровня kstu.ru, если получает адрес, то, -
сервер DNS-кэширующий адрес кэширует и передает клиенту -
клиент обращается по IP адресу - 195.208.44.20 На схеме это выглядит так:
Алгоритм разрешения имен.
Некоторые типы DNS-серверов
Первичный - сервер, содержащий полную информацию о зоне.
Вторичный - сервер, содержащий копию полной информации о зоне, полученную с первичного сервера.
Кэширующий - содержит записи, которые уже были запрошены
Формат DNS-сообщения
Формат DNS-сообщения. Слова по 32 бита.
Флаги DNS-сообщения (подробно поле флаги)
QR - Операция:
-
Запрос -
Отклик
Тип запроса - 0 стандартный
-
инверсный -
запрос состояния сервера
AA - Равен 1 при ответе от сервера, в ведении которого находится домен, упомянутый в запросе.
TC - Равен при укорочении сообщения. Для UDP это означает, что ответ содержал более 512 байт, но прислано только первые 512.
RD - Равен 1, если для получения ответа желательна рекурсия.
RA - Равен 1, если рекурсия для запрашиваемого сервера доступна.
Нули - Зарезервировано на будущее..
Тип отклика - 0 нет ошибки
1 ошибка в формате запроса 2 сбой в сервере
3 имени не существует
Некоторые виды записей в 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.
XT - Текст
Запись 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