Dns domain


DNS
Уровень (по модели OSI): Прикладной
Семейство: TCP/IP
Порт/ID: 53/TCP, 53/UDP
Назначение протокола: Разрешение доменных имен
Спецификация: RFC 1034, RFC 1035 / STD 13
Основные реализации (клиенты): Встроен во все сетевые ОС
Основные реализации (серверы): BIND, PowerDNS или Microsoft DNS Server

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


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

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

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

Уровни DNS


Дерево DNS принято делить по уровням: первый, второй, третий и так далее. При этом начинается система с единственного корневого домена (нулевой уровень). Интересно, что про существование корневого домена сейчас помнят только специалисты, благодаря тому, что современная DNS позволяет не указывать этот домен в адресной строке. Впрочем, его можно и указать. Адресная строка с указанием корневого домена выглядит, например, так: «site.test.ru.» – здесь корневой домен отделен последней, крайней справа, точкой. Как несложно догадаться, адреса с использованием DNS записываются в виде последовательности, отражающей иерархию имен. Чем «выше» уровень домена, тем правее он записывается в строке адреса. Разделяются домены точками. Разберем, например, строку www.site.nic.ru. Здесь домен www – это домен четвертого уровня, а другие упомянутые в этой строке домены расположены в домене первого уровня RU. Например, site.nic.ru – это домен третьего уровня. Очень важно понимать, что привычный адрес веб-сайта, скажем, www.test.ru, обозначает домен третьего уровня (www), расположенный внутри домена второго уровня test.ru.

Ключевые характеристики DNS

DNS обладает следующими характеристиками:

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

  • Распределённость хранения информации. Каждый узел сети в обязательном порядке должен хранить только те данные, которые входят в его зону ответственности, и (возможно) адреса корневых DNS-серверов.
  • Кеширование информации. Узел может хранить некоторое количество данных не из своей зоны ответственности для уменьшения нагрузки на сеть.
  • Иерархическая структура, в которой все узлы объединены в дерево, и каждый узел может или самостоятельно определять работу нижестоящих узлов, или делегировать (передавать) их другим узлам.
  • Резервирование. За хранение и обслуживание своих узлов (зон) отвечают (обычно) несколько серверов, разделённые как физически, так и логически, что обеспечивает сохранность данных и продолжение работы даже в случае сбоя одного из узлов.

DNS важна для работы Интернета, так как для соединения с узлом необходима информация о его IP-адресе, а для людей проще запоминать буквенные (обычно осмысленные) адреса, чем последовательность цифр IP-адреса. В некоторых случаях это позволяет использовать виртуальные серверы, например, HTTP-серверы, различая их по имени запроса. Первоначально преобразование между доменными и IP-адресами производилось с использованием специального текстового файла hosts, который составлялся централизованно и автоматически рассылался на каждую из машин в своей локальной сети. С ростом Сети возникла необходимость в эффективном, автоматизированном механизме, которым и стала DNS. DNS была разработана Полом Мокапетрисом в 1983 году; оригинальное описание механизмов работы содержится в RFC 882 и RFC 883. В 1987 публикация RFC 1034 и RFC 1035 изменила спецификацию DNS и отменила RFC 882, RFC 883 и RFC 973 как устаревшие.

Дополнительные возможности

  • поддержка динамических обновлений
  • защита данных (DNSSEC) и транзакций (TSIG)
  • поддержка различных типов информации

Как работает DNS

Доменное имя содержит, как минимум, две части (обычно называются метками), разделённые точкой. Самая правая метка является доменом верхнего уровня (например, для адреса ru.wikipedia.org домен верхнего уровня — org). Каждая следующая метка справа налево является поддоменом (например, wikipedia.org — поддомен домена org, а ru.wikipedia.org — домена wikipedia.org). Теоретически такое деление может достигать глубины 127 уровней, а каждая метка может содержать до 63 символов, пока общая длина вместе с точками не достигнет 254 символов. Но на практике регистраторы доменных имён используют более строгие ограничения. Система DNS содержит иерархию серверов DNS. Каждый домен или поддомен поддерживается как минимум одним авторизированным сервером DNS, на котором расположена информация о домене. Иерархия серверов DNS совпадает с иерархией доменов.

Рассмотрим на примере работу всей системы. Предположим, мы набрали в браузере адрес ru.wikipedia.org. Браузер знает только IP-адрес сервера DNS, обычно это один из серверов интернет-провайдера.


спрашивает у сервера DNS: «какой IP-адрес у ru.wikipedia.org?». Сервер DNS обращается к корневому серверу — например, 198.41.0.4. Этот сервер сообщает — «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 поддерживает доменную зону org.» Браузер направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 поддерживает доменную зону wikipedia.org.» Наконец, браузер отправляет свой запрос к третьему DNS-серверу (который является авторизированным сервером для домена wikipedia.org), и получает ответ — IP-адрес. Этот процесс называется рекурсивным поиском.

Имя хоста и IP-адрес не тождественны — хост с одним IP может иметь множество имён, что позволяет поддерживать на одном компьютере множество веб-сайтов (это называется виртуальный хостинг). Обратное тоже справедливо — одному имени может быть сопоставлено множество хостов: это позволяет создавать балансировку нагрузки. Запрос на определение имени обычно не идёт дальше кэша DNS, который помнит (ограниченное время) ответы на запросы, проходившие через него ранее. Организации или провайдеры могут по своему усмотрению организовывать кэш DNS. Обычно вместе с ответом приходит информация о том, сколько времени следует хранить эту запись в кэше. Для повышения устойчивости системы используется множество серверов, содержащих идентичную информацию. Существует 13 корневых серверов, расположенных по всему миру и привязанных к своему региону, их адреса никогда не меняются, а информация о них есть в любой операционной системе. Протокол DNS использует для работы TCP- или UDP-порт 53 для ответов на запросы. Традиционно запросы и ответы отправляются в виде одной UDP датаграммы. TCP используется в случае, если ответ больше 512 байт, или в случае AXFR-запроса.

Записи DNS


Записи DNS, или Ресурсные записи (англ. Resource Records, RR) — единицы хранения и передачи информации в DNS. Каждая ресурсная запись состоит из следующих полей[2]:

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

Наиболее важные типы DNS-записей:

  • Запись A (address record) или запись адреса связывает имя хоста с адресом протокола IPv4. Например, запрос A-записи на имя referrals.icann.org вернёт его IPv4-адрес — 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 (point to reverse) или запись указателя связывает 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.

Зарезервированные доменные имена

Документ RFC 2606 (Reserved Top Level DNS Names — Зарезервированные имена доменов верхнего уровня) определяет названия доменов, которые следует использовать в качестве примеров (например, в документации), а также для тестирования. Кроме example.com, example.org и example.net, в эту группу также входят test, invalid и др.

Интернациональные доменные имена

Доменное имя может состоять только из ограниченного набора ASCII-символов, позволяя набрать адрес домена независимо от языка пользователя. ICANN утвердил основанную на Punycode систему IDNA, преобразующую любую строку в кодировке Unicode в допустимый DNS набор символов.

Программное обеспечение DNS

Серверы имен:

  • BIND (Berkeley Internet Name Domain)
  • djbdns (Daniel J. Bernstein’s DNS)
  • MaraDNS
  • NSD (Name Server Daemon)
  • PowerDNS
  • OpenDNS
  • Microsoft DNS Server (в серверных версиях операционных систем Windows NT)
  • MyDNS

Примечания

  1. Текущая версия корневой зоны всегда находится по адресу: ftp://ftp.internic.net/domain/named.root
  2. RFC 5395 — Domain Name System (DNS) IANA Considerations
  3. Детали по возможным значениям поля: http://tools.ietf.org/html/rfc5395#section-3.2

Документы RFC

  • RFC 1034 — Domain Names — Concepts and Facilities
  • RFC 1035 — Domain Names — Implementation and Specification
  • RFC 1912 — Common DNS Operational and Configuration Errors
  • RFC 1591 — Domain Name System Structure and Delegation
  • RFC 1713 — Tools for DNS Debugging
  • RFC 2606 — Reserved Top Level DNS Names

Интересное

  • Домен.РФ – советы по регистрации от профессионалов
  • DNS безалаберность Вконтакте и других компаний
  • Установка и настройка авторитетного DNS сервера на основе решения PowerDNS
  • Как улучшить анализ и управление сетевым трафиком, наблюдая за DNS

ru.bmstu.wiki

Как работает DNS

Таким способом в интернете была решена проблема связи доменных имен с реальной системой маршрутизации сети Интернет – IPv4 и IPv6 адресах. Создатели просто добавили функцию справочника сайтов и назвали её DNS.

Интересный факт

Когда интернет распространялся всего на несколько компьютеров, а количество сайтов можно было посчитать вручную, для связи домена и IP компьютера использовался всем известный файл hosts. В нем вручную прописывались адреса web-страниц попарно с адресами серверов, обслуживающих данный домен. В /адресную строку браузера вместо 128.0.0.2 можно было вводить mysite.com и попадать на нужный ресурс. Но когда сеть выросла до необъятных размеров, появилась необходимость создания централизованного и постоянно обновляемого массива. На смену hosts пришёл общий DNS.

Рассмотрим всю цепочку запроса информации о сайте:


  • Вы ввели в адресной строке браузера имя сайта, например yandex.ru.
  • Браузер распознал, что перед ним явно не IP-адрес, а значит его нужно добыть вручную. Обозреватель формирует запрос к наиболее удобному DNS-серверу.
  • DNS-сервер, получив запрос от браузера, запрашивает информацию о сайте по длинной цепочке, доходящей до корневых серверов.
  • После получения отклика, DNS высылает в качестве ответа IP-адрес сервера, к которому принадлежит указанное доменное имя.
  • Браузер направляет вас напрямую по IP.

Мы сказали об обращении к корневым серверам, что было допустимым, но довольно грубым округлением информации о маршрутизации DNS

Dns domain

Корневые серверы

Корневыми серверами называются 13 главных DNS серверов, обслуживающих все существующие сайты в мире. Все корневые серверы находятся в США.

В России работают 9 реплик этих хранилищ, в следующих городах: Москва, Санкт-Петербург, Новосибирск, Екатеринбург и Ростов-на-Дону

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

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

Как узнать DNS сайта

Для того чтобы узнать DNS сайта, существуют простые и бесплатные инструменты. Все они просто повторяют шаги браузера, выводя на экран заголовки ответа серверов.

  • Перейдите на страницу сервиса: https://2ip.ru/dig/.
  • Введите в поле «Домен» доменное имя интересующего ресурса.
  • Выберите тип «ANY» и нажмите «Проверить».
  • На экран будет выведена вся имеющаяся информация о домене.

Как настроить и прописать DNS сайта

Рассмотрим последовательно процесс настройки параметров для веб-ресурса.

  • После завершения процедуры регистрации домена вам будет предложено перейти в панель управления для делегирования. Зайдите в раздел управления NS-записями.
  • Для многих гораздо проще держать сервер сайта и DNS-записи под одним аккаунтом, поэтому домены делегируют на DNS-серверах компании-хостера. Для выполнения этой процедуры уточните у хостинга адреса NS-серверов и впишите их в настройках домена.
  • Если вы желаете оставить NS-записи по умолчанию, дальнейшую настройку придётся проводить в панели управления от регистратора. В случае, если вы сменили NS на сервер хостера, перейдите в его панель управления и добавьте свой домен в лист. Чаще всего технический отклик процедура получает через 48 часов, не ждите мгновенного появления домена в списке.

После завершения всех первичных конфигурационных настроек можно переходить к непосредственной настройке параметров DNS-записей. Каждая панель управления имеет свои особенности, но принцип единый – выбираете режим редактирования домена, изменяете/добавляете/удаляете нужные пары параметр-значение, сохраняете, и спустя 24-72 часа результат отражается на сайте

Основные ресурсные записи DNS

ВНИМАНИЕ: после имени хоста в DNS всегда ставится точка

A yourdomain.com. A 127.0.0.1

Главная настройка любого домена. Связь имени с IP-адресом. Конфигурируется вами сразу после делегирования.

CNAME sub.yourdomain.com. CNAME yourdomain.com

Инструмент создания поддоменов. Если вы создаете поддомен на сайте, укажите его в директиве CNAME, иначе доступа к нему не будет.

MX mail.yandex.ru. MX 0

Запись почтового сервера для вашего сайта. Без указания данной директивы отправка и получение почты для сайта будут невозможны. Если вы используете сторонние сервисы, такие как Яндекс.Почта, внимательно прочтите инструкцию по использованию данной директивы. В качестве значения второго параметра задаётся цифра приоритета от 0 до 65535, где приоритет падает с увеличением числа. Это значит, что попытки обращения к серверам будут начинаться с самого приоритетного, но в случае его неработоспособности будут спускаться по иерархии дальше вниз.

TXT

Любая текстовая информация. Используется для подключения сервисов, проверки прав на домен и внесения дополнительных данных в структуру DNS.

TXT запись политики отправки почтовых сообщений

Содержит информацию о серверах, которые наделены правом отправлять электронную почту от имени домена.

semantica.in

Зачем нужны DNS-сервера и что это такое?

Когда интернет только формировался, то было решено внедрить такую вещь, как домены. Фактически, это имя для узла сети (компьютера, сервера или в более общем смысле слова — хоста).

Дело в том, что на технологическом уровне все устройства в любой сети уже имеют уникальные имена (идентификаторы или IP), но они мало подходят для использования их людьми, ибо представляют из себя набор цифр (читайте про то, что такое АйПи и MAC адреса).

Система же доменных имен оперирует уже полноценными именами (буквы латиницы, цифры, тире и нижнее подчеркивание допускается при их формировании). Их гораздо легче запомнить, они несут смысловую нагрузку (доменное имя моего блога ktonanovenkogo.ru о чем-то уже говорит, а реальный его АйПи 109.120.169.66 малоинформативен) и ими проще оперировать.

Последнее относится именно к человеческому фактору, ибо машинам по-прежнему удобнее использовать IP адреса, что они и делают. Да, да, ваш браузер, когда вы вбиваете в него адрес ktonanovenkogo.ru, такого адреса на самом деле не знает. Но зато он понимает, что это доменное имя, а значит информацию о том, на каком IP размещен данных сайт, он сможет получить от DNS-сервера.

Вот именно на этих ДНС-серверах (иногда их еще называют NS от Name Server, т.е server имен) и держится весь интернет (как плоский мир на трех китах, стоящих на черепахе). Сервер, если вы помните, это просто служебный компьютер не требующий непосредственного участия человека в своей работе (настроили его — он и пашет в режиме 24 на 7). И таких DNS-серверов в сети очень много.

Как работает DNS и причем тут файл Hosts?

На заре интернета ДНС вообще не существовало. Но как же тогда работала сеть? Как браузер понимал, что ktonanovenkogo.ru — это то же самое, что IP адрес 109.120.169.66? За это дело тогда (да и сейчас тоже) отвечал так называемый файл Hosts, где были прописаны все хосты тогда еще маленького интернета.

Такой файл находился (и сейчас находится) на каждом компьютере пользователя (на вашем тоже он есть) подключенного к сети (как его найти смотрите по приведенной выше ссылке).

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

109.120.169.66 ktonanovenkogo.ru

Любой браузер (что это такое?) на любом компьютере (даже сейчас) при вводе в адресную строку УРЛа (что это такое?) прежде всего обращается к файлу Hosts на предмет поиска там введенного доменного имени, и лишь не найдя там нужной записи обращается за этой информацией к ближайшему DNS-серверу (как правило, это сервак вашего интернет-провайдера).

Сейчас файл Hosts стал рудиментом (пережитком прошлого) и там обычно есть только одна запись (127.0.0.1 localhost) означающая, что локальным хостом нужно считать данный компьютер.

Правда иногда его используют вирусы и другие зловреды, чтобы вместо одного сайта вы попадали на другой (про фишинг слышали?) — ведь для этого достаточно добавить всего одну строчку в файл Hosts (можете сами прописать в нем, например, «109.120.169.66 yandex.ru» и вместо Яндекса браузер вам будет упорно открывать мой блог). Вот именно поэтому его целостность охраняют большинство антивирусов.

Как ДНС-сервера помогают браузеру ориентироваться в сети?

То есть сейчас всеми делами с адресацией в сети рулят именно ДНС-сервера, хотя по своей сути они очень похожи на файл Hosts, но только хранятся на них данные о многих миллионах адресов, да и размещены они удаленно.

Кроме этого, NS-сервера имеют иерархическую структуру, каждый из уровней которой отвечает за свою часть доменных зон. Ну и, конечно же, они хранят информацию распределенно с многократным резервированием, чтобы сбой на одном устройстве не вызвал коллапс части сети.

Еще раз поясню цепочку «метаний» браузера при вводе в него Урл адреса сайта. Итак, сначала он обращается к файлу Hosts, потом к ближайшему ДНС-серваку. Он же в ответ передает нужную информацию (о том, какой именно IP адрес соответствует данному домену) нашему браузеру или запрашивает ее у вышестоящего NS-сервера, если такой информации у себя он не находит.

Dns domain

И лишь только после этого браузер обращается к самому сайту по только что узнанному IP адресу. Долго, правда? Но что делать? Иначе никак.

Правда браузер «хитрит» и сохраняет всю полученную от ДНС серверов информацию в свой кеш, чтобы потом не терять время на эти запросы по поводу IP адреса сайта. Естественно, что кеш хранится не вечно, но часто посещаемые пользователем сайты благодаря этому в браузере будут открываться быстрее (кэш — это вообще вещь!).

Какую роль играют NS-сервера хостинга в DNS системе?

На приведенном выше рисунке показана сильно упрощенная схема, по которой не очень понятна роль отдельных уровней ДНС-серверов. Чуть ниже приведена более развернутая схема (хотя и опять же очень упрощенная).

Dns domain

Если вы владелец сайта, то знаете, что при покупке хостинга (или получении его бесплатно) вам выдают адреса NS-серверов (обычно их два), которые нужно будет прописать у вашего регистратора доменных (как это сделать описано чуть ниже). Например, мой хостер Инфобокс выдал мне два адреса (ns1.pa.infobox.ru и ns2.pa.infobox.ru).

Вопрос, как эти адреса NS участвуют в схеме определения IP-адреса по имени домена. Собственно, это показано на приведенном выше рисунке, но я все же поясню:

  1. Как я уже писал выше, ваш компьютер при вводе в адресной строке Урла типа «ktonanovenkogo.ru» в первую очередь связывается с DNS-серверами вашего интернет-провайдера. Если в их кэше имеется IP адрес соответствующий данному домену, то он незамедлительно будет выдан браузеру и все на этом закончится. В смысле, браузер используя полученный АйПи обратится к моему блогу и откроет запрашиваемую вами страницу.
  2. Если у вашего интернет-провайдера этой информации не найдется, то он обратится к одному из корневых ДНС-серваков (их не так уж и много и информация на них обновляется не часто — от одного до нескольких раз в сутки).
  3. Корневые серваки не могут дать вам сразу пару «домен — IP», но зато могут сказать, где эту информацию наверняка можно найти. Т.е. они выдают интернет-провайдеру адреса тех ДНС-серверов, в которых прописана искомая информация об интересующем домене. В нашем случае это будут как раз те самые адреса NS хостера, где физически в данный момент расположены файлы сайта (ns1.pa.infobox.ru и ns2.pa.infobox.ru в моем случае).
  4. Получив эту информацию ваш интернет-провайдер обратится по одному из полученных NS-адресов и найдет там информацию о том, какой АйПи-адрес на данный момент соответствует домену «ktonanovenkogo.ru».
  5. ДНС-server вашего интернет-провайдера запомнит эту информацию в свой кэш (чтобы при следующих обращения не повторять всю приведенную выше цепочку запросов) и незамедлительно передаст искомый IP вашему браузеру.
  6. И только после этого браузер сможет обратиться к виртуальному серваку моего хостинга, где расположен блог https://ktonanovenkogo.ru. В результате на экране вашего компьютера откроется одна из страниц моего сайта.

ktonanovenkogo.ru

Что такое DNS-серверы

«DNS-сервер» — это «программа», которая хранит таблицу соответствий вида «имя домена» — «IP-адрес», примерно так:

На самом деле, на DNS-серверах хранится не только IP-адрес сервера, но и другие данные, такие как ресурсные DNS-записи «MX», «TXT», «A», «CNAME», «SOA». Что такое «Ресурсные записи DNS»

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

Зачем прописывать DNS-серверы для домена

Когда вы регистрируете новый домен, ни один DNS-сервер в Интернет о нём не знает. И пока на DNS-серверах Интернета не появится информация о вашем домене, ни сайт, ни почта, никакие другие сервисы работать не будут.

Чтобы DNS-серверы в Интернет узнали о вашем домене, им это должен кто-то рассказать, и этот кто-то — DNS-сервер, который вы прописываете для своего домена. Он играет роль «глашатая», который всегда хранит самую свежую информацию о вашем домене. Например, DNS-серверы хостинга ns1.hosting.reg.ru и ns2.hosting.reg.ru хранят информацию о доменах, которые подключены к хостингу REG.RU.

DNS-серверы прописываются парами, это делается для лучшей отказоустойчивости: если один DNS-сервер выйдет из строя, другой останется работать.

Схема определения IP-адреса по имени домена

На данной схеме коротко объясняется, что происходит, когда вы хотите зайти на тот или иной сайт. Dns domain

Итак:

  • информация на корневых серверах обновляется всего несколько раз в сутки;
  • интернет-провайдеры как правило обновляют кэш DNS-сервера не чаще, чем раз в сутки (некоторые провайдеры обновляют кэш еще реже, но обычно не более 72 часов), поэтому, если после регистрации или переноса домена (смены DNS-серверов), сайт сразу не стал работать, не волнуйтесь — просто подождите некоторое время.

Вышеописанная структура работы DNS сильно упрощена, за подробностями вы можете обратиться к справочной литературе в Интернет.

www.reg.ru

Что такое ДНС (DNS)?

Интернет — это совокупность локальных сетей компьютеров, расположенных по всему миру, которые связываются между собой по единым правилам, называемым протоколами.

Для того, чтобы не запоминать числовой адрес компьютера, была создана система DNS. Система Доменных Имен или DNS (Domain Names System), связывает имена, подобные www.htmlweb.ru c цифровыми адресами(127.0.0.1), которые используют компьютеры, чтобы связываться друг с другом.

Для того, чтобы Ваш сайт с Вашим доменным именем заработал — необходимо указать DNS-сервера, на которых будет «записано», на каком именно сервере(хостинге) находится Ваш сайт. DNS сервера имеют вид:

ns1.yourhosting.ru
ns2.yourhosting.ru

Есть три пути настроки DNS:

  1. DNS регистратора. В этом случае, Вам нужно будет полностью настроить зону DNS как в третьем варианте.
  2. DNS хостинг-провайдера. В этом случае всю предварительную настройку DNS, достаточную для нормальной работы Вашего сайта сделает хостинг-провайдер.
  3. Сторонний DNS. Вы можете указать хостинг DNS вообще на стороннем сервере DNS, например, Яндекс-DNS.

Как указать (изменить) DNS-сервера для домена?

Для указания/изменения DNS-сервера у домена, то Вам необходимо:

  1. зарегистрироваться у регистратора домменых имен;
  2. Найти нужный домен и выбрать там «Управление DNS-серверами / Делегирование»
  3. В открывшейся форме укажите нужные DNS-сервера (IP можно не указывать). или установите галочку «Использовать DNS-сервера регистратора».
  4. Нажмите на кнопку «Сохранить».

Информация о Ваших изменениях будет доступна за период от нескольких минут до 72 часов. Поэтому в первое время возможно, что DNS-сервера будут старые. Это не зависит не от регистратора не от хостиг-провайдера. Вам остается только ждать.

Настрока DNS-записей.

Для внесения/изменения записей на DNS сервере Вам необходимо сделать следующее:

  1. Авторизуйтесь в панели управления Вашего хостинга DNS Найдите нужный домен и выберите там «Управление зоной DNS»
  2. В открывшейся форме Вы можете вносить записи типа A, CNAME и другие в зоны DNS.
  3. После внесения записей нажмите на кнопку «Сохранить/Добавить».

Пример внесения записей в DNS:

Предположим, вы зарегистрировали домен mydomain.ru и IP-адрес web-сервера, на котором будет расположен сайт — 195.128.128.26. В этом случае Вам потребуется создать минимум две записи типа «A» для Вашего домена (чтобы связать mydomain.ru и www.mydomain.ru с адресом 195.128.128.26). Для этого в форме добавления записей «A» в поле «Имя поддомена» укажите «@» для первой записи и «www» для второй записи, а в поле «Данные» укажите 195.128.128.26 (для обоих записей).

Чтобы сделать пересылку всех поддоменов на IP адрес, нужно в качестве «Имени поддомена» указать *

Пример 2: Вы хотите, чтобы адрес mail.mydomain.ru указывал на тот же хост, что и адрес relay.highway.ru. Для этого необходимо в поле ‘Имя поддомена’ указать «mail», выбрать ‘Тип записи’ CNAME, а в поле ‘Данные’ указать «relay.highway.ru.».

Пример DNS-записей для зоны mydomain.ru:

 @ A 195.161.114.80 @ MX 10 relay.highway.ru. www A 195.161.114.80 ctrl CNAME ctrl.muse.highway.ru. ftp CNAME ftp.muse.highway.ru. mail CNAME relay.highway.ru. ssh CNAME ssh.muse.highway.ru. 

Смотрите также: настрока Яндекс-почты для домена.

Инструкции по смене DNS-серверов

  1. Если вы указываете у домена RU, SU, РФ DNS-сервера, которые расположены в этом же домене (т.е. «свои» DNS), например, для домена testsite.ru вы указываете DNS-сервера ns1.testsite.ru и ns2.testsite.ru, то обязательно необходимо указать для каждого DNS-сервера его IP адрес.
  2. Если вы указываете у любого домена DNS-сервера, которые расположены в другом домене, например, для домена testsite.ru вы указываете DNS-сервера ns1.abrakadabra.ru и ns2.abrakadabra.ru, то указывать для каждого DNS-сервера IP адреса не нужно.
  3. IP адреса у DNS-серверов (в случае необходимости их указания, см. выше) для доменов RU, SU, РФ должны отличаться хотя бы на одну цифру! Одинаковые IP для всех DNS не допустимы.
  4. Для международных доменов (com, net, org, info и т.п.) DNS-сервера, которые вы указываете у домена, должны быть обязательно зарегистрированы в международной базе NSI Registry. Если они там не зарегистрированы, то указать их нельзя. Для международных доменов IP адреса у DNS-серверов указывать не нужно. Они указываются при регистрации DNS в базе NSI Registry

Как прикрепить домен к IP адресу?

Для того, чтобы прикрепить домен к IP адресу, Вам необходимо:

  1. зайти в настроку dns-записей и внести в зону DNS три записи:
    • Для первой в качестве поддомена укажите www, выберите тип записи А, в качестве данных укажите IP адрес, к которому нужно прикрепить домен.
    • Для второй записи укажите знак @ (собака) в качестве поддомена и так же выберите тип А и укажите тот же IP.
    • Для третьей записи в качестве поддомена укажите знак * (звёздочку) и так же выберите тип А и укажите тот же IP.
  2. Нажмите «Добавить/Сохранить»

Теперь Вам нужно подождать, пока изменения вступят в силу и Ваш сайт будет открываться с этого IP адреса. Это может занять до 72 часов.

Как долго происходит изменение DNS?

Сами изменения в DNS вносятся моментально. Но в связи с тем, что провайдеры кэшируют DNS, то процесс изменения DNS по всему миру может занять время от нескольких минут до 72 часов.

htmlweb.ru

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

Служба DNS применятся для облегчения обмена данными между компьютерами в сети, связывая имена компьютеров с их IP-адресами.

Становление DNS

На заре становления Интернета (тогда еще он назывался ARPANET), проблема разрешения (трансляции) доменных имен в IP-адреса решалась ведением длинных списков, в которых символьное имя соответствовало IP-адресу. Пережиток этого метода мы можем наблюдать в файле «hosts», который расположен в папке %SystemRoot%system32driversetc.

Со временем, сопровождать такие списки имен становилось все труднее и труднее. Такие файлы требовалось часто синхронизировать, не говоря уже об их внушительных размерах.

В итоге, в 1983 году Джоном Постелом (Jon Postel) и Полом Мокапетрисом (Paul Mockapetris) была разработана система доменных имен (Domain Name System). Актуальную на данный момент спецификацию DNS можно найти в документах RFC 1034 и RFC 1035, которые датируются 1987 годом.

Терминологический минимум

Домен (Domain – область) – именованная область пространства иерархических имен.

Различают домены первого, второго, третьего и далее уровней, однако корневым доменом всей иерархии является точка «.», которая ставится в конце DNS имени. После корневого домена следует домен первого уровня, который может быть организован географически, по типу организации или по своему назначению. Затем следует домен второго уровня, третьего и т.д.

Домен нулевого уровня находится в основе DNS-иерархии и зачастую называется корневым доменом.

Следует помнить, что уровни домена считаются справа налево.

Поддомен (Subdomain) – дочерний домен, являющийся частью родительского домена.

Допускается деление поддоменов на 127 уровней, при этом каждая DNS метка не должна превышать 63 символа. Такое деление на поддомены возможно до тех пор, пока полное имя домена не будет превышать длину в 255 символов.

Resolver – это набор программного обеспечения, используемое для разрешения доменных имен.

Функционирование DNS

В качестве примера рассмотрим домен www.volokh.info.

Отметим, что в конце символьного имени ставится точка, которую зачастую опускают, но иногда она требуется в описаниях DNS.

При запросе адреса www.volokh.info., браузер обращается к локальному DNS-серверу, IP-адрес которого зачастую прописан в свойствах подключения Интернет сети. У DNS-сервера запрашивается информация о соответствии символьного имени домена www.volokh.info. IP-адресу. Получив запрос, DNS-сервер проверяет локальный кэш и, в случае отсутствия данных о требуемом домене, сообщает клиенту IP-адрес корневого домена, например 198.41.0.4.

В случае если у корневого DNS-сервера не имеется требуемой информации по домену info., то корневой DNS-сервер сообщает IP-адрес DNS-сервера, ответственного за домен первого уровня. Таким образом, запрос начинает спускаться вниз по иерархии уровней доменов, до тех пор, пока не будет найден DNS-сервер, ответственной за домен www.volokh.info.

Найденный DNS-сервер сообщает клиенту IP-адрес требуемого домена, и клиент подключается к серверу по IP-адресу 50.6.23.170.

Рекурсивный и итеративный запрос

DNS-запрос может быть рекурсивным и итеративным.

Рекурсивный запрос – это такой DNS-запрос, при котором DNS-сервер выступает в качестве клиента, от имени которого запрашиваются данные, и опрашивает другие сервера в поиске IP-адреса для определенного домена.

Рекурсивный метод запроса справедлив том случае, когда браузер запрашивает у DNS-сервера IP-адрес домена «www.volokh.info.»

1. DNS-сервер, не найдя записей в локальном кэше, обращается к корневому домену «.»;

2. Корневой домен, в свою очередь, сообщает IP-адрес DNS-сервера, ответственного за домен «info.» и DNS-сервер опрашивает уже его;

3. Ответственный сервер за домен «info.» сообщает DNS-серверу IP-адрес сервера, который может сообщить IP-адрес для домена «volokh.info»;

4. DNS-сервер, запросивший IP-адрес домена, опрашивает сервер, ответственный за домен «www.volokh.info.», который, в свою очередь, возвращает нужный IP-адрес;

5. DNS-сервер возвращает IP-адрес клиенту, после чего происходит подключение к серверу по имени 50.6.23.170.

Итеративный метод запроса – это такой DNS-запрос, при котором DNS-клиент самостоятельно отслеживает отсылки к другим DNS-серверам и самостоятельно опрашивает их в поиске IP-адреса для определенного домена.

Для наглядности, на рис. 1 приведены оба метода запросов:

Recursive and iterative DNS query

Итеративный метод запроса справедлив том случае, когда:

1. Resolver, для разрешения символьного имени «www.volokh.info.», посылает запрос на свой DNS-сервер;

2. DNS-сервер, получив запрос, отсылает в ответ IP-адрес корневого домена;

3. Resolver посылает запрос разрешения имени корневому DNS-серверу и получает в ответ адрес сервера, ответственного за зону «info.»;

4. Получив адрес DNS-сервера, ответственного за зону «info.», resolver отправляет DNS-запрос этому серверу;

5. DNS-сервер, получив запрос разрешения имени, сообщает адрес сервера, ответственного за домен «volokh.info.»;

6. Resolver посылает запрос серверу, ответственному за домен «www.volokh.info.», который, в свою очередь, возвращает нужный IP-адрес;

7. Resolver, получив IP-адрес для домена «www.volokh.info.», осуществляет подключение к серверу по имени 50.6.23.170.

В случае рекурсивного запроса, DNS-сервер может не опрашивать другие DNS-сервера при условии, если у него в кэше есть информация о требуемом домене.

Зарезервированные доменные имена

Спецификация DNS предусматривает список зарезервированных доменов первого уровня, которые можно использовать в качестве примеров в документации или для тестирования локальных DNS-серверов.

Список зарезервированных доменов верхнего уровня (top-level domain) состоит из четырех имен: «.test», «.example», «.invalid» и «.localhost».

Помимо перечисленных выше доменов верхнего уровня, зарезервированы доменные имена второго уровня: «example.com», «example.net» и «example.org».

Использование зарезервированных доменных имен позволит избежать конфликтов с существующими доменными именами.

Технические детали DNS

Существует несколько основных реализаций DNS-серверов: BIND, Microsoft DNS Server , PowerDNS и NSD.

BIND (Berkeley Internet Name Domain) – является самой распространенной реализацией DNS-сервера и используется практически всеми корневыми DNS-серверами.

Другие реализации серверов менее распространенны и в основном используются внутри крупных предприятий.

Для ответов на запросы, протокол DNS использует 53 порт протокола UDP (User Datagram Protocol). TCP (Transmission Control Protocol) используется в том случае, когда размер получаемых данных от DNS-сервера превышает 512 байт. При этом, данные также передаются через 53 порт протокола TCP.

Выводы

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

Вся структура Domain Name System является иерархической. Существуют домены первого, второго, третьего и т.д. уровней.

Для повышения эффективности работы DNS, DNS-серверы кэшируют полученные DNS-ответы.

Таким образом, DNS выполняет ключевую роль в функционировании сети Интернет.

2011-07-16 18:49

Понравился сайт? Расскажи о нем друзьям:

Comments to Notes: 0

volokh.info

Dns domainПонятие DNS

Ни для кого не секрет, что компьютер использует язык чисел, когда сами пользователи предпочитают работать с обычными словами. В интернете используются оба варианта, предоставляя возможность выбора для удобства эксплуатации и навигации.

За счет этого у каждого сервера существует два имени: доменное для пользователей и числовое для компьютерной обработки. Уникальная последовательность чисел называется IP-адресом интернет протокола.

DNS представляет  — система в формате базы данных которой для хранения всех доменных имен с соответствующими адресами. Именно DNS контроллер обеспечивает выполнение поисковых операций в интернете, например для Yandex (Яндекс). После введения пользователем адреса страницы в браузерную строку, DNS контроллер домена выдает соответствие, перенаправляя запрос на соответствующий сайт.

Основные характеристики DNS

Служба имен доменов DNS имеет ряд особых характеристик:

  • Иерархия.

Все узлы объединены в единое древо. Каждый узел контролирует нижестоящие.

  • Распределение администрирования.

Каждая часть иерархической структуре находится под контролем разных организаций или администраторов.

  • Распределение информации.

Любой узел хранит только данные, которые относятся к его зоне ответственности, включая адреса корневых серверов.

  • Кэширование.

Узел может хранить данные из других зон для рационального распределения и снижения нагрузки на сеть.

  • Резервирование

Для обслуживания узлов обычно используется несколько серверов, которые разделены физически и логически. Это гарантирует бесперебойность работы и сохранность данных.

Говоря о дополнительных возможностях серверов, это может быть дополнительна защита данных и операций, поддержка динамических обновлений и возможность обработки разных типов информации.

История проекта

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

Позднее сформировалась более удачная система, и DNS имя домена вошло в активную эксплуатацию. В качестве общего корня начала использоваться точка, ниже которого находятся домены первого уровня. К ним относятся интернациональные обозначения и домены государств. Под ними находятся имена вторых и третьих уровней, соответственно.   

По мере развития систему появлялись все новые и новые требования к доменным именам. Все родительские серверы должны иметь данные дочерних, чтобы своевременно и правильно обрабатывать запросы. Любой поиск должен начинаться с определенной точки. Если раньше основная часть трафика проходила в пределах локальной зоны, то сейчас масштаб только расширяется.

Система DNS полностью двусторонняя, ведь она не только отыскивает IP-адрес, но и выполняет обратную операцию, отыскивая имя домена. Многие современные серверы ограничивают доступ. Получив запрос на соединение, IP-адрес передается в виде обратного запроса. При правильной клиентской настройке DNS, пользователь сможет получить имя клиентского хоста без ожидания, после чего владелец сети может принимать решение о допуске на сервер.

Практическая реализация 

DNS серверы домена представляют собой физические серверы, где хранятся все сведения. Ежедневно аппаратное обеспечение обрабатывает миллиарды запросов каждый раз, когда пользователь вводит в браузер адрес. Оборудование может находиться в любой точке мира. Это не влияет на скорость получения запроса, после которого сервер определяет IP-адрес и в течение считанных секунд направляет пользователя на сайт.

Для удобства сервера классифицируют на:

  • Рекурсивные;
  • Нерекурсивные.

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

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

Восходящая иерархия

Еще одно понятие, с которым можно столкнуться, планируя проверить DNS домена – восходящая иерархия. Во время настройки клиент отправляет запрос одному или нескольким серверам, от которых требуется ответ или переадресация на вышестоящее либо сразу корневое звено. Корневые адреса известны каждому DNS-серверу, так что на данном этапе не должно возникать вопросов и проблем. Затем запрос постепенно спускается вниз, к первому, второму и более низким уровням. Этот процесс называют вертикальной связью.

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

С развитием и расширение мировой сети домены верхнего уровня начали классифицировать на зоны, которые гарантируют дочерним зонам стабильное существование и контролируют их работу. Каждая зона также непременно должна иметь два и больше серверов DNS, чтобы успешно поддерживать базу данных. Таким образом, основными условиями работы становится наличие отдельного постоянного соединения и размещение в разных сетях для минимизации рисков отказа. Именно по этой причине пользователи все чаще предпочитают сотрудничество с провайдерами, которые ведут вторичные и третичные DNS серверы домена.

Пересыльщики в качестве посредников

Еще одна хитрость, которая поможет легче и быстрее проверить DNS записи домена – так называемые пересыльщики. Многие серверы могут использовать таких посредников, чтобы ускорить выдачу результата. Использование пересыльщиков практически незаменимо для больших компаний с несколькими сетями. За счет этого в каждой из них можно установить сервер невысокой мощности, указав для пересылки надежную машину с высокой скоростью. Все ответы будут генерироваться более сильным оборудованием, что позволит ускорить функционирование всей сети. У каждого dns домена уже существует своя база данных в формате текстовых файлов. Все они располагаются на основном сервере, с которым с определенной периодичностью синхронизируются вторичные системы. Детали и настройки DNS указываются в конфигурации, за счет чего эксплуатации становится проще и практичнее.

Ресурсные записи DNS 

Ресурсные записи – единицы хранения и передачи данных, каждая из которых состоит из нескольких аспектов.

  • DNS имя домена, которое принадлежит определенной ресурсной записи.
  • TTL – время хранения записи в кэше.
  • Тип, определяющий назначение и формат.
  • Класс, необходимый при работе с другими типами сетей.
  • Поле данных.
  • Длина поля.
  • Запись адреса, которая связывает доменное имя с его протоколом.
  • Каноническая запись имени, необходимая при перенаправлении.
  • Почтовый обменник конкретного домена.
  • Запись указателя, связывающая каноническое имя с IP-адресом.
  • Имя сервера.
  • Начальная запись зоны, указывающая на сервер с изначальной информацией и контактными данными.

А также некоторые другие параметры DNS, которые зависят от особенностей конкретного запроса.

Сценарии поиска IP-адресов

Чтобы проверить DNS записи домена используются три основных сценария определения IP-адреса:

  1. При необходимости установки соединения с другим компьютером в пределах одной сети, пользователь нуждается в поиске адреса удаленного компьютера, посылая соответствующий запрос локальному серверу. В локальной базе хранятся все имеющиеся доменные имена, которые переадресовываются обратно пользователю.
  2. При работе с другой зоной, запрос направляется своему локальному серверу. После того, как он находит расположение другой зоны, формируется альтернативный запрос корневому серверу, который, в свою очередь, находит соответствующую локальную базу, спускаясь по дереву DNS. Полученный в результате запрашиваемый IP-адрес возвращается пользователю, а вместе с ним передается и дополнительное значение, указывающее на срок хранения полученных данных в кэше. Это позволяет упростить и ускорить последующую обработку запросов.
  3. При необходимости создания повторного соединения с компьютером из другой зоны, локальный сервер сперва проверяет, не сохранилось ли указанное имя в кэше и не истек ли срок действия. Если данные остались, они сразу отправляются в ответ пользователю. Такое соединение называется неавторизированным, ведь с момента последнего запроса IP-адрес компьютера оставался неизменным.     

Каждый из этих случаев позволяет быстро и легко проверить DNS домена, ведь для поиска компьютера в интернете достаточно локального IP-адреса. Все дальнейшие работы выполняет соответствующий сервер, так что разобраться с задачей могут даже неопытные пользователи.

Принципы работы кэширования

По мере того, как DNS контроллер домена обрабатывает запросы пользователей, информация в значительном объеме накапливается в пространстве имен. Для дальнейшего использования сервер кэширует все данные, чтобы ускорить обработку распространенных запросов в дальнейшем, снижая трафик в сети.

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

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

При создании сайта выбор подходящего движка является обязательным этапом. 

 

Возможно ли при помощи конструктора создать полноценный сайт? Подробный ответ на этот вопрос есть в нашей статье. 

 

Статейный маркетинг позволит вам построить прибыльный бизнес в интернете. Подробнее об этом здесь. 

livesurf.ru

Ключевые характеристики DNS[править | править код]

DNS обладает следующими характеристиками:

  • Распределённость администрирования. Ответственность за разные части иерархической структуры несут разные люди или организации.
  • Распределённость хранения информации. Каждый узел сети в обязательном порядке должен хранить только те данные, которые входят в его зону ответственности, и (возможно) адреса корневых DNS-серверов.
  • Кэширование информации. Узел может хранить некоторое количество данных не из своей зоны ответственности для уменьшения нагрузки на сеть.
  • Иерархическая структура, в которой все узлы объединены в дерево, и каждый узел может или самостоятельно определять работу нижестоящих узлов, или делегировать (передавать) их другим узлам.
  • Резервирование. За хранение и обслуживание своих узлов (зон) отвечают (обычно) несколько серверов, разделённые как физически, так и логически, что обеспечивает сохранность данных и продолжение работы даже в случае сбоя одного из узлов.

DNS важна для работы Интернета, так как для соединения с узлом необходима информация о его IP-адресе, а для людей проще запоминать буквенные (обычно осмысленные) адреса, чем последовательность цифр IP-адреса. В некоторых случаях это позволяет использовать виртуальные серверы, например, HTTP-серверы, различая их по имени запроса. Первоначально преобразование между доменными и IP-адресами производилось с использованием специального текстового файла hosts, который составлялся централизованно и автоматически рассылался на каждую из машин в своей локальной сети. С ростом Сети возникла необходимость в эффективном, автоматизированном механизме, которым и стала DNS.

DNS была разработана Полом Мокапетрисом в 1983 году; оригинальное описание механизмов работы содержится в RFC 882 и RFC 883. В 1987 публикация RFC 1034 и RFC 1035 изменила спецификацию DNS и отменила RFC 882, RFC 883 и RFC 973 как устаревшие.

Дополнительные возможности[править | править код]

  • поддержка динамических обновлений
  • защита данных (DNSSEC) и транзакций (TSIG)
  • поддержка различных типов информации

История[править | править код]

Использование более простого и запоминающегося имени вместо числового адреса хоста относится к эпохе ARPANET. Стэнфордский исследовательский институт (теперь SRI International) поддерживал текстовый файл HOSTS.TXT, который сопоставлял имена узлов с числовыми адресами компьютеров в ARPANET. Поддержание числовых адресов, называемых списком присвоенных номеров, было обработано Джоном Постелем в Институте информационных наук Университета Южной Калифорнии (ISI), команда которого тесно сотрудничала с НИИ.[1]

Адреса назначались вручную. Чтобы запросить имя хоста и адрес и добавить компьютер в главный файл, пользователи связывались с сетевым информационным центром (NIC) SRI, руководимым Элизабет Фейнлер, по телефону в рабочее время.

К началу 1980-х годов поддержание единой централизованной таблицы хостов стало медленным и громоздким, а развивающейся сети требовалась автоматическая система именования для решения технических и кадровых вопросов. Постел поставил перед собой задачу выработать компромисс между пятью конкурирующими предложениями для решения задачи, сформулированной Полом Мокапетрисом. Мокапетрис вместо этого создал концепцию иерархической системы доменных имен.

Рабочая группа IETF опубликовала оригинальные спецификации в RFC 882 и RFC 883 в ноябре 1983 года.

В 1984 году четыре студента UC Berkeley, Дуглас Терри, Марк Пейнтер, Дэвид Риггл и Сонгниан Чжоу, написали первую версию сервера имен BIND (Berkeley Internet Name Daemon). В 1985 году Кевин Данлэп из DEC существенно пересмотрел реализацию DNS. Майк Карел, Фил Альмквист и Пол Викси поддерживали BIND с тех пор. В начале 1990-х годов BIND был перенесен на платформу Windows NT. Он широко распространен, особенно в Unix-системах, и по-прежнему является наиболее широко используемым программным обеспечением DNS в Интернете.

В ноябре 1987 года были приняты спецификации DNS — RFC 1034 и RFC 1035. После этого были приняты сотни RFC, изменяющих и дополняющих DNS.

Проблемы с безопасностью[править | править код]

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

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

DNS-ответы ранее не имели криптографической подписи, что давало возможность для множества вариантов атаки. Современные расширения системы безопасности доменных имен (DNSSEC) изменяют DNS, чтобы добавить поддержку криптографически подписанных ответов. Другие расширения, такие как TSIG, добавляют поддержку криптографической аутентификации между доверенными одноранговыми узлами и обычно используются для авторизации передачи зоны или операций динамического обновления.

Некоторые доменные имена могут использоваться для достижения эффектов спуфинга. Например, paypal.com и paypa1.com — это разные имена, но пользователи могут не различать их в графическом пользовательском интерфейсе в зависимости от выбранного шрифта пользователя. Во многих шрифтах буква l и цифра 1 выглядят очень похожими или даже идентичными. Эта проблема остро стоит в системах, которые поддерживают интернационализированные доменные имена, поскольку многие коды символов в ISO 10646 могут отображаться на типичных экранах компьютеров. Эта уязвимость иногда используется в фишинге.

Для подтверждения результатов DNS также могут использоваться такие методы, как обратный DNS с подтверждением прямых записей, но криптографически достоверными они не являются; при этом не учитывается вариант подмены маршрутной информации (англ. BGP hijacking).

Терминология и принципы работы[править | править код]

Ключевыми понятиями DNS являются:

  • Доме́н (англ. domain — область) — узел в дереве имён, вместе со всеми подчинёнными ему узлами (если таковые имеются), то есть именованная ветвь или поддерево в дереве имён. Структура доменного имени отражает порядок следования узлов в иерархии; доменное имя читается слева направо от младших доменов к доменам высшего уровня (в порядке повышения значимости): вверху находится корневой домен (имеющий идентификатор «.»(точка)), ниже идут домены первого уровня (доменные зоны), затем — домены второго уровня, третьего и т. д. (например, для адреса ru.wikipedia.org. домен первого уровня — org, второго — wikipedia, третьего — ru).
  • Поддомен (англ. subdomain) — подчинённый домен (например, wikipedia.org — поддомен домена org, а ru.wikipedia.org — домена wikipedia.org). Теоретически такое деление может достигать глубины 127 уровней, а каждая метка может содержать до 63 символов, пока общая длина вместе с точками не достигнет 254 символов. Но на практике регистраторы доменных имён используют более строгие ограничения. Например, если у вас есть домен вида mydomain.ru, вы можете создать для него различные поддомены вида mysite1.mydomain.ru, mysite2.mydomain.ru и т. д.
  • Ресурсная запись — единица хранения и передачи информации в DNS. Каждая ресурсная запись имеет имя (то есть привязана к определённому Доменному имени, узлу в дереве имён), тип и поле данных, формат и содержание которого зависит от типа.
  • Зона — часть дерева доменных имён (включая ресурсные записи), размещаемая как единое целое на некотором сервере доменных имён (DNS-сервере, см. ниже), а чаще — одновременно на нескольких серверах (см. ниже). Целью выделения части дерева в отдельную зону является передача ответственности (см. ниже) за соответствующий домен другому лицу или организации. Это называется делегированием (см. ниже). Как связная часть дерева, зона внутри тоже представляет собой дерево. Если рассматривать пространство имён DNS как структуру из зон, а не отдельных узлов/имён, тоже получается дерево; оправданно говорить о родительских и дочерних зонах, о старших и подчинённых. На практике большинство зон 0-го и 1-го уровня (‘.’, ru, com, …) состоят из единственного узла, которому непосредственно подчиняются дочерние зоны. В больших корпоративных доменах (2-го и более уровней) иногда встречается образование дополнительных подчинённых уровней без выделения их в дочерние зоны.
  • Делегирование — операция передачи ответственности за часть дерева доменных имён другому лицу или организации. За счёт делегирования в DNS обеспечивается распределённость администрирования и хранения. Технически делегирование выражается в выделении этой части дерева в отдельную зону, и размещении этой зоны на DNS-сервере (см. ниже), управляемом этим лицом или организацией. При этом в родительскую зону включаются «склеивающие» ресурсные записи (NS и А), содержащие указатели на DNS-сервера дочерней зоны, а вся остальная информация, относящаяся к дочерней зоне, хранится уже на DNS-серверах дочерней зоны.
  • DNS-сервер — специализированное ПО для обслуживания DNS, а также компьютер, на котором это ПО выполняется. DNS-сервер может быть ответственным за некоторые зоны и/или может перенаправлять запросы вышестоящим серверам.
  • DNS-клиент — специализированная библиотека (или программа) для работы с DNS. В ряде случаев DNS-сервер выступает в роли DNS-клиента.
  • Авторитетность (англ. authoritative) — признак размещения зоны на DNS-сервере. Ответы DNS-сервера могут быть двух типов: авторитетные (когда сервер заявляет, что сам отвечает за зону) и неавторитетные (англ. Non-authoritative), когда сервер обрабатывает запрос, и возвращает ответ других серверов. В некоторых случаях вместо передачи запроса дальше DNS-сервер может вернуть уже известное ему (по запросам ранее) значение (режим кеширования).
  • DNS-запрос (англ. DNS query) — запрос от клиента (или сервера) серверу. Запрос может быть рекурсивным или нерекурсивным (см. Рекурсия).

Система DNS содержит иерархию DNS-серверов, соответствующую иерархии зон. Каждая зона поддерживается как минимум одним авторитетным сервером DNS (от англ. authoritative — авторитетный), на котором расположена информация о домене.

Имя и IP-адрес не тождественны — один IP-адрес может иметь множество имён, что позволяет поддерживать на одном компьютере множество веб-сайтов (это называется виртуальный хостинг). Обратное тоже справедливо — одному имени может быть сопоставлено множество IP-адресов: это позволяет создавать балансировку нагрузки.

Для повышения устойчивости системы используется множество серверов, содержащих идентичную информацию, а в протоколе есть средства, позволяющие поддерживать синхронность информации, расположенной на разных серверах. Существует 13 корневых серверов, их адреса практически не изменяются.[2]

Протокол DNS использует для работы TCP- или UDP-порт 53 для ответов на запросы. Традиционно запросы и ответы отправляются в виде одной UDP-датаграммы. TCP используется, когда размер данных ответа превышает 512 байт, и для AXFR-запросов.

Рекурсия[править | править код]

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

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

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

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

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

Рассмотрим на примере работу всей системы.

Предположим, мы набрали в браузере адрес ru.wikipedia.org. Браузер спрашивает у сервера DNS: «какой IP-адрес у ru.wikipedia.org»? Однако сервер DNS может ничего не знать не только о запрошенном имени, но и даже обо всём домене wikipedia.org. В этом случае сервер обращается к корневому серверу — например, 198.41.0.4. Этот сервер сообщает — «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 является ответственным за зону org.» Тогда сервер DNS направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 является ответственным за зону wikipedia.org.» Наконец, тот же запрос отправляется к третьему DNS-серверу и получает ответ — IP-адрес, который и передаётся клиенту — браузеру.

В данном случае при разрешении имени, то есть в процессе поиска IP по имени:

  • браузер отправил известному ему DNS-серверу рекурсивный запрос — в ответ на такой тип запроса сервер обязан вернуть «готовый результат», то есть IP-адрес, либо пустой ответ и код ошибки NXDOMAIN;
  • DNS-сервер, получивший запрос от браузера, последовательно отправлял нерекурсивные запросы, на которые получал от других DNS-серверов ответы, пока не получил ответ от сервера, ответственного за запрошенную зону;
  • остальные упоминавшиеся DNS-серверы обрабатывали запросы нерекурсивно (и, скорее всего, не стали бы обрабатывать запросы рекурсивно, даже если бы такое требование стояло в запросе).

Иногда допускается, чтобы запрошенный сервер передавал рекурсивный запрос «вышестоящему» DNS-серверу и дожидался готового ответа.

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

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

Обратный DNS-запрос[править | править код]

DNS используется в первую очередь для преобразования символьных имён в IP-адреса, но он также может выполнять обратный процесс. Для этого используются уже имеющиеся средства DNS. Дело в том, что с записью DNS могут быть сопоставлены различные данные, в том числе и какое-либо символьное имя. Существует специальный домен in-addr.arpa, записи в котором используются для преобразования IP-адресов в символьные имена. Например, для получения DNS-имени для адреса 11.22.33.44 можно запросить у DNS-сервера запись 44.33.22.11.in-addr.arpa, и тот вернёт соответствующее символьное имя. Обратный порядок записи частей IP-адреса объясняется тем, что в IP-адресах старшие биты расположены в начале, а в символьных DNS-именах старшие (находящиеся ближе к корню) части расположены в конце.

Записи DNS[править | править код]

Записи DNS, или Ресурсные записи (англ. Resource Records, RR) — единицы хранения и передачи информации в DNS. Каждая ресурсная запись состоит из следующих полей[3]:

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

Наиболее важные типы DNS-записей:

  • Запись A (address record) или запись адреса связывает имя хоста с адресом протокола IPv4. Например, запрос A-записи на имя referrals.icann.org вернёт его IPv4-адрес — 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[5][6]) обратная DNS-запись или запись указателя связывает 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.

Зарезервированные доменные имена[править | править код]

Документ RFC 2606 (Reserved Top Level DNS Names — Зарезервированные имена доменов верхнего уровня) определяет названия доменов, которые следует использовать в качестве примеров (например, в документации), а также для тестирования. Кроме example.com, example.org и example.net, в эту группу также входят test, invalid и др.

Интернациональные доменные имена[править | править код]

Доменное имя может состоять только из ограниченного набора ASCII-символов, позволяя набрать адрес домена независимо от языка пользователя. ICANN утвердил основанную на Punycode систему IDNA, преобразующую любую строку в кодировке Unicode в допустимый DNS набор символов.

Программное обеспечение DNS[править | править код]

Серверы имен:

  • BIND (Berkeley Internet Name Domain) [1]
  • djbdns (Daniel J. Bernstein’s DNS) [2]
  • Dnsmasq [3]
  • MaraDNS [4]
  • NSD (Name Server Daemon) [5]
  • PowerDNS [6]
  • OpenDNS [7]
  • Microsoft DNS Server (в серверных версиях операционных систем Windows NT)
  • MyDNS [8]

См. также[править | править код]

  • Атака Каминского
  • Альтернативные корневые серверы DNS
  • OpenDNS
  • Google Public DNS
  • Яндекс.DNS
  • Киберсквоттинг
  • Тайпсквоттинг
  • Динамический DNS
  • Round robin DNS — распределение нагрузки между одинаковыми серверами.
  • ICANN
  • DNSSEC
  • DNS-клиент
  • DNS-сервер
  • Nslookup

Ссылки[править | править код]

  • DNS Resources Directory  (англ.)
  • Ресурсы, посвящённые DNS & BIND  (англ.)
  • Общество CircleID DNS  (англ.)
  • Повышение безопасности DNS (DNSSEC)  (англ.)
  • Рабочий комитет IETF занимающийся разработкой расширенной спецификации DNS (DNSEXT)  (англ.)
  • Сайт корневых DNS-серверов  (англ.)
  • Просмотр DNS-записей домена
  • Веб-инструменты для DNS, каталог на сайте dmoz.org  (англ.)

Статьи[править | править код]

  • Обзор схем и типов DNS-атак

ru.wikipedia.org


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.