DNS - это Domain Name System.
Изначально, когда Интернет только появился, обращение к хостам производилась через IP адреса.
Уже в последствии появилась система DNS.
Как понятно из названия, DNS прежде всего используется для преобразования имени в IP адрес.
В настоящее время DNS получила своё дальнейшее развитие, и сейчас правильнее говорить, что
DNS используется для разрешения имён в ресурсы.
Например DNS позволяет разрешить имя mail.ru в адрес.
Но DNS также используется и для определения почтового сервера для пользователя user@mail.ru
Для работы с различными ресурсами используются DNS записи различных типов, например:
Система DNS имеет иерархическую структуру, при этом иерархия идёт справа на лево, например:
www.mail.ru.
. -> ru -> mail -> www
На схеме приведена иерархическая схема DNS.
Как видно структура древовидная, при этом каждый узел представляет собой имя или метку(Label), например:
. -> com -> cisco -> dev
При этом корневой узел - это "." (точка, метка нулевого уровня)
Полное имя хоста - это имя, содержащее также и все метки в иерархии, и называется:
FQDN, Fully Qualified Domain Name
В реальности в браузере вы вводим конечно без точки в конце, при этом браузер предполагает что эта точка "имелась в виду".
Точнее говоря, имя без точки - это относительное имя. И локальный DNS Resolver выполняет несколько функций, чтобы привести это имя к абсолютному имени.
В том числе, добавление точки в конце.
Настройку локального DNS Resolver можно посмотреть здесь:
файл /etc/resolve.conf
Как видно из настроек, мы можем ввести в браузере "http://www", резолвер автоматом добавит домен ciscomaster.ru, и по факту мы попадём на www.ciscomaster.ru
Мы можем добавить несколько поисковых доменов, и резолвер начнет их перебирать.
Терминология DNS:
domain: domain или домен - это имя ресурса интернет, простое для восприятия, и которое мы вводим в браузере, например mail.ru
zone: zone или зона - это обособленная ветвь пространства DNS имен которая располагается на своих авторитарных DNS серверах. В зону может входить любое количество доменов нижележащего уровня - до тех пор пока они все расположены на одних и тех же авторитарных серверах, зона у них одна и та же. Например, зона хостинга amazon.com может содержать записи с именем www.amazon.com и www.aws.amazon.com, но не может содержать запись с именем www.amazon.ca.
Domain Registrar: Каждой доменной зоной кто-то владеет. Домен второго уровня можно приобрести, для этого существуют организации, уполномоченные создавать (регистрировать) новые доменные имена и продлевать срок действия уже существующих доменных имен в домене Например nic, masterhost.
Узнать, кто является регистратором домена можно через сервис who is: https://www.nic.ru/whois/
Zone File: contains DNS records
Делегирование зоны - это то каким образом пространство имен в DNS делится на зоны. Делегирование происходит из родительской зоны, например ru. После приобретения домена второго уровня он будет зарегистрирован регистратором домена. Делегирование из родительской зоны происходит путем создания NS записей. В дочерней (делегированной) зоне создается полное описание зоны начиная с SOA записи. Например, когда регистрируется домен второго уровня через регистратора nic.ru, то там при регистрации просят указать имена и адреса минимум двух DNS серверов которые будут считаться авторитарными для данной ветви пространства DNS имен. Вот эти два сервера становятся NS записями в домене ru.
DNS Records: A, AAAA, NS, CNAME
Name Server: resolves DNS queries (Authoritative or Non-Authoritative). Сервер содержит Zone File
SLD (Second Level Domain): google.com, mail.ru
TLD (Top Level Domain): .com, .in, .us, .org, .gov,
Как уже говорилось, у DNS есть понятие зоны, которая "живет" на своих серверах DNS. Поэтому DNS является географически распределённой системой.
Есть сервера, ответственные за корневую зону, т.е. за "." Они содержат информацию, кто ответственен за зоны 1-го уровня.
Корневые сервера "вшиты" в DNS, их количество порядка десятка.
Посмотрим, кто является серверами имен для ".", т.е. Name Servers
Как видно, корневые сервера располагаются в специальной зоне root-servers.net.
Все эти сервера содержат копию зоны ".", но есть источник, главный сервер, содержащий Start Of Authority.
Посмотрим, кто является ответственным за зону "."
Есть сервера, ответственные