Усі веб-ресурси інтернету існують у вигляді папок та файлів на фізичних пристроях – серверах. У кожного комп’ютера, який підключено до мережі, з’являється IP-адреса. З її допомогою можна встановити джерело завантаження сайту, що шукається.

Якщо проводити аналогію, то IP-адреса є записом, а DNS — телефонною книгою, де знаходиться цей запис.

DNS (domain name system) — система доменних імен, за допомогою якої можна отримати доступ до веб-сайтів, DNS забезпечує взаємозв’язок між назвою адреси та її цифровим записом.

Що таке DNS: розповідаємо простими словами

Користувачі вводять в адресний рядок браузера адресу цільового сайту, а система доменних імен перетворює його на цифрову адресу і віддає його комп’ютеру.

Структурно DNS це дерево. Доменні імена організовані тут за ієрархічним принципом. Верхній рівень відданий під кореневий домен, до якого тягнуть “гілки” домени першого рівня. До них, у свою чергу, приєднуються домени другого рівня, до них домени третього рівня.

Що таке DNS-сервер

Інструмент системи доменних імен – DNS-сервер. Він потрібен, щоб:

  • зберігати відповідності пар «доменне ім’я – IP-адреса»;
  • кешувати записи інших серверів DNS.

DNS-сервер – це спеціалізований комп’ютер, що зберігає безліч IP-адрес. Його важливе завдання — видача браузерам користувачів IP відповідного доменного імені, а також кешування DNS-запису доменів.

DNS-сервер місцевого інтернет-провайдера

Браузер звертається до локального DNS-сервера провайдера, щоб той надав йому потрібну IP-адресу з цільовим сайтом, що зберігається на ньому. Для цього в усі браузери вбудовано DNS-клієнт.

Майте на увазі, що крім серверів локального провайдера можна використовувати публічні DNS-сервера: його необхідно буде прописати в налаштуваннях свого мережного пристрою. Наприклад, це можуть бути публічні DNS Google.

Дізнатися DNS свого провайдера можна, якщо виконати на комп’ютері команду Ctrl-R, у вікні, що відкрилося, ввести «cmd» і в новому вікні команду ipconfig /all. Далі в записах, треба знайти налаштування свого мережевого пристрою.

DNS-сервер верхнього рівня

Ці сервери зберігають інформацію про DNS-зони і є кореневими. За допомогою їх можна отримати DNS-сервера для доменів 1-го рівня:

  • NET;
  • COM;
  • UА;
  • US;
  • SU тощо.

Ці сервери виникли у США, але за десятиліття вони прийшли до інших країн. На даний момент у мережі існує тринадцять DNS серверів:

тринадцять DNS-серверів

Ви теж помітили, що NASA має власний DNS-сервер верхнього рівня?

DNS-сервер, що зберігає запис доменного імені

Власники доменів у ручному режимі прописують DNS-сервера, які вони отримують у компанії-хостера.

Їх можна дізнатись через будь-який сервіс типу WHOIS. Просто вводимо адресу потрібного сайту та отримуємо результат.

Алгоритм пошуку IP-адреси домену

  1. Ви ввели в адресному рядку браузера адресу proseo.kiev.ua, щоб прочитати новинки статей з блогу. Ваш браузер насамперед піде шукати необхідний IP у файл hosts на вашому ПК/ноутбуці/мобільному пристрої. Швидше за все, потрібного IP там не виявиться і далі браузер надішле запит до локального DNS-сервера вашого провайдера інтернету (IP провайдера буде виявлений в налаштуваннях мережного підключення).
  2. На локальному DNS потрібний IP не зберігається, зате сервер перебуває у постійному обміні з іншими DNS-серверами. У період очікування браузером відповіді DNS-сервер провайдера запитує до кореневих DNS-серверів і запитує IP для proseo.kiev.ua. Сам по собі кореневий DNS-сервер також не зберігає шуканий IP, але в курсі всіх IP-адрес всіх DNS-серверів в доменній зоні COM.
  3. У результаті локальний DNS-сервер отримує IP одного з серверів і вже до нього надсилає запит. Той не в курсі IP-адреси для proseo.kiev.ua, зате знає всі IP, які використовує DNS-сервер сайту.
  4. Локальний DNS-сервер отримує IP такого сервера і надсилає йому запит. Цей DNS-сервер в курсі необхідного IP і дає його локальному.
  5. У результаті локальний DNS-сервер отримує потрібний IP і віддає його браузеру.
  6. Браузер отримує IP для proseo.kiev.ua, робить прямо запит до сервера із проханням віддати йому сайт.

Типи записів DNS-сервера

Одному домену (наприклад, ukr.net.) можуть відповідати не 1, а 2 і більше мережевих адрес: веб-сайт, поштовий сервер. До того ж, доменне ім’я може мати у своєму складі субдомени.

Як ми вже казали, DNS-сервер зберігає у собі всі відповідності доменів та їх IP-адрес. Його вміст – DNS-зона. Для коригування DNS потрібно додавати ресурсні записи – інформацію про відповідність імені та службової інформації у системі доменних імен.

Їх досить багато, ми наведемо основні:

Значення Назва ресурсного запису
A (Address) Адресний запис, що показує взаємозв’язок між конкретними ім’ям та IP-адресою
NS (Authoritative name server) Адреса вузла, який відповідає за доменну зону. Найважливіший параметр для коректної роботи DNS
CNAME Прив’язка веб-адрес до доменів (наприклад www.site.ua до домену site.ua)
SOA (Start of authority) Вказівник інформації про сервер з канонічною інформацією про доменне ім’я
MB (Mailbox) Поштова скринька
MX (Mail Exchanger) Адреса поштового сервера. Складається з числового пріоритету (чим воно вище, тим вищий пріоритет), та адреси вузла
PTR (Pointer) Позначення ресурсного запису DNS для зв’язування імені хоста з його канонічним ім’ям
TXT (Text string) Будь-які текстові дані про сервер з довжиною до 255 байт

За допомогою спеціалізованих серверів можна дізнатися про всі ресурсні записи домену.

Замість виведення: файл hosts

Навіть зараз із незліченною кількістю DNS-серверів ми не пішли назавжди від файлу hosts. Він є на кожному комп’ютері.

На десктопних пристроях під керуванням ОС Windows ви знайдете його за адресою C:\Windows\System32\drivers\etc. Звісно, якщо ваша ОС встановлена на диск С.

Як ми вже сказали, браузер для пошуку потрібного IP звертається спочатку до цього файлу і потім відправляє запити іншим DNS-серверам.

Тому вебмайстри використовують файл при розробках сайтів без доменів або тестування тестових версій на локальних серверах. У hosts в таких випадках містяться записи виду:

185.68.16.28 mydomain4test.ua # testing domain.

Якщо все коректно зроблено, браузер користувача відкриватиме mydomain4test.ua за IP 185.68.16.28, і при цьому інформація з DNS-серверів не матиме значення.

Додамо ложку дьогтю в бочку меду файлу “хостс” і відзначимо, що цей файл можна використовувати для заборони доступу до певних сайтів з ПК, а також для блокування доменів, з яких надходить запит на перевірку серійних номерів та ліцензійних ключів різного ПЗ.