Технология DNS
DNS — фундаментальная технология современной интернет-среды, которая отвечает за хранение и обработку информации о доменных адресах. Инструмент используется для преобразования доменных имен в IP-адреса в момент отправки пользователем запроса на сервер. IP-адрес — уникальный числовой идентификатор устройства. Он позволяет узнать, откуда загружается страница нужного сайта. Получается, технология DNS служит своеобразной «телефонной книгой», в которой хранится база доменных имен и их адресов.
Как работает DNS
Каждому имени сайта соответствует набор цифр формата 000.000.000.000. Этот набор называется IP-адресом, примером реального IP-адреса является например 192.168.0.154. Когда пользователь вводит в адресной строке браузера имя сайта, например hmarketing.ru, компьютер запрашивает IP-адрес этого сайта на специальных DNS-серверах и после получения корректного ответа открывает сам сайт.
- Пользователь вводит запрос в строке браузера. Тот в свою очередь перенаправляет его DNS-серверу, который ищет совпадения между доменным именем и IP. При обнаружении совпадений браузер делает запрос по IP-адресу сервера и получает в ответ нужную информацию, после чего браузер отображает ее. Если совпадения не обнаружены, тогда запрос перенаправляется корневому серверу
- Корневой сервер снова перенаправляет запрос серверу первого уровня, а тот отправляет запрос серверу второго уровня. Процесс продолжается до тех пор, пока совпадение не будет найдено
- Как только IP-адрес найден, браузер направляет запрос серверу, получает ответ и отображает полученную информацию
Что такое DNS-сервер
Система доменных имен работает не в виртуальном пространстве, а на определенных физических устройствах (серверах). Все данные о доменах хранятся в формате записей, оснащенных соответствующим программным обеспечением. Список самых популярных и общедоступных DNS-серверов:
- Google: 8.8. 8.8 & 8.8. 4.4.
- Quad9: 9.9. 9.9 & 149.112. 112.112.
- OpenDNS: 208.67. 222.222 & 208.67. 220.220.
- Cloudflare: 1.1. 1.1 & 1.0. 0.1.
- CleanBrowsing: 185.228. 168.9 & 185.228. 169.9.
- Alternate DNS: 76.76. 19.19 & 76.223. 122.150.
- AdGuard DNS: 94.140. 14.14 & 94.140.
В случае кэширования все несколько сложнее. Дело в том, что отдельно взятый DNS-сервер не может хранить вообще всю информацию об адресах сайтов и связанных с ними IP-адресами. Есть исключения — корневые DNS-серверы. При обращении к сайту компьютера пользователя браузер первым делом проверяет локальный файл настроек DNS, файл hosts. Если там нет нужного адреса, запрос направляется дальше — на локальный DNS-сервер интернет-провайдера пользователя.
Локальный DNS-сервер в большинстве случаев взаимодействует с другими DNS-серверами (список был указан выше), в котором находится запрошенный сайт. После нескольких обращений к таким серверам локальный DNS-сервер получает искомое и отправляет эти данные в браузер — запрошенный сайт открывается. Полученные данные сохраняются на локальном сервере интернет-провайдера, что значительно ускоряет его работу. Первый раз узнав IP-адрес сайта, запрошенного пользователем, локальный DNS сохраняет эту информацию. Процесс сохранения полученных ранее данных и называется кэшированием.
Если пользователь обратится к ранее запрошенному сайту еще раз, то сайт откроется быстрее, поскольку используется сохраненная информация. Правда, хранится кэш не вечно, время хранения зависит от настроек самого сервера.
IP-адрес сайта может измениться — например, при переезде на другой хостинг или сервер в рамках прежнего хостинга. Что происходит в этом случае? В этом случае обращения пользователей к сайту, чей IP-адрес поменялся, некоторое время обрабатываются по-старому, то есть перенаправление идет на прежний «айпишник». И лишь через определенное время (например, сутки) кэш локальных серверов обновляется, после чего обращение к сайту идет уже по новому IP-адресу.
Где находятся главные DNS-серверы
DNS-серверы верхнего уровня, которые содержат информацию о корневой DNS-зоне, называются корневыми. Этими серверами управляют разные операторы. Изначально корневые серверы находились в Северной Америке, но затем они появились и в других странах. Основных серверов — 13. Но, чтобы повысить устойчивость интернета в случае сбоев, были созданы запасные копии, реплики корневых серверов. Так, количество корневых серверов увеличилось с 13 до 123.
В Северной Америке находятся 40 серверов (32,5%), в Европе – 35 (28,5%), еще 6 серверов располагаются в Южной Америке (4,9%) и 3 – в Африке (2,4%). Если взглянуть на карту, то DNS-серверы расположены согласно интенсивности использования интернет-инфраструктуры. Есть сервера в Австралии, Китае, Бразилии, ОАЭ и других странах, включая Исландию.
В России тоже есть несколько реплик корневых серверов DNS, среди которых:
- F.root (Москва)
- I.root (Санкт-Петербург)
- J.root (Москва, Санкт-Петербург)
- K.root (Москва, Санкт-Петербург, Новосибирск)
- L.root (Москва, Ростов-на-Дону, Екатеринбург)