Что такое DNS, принципы работы
DNS (Domain Name System) или «Система доменных имен» — представляет собой иерархическую систему наименований адресов интернет-ресурсов (web-сайтов, серверов электронной почты и т.д.). DNS была разработана для облегчения навигации пользователей в Интернете.
Для того, чтобы получить доступ к web-сайту пользователи вводят в браузере доменное имя сайта. Доменное имя — адрес сайта, выраженный в удобном для восприятия человеком формате (например, «example.com»). Фактически же адресация в сети Интернет осуществляется с помощью специального протокола TCP/IP где используются уникальные IP-адреса (Internet Protocol Address). Другими словами, для того, чтобы получить доступ к данным устройства (например, сервера, где размещен web-сайт) необходимо знать IP-адрес этого устройства.
В отличие от доменного имени структура IP-адреса представлена численной комбинацией с разделителями, например, «192.168.5.1». Основная задача DNS преобразовать доменное имя в машиночитаемый IP-адрес.
Принципы работы DNS
DNS можно представить в виде глобальной распределенной базы данных, где хранится соответствие: доменное имя — IP-адрес (далее DNS база данных).
Структура доменных имен (доменов) представлена в виде логического дерева, где домены верхнего уровня включают домены нижнего. В Интернете чаще всего встречаются домены второго и третьего уровней. Рассмотрим дерево доменов на примере домена третьего уровня «subdomain1.domain1.com» (рис.1).
За хранение базы данных DNS отвечает распределенная сеть DNS-серверов. DNS-сервера — это специальное программное обеспечение, которое было разработано для реализации функций DNS. Как правило, DNS-сервера разнесены по разными физическим устройствам. Каждый DNS-сервер хранит в себе часть глобальной базы данных DNS.
Для того, чтобы пользователь смог получить доступ к сайту через доменное имя, необходимо зарегистрировать на DNS-сервере связку доменное имя — IP-адрес устройства, где размещен сайт. За регистрацию в Системе доменных имен отвечают владельцы сайтов.
Рекомендуется использовать два DNS-сервера: первичный и вторичный. Если первичный будет недоступен, вторичный обработает запрос и обеспечит доступ к web-сайту или другому интернет ресурсу по доменному имени.
Какие сервера нужно прописать для доменного имени можно узнать [Какие DNS-серверы прописать для домена?] (ссылка будет позднее).
Как работают DNS-серверы? (для любознательных)
Итак, вы вводите название сайта в адресную строку и нажимаете Enter. В те самые секунды, перед тем как сайт отобразится на вашем экране, DNS-серверы работают не щадя себя. Посмотрим, что делают DNS-серверы. Следите за стрелочками.
- Получив от вас доменное имя, компьютер связывается с DNS-серверами вашего интернет-провайдера (стрелка 1). DNS-серверы провайдера ищут IP-адрес в кеше. Если находят, выдают вам IP-адрес (стрелка 6) и по этому IP-адресу ваш компьютер обращается к серверу, на котором размещён сайт (стрелка 7).Сайт отображается на экране компьютера. И всё 🙂
- Если же пара «домен — IP-адрес» отсутствует в кеше DNS-серверов интернет-провайдера, DNS-сервер провайдера отправляет запрос корневым DNS-серверам (стрелка 2). Таких серверов всего несколько штук по всему миру, а информация на них обновляется несколько раз сутки. Корневые серверы сообщают адреса DNS-серверов домена (стрелка 3). Тех самых, которые нужно прописать для домена после регистрации и которые хранят всю актуальную информацию о домене (IP-адрес, ресурсные записи и т.д.).
- Получив адреса DNS-серверов домена, провайдер делает запрос к одному из них (стрелка 4), получает в ответ долгожданный IP-адрес (стрелка 5), запоминает его в кэше (чтобы потом не обращаться каждый раз к корневому DNS-серверу) и наконец сообщает этот IP-адрес вашему браузеру (стрелка 6).
- И только теперь довольный браузер обращается по IP-адресу к серверу, на котором расположен сайт (стрелка 7), и отображает вам сайт на экране компьютера (стрелка 8).