Домены Internet, DNS - пример DNS запроса

Доме?н — область (ветвь) иерархического пространства доменных имён сети Интернет, которая обозначается уникальным доменным именем.

Структура доменного имени отражает порядок следования узлов в иерархии; доменное имя читается слева направо от младших доменов к доменам высшего уровня (в порядке повышения значимости):

  1. корневым доменом всей системы является точка ('.')
  2. ниже идут домены первого уровня (географические или тематические)
  3. затем — домены второго уровня, третьего и т. д. (например, для адреса ru.wikipedia.org домен первого уровня — org, второго wikipedia, третьего ru)

На практике точку в конце имени часто опускают, но она бывает важна в случаях разделения между относительными доменами и FQDN (англ. Fully Qualifed Domain Name, полностью определённое имя домена).

Доме?нное имя — символьное имя домена. Должно быть уникальным в рамках одного домена. Полное имя домена состоит из имён всех доменов, в которые он входит, разделённых точками.

Например, полное имя ru.wikipedia.org обозначает домен третьего уровня ru, который входит в домен второго уровня wikipedia, который входит в домен org, который входит в корневой домен. Доменное имя служит для адресации узлов сети Интернет и расположенных на них сетевых ресурсов (веб-сайтов, серверов электронной почты, других служб) в удобной для человека форме.

Доме?нная зона — совокупность доменных имён определённого уровня, входящих в конкретный домен. Например, зона wikipedia.org. включает все доменные имена третьего уровня в этом домене. Термин «доменная зона» в основном применяется в технической сфере, при настройке DNS-серверов (поддержание зоны, делегирование зоны, трансфер зоны).

Поддомен (англ. subdomain) — подчиненный домен. (например, wikipedia.org — поддомен домена org, а ru.wikipedia.org — домена wikipedia.org).
В стеке TCP/IP применяется доменная система имен, которая имеет иерархическую древовидную структуру, допускающую использование в имени произвольного количества составных частей.

В отличие от имен файлов, при записи которых сначала указывается самая старшая составляющая, затем составляющая более низкого уровня и т. д., запись доменного имени начинается с самой младшей составляющей, а заканчивается самой старшей. Составные части доменного имени отделяется друг от друга точкой. Например, в имени partnering.microsoft.com составляющая partnering является именем одного из компьютеров в домене Microsoft.com.

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

gTLD (англ. generic Top-Level Domain — Общий домен верхнего уровня) — домен верхнего уровня, созданный для определённого класса организаций.(Например: .com – для коммерческих сайтов, .edu – для образовательных сайтов и т.д.)

DNS (англ. Domain Name System — система доменных имён) — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).

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

Основой DNS является представление об иерархической структуре доменного имени и зонах. Каждый сервер, отвечающий за имя, может делегировать ответственность за дальнейшую часть домена другому серверу (с административной точки зрения — другой организации или человеку), что позволяет возложить ответственность за актуальность информации на сервера различных организаций (людей), отвечающих только за «свою» часть доменного имени.
Каждый DNS-сервер кроме таблицы отображений имен содержит ссылки на DNS-серверы своих поддоменов. Эти ссылки связывают отдельные DNS-серверы в единую службу DNS. Ссылки представляют собой IP-адреса соответствующих серверов. Для обслуживания корневого домена выделено несколько дублирующих друг друга DNS-серверов, IP-адреса которых являются широко известными (их можно узнать, например, в InterNIC).

DNS-серверспециализированное ПО для обслуживания DNS, а также компьютер, на котором это ПО выполняется. DNS-сервер может быть ответственным за некоторые зоны и/или может перенаправлять запросы вышестоящим серверам.

DNS-клиент — специализированная библиотека (или программа) для работы с DNS. В ряде случаев DNS-сервер выступает в роли DNS-клиента, хранят имена, которые заканчиваются на следующем ниже уровне иерархии

Ответственность (англ. authoritative) — признак размещения зоны на DNS-сервере. Ответы DNS-сервера могут быть двух типов:

  • ответственные (когда сервер заявляет, что сам отвечает за зону)
  • неответственные (англ. Non-authoritative), когда сервер обрабатывает запрос, и возвращает ответ других серверов

.

В некоторых случаях вместо передачи запроса дальше DNS-сервер может вернуть уже известное ему (по запросам ранее) значение (режим кеширования).

DNS-запрос (англ. DNS query) — запрос от клиента (или сервера) серверу.
Запрос может быть =

  • рекурсивным(требующим полного поиска)
  • итеративным(нерекурсивным (не требующим полного поиска.))

Если запрошенный адрес имени FQDN не найден в кэше преобразователя или в файле Hosts, клиент выполнит рекурсивный запрос к своему первичному серверу DNS.

Рекурсивный запрос – это запрос на выполнение полного преобразования имени FQDN в адрес IP. Если сервер DNS имеет информацию о записи, он ответит клиенту, завершив запрос ответом. Если сервер DNS не знает ответа, он может выполнить несколько итеративных запросов к корневым серверам системы DNS.
Итеративный DNS-запрос – DNS-клиент обращается к корневому DNS-серверу с указанием полного доменного имени, тот отвечает, указывая на сервер обслуживающий домен верхнего уровня, и т.д. пока не будет найден сервер который даст окончательный ответ.

Аналогично, DNS-сервер может быть рекурсивным (умеющим выполнять полный поиск) и нерекурсивным (не умеющим выполнять полный поиск). Некоторые программы DNS-серверов, например, BIND, можно сконфигурировать так, чтобы запросы одних клиентов выполнялись рекурсивно, а запросы других — нерекурсивно.
При ответе на нерекурсивный запрос, а также — при неумении или запрете выполнять рекурсивные запросы, — DNS-сервер либо возвращает данные о зоне, за которую он ответствен, либо возвращает адреса серверов, которые обладает большим объёмом информации о запрошенной зоне, чем отвечающий сервер, чаще всего — адреса корневых серверов.

В случае рекурсивного запроса DNS-сервер опрашивает серверы (в порядке убывания уровня зон в имени), пока не найдёт ответ или не обнаружит, что домен не существует. (На практике поиск начинается с наиболее близких к искомому DNS-серверов, если информация о них есть в кеше и не устарела, сервер может не запрашивать другие DNS-серверы.). DNS-клиент запрашивает локальный DNS-сервер, далее либо высылается ответ сразу (если запрошенное имя принадлежит тому же поддомену), либо выполняется итеративный запрос к корневому серверу.

Пример запроса www.cs.vsu.ru.
DNS-записи.
Запись A (address record) или запись адреса связывает имя хоста с адресом IP. Например, запрос A-записи на имя referrals.icann.org вернет его IP адрес — 192.0.34.164
Запись AAAA (IPv6 address record) связывает имя хоста с адресом протокола IPv6. Например, запрос AAAA-записи на имя K.ROOT-SERVERS.NET вернет его IPv6 адрес — 2001:7fd::1
Запись CNAME (canonical name record) или каноническая запись имени (псевдоним) используется для перенаправления на другое имя
Запись MX (mail exchange) или почтовый обменник указывает сервер(ы) обмена почтой для данного домена.
Запись NS (name server) указывает на DNS-сервер для данного домена.
Запись PTR (pointer) или запись указателя связывает IP хоста с его каноническим именем. Запрос в домене in-addr.arpa на IP хоста в reverse форме вернёт имя (FQDN) данного хоста (см. Обратный DNS-запрос). Например, (на момент написания), для IP адреса 192.0.34.164: запрос записи PTR 164.34.0.192.in-addr.arpa вернет его каноническое имя referrals.icann.org. В целях уменьшения объёма нежелательной корреспонденции (спама) многие серверы-получатели электронной почты могут проверять наличие PTR записи для хоста, с которого происходит отправка. В этом случае PTR запись для IP адреса должна соответствовать имени отправляющего почтового сервера, которым он представляется в процессе SMTP сессии.
Запись SOA (Start of Authority) или начальная запись зоны указывает, на каком сервере хранится эталонная информация о данном домене, содержит контактную информацию лица, ответственного за данную зону, тайминги (параметры времени) кеширования зонной информации и взаимодействия DNS-серверов.
Запись SRV (server selection) указывает на серверы для сервисов, используется, в частности, для Jabber и Active Directory.
HINFO – информация об узле
Записи DNS, или Ресурсные записи (англ. Resource Records, RR) - единицы хранения и передачи информации в DNS. Каждая ресурсная запись состоит из следующих полей:

  1. • имя (NAME) - доменное имя, к которому привязана или которому "принадлежит" данная ресурсная запись,
  2. • TTL (Time To Live) - допустимое время хранения данной ресурсной записи в кэше неответственного DNS-сервера,
  3. • тип (TYPE) ресурсной записи - определяет формат и назначение данной ресурсной записи,
  4. • класс (CLASS) ресурсной записи; теоретически считается, что DNS может использоваться не только с TCP/IP, но и с другими типами сетей, код в поле класс определяет тип сети,
  5. • длина поля данных (RDLEN),
  6. • поле данных (RDATA), формат и содержание которого зависит от типа записи.

Система DNS управляется и координируется ICANN (Internet Corporation for Assigned Names and Numbers). IANA – исполнительное подразделение ICANN. ICANN предоставляет информацию о DNS через веб-сайт InterNIC.