DNS
DNS - Domain Name System, система доменных имен. Одна из основных задач DNS - это преобразование доменных имен в ip-адреса и обратно (на самом деле, есть и другие задачи). DNS - это глобальная распределенная база данных, в которой хранится сопоставление имен и адресов (и не только). DNS необходим как минимум для нашего удобства, так как запоминать доменные имена гораздо проще, чем ip-адреса.
TLD - top layer domain. Изначально все TLD имели привязку к странам, где они находятся, то есть каждая страна имела свой country code TLD (ccTLD). Однако в 2014 году любая компания могла подать заявку для регистрации домена верхнего уровня, что привело к появлению множества новых доменов.
DNS - это иерархическая система, представляющая собой перевернутое дерево, вершина которого - точка, и за различные части этой структуры несут ответственность разные люди или организации. Например, за имена в зоне .ru несет ответственность владелец этой зоны, а вот за имена в зоне - unitech-mo.ru - владелец зоны unitech-mo.ru, то есть уже Технологический университет.
Рассмотрим процесс работы DNS - в браузере пишем yandex.ru и далее браузер должен понять, по какому адресу располагается этот ресурс:
- сначала проверяется кеш DNS, если вы уже заходили на ресурс yandex.ru, то ваш браузер знает, где он располагается;
- если в кеше нет информации о ресурсе yandex.ru, то далее браузер обращается к файлу hosts (в Windows -
C:\Windows\System32\drivers\etc\hosts
, в Linux -/etc/hosts
); - так как в файле hosts скорее всего нет информации о ресурсе yandex.ru, то запрос отправляется к DNS серверу, указанному в настройках сети. Ну а далее возможны варианты, если этот DNS знает о ресурсе yandex.ru, то он отдаст его адрес, если нет, то передаст запрос вышестоящему DNS серверу.
Некоторые типы записей DNS:
- SoA (Start of Authority) - основная запись зоны, в которой содержится базовая информация об этой зоне - serial (серийный номер зоны, должен изменяться в большую сторону при изменениях настройки зоны), refresh (время обновления серийного номера для секондари сервера), minimum (как долго хранится информация в кеше) и т.д.
- NS (Name Server) - список авторитетных серверов
- A/AAAA - соответствие доменного имени и адреса ip_v4/ip_v6
- CNAME (canonical name) - каноническое имя или псевдоним, используется для перенаправления
- PTR (pointer) - обратная запись, преобразует адрес в доменное имя.