Компьютерные сети Лекция 7 Доменная служба имён DNS - Букатов Александр Алексеевич
←
→
Транскрипция содержимого страницы
Если ваш браузер не отображает страницу правильно, пожалуйста, читайте содержимое страницы ниже
Компьютерные сети
Лекция 7
Доменная служба имён DNS
Букатов Александр Алексеевич
baa@sfedu.ru
© Компьютерные сети 2021 , Букатов А.А.Назначение DNS (Domain Name Service)
• Прикладные процессы, при взаимодействии с транспортным уровнем
идентифицируют компьютеры их IP-адресами, а при взаимодействии
с пользователями – символическими именами.
• Преобразование символических имён компьютеров в их IP-адреса, а
также выполнение обратного преобразования обеспечивают службы
именования компьютеров в сети
• DNS – основная служба именования компьютеров в сети,
применяемая с 1984 года.
© Компьютерные сети 2021 , Букатов А.А. 2Структура лекции
Далее рассматриваются следующие основные темы:
• Старая система именования компьютеров глобальной сети
• Краткая история создания DNS
• Организация доменной система имён (Domain Name System - тоже
DNS)
• Служба DNS: Общая организация
• Служба DNS: Программная организация
• Служба DNS: Логика работы сервера DNS
• Служба DNS: Логика обратного преобразования адреса в имя
• Служба DNS: Формат записей файлов БД DNS
• Служба DNS: Интерфейсы доступа к информации сервера имен
© Компьютерные сети 2021 , Букатов А.А.
3Старая система именования компьютеров
• Файл hosts.txt в ARPANet хранился на сервере Стэндфордского
исследовательского института SRI и раз в сутки скачивался на все
компьютеры сети
• В системах UNIX – это файл /etc/hosts
Его записи имеют вид
IP-address cname [ aliases (псевдонимы) ] (cname – каноническое
(основное) имя)
• Обычно единственной строкой этого файла является строка
127.0.0.1 localhost
• Недостатки: очень плохая масштабируемость (сложность обеспечения
уникальности имен, большой объем работы по администрированию БД
имен, относительно медленная реакция на изменения в БД имён)).
© Компьютерные сети 2021 , Букатов А.А.
4Причины создания
и краткая история DNS (1)
• Уже к началу 1980-х годов количество компьютеров в ARPANet перевалило за
тысячу, в 1983 году это количество превысило 4000
• При таком количестве компьютеров в сети централизованное ведение единого
файла hosts.txt стало весьма и весьма обременительным.
• Поэтому к 1983 году был разработан Полом Мокапетрисом и Джоном Постелом
проект децентрализованной службы имён (стандарты RFC 882 и RFC 883).
• В первом из них описывается иерархическая доменная система именования
(Domain Name System), во втором - проект реализации распределенной
доменной службы имен (Domain Name Service - DNS).
© Компьютерные сети 2021 , Букатов А.А.
5Причины создания
и краткая история DNS (2)
• Созданный проект DNS оказался очень удачным: с момента его создания и до
сего времени он не претерпел никаких революционных изменений, а
эволюционно развивался при развитии
- как самой системы именования (например, введение имён, представленных
в национальных алфавитах),
- так и базовых сетевых протоколов (например - при создании протокола IPv6).
• Разработкой RFC 882 и RFC 883 создание реально работающей, а не
существующей лишь в проекте, службы DNS не завершилось. Для завершения
необходимо было програмно реализовать составляющий основу этой службы
демон сервера имен.
• Реализация этого демона была выполнена уже в 1984 году 4-мя студентами
Калифорнийского университета города Беркли и получила название BIND
(Berkeley Internet Name Daemon - Берклиевский демон интернетовских имен).
Этот демон и по сей день является самой распространенной программой
сервера DNS.
© Компьютерные сети 2021 , Букатов А.А.
6Доменная система имен
• Структура доменного пространства имен:
иерархическая система имен, основанная на иерархии доменов (domain)
• «Исторические» домены mil, gov, edu, com, org, net
• Домены стран: uk, nw, sw, fr, it, su, ru, ua
• Прочие домены: например, mob
• Кириллические домены: РФ, СТОПКОРОНОВИРУС.РФ и пр.
• Традиции именования серверов прикладных служб: давать серверу псевдоним
(alias), совпадающий с названием службы.
• Интуитивный способ «вычисления» имен серверов по имени предоставляемой
ими службы и названию организации (полному или сокращённому):
www.nasa.gov, ftp.microsoft.com, www.mit.edu, www.mmcs.sfedu.ru
• О различии границ доменов DNS и IP-сетей различных владельцев
Компьютерные сети 2021 , Букатов А.А 7Общая организация DNS (1)
• Ключевое понятие службы DNS – зона DNS – множество всех компьютеров,
непосредственно входящих в домен
• Вершиной иерархии зон является корневая зона, не имеющая имени и иногда
обозначаемая символом “.” За эту зону отвечают 13 серверов имен,
распределенных по разным регионам всех континентов и подключенных к
различным магистральным сетям интернета несколькими каналами связи.
• Каждую зону DNS должны обслуживать не менее 2-х серверов DNS
• При этом каждый из серверов может обслуживать несколько зон
• ВЫСОЧАЙШИЕ требования надёжности, предъявляемые к службе
© Компьютерные сети 2021 , Букатов А.А.
8Общая организация DNS (2)
• Серверы DNS могут быть классифицированы по их роли и их организации
• По их роли серверы DNS могут быть
- первичными (primary, основной сервер)
- вторичными (secondary, резервный сервер)
• По организации серверы DNS могут быть:
- главными (master) - содержат оригинал БД сервера
- ведомыми (slave) – копируют все обновления БД главного снрвера
- только кэширующими (caching only) – в БД содержатся только
результаты ранее выполненных запросов
- ресольверами (resolver, remote server) – не имеют собственной БД,
иногда ресольверами ЛВС называют сервер имён ЛВС другого типа
• Необходимость вторичных серверов для обеспечения
- надёжности службы
- ускорения работы DNS в подсетях с плохой коннективностью
© Компьютерные сети 2021 , Букатов А.А. 9Программная организация DNS
1) демон named (bind или другие реализации демона имен)
2) конфигурационные файлы (БД) DNS
• Обычное место расположения БД DNS – каталог /etc/namedb/
• В нем размещаются ряд файлов (имеющие общий формат записей). В этих
файлах содержатся следующие сведения:
– информация о серверах корневой зоны DNS
– информация о компьютере, на котором размещен сервер DNS
– информация о компьютерах зон, обслуживаемых данным сервером
– информация для преобразования IP-адресов в доменные имена
(IN-ADDR.ARPA)
• На ресольвере компьютера пользователя есть только файл
/etc/resolve.conf, содержащий информацию о серверах имён
© Компьютерные сети 2021 , Букатов А.А. 10Логика работы сервера DNS (1)
• Обычно запрос к DNS начинается с обращения к процессу-реcольверу,
запущенному на локальном компьютере пользователя.
- ресольвер перенаправляет запрос к серверу имен локальной сети,
информация о котором указана в сетевых настройках локального
ресольвера.
- часто, если такая информация неизвестна, в настройках указывают
открытые для всех серверы имён Google 8.8.8.8 и 8.8.4.4 или
Cloudflare 1.1.1.1 и 1.0.0.1.
• Сервер имён локальной сети проверяет наличие ответа у себя в кэше
и, в случае отсутствия, обращается с тем же запросом к корневому
серверу имен. Запрос к DNS серверу, при котором он выполняет
полный поиск нужной информации, при необходимости обращаясь к
другим DNS-серверам, называют рекурсивным.
© Компьютерные сети 2021 , Букатов А.А.
11Логика работы сервера DNS (2)
• Запросы к службе DNS выполняются для прямого или обратного
преобразования имён в IP-адреса и некоторых других функций
• Все запросы от своих пользователей DNS сервер локальной сети
обрабатывает рекурсивно
• Запросы от пользователей извне локальный сервер DNS рекурсивно
не обрабатывает, чтобы исключить возможность DDoS атак, так как
рекурсивная обработка запроса – весьма затратная процедура.
• Если окончательный ответ на запрос корневому серверу имен
неизвестен (указанный компьютер не входит в его зону)
- он отвечает списком IP-адресов серверов имен, отвечающих
за следующую зону верхнего уровня
- после этого сервер DNS локальной сети итеративно продолжает
опрашивать DNS-серверы, направляя запрос к одному из
полученных серверов имен и т.д.
© Компьютерные сети 2021 , Букатов А.А.
12Иллюстрация логики работы сервера DNS
© Компьютерные сети 2021 , Букатов А.А 13Логика обратного преобразования
IP-адресов в имена
(с использованиемдомена IN-ADDR.ARPA)
• Для выполнения обратного преобразования IP-адреса в доменное имя
(каноническое) компьютера применяется тот же самый механизм.
• Для того, чтобы это было возможным, IP-адрес вида n1.n2.n3.n4
интерпретируется как доменное имя n4.n3.n2.n1.IN-ADDR.ARPA, в котором n4
используется аналогично имени компьютера, а домены n3, n2 и n1
последовательно входят вначале друг в друга, а потом в специальный домен
IN-ADDR.ARPA, предназначенный для решения задачи преобразования IP-
адресов в соответствующие доменные имена
(для IPv6 IP-адрес представляется 8-ю 4-символьными 16-ми числами).
• Зоны соответствующих “обратных” (reverse) доменов обычно обслуживаются
серверами “прямых” зон, содержащих компьютеры с адресами из этих
обратных зон. В БД этих серверов обратные зоны обычно описываются
отдельными файлами преобразования адресов в имена. Формат записей этих
файлов (и других файлов БД сервера имен) рассматривается ниже.
© Компьютерные сети 2021 , Букатов А.А 14Формат записей файлов БД DNS
• Каждый из файлов БД DNS (во всех версиях ОС) может содержать записи 2-
х типов: SOA и RR
• Запись SOA – Start Of Authority (начало зоны ответственности)
находится в начале последовательного сегмента файла, все дальнейшие
записи которого имеют формат RR,
и описывают ресурсы (компьютеры и их роли) зоны.
• Запись SOA имеет ряд параметров, одним из главных среди которых
является номер версии информации о зоне. Значение этого параметра
используется для синхронизации баз данных всех видов ведомых серверов
с БД главного сервера
• Запись RR (Resource Record – запись о ресурсе)
© Компьютерные сети 2021 , Букатов А.А.
15Формат записи RR
• Формат записи
[имя] [ttl] класс-адреса тип-записи {данные, специфичные для типа}
- правила умолчания для необязательных параметров
• Пример
www IN A 192.15.208.01
• Основные типы записей о ресурсах
NS – запись указывает, что компьютер является сервером имен
A – address – запись задает IP-адрес компьютера
AAAA – информация об IPv6 адресе компьютера
HINFO – информация, специфичная для компьютера, например тип его ОС
CNAME – каноническое имя
PTR – указатель; объяснить использование домена IN-ADDR.ARPA
MX – Mail eXchanger – почтовый сервер зоны
© Компьютерные сети 2021 , Букатов А.А. 16Интерфейсы доступа
к информации сервера имен
1) команда (утилита) nslookup
Использование (простейший формат)
nslookup {доменное имя | IP-адрес}
если задано имя, печатает IP-адрес,
если задан IP-адрес – печатает имя
+ специальные запросы
2) API: gethostbyname, gethostbyaddr
по заданному имени или IP-адресу компьютера
заполняют специальную структуру информацией
- о всех именах (каноническом и псевдонимах)
- и IP-адресах (их столько, сколько есть сетевых интерфейсов) компьютера.
Компьютерные сети 2020, Букатов А.А 17Спасибо за внимание! Компьютерные сети 2020, Букатов А.А 18
Вы также можете почитать