что такое протокол dns
Что делает DNS и как его настроить на Windows
Что такое DNS-серверы и какова их роль
Возврат IP-адреса хоста в ответ на запрос доменного имени называют преобразованием его доменного имени в IP-адрес. Когда все работает хорошо, этот процесс занимает не более секунды.
Какие бывают DNS-серверы
Существует несколько классификаций серверов DNS. Самой важной из них является разбивка серверов на ведущие (Master) и ведомые (Slave). На ведущих серверах информация о доменах хранится на собственных дисках, ведомые берут данные у соседних серверов. Поэтому для создания нового домена необходимо сделать новую запись на диске в ведущем сервере, с которым синхронизируются ведомые серверы. Непосредственно на Slave-сервер записи о новых доменах вносить нельзя. Master-серверы могут получать информацию от других серверов и добавлять к ней свою.
Между каждым из уровней вложенности в доменном имени стоят цепочки подчинения DNS-серверов, определяющих то, какой конкретный сервер может управлять теми или иными доменами и зонами.
Также DNS-серверы бывают публичными и частными. Публичный внешний сервер находится на всеобщем обозрении в интернете и доступен для свободного обращения к нему. Частные, как правило, размещаются в корпоративной сети крупного предприятия или компании. Такие локальные DNS-серверы обычно используют для управления внутренними адресами корпоративной сети. Внутренние адреса управляются внутренними доменами, доступ к которым невозможно получить извне. Для интернета такие домены не видны и не существуют.
В ситуациях, когда домены записи нужно обновлять почти мгновенно и без задержек, задействуются специальные динамические DNS-серверы, которые умеют обновлять информацию о доменах на вверенном им участке сети почти мгновенно. Технология динамических DNS-серверов активно используется архитекторами облачных микросервисных систем и телеком-провайдерами.
Топ лучших публичных DNS-серверов
Настраиваем DNS. Какую Windows лучше использовать
Чтобы решить проблемы, связанные с интернет-подключением, важно правильно провести настройку DNS-сервера на компьютере. Для этого следует заменить автоматическое получение адреса DNS-сервера на статический адрес DNS-сервера или установить DNS-сервер. При этом служба DNS-сервера не требовательна к ресурсам машины.
Установка DNS-сервера с целевыми ролями и службами предполагает наличие доменной зоны, поэтому необходимо создать частную сеть в личном кабинете и подключить к ней виртуальные машины. Для этого требуется настроить сетевой адаптер для DNS-сервера, установить роли DNS-сервера, создать зоны прямого и обратного просмотра (для сопоставления доменного имени с IP-адресом и наоборот), создать А-запись (позволяющую по доменному имени узнать IP-адрес) и PTR-запись, обратную А-записи, и проверить правильность выполненных ранее шагов.
Настройка DNS на компьютерах с операционными системами Windows 10, 8.1, 8, 7, Vista и XP имеет свою специфику, которую стоит рассмотреть более подробно.
Обновление DNS-кэша выполняется следующим образом: после нажатия правой кнопкой мыши по значку Windows (меню Пуск) и выбора Командная строка (администратор) или Windows PowerShell (администратор) вводится команда ipconfig /flushdns, после чего нажимается Enter (Ввод) и проводится перезагрузка компьютера.
Какое оборудование подойдет для DNS сервера
Подобрать оборудование для DNS-сервера помогут наши специалисты.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
DNS (Domain Name System)
Уровень (по модели 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 важна для работы Интернета, так как для соединения с узлом необходима информация о его IP-адресе, а для людей проще запоминать буквенные (обычно осмысленные) адреса, чем последовательность цифр IP-адреса. В некоторых случаях это позволяет использовать виртуальные серверы, например, HTTP-серверы, различая их по имени запроса. Первоначально преобразование между доменными и IP-адресами производилось с использованием специального текстового файла hosts, который составлялся централизованно и автоматически рассылался на каждую из машин в своей локальной сети. С ростом Сети возникла необходимость в эффективном, автоматизированном механизме, которым и стала DNS. DNS была разработана Полом Мокапетрисом в 1983 году; оригинальное описание механизмов работы содержится в RFC 882 и RFC 883. В 1987 публикация RFC 1034 и RFC 1035 изменила спецификацию DNS и отменила RFC 882, RFC 883 и RFC 973 как устаревшие.
Дополнительные возможности
Как работает 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]:
Наиболее важные типы DNS-записей:
Зарезервированные доменные имена
Документ RFC 2606 (Reserved Top Level DNS Names — Зарезервированные имена доменов верхнего уровня) определяет названия доменов, которые следует использовать в качестве примеров (например, в документации), а также для тестирования. Кроме example.com, example.org и example.net, в эту группу также входят test, invalid и др.
Интернациональные доменные имена
Доменное имя может состоять только из ограниченного набора ASCII-символов, позволяя набрать адрес домена независимо от языка пользователя. ICANN утвердил основанную на Punycode систему IDNA, преобразующую любую строку в кодировке Unicode в допустимый DNS набор символов.
Программное обеспечение DNS
Что такое протокол dns
DNS (англ. Domain Name System «система доменных имён») — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты и/или обслуживающих узлах для протоколов в домене (SRV-запись).
Распределённая база данных DNS поддерживается с помощью иерархии DNS-серверов, взаимодействующих по определённому протоколу.
Основой DNS является представление об иерархической структуре имени и зонах. Каждый сервер, отвечающий за имя, может передать ответственность за дальнейшую часть домена другому серверу (с административной точки зрения — другой организации или человеку), что позволяет возложить ответственность за актуальность информации на серверы различных организаций (людей), отвечающих только за «свою» часть доменного имени.
Начиная с 2010 года в систему DNS внедряются средства проверки целостности передаваемых данных, называемые DNS Security Extensions (DNSSEC). Передаваемые данные не шифруются, но их достоверность проверяется криптографическими способами. Внедряемый стандарт DANE обеспечивает передачу средствами DNS достоверной криптографической информации (сертификатов), используемых для установления безопасных и защищённых соединений транспортного и прикладного уровней.
Как работает DNS
В предыдущих статьях мы рассказали, как придумали доменные имена и кто контролирует их работу. Сегодня узнаем, как браузер понимает, где находится сайт, когда мы вводим в адресной строке домен.
Из статьи вы узнаете:
Что такое DNS
DNS — это технология, которая помогает браузеру найти правильный сайт по доменному имени.
Вы уже знаете, что компьютеры находят друг друга в интернете по IP-адресам. Чтобы подключиться к серверу с конкретным сайтом, нужно знать его IP-адрес. Похожим образом устроена мобильная связь: чтобы позвонить конкретному человеку, нужно знать его номер.
Людям неудобно использовать длинные комбинации цифр, поэтому IP-адреса придумали связывать с понятными текстовыми именами — доменами. Всё-таки запомнить google.com проще, чем 216.58.209.14.
По такой же логике мы сохраняем важные номера в контакты смартфона. Только в случае с доменами, ничего сохранять не нужно. Мы просто вводим в адресной строке домен, а браузер сам находит IP-адрес нужного сервера и открывает сайт.
ВИДЕО ПО ТЕМЕ:
Прочитать статью — хорошо, а прочитать статью
и посмотреть видео — еще лучше!
Смотрите наше видео о том, что такое домен и IP-адрес сайта
Как это работало раньше
В первые годы интернета доменам присваивали IP-адреса вручную. Их записывали в текстовый файл hosts.txt в таком формате:
216.58.209.14 google.com
По сути это и был список контактов, как в смартфоне. Когда пользователь вводил в адресной строке домен, браузер проверял файл и брал из него IP-адрес.
Главным файлом управлял Стэнфордский исследовательский институт. Чтобы добавить в список новый сайт, нужно было звонить в институт по телефону. После этого все компьютеры в сети должны были скачать обновлённый файл.
Со временем такой подход стал отнимать много времени, так как требовалось вносить всё больше и больше данных, и технологию решили усовершенствовать. Новую систему придумали Пол Мокапетрис и Джон Постел в 1984 и назвали её DNS-протокол. Аббревиатура означала Domain Name System, по-русски — Система доменных имён.
1212 доменных зон для любых проектов!
.com .com.ua .info .online .in.ua .net .kiev.ua .site .pl .ORG .pro .ru .org.ua .eu
Что такое DNS-сервер
Настройки каждого домена в интернете хранятся в текстовых файлах на DNS-серверах.
DNS-сервер — это специальный компьютер, который хранит IP-адреса сайтов. Основные функции сервера DNS — выдавать браузеру адрес сайта по доменному имени и кэшировать DNS-записи домена. То есть сервер DNS простыми словами — это всё та же «книга контактов», тот же файл hosts.txt, только больших масштабов.
Когда вы открываете в браузере сайт, в поиске IP-адреса домена обычно участвуют несколько DNS-серверов:
Локальный DNS-сервер вашего интернет-провайдера. Браузеры используют DNS-сервер провайдера, чтобы с его помощью узнать IP-адрес сервера, где находится сайт. Для этого в каждом браузере есть специальная программа — DNS-клиент. Вместо серверов вашего провайдера может быть любой другой публичный DNS-сервер, если вы укажете его в сетевых настройках. Например, вместо DNS-серверов интернет-провайдера можно использовать публичные серверы DNS от Google.
DNS-сервер верхнего уровня. DNS-серверы верхнего уровня содержат информацию о DNS-зоне и называются корневыми. Они выдают по запросу DNS-серверы доменов первого уровня, например, COM, UA, ORG, NET, ONLINE. Корневыми серверами управляют разные организации. Впервые такие DNS-серверы появились в Северной Америке, но со временем их количество росло и они появлялись в других странах. Сейчас есть 13 основных DNS-серверов верхнего уровня и множество реплик.
DNS-сервер, который отвечает за домен и где хранятся записи доменного имени. Адреса DNS-серверов владельцу домена обычно приходится указывать вручную — их присылает хостинг-провайдер. Например, наши публичные DNS-серверы — dns1.hostiq.ua и dns2.hostiq.ua.
Как браузер находит IP-адрес домена
Разберёмся пошагово, как браузер понимает, где находится сайт, когда мы вводим в адресной строке домен:
Шаг 1 Вы вводите в адресной строке доменное имя, например, google.com. Сначала браузер проверяет файл hosts.txt на компьютере. Если там не оказывается нужного IP-адреса, он обращается к локальному DNS-серверу вашего интернет-провайдера. Его IP-адрес браузер находит в настройках подключения к интернету.
Шаг 3 Локальный DNS-сервер получает IP-адрес одного из этих DNS-серверов и задаёт тот же вопрос ему. Этот DNS-сервер тоже не знает IP-адрес Гугла, но знает IP-адреса DNS-серверов, которые использует google.com.
Шаг 4 Локальный DNS-сервер получает IP-адрес одного из этих DNS-серверов и обращается к нему. Этот DNS-сервер знает нужный IP-адрес и отправляет его локальному DNS-серверу.
Шаг 5 Локальный DNS-сервер получает нужный IP-адрес и отправляет его браузеру.
Давайте уже разберемся в DNS
Внимательный читатель найдет на этой картинке IPv6
Люди часто озадачены доменами. Почему мой сайт не работает? Почему эта хрень поломана, ничего не помогает, я просто хочу, чтобы это работало! Обычно, вопрошающий или не знает про DNS, или не понимает фундаментальных идей. Для многих DNS — страшная и непонятная штука. Эта статья — попытка развеять такой страх. DNS — это просто, если понять несколько базовых концепций.
Что такое DNS
DNS расшифровывается как Domain Name System. Это глобальное распределенное хранилище ключей и значений. Сервера по всему миру могут предоставить вам значение по ключу, а если им неизвестен ключ, то они попросят помощи у другого сервера.
Базовые штуки
Давайте взглянем на маппинг между именем и адресом:
Здесь есть только одна интересная деталь: информация о самом запросе. Говорится, что мы запросили запись и получили ровно один ответ. Вот:
Оставшаяся часть ответа описывает сам ответ:
Как видите, при обычном DNS-запросе происходит куча всего. Каждый раз, когда вы открываете веб-страницу, браузер делает десятки таких запросов, в том числе для загрузки всех внешних ресурсов вроде картинок и скриптов. Каждый ресурс отвечает за минимум один новый DNS-запрос, и если бы DNS не был рассчитан на сильное кэширование, то трафика генерировалось бы очень много.
Корневые DNS-сервера обслуживаются различными компаниями и государствами по всему миру. Изначально их было мало, но интернет рос, и сейчас их 13 штук. Но у каждого из серверов есть десятки или сотни физических машин, которые прячутся за одним IP.
Другие типы
Что не так с CNAME
Запросы к другим серверам
Давайте представим, что конфигурация DNS испорчена. Вам кажется, что вы исправили проблему, но не хотите ждать когда обновится кэш чтобы удостовериться. С помощью dig можно сделать запрос к публичному DNS-серверу вместо своего дефолтного, вот так:
Типичные ситуации
Давайте рассмотрим типичные ситуации, знакомые многим веб-разработчикам.
Редирект домена на www
Этот IP принадлежит Namecheap’у, и там крутится маленький веб-сервер, который просто делает перенаправление на уровне HTTP на адрес http://www.iskettlemanstillopen.com :
CNAME для Heroku или Github
Wildcards
Заключение
Надеюсь, теперь у вас есть базовое понимание DNS. Все стандарты описаны в документах:
Есть еще пара интересных RFC, в том числе 4034, который описывает стандарт DNSSEC и 5321, который описывает взаимосвязь DNS и email. Их интересно почитать для общего развития.