Сетевые технологии

Система доменных имен

DNS (Domain Name System — система доменных имен) представляет собой распределенную систему хранения и обработки информации о доменных зонах. Она необходима, в первую очередь, для соотнесения IP-адресов устройств в сети и более адаптированных для человеческого восприятия символьных имен.
Также, система работает с разными типами ресурсных записей, позволяющими реализовывать круг задач: переадресация между доменными именами, балансировка нагрузки между хостами, привязка специфических сервисов (напр., эл. почты) к домену.
DNS обеспечивает преобразование запрашиваемого клиентом символьного имени домена в IP-адрес (адреса) обслуживающего эту доменную зону сервера (серверов).
Изначально, до разрастания сети интернет, адреса преобразовывались согласно содержимому файла «hosts», составлявшегося централизованно и автоматически рассылавшегося на каждую из машин в сети.
По мере роста глобальной сети такой метод перестал оправдывать себя — появилась потребность в новом механизме, которым и стала DNS, разработанная в 1983 году Полом Мокапетрисом.
DNS-сервер — хост, хранящий ресурсные записи и обрабатывающий DNS-запросы. DNS-сервер может самостоятельно разрешать адреса, относящиеся к зоне его ответственности, или передавать запросы по зонам, которые он не обслуживает, вышестоящим серверам.
DNS-клиент — набор программных средств для работы с DNS. Сам DNS-сервер периодически также выступает в качестве клиента.

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

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

Иерархия и делегирование доменных имен

Домен представляет собой именованную ветвь в дереве имен, включающую в себя сам узел. Для обозначения иерархической принадлежности доменных имен принято использовать понятие «уровень» — показатель положения узла в дереве доменов. Чем ниже значение уровня, тем выше иерархическое положение домена.
Доменная зона — часть иерархического дерева доменных имен (напр. «.ru»), целиком переданная на обслуживание определенному DNS-серверу (чаще нескольким) с целью делегирования другому лицу ответственности за этот и все подчиненные домены («address.ru», «any.address.ru»).
  • «.» — домен нулевого уровня
  • «.ru» — домен первого (верхнего) уровня
  • «example.com» — домен второго уровня
  • «mail.example.com» — домен третьего уровня

Рекурсивные и нерекурсивные DNS-запросы

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

Как просмотреть IP-адрес сайта

Для просмотра имени DNS или IP-адрес сайта нужно иметь действующее подключение к Интернету. Затем следует сделать:
  • Открыть окно командной строки Windows
  • В командной строке ввести команду nslookup, пробел, указать IP-адрес или имя домена (например, nslookup it-black.ru) и нажать Enter.

DNS кэш

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

Как просмотреть содержимое кэша DNS

  • Откройте окно командной строки.
  • В командной строке введите ipconfig/displaydns.

Как очистить кэш DNS

  • Откройте окно командной строки с правами администратора
  • В командной строке введите ipconfig/flushdns
Сетевые технологии