основы работы со службой, типы DNS-запросов
Из статьи вы узнаете: как работает DNS, что такое DNS-записи, что такое домен и как он устроен. Мы также расскажем, что такое делегирование домена и что стоит за словами «рекурсивные и нерекурсивные DNS-запросы».
DNS (Domain Name System — система доменных имен) представляет собой распределенную систему хранения и обработки информации о доменных зонах. Она необходима, в первую очередь, для соотнесения IP-адресов устройств в сети и более адаптированных для человеческого восприятия символьных имен.
Предоставление информации об IP-адресах хостов по символьному адресу — не единственная задача DNS. Система работает с разными типами ресурсных записей, позволяющими реализовывать весьма широкий круг задач: переадресация между доменными именами, балансировка нагрузки между хостами, привязка специфических сервисов (напр., эл. почты) к домену.
Система доменных имен является одной из фундаментальных технологий современной интернет-среды, так как информация об IP-адресе запрашиваемого узла — обязательное условие получения ответа на любой интернет-запрос. Но IP-адрес представляет собой числовое значение вида «1.23.45.67», неподходящее для комфортного восприятия человеком. К тому же основной принцип распределения IP-адресов в сети — уникальность. Важно и то, что сетевой адрес — не самый устойчивый параметр. Он может изменяться (напр., при смене хоста, обслуживающего запрашиваемый узел, смене хостинг-провайдера, и т.п.). Все перечисленные особенности делают систему навигации по сетевым адресам сложной для человека.
DNS обеспечивает преобразование запрашиваемого клиентом символьного имени домена в IP-адрес (адреса) обслуживающего эту доменную зону сервера (серверов). Изначально, до разрастания сети интернет, адреса преобразовывались согласно содержимому файла «hosts», составлявшегося централизованно и автоматически рассылавшегося на каждую из машин в сети. По мере роста глобальной сети такой метод перестал оправдывать себя — появилась потребность в новом механизме, которым и стала DNS, разработанная в 1983 году Полом Мокапетрисом.
Ключевыми характеристиками DNS являются:
- Распределенность хранения и управления — каждый DNS-сервер обязан хранить информацию только по делегированным ему доменам, а ответственность за различные узлы дерева доменных имен несут разные лица
- Кэширование данных — DNS-сервер может временно хранить некоторое количество информации о неделегированных ему доменах для уменьшения уровня общей нагрузки
- Иерархическая структура — узел, ответственный за доменную зону, может самостоятельно делегировать нижестоящие узлы другим DNS-серверам
- Резервирование — хранение и обработка информации об одних и тех же узлах обычно обеспечивается несколькими DNS-серверами, изолированными физически и логически.
Иерархия и делегирование доменных имен
Домен представляет собой именованную ветвь в дереве имен, включающую в себя сам узел (напр., домен первого уровня «.com»), а также подчиненные ему узлы (напр., домен второго уровня «example.com», домен третьего уровня «mail.example.com» и т.д.). Для обозначения иерархической принадлежности доменных имен принято использовать понятие «уровень» — показатель положения узла в дереве доменов. Чем ниже значение уровня, тем выше иерархическое положение домена
- «.» — домен нулевого уровня
- «.ru» — домен первого (верхнего) уровня
- «example.com» — домен второго уровня
- «mail.example.com» — домен третьего уровня
- Этот список можно продолжать
Обратите внимание на домен нулевого уровня «. » (dot — точка), также называемый корневым. На практике точку обычно не указывают («example.com» вместо «example.com.»), т.е. указание корневого домена не является обязательным условиям разрешения IP-адреса. Большинство клиентских программ (интернет-браузеров и т.д.) добавляют домен нулевого уровня автоматически и не отображают его пользователю. Доменное имя, не включающее обозначение домена нулевого уровня называется относительным, включающее же точку на конце — полностью определенным
Доменная зона — часть иерархического дерева доменных имен (напр. «.ru»), целиком переданная на обслуживание определенному DNS-серверу (чаще нескольким) с целью делегирования другому лицу ответственности за этот и все подчиненные домены («anyaddress.ru», «any.anyaddress.ru»).
Делегирование — передача ответственности за определенную ветвь дерева доменных имен другому физическому или юридическому лицу.
Сам процесс делегирования представляет собой добавление в ресурсные записи родительской зоны («.ru»), так называемых «склеивающих» («glue») NS-записей для делегируемой дочерней зоны («example.com»), указывающих на DNS-сервера принимающей домен стороны (например, DNS-сервера нашей компании). С этого момента все ресурсные записи домена второго уровня «example.com» и всех его дочерних доменов (например, «mail.example.com» и т.д.) хранятся на DNS-серверах этой компании, а родительская зона «.ru» хранит только указывающие на эти сервера NS-записи.
DNS-сервер — хост, хранящий ресурсные записи и обрабатывающий DNS-запросы. DNS-сервер может самостоятельно разрешать адреса, относящиеся к зоне его ответственности (в примере выше это зона example.com), или передавать запросы по зонам, которые он не обслуживает, вышестоящим серверам.
DNS-клиент — набор программных средств для работы с DNS. Сам DNS-сервер периодически также выступает в качестве клиента.
Основные типы ресурсных записей
Ресурсная запись (RR — Resource Record) — единица хранения и передачи информации в DNS, включающая в себя следующие элементы (поля):
- Имя (Name) — имя домена, к которому относится запись
- TTL (Time To Live) — допустимое время хранения записи неответственным сервером
- Тип (Type) — параметр, определяющий назначение и формат записи в поле данных (Rdata)
- Класс (Class) — тип сети передачи данных (подразумевается возможность DNS работать с типами сетей, отличных от TCP/IP)
- Длина поля данных (Rdlen)
- Поле данных (Rdata) — содержание и формат поля зависят от типа записи
Ниже представлены типы dns записей, используемые чаще всего:
- A (IPv4 Address Record — адресная запись) — связывает доменное имя с IPv4-адресом хоста
- AAAA (IPv6 Address Record) — связывает доменное имя с IPv6-адресом хоста (аналогично А-записи)
- CNAME (Canonical Name Record — каноническая запись имени) — используется для перенаправления на другое доменное имя
- MX (Mail Exchange — почтовый обменник)
- NS (Name Server — сервер имен) — ссылается на DNS-сервер, ответственный за домен
- TXT — текстовое описание домена.
Зачастую требуется для выполнения специфических задач (например, подтверждения права собственности на домен при привязке его к почтовому сервису)
- PTR (Point to Reverse — запись указателя) — связывает ip-адрес машины с доменом, используется преимущественно для проверки сторонними почтовыми сервисами отправляемых через эту машину электронных писем на отношение к домену, указанному в параметрах почтового сервера. При несоответствии этих параметров письмо проверяется более тщательно по другим критериям.
Рекурсивные и нерекурсивные DNS-запросы
Рекурсией называется модель обработки запросов DNS-сервером, при которой последний осуществляет полный поиск информации, в том числе о доменах, неделегированных ему, при необходимости обращаясь к другим DNS-серверам.
DNS-запросы (DNS queries) от клиента (сервера) к серверу бывают рекурсивными и нерекурсивными. В первом случае DNS-сервер, принявший запрос, опрашивает все узлы в порядке убывания уровня зон, пока не получит положительный ответ или информацию о том, что запрашиваемый домен не существует.
Кэширование — еще одна важная характеристика DNS. При последовательном обращении сервера к другим узлам в процессе выполнения рекурсивного запроса DNS-сервер может временно сохранять в кеш-памяти информацию, содержащуюся в получаемых им ответах. В таком случае повторный запрос домена не идет дальше его кэш-памяти. Предельно допустимое время кэширования содержится в поле TTL ресурсной записи.
Как работают DNS-серверы
DNS работает очень просто:
- В поле поиска браузера вводится запрос — доменное имя. Браузер перенаправляет запрос DNS-серверу, который ищет совпадения между доменным именем и IP.
- Если совпадение найдено, DNS вернет IP-адрес, по которому браузер сделает запрос и отобразит полученные данные. Если совпадения не обнаружены, запрос будет перенаправлен корневому серверу.
- Если DNS-запись не найдётся у корневого сервера — браузер вернёт страницу с кодом ошибки.
Стоит сказать, что существует ещё нулевой шаг. На нем браузер обращается к специальному файлу hosts, в котором могут быть прописаны пользовательские DNS-адреса. Это нужно для локального тестирования web-приложений.
О том как работать с файлом hosts, вы можете узнать из этого мануала, а если вы ищете удобный и бесплатный сервис по работе с DNS — обратите внимания на услугу DNS-хостинг от 1cloud.
Попробовать услугу
Поделиться в соцсетях:
Средняя оценка: 5,0, всего оценок: 27 Спасибо за Вашу оценку! К сожалению, проголосовать не получилось. Попробуйте позже
ru
191014
Санкт-Петербург
ул. Кирочная, 9
+7(812)313-88-33
235 70
1cloud ltd
2022-08-16 Основы работы со службой DNS
191014 Санкт-Петербург ул. Кирочная, 9
+7(812)313-88-33
235 70
1cloud ltd
2022-08-16 Основы работы со службой DNS
600 auto
Как работает DNS (domain name system)?
Что такое DNSDNS (domain name system) — это система, обеспечивающая работу привычных нам доменных имен сайтов. Связь между устройствами в сети Интернет осуществляется по IP адресам, например: «192. 64.147.209″. Однако, запомнить IP адреса сложно, поэтому были придуманы удобные для человека доменные имена, например: «google.com».
Компьютер / сервер не хранит таблицу соответствия доменов и их IP адресов. Точнее, не хранит всю таблицу, а временно запоминает данные для часто используемых доменов. Когда в браузере вводится домен сайта, компьютер автоматически узнает его IP адрес, и отправляет по нему запрос. Этот процесс называется «разрешение адреса домена» (domain resolving).
Разберемся, из чего состоит система DNS, и как она работает.
Как работает DNSСистема доменных имен состоит из следующих компонентов:
Иерархическая структура доменных имен:
- Доменные зоны верхнего уровня (первого уровня) – например: «ru», «com», или «org». Они включают в себя все доменные имена, входящие в эту зону. В любую доменную зону может входить неограниченное количество доменов.
- Доменные имена (доменные зоны второго уровня) – например: «google.
com» или «yandex.ru». Т.к. система доменных имен является иерархичной, то «yandex.ru» можно также назвать поддоменом вышестоящей зоны «ru». Поэтому, правильнее указывать именно уровень домена. Однако, на практике, доменную зону любого уровня называют просто «доменом».
- Поддомены (доменные зоны третьего уровня) – например: «api.google.com» или «mail.yandex.ru». Могут быть доменные зоны 4, 5 уровней и так далее.
Обратите внимание, что «www.gооgle.com» и «google.com» — это, фактически, разные домены. Надо не забывать указывать А-записи для каждого из них.
DNS сервер или NS (name server) сервер – поддерживает (обслуживает) доменные зоны, которые ему делегированы. Он непосредственно хранит данные о ресурсных записях для зоны. Например, что сервер, на котором находится сайт «example.ru», имеет IP адрес «1.1.1.1». DNS сервер отвечает на все запросы, касательной этих доменных зон. Если ему приходит запрос о домене, который ему не делегирован, то он спрашивает ответ у других DNS серверов.
DNS записи (ресурсные записи) – это набор записей о доменной зоне на NS сервере, которые хранят данные необходимые для работы DNS. На основании данных в этих записях, DNS сервер отвечает на запросы по домену. Список записей, и их значение, вы можете найти ниже.
Корневые DNS сервера (на данный момент их 13 во всем мире) хранят данные о том, какие DNS сервера обслуживают зоны верхнего уровня.
DNS сервера доменных зон верхнего уровня — хранят информацию, какие NS сервера обслуживают тот или иной домен.
Для того, чтобы узнать IP адрес, домена компьютер / сервер обращается к DNS-серверу, который указан у него в сетевых настройках. Обычно, это DNS сервер Интернет провайдера. DNS сервер проверяет делегирован домен ему или нет. Если да, то сразу отвечает на запрос. Если нет, то запрашивает информацию о DNS сервере, обслуживающем этот домен, у корневого сервера, и затем у сервера доменных зон верхнего уровня. После этого, непосредственно делает запрос на NS сервер, обслуживающий этот домен, и транслирует ответ вашему компьютеру / серверу.
Кэширование данных используется на всех устройствах (компьютерах, северах, DNS серверах). То есть, они запоминают ответы на последние пришедшие к ним запросы. И когда приходит аналогичный запрос, они просто отвечают то же самое, что и в предыдущий раз. Например, если вы в браузере открыли сайт google.com первый раз после включения, то компьютер сделает DNS запрос, а при последующих запросах будет брать данные, которые ему были присланы DNS сервером в первый раз. Таким образом, для популярных запросов не надо каждый раз проходить всю цепочку и генерировать запросы к NS серверам. Это значительно снижает нагрузку на них, и увеличивает скорость работы. Однако, как результат, обновление данных в системе DNS происходит не сразу. При изменении IP адреса домена, информацию об этом будет расходиться по сети Интернет от 1 до 24 часов.
Регистрация/выделение доменовУ каждой доменной зоны первого уровня есть своя организация, которая устанавливает правила выделения доменов и обеспечивает работу этой зоны. Например, для доменных зон RU, SU и РФ – это Координационный центр национального домена сети Интернет https://cctld.ru. Эти организации устанавливают правила работы и технические требования к регистраторам доменов.
Регистраторы доменов – это компании, которые непосредственно регистрируют новые домены в рамках доменной зоны первого уровня для конечных клиентов. Организуют техническое взаимодействие с реестром доменных имен. В их личном кабинете владелец домена настраивает, какой DNS сервер будет поддерживать домен.
Администратор домена (владелец) – лицо, которому непосредственно принадлежат права на доменное имя. Он может управлять доменом, от него регистратор принимает заявки на внесение изменений.
Делегирование домена – указание для него DNS серверов, которые будут его обслуживать.
Основные DNS записиСуществуют следующие основные DNS (ресурсные) записи:
А – содержит информацию об IPv4 адресе хоста (сервера) для домена. Например, 1.1.1.1.
ААА – содержит информацию об IPv6 адресе хоста (сервера) для домена. Например, 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d.
MX – содержит данные о почтовом сервере домена. При этом указывается именно имя почтового сервера, например mail.example.com. Т.к. у домена может быть несколько почтовых серверов, то для каждого из них указывает приоритет. Приоритет задается числом от 0 до 65535. При этом «0» — это самый высокий приоритет. Принято по умолчанию для первого почтового сервера указывать приоритет «10».
TXT – дополнительная информация о домене в виде произвольного текста. Максимальная длина 255 символов.
SRV – содержит информацию об имени хоста и номере порта, для определенных служб / протоколов в соответствии с RFC 2782 http://www.rfc-editor.org/rfc/rfc2782.txt. Содержит следующие поля:
- _Service._Proto.Name ( Пример: _jabber._tcp.jabber ), где:
- Service: название службы (пример: ldap, kerberos, gc и другие).
- Proto: протокол, при помощи которого клиенты могут подключиться к данной службе (пример: tcp, udp).
- Name: имя домена, в котором размещена данная служба.
- Приоритет – также как для MX записи указывает приоритет для данного сервера. Задается числом от 0 до 65535. При этом «0» — это самый высокий приоритет.
- Вес – Относительный вес для распределения нагрузки между серверами с одинаковым приоритетом. Задается целым числом.
- Порт – номер порта, на котором располагается служба на данном сервере.
- Назначение — доменное имя сервера, предоставляющего данную службу.
NS – имя DNS сервера, поддерживающего данный домен.
CNAME (каноническое имя хоста / canonical name) – используется для перенаправления на другое доменное имя. Например, имя сервера изменилось с example.com на new.com. В таком случае в поле «Alies» для записи cname надо указать — example.com, а в поле «Canonical name» — new.com. Таким образом, все запросы на example.com автоматически будут перенаправлены на new.com.
SOA – базовая запись о домене. В ней хранится само имя домена и время жизни данных о домене — TTL. TTL (time-to-live) определяет какой период времени DNS сервер получив информацию о зоне будет хранить ее у себя в памяти (кэшировать). Рекомендуемое значение 86400 – 1 день. Значение указывается в секундах.
DNS — система доменных имен
следующий → ← предыдущая Протокол прикладного уровня определяет, как приложения, работающие в разных системах, передают сообщения друг другу.
DNS — это протокол TCP/IP, используемый на разных платформах. Пространство доменных имен разделено на три разных раздела: общие домены, домены страны и инверсный домен. Общие домены
Домен страны Формат домена страны такой же, как и у общего домена, но в нем используются двухсимвольные сокращения стран (например, us для США) вместо трехсимвольных сокращений организаций. Обратный доменОбратный домен используется для сопоставления адреса с именем. Когда сервер получил запрос от клиента, а сервер содержит файлы только авторизованных клиентов. Чтобы определить, находится ли клиент в списке авторизованных или нет, он отправляет запрос на DNS-сервер и запрашивает сопоставление адреса с именем. Работа DNS
Следующая темаКомпьютерная сеть FTP ← предыдущая следующий → |
Для видео Присоединяйтесь к нашему каналу Youtube: Присоединяйтесь сейчас
Обратная связь
- Отправьте свой отзыв на [email protected]
Помогите другим, пожалуйста, поделитесь
Изучите последние учебные пособия
Подготовка
Современные технологии
Б.Тех / МСА
Система доменных имен (DNS)
Что такое DNS и как он работает?
Система доменных имен (DNS) в основном известна тем, что связывает имена с IP-адресами, поскольку людям легче запомнить имена, чем числа. Также программное и аппаратное обеспечение в Интернете имен вещей, включая веб-браузеры, приложения электронной почты, игровые консоли или устройства потокового видео. DNS является гибким и не привязан к устройству или местоположению, т. е. доменное имя остается прежним, даже если базовый IP-адрес может измениться. DNS имеет много встроенной избыточности для обеспечения надежность : если сервер недоступен, он может полагаться на несколько других, которые хранят те же данные.
Чтобы приложения работали и/или взаимодействовали друг с другом через Интернет-протоколы, доменные имена должны быть преобразованы в IP-адреса. Этот процесс запускается запросом , то есть когда вы хотите отправить электронное письмо или получить доступ к веб-сайту.
В следующем видео это объясняется немного подробнее:
Как работает запрос?
DNS — это иерархически организованная система, в которой разные организации осуществляют контроль и влияние на свой конкретный домен в разные моменты процесса запроса. База данных корневой зоны управляется IANA, дочерней компанией ICANN, сотнями корневых серверов управляют 12 организаций, например RIPE NCC и Netnod в Европе. Серверы имен TLD управляются операторами регистратуры ccTLD или gTLD, а все, что ниже этого, либо компаниями веб-хостинга, либо операторами DNS от имени владельцев регистрации или самих владельцев регистрации.
Как только вы введете доменное имя в браузере, компьютер запросит преобразователь DNS (обычно запущенный вашим интернет-провайдером) для IP-адреса доменного имени, например. www.example.eu. Преобразователь начинает с запроса «сверху», то есть у корневого сервера имен , IP-адрес DNS-сервера (реестра) (чтобы найти TLD .eu ). Затем преобразователь DNS запрашивает у сервера реестра DNS IP-адрес DNS-сервера (чтобы найти домен второго уровня, пример .eu). С помощью этой информации преобразователь DNS может, наконец, запросить IP-адрес для www. example.eu, передать его обратно в браузер, который затем связывается с хостом веб-сайта, используя IP-адрес. Начинается HTTP-трафик: вы можете видеть веб-страницы и их содержимое.
Примечание : интернет-трафик вообще не проходит через корневой или DNS-серверы. Они не участвуют в маршрутизации. Серверы имен отвечают на запросы из других частей DNS. В грубой аналогии серверы имен можно сравнить с телефонными справочниками эпохи Интернета.
Кэширование : В большинстве случаев запрос не должен идти полностью к корню, но ваш компьютер может получить ответ от ближайшего кэширующего сервера (обычно управляемого вашим интернет-провайдером), у которого есть доступная информация. . Это значительно ускоряет процесс.
Кто им управляет?
В работу системы доменных имен вовлечено множество различных сторон. Компании, управляющие доменами верхнего уровня, называются реестрами. Они поддерживают базу данных, которая содержит всю информацию об их зоне. Эта база данных называется файлом зоны.
Компании, которые продают доменные имена владельцам веб-сайтов, являются регистраторами. Как правило, они не только продают доменные имена, но и предоставляют широкий спектр дополнительных услуг, таких как хостинг, доступ в Интернет или создание веб-сайтов.
Организация, отвечающая за координацию глобальных политик системы доменных имен, называется ICANN (Интернет-корпорация по присвоению имен и номеров).
Какое место он занимает в интернет-экосистеме?
Система доменных имен (DNS) является частью технического уровня Интернета. Пакеты перемещаются между подключенными устройствами по инфраструктуре, созданной поставщиками услуг Интернета, и в соответствии с протоколами, согласованными Инженерной группой Интернета (IETF) и Бюро архитектуры Интернета (IAB). Все эти пакеты получают IP-адрес, управляемый их региональным интернет-реестром (RIR). DNS добавляет уровень удобства использования и безопасности. На изображении ниже показана эта многоуровневая структура в контексте экосистемы управления Интернетом.