Компьютерные сети Лекция 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
Вы также можете почитать