Domain Name System DNS - это сетевая система, содержащая информацию о каждом web-сайте в Интернете. Каждый сайт имеет свой уникальный IP-адрес, имеющий вид 111.222.111.222, а также доменное имя, например merionet.ru. Человеку гораздо проще запомнить доменное имя сайта, нежели набор цифр входящих в IP-адрес. Для этих целей и была разработана система DNS. Подобно записной книжке, в ней хранится таблица соответствия доменного имени сайта и его IP-адреса.
В DNS используется иерархическая древовидная структура серверов и имен. Самый верхний уровень это “root”, представляющий из себя точку (.) и следующий за ним домен верхнего уровня (Top Level Domain). Эти домены бывают двух типов:
- Generic Top Level Domain (gTLD)
- Country Code Top Level Domain (ccTLD)
Например: .com (коммерческие web-сайты), .net(web-сайты сетевых структур), .org (вэб- сайты организаций), .edu (web-сайты образовательных структур)
Например: .ru (Россия), .us (США), .uk (Великобритания), .in (Индия)
Данные, которые сообщают веб-серверу, как ответить на ваш запрос называются DNS записи или Zone Files. Каждая запись содержит информацию о конкретном объекте. DNS-сервер использует записи, чтобы отвечать на запросы хостов из определенной доменной зоны. Например, запись address mapping (A) отвечает за связку host name и IP-адреса, а запись reverse-lookup pointer (PTR), за связку IP-адреса и host name. Стоит отметить, что в терминологии DNS очень много различных записей, мы же приведем основные:
- A Record - Содержит информацию об определенном доменном имени и соответствующем IP-адресе. DNS-сервер обращается к данной записи, чтобы ответить на запрос, содержащий доменное имя. Ответом будет IP-адрес, указанный в записи.
- PTR Record - Связывает IP-адрес с определенным доменным именем.
- NS (Name Server) Record - Связывает доменное имя со списком DNS-серверов, отвечающих за данный домен.
- MX (Mail Exchange) Record - Связывает доменное имя со списком серверов почтового обмена для данного домена. Например, при отправке письма на адрес example@merionet.ru, данное письмо будет перенаправлено на сервер, указанный в MX записи.
Типы запросов DNS
В терминологии DNS существует три типа запросов:
- Recursive – Такие запросы можно представить так: “Какой IP-адрес у a.merionet.ru?”
- Хост отправляет локальному DNS-серверу запрос “Какой IP-адрес у a.merionet.ru?”
- DNS-сервер проверяет наличие записи a.merionet.ru в локальных таблицах и не находит ее.
- DNS-сервер отправляет запрос IP-адреса a.merionet.ru к root-серверу
- Root-сервер отвечает, что надо обратиться к TLD серверу, отвечающий за домен .ru
- DNS-сервер, получив ответ от root-сервера, отправляет recursive запрос одному из ccTLD-серверов, отвечающих за домен .ru
- TLD-сервер отвечает, что нужно обратиться к серверу, отвечающему за домен merionet.ru
- DNS-сервер отправляет запрос IP-адреса a.merionet.ru к серверу, отвечающему за домен merionet.ru
- Сервер обращается к A Record и находит там соответствующий IP-адрес для a.merionet.ru
- Таким образом, хост получает запрашиваемую страницу по адресу a.merionet.ru
- Второй тип DNS-запросов – это Iterative запросы. Данные запросы передаются между DNS-серверами, когда один из них не имеет соответствующих записей. Таким образом, инициатор запроса будет контактировать с сервером, который имеет нужную запись
- Последний тип запросов – Inverse. Собственно из названия данного запроса понятно, что они работают по инверсному принципу, то есть при известном IP-адресе запрашивается информация о доменном имени.
При получении recursive запроса, DNS-сервер выполняет следующие действия: