Новини високих технологій
» » Для чого потрібен DNS: поняття, призначення, принцип роботи та виконувані функції

Для чого потрібен DNS: поняття, призначення, принцип роботи та виконувані функції

25-10-2018, 11:56
678
Цілком природно, що рядові користувачі мало що знають про те, для чого потрібен DNS і які функції покладено на однойменну технологію і відповідні сервери. Зате навіть дитина, якщо запитати його про відвідування сайту в інтернеті, відразу ж скаже його назву або англомовну абревіатуру адреси ресурсу, навіть не знаючи про те, що вся ця інформація є суто умовною. Далі пропонується коротко розглянути деякі основоположні принципи роботи і використання DNS, що багатьом може стати в нагоді надалі, наприклад, для розуміння деяких рішень, що дозволяють усунути проблеми доступу до локальних мереж або навіть інтернету.

Навіщо потрібна технологія DNS?

Отже, почнемо з самого простого і спробуємо пояснити основне призначення самої технології і принципи її застосування на практиці, взявши за основу найпростіші приклади. Абсолютно всі користувачі знають, що для доступу до якогось інтернет-ресурсу (сайту) в адресному рядку браузера потрібно вписати спеціальний URL-адресу, який може складатися з набору букв, цифр і символів. Найчастіше застосовуються легко запам'ятовуються адреси, що представляють собою або повні назви, або скорочення від основних імен. Але мало хто здогадується, що комп'ютер являє собою всього лише машину і розпізнавати такі назви не вміє. Іншими словами, для перенаправлення вас на якийсь сайт він повинен отримати чіткий адресу, виражений виключно в числовому вигляді. Але ж людині запам'ятати величезну кількість таких комбінацій буде вельми проблематично.


Саме тому в свій час і була розроблена система доменних імен DNS (Domain Name System), що дозволяє перетворювати звичайні назви у цифрові адреси, а при встановленні зв'язку між клієнтським комп'ютером і сервером, на якому зберігається запитувана сторінка перенаправляти запити і відгуки не в хаотичному порядку, а тільки між конкретними комп'ютерами.

Загальні принципи роботи DNS

Тепер спробуємо розібратися, для чого потрібен DNS, використовуючи кілька найпростіших прикладів з життя. Скажімо, у вас є знайомий з ім'ям Петро Іванов, проживає в якомусь місті. Таких Іванових в цьому населеному пункті може бути дуже багато. І якщо вам потрібно доставити йому пошту, не будете ж ви шукати всіх людей з таким ім'ям, хаотично бігаючи по місту і перепитуючи перехожих? Але потрібний вам людина проживає за певною адресою, а значить, щоб знайти саме того, хто вам потрібен, ви й підете як раз до нього додому. Зрозуміло, що цьому разі пошту отримає саме той чоловік, кому вона адресована. Але навіщо потрібен DNS в застосуванні до комп'ютерів?


Аналогія тут очевидна: в ролі доменного імені виступає ім'я та прізвище адресата (для інтернету це URL-назва сайту), а поштова адреса дозволяє відразу знайти потрібну людину (для комп'ютерів це прив'язка до IP-адресою, який машина і перетворює доменне ім'я).

Потрібен DNS-сервер?

Начебто все виглядає досить просто. Однак на практиці це далеко не так. Основна проблема, якщо виходити з вищеописаного прикладу, полягає в тому, що адресу або телефон потрібну людину ви можете забути. Щоб цього не сталося, можна внести номер його телефону, наприклад, в список контактів на мобільному пристрої. Це потрібно хоча б для того, що в певний момент часу людина може перебувати не вдома. Але ви можете зателефонувати йому і уточнити час, коли можна доставити кореспонденцію за вказаною адресою. Для того щоб зателефонувати абонентові, ви знайдете в телефонній книзі потрібно вам людини на записане ім'я, а потім просто натиснете кнопку дзвінка, навіть не глянувши на присвоєний контакту номер.
Навіщо потрібен DNS-сервер, думається, вже стає зрозуміло, оскільки сам по собі він як раз і виконує роль своєрідної записної книжки, в якій зберігаються всі зареєстровані номери разом з іменами їх власників. Але це тільки саме просте порівняння.

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

Що ж стосується самих серверів, їх поділяють на два основних типи: первинні і вторинні. Для чого потрібен DNS-сервер першого типу? Він як раз і є головним сховищем всіх зареєстрованих доменних імен з присвоєними їм IP-адресами. У певному сенсі це якась загальна база даних. Другий тип серверів виконує не менш важливу роль – відповідає за кешування вихідних даних. Простіше кажучи, вторинний сервер один раз введіть ім'я та адреса постійно зберігає в кеші для прискорення доступу до запитуваного ресурсу в інтернеті, щоб не перебирати всі можливі комбінації з основної бази в пошуках точного збігу.

Кешування даних

Як вже зрозуміло, всі дані записуються для збереження саме в кеш DNS. Потрібно його чистити? Справді, начебто при збереженні імен і адрес для прискорення доступу до ресурсів в інтернеті видалення таких даних виглядає вкрай небажаним. Однак найчастіше переповнення кеша може призводити до появи деяких проблем, коли спостерігаються збої навіть з інтернет-підключенням.
Взагалі, велика кількість будь-яких тимчасових файлів негативно позначається на продуктивності операційної системи, а ось скидання DNS-кеша, скажімо, через командну консоль рядком ipconfig/flushdns дозволяє як би звільнити простір. Якщо знову привести в приклад телефонну книгу, в деякому сенсі така ситуація на кшталт того, що номери телефонів, адреси та будь-які інші дані в неї з-за переповнення записувати стане просто неможливо. Тому-то і доведеться видалити все зайве (наприклад, недійсні номери або ті відомості, якими ви вже дуже давно не користуєтеся).

Поняття доменних зон

Тепер необхідно розглянути ще одне поняття, що відноситься до доменних зон. Вище розглядалися приклади тільки для одного типу взаємодії, коли одному доменному імені відповідає тільки один IP-адресу. Але ж на практиці дуже часто можна зустріти ситуацію, коли одного і того ж імені основного ресурсу зіставлено кілька IP-адрес, що найчастіше пов'язано з використанням внутридоменных імен.
Тобто загальний ресурс може включати в себе і поштова, і FTP-сервер, і інші сервіси. Для присвоєння імен абсолютно всім додатковим елементам і було введено опис DNS-зони.

Проблеми використання протоколу IPv4

Навіщо потрібен DNS, трохи розібралися. Тепер спробуємо трохи акцентувати увагу на проблематиці використання протоколу IPv4. Незважаючи на величезне число можливих комбінацій, використовуються для присвоєння кожному терміналу або мобільному пристрою унікального IP, при нинішньому розвитку такої техніки та збільшення кількості її власників адрес на всіх стало просто не вистачати. Для усунення таких проблем в побут був уведений новий стандарт протоколу IP шостої версії, але, як стверджує офіційна статистика, до його повсюдного впровадження ще дуже далеко. Тому недивним є той факт, що на IP-адреси в якомусь сенсі почали економити, зв'язку з чим на просторах інтернету одного і того ж IP-адресу може бути зіставлено декілька доменів. Для чого потрібен DNS в такій ситуації?

Та хоча б для того, щоб забезпечити коректну зворотний зв'язок. Наприклад, на одному сервері може бути розміщено кілька невеликих сайтів з різними доменними іменами. Але сам сервер має одну адресу. DNS-сервер у цьому випадку аналізує запит ззовні і перенаправляє його з основного сервера саме на ту сторінку, яка була запитана. Відповідно, при відгук користувач бачить в браузері саме той ресурс, який йому був потрібен, а не якусь іншу сторінку.

Яка функція покладена на файл hosts?

Якщо описувати основи функціонування DNS в повній принаймні, не можна обійти стороною і вміст файлу hosts, який є своєрідним каменем спотикання всіх Windows-систем (і не тільки). Адже як відбувається доступ? При введенні адреси в браузері спочатку перевіряється, чи є запитаний ресурс в списку заборонених саме в цьому файлі. Якщо такий запис є, доступ блокується. Однак багато віруси використовують вміст цього файлу для установки перенаправлення на сумнівні ресурси. Іншими словами, рядок з IP-адресою переадресації назвою ресурсу, з якого потрібно виконати перенаправлення, наприклад, 123123123.123 yandex.ru при спробі доступу до сервісів «Яндекса» перекине вас на інший IP, який вказаний для редіректу перед основним іменем запитуваної сайту.
А взагалі, раніше такий файл міг містити кілька тисяч рядків і з адресами, і з іменами доменів, виконуючи роль того самого режим вмісту. З появою DNS необхідність опису кожного ресурсу відпала.
В якості локального хоста просто вказується шуканий комп'ютерний термінал (12700.1 localhost), все, що знаходиться нижче цього рядка, блокується, а інші ресурси за замовчуванням відкриті для встановлення зв'язку. Але якщо говорити відверто, багато фахівців називають файл hosts якимсь віджилим своє атавізмом, незважаючи на деякі до цих пір збереглися блокуючі і дозвільні функції.

Налаштування DNS в локальних мережах

Тепер кілька слів про те, навіщо потрібен DNS-сервер в локальній мережі (і чи потрібен взагалі), адже по ідеї такий є у провайдера і через нього він може здійснювати зв'язок між основною мережею, підмережами і окремими терміналами з інтернет-ресурсами. На думку більшості фахівців, незалежно від того, використовується чи вихід в інтернет, такий сервер мати необхідно. Для чого потрібен DNS в «локалці»? По-перше, його наявність значно спрощує адміністрування мережевих терміналів, адже їх може бути п'ять або десять, а з десятка два і більше. По-друге, з'являється можливість призначення кожного мережного комп'ютера окремого доменного імені (грубо кажучи, «Петя», «Вася», «Маша»). По-третє, IP-адреси можна призначати і вручну, і автоматично. По-четверте, якщо при виході в інтернет передбачені якісь обмеження на відвідування певних ресурсів (наприклад, тих же соціальних мереж), немає необхідності вносити їх до списків блокування файлу hosts на кожному терміналі, а можна прописати настройки виключно на одному сервері. Ще одне призначення DNS полягає в тому, що при використанні сервера провайдера може знижуватися швидкість доступу до інтернету, а от при установці окремого DNS для локальної мережі проблем із з'єднанням не буде.

Загальні параметри DNS для дротового і бездротового підключення

Для домашніх користувачів, які використовують дротове підключення на основі статичних адрес, в налаштуваннях протоколу IPv4 зазвичай вказується основний і альтернативний DNS-сервер провайдера.
Його ж налаштування присутні і при бездротовому з'єднанні, але локальній машині отримання адрес DNS і IP встановлено на автоматичне, а основні налаштування DNS прописуються тільки на маршрутизаторі. За великим рахунком для бездротових підключень така автоматизація є одним з головних умов для встановлення інтернет-з'єднання.

Проблеми доступу в інтернет і їх розв'язання за рахунок зміни DNS-серверів

Проте навіть повна автоматизація не виключає появи збоїв підключення. В цьому випадку дуже часто рекомендується змінювати саме параметри DNS, оскільки первинних серверів, на яких зберігаються бази даних всіх зареєстрованих IP-адрес, в світі існує величезна кількість. В якості альтернативи провайдерських серверів можна прописувати параметри тих же безкоштовних серверів від Google, які не тільки зберігають набагато більше інформації в базах даних, але і забезпечують значно більшу швидкодію. Для чого потрібен адресу DNS такого типу? Як вже зрозуміло, застосування таких комбінацій дозволяє не тільки відновити доступ в інтернет, але і істотно прискорити.
Просто заради інтересу можете спробувати самостійно прописати настройки, зазначені вище, і порівняти швидкість відкриття сторінок при використанні таких опцій з тим, що було до цього. Іноді різниця просто колосальна.
Цікаво по темі
Що таке APN: основні поняття та налаштування
Що таке APN: основні поняття та налаштування
Практично будь-яка людина, хоч раз використовувала мобільний телефон, зустрічався із ситуацією, коли йому потрібно отримати доступ до інтернету,
L2TP-з'єднання - що це таке? Як налаштувати L2TP-з'єднання
L2TP-з'єднання - що це таке? Як налаштувати L2TP-з'єднання
Сьогодні підключення до інтернету по локальній або віртуальної мережі на основі бездротових технологій стали дуже популярними і серед звичайних
DNS-сервер не відповідає: що робити в такій ситуації?
DNS-сервер не відповідає: що робити в такій ситуації?
Нечасто, звичайно, але іноді користувачі при спробі доступу до інтернет-сайтів стикаються з тим, що браузер, встановлений в системі, видає