Систе́ма доме́нних іме́н (англ. Domain Name System, DNS) — ієрархічна розподілена система перетворення імені хоста (комп'ютера або іншого мережевого пристрою) в IP-адресу.
Кожен комп'ютер в Інтернеті має свою власну унікальну адресу — число, яке складається з чотирьох (у протоколі IPv4) або шістнадцяти (у протоколі IPv6) байтів. Оскільки запам'ятати десятки чи навіть сотні номерів — важка процедура, то всі (чи майже всі) машини мають імена, запам'ятати які (особливо якщо знати правила утворення імен) значно легше.
Уся система імен в Інтернеті — ієрархічна. Це зроблено для того, щоб не підтримувати одне централізоване джерело, а роздати владу на місця.
Правила формування імен
Повноцінне доменне ім'я (англ. [en]) машини можна розбити на дві частини — ім'я області-домену та власне ім'я машини. Наприклад, m30.ziet.zhitomir.ua — повне доменне ім'я машини m30, яка перебуває у домені ziet.zhitomir.ua.
За порядок у доменах, як правило, відповідає певний комп'ютер, користувачі-адміністратори якого слідкують за тим, щоб не було, наприклад, різних машин з однаковими ІР-адресами. Наприклад, відповідальність за область-домен ziet.zhitomir.ua покладається на машину alpha.ziet.zhitomir.ua Ця влада делегується зверху вниз від машини ns.lucky.net, яка відповідає за домен zhitomir.ua. В свою чергу, відповідальність за область ua делегована машині зверху від так званих кореневих серверів (root server).
Всю цю систему можна уявити у вигляді перевернутого дерева. Список імен доменів верхнього рівня на сайті IANA. Повний список географічних областей, в основному, відповідає двобуквеним ISO-кодам країн і його можна знайти, наприклад, на WWW-сервері ISOC (http://www.isoc.org).
Необхідно розрізняти доменне ім'я, та поштову адресу. В поштовій адресі повинен бути знак «@», який в економіці має назву «комерційне at», а в електронній пошті — «равлик». Цей знак у поштовій адресі відокремлює ім'я поштової скриньки від доменного імені. Знак «@» вперше у 1971 році використав Рей Томлінсон, щоб відокремити імена користувача і комп'ютера, коли він відправив повідомлення з одного ДЕК-10 (Digital Equipment Corporation) комп'ютера на інший ДЕК-10. Обидва комп'ютери були розміщені поруч один з одним.
Коли мережа Інтернет була молода та невелика, таблиці відповідності імен та адрес зберігалися у звичайному текстовому файлі, який періодично просто розсилався всім учасникам електронною поштою. Після того, які кількість машин значно збільшилася, така схема перестала ефективно працювати і програмісти університету штату Каліфорнія в Берклі спроектували і написали програму BIND (Berkeley Internet Name Domain), яка відповідає на запити машин користувачів, які стосувалися імен та ІР-адресу.
Служба імен DNS (Domain Name System) — це розподілена база даних доволі простої структури. Для початкового знайомства можна вважати, що це кілька таблиць, у яких записано:
- яку ІР-адресу має машина з певним іменем;
- яке ім'я має машина з визначеною адресою;
- що це за комп'ютер і яка операційна система встановлена на ньому;
- куди потрібно направляти електронну пошту для користувачів цієї машини;
- які псевдоніми є у даної машини.
Для прикладу розглянемо випадок, коли користувач посилає пошту з машини polesye.zhitomir.ua користувачу за адресою rozhik@ziet.zhitomir.ua. При встановленні на машину протоколів (TCP/IP) системний адміністратор вказує ІР-адресу комп'ютера — найближчого серверу імен. Поштова програма подає цьому найближчому серверу запит: «Куди посилати пошту для ziet.zhitomir.ua» Якщо найближчий сервер не може відповісти, то він, в свою чергу, посилає запит до більш «старшого» серверу. Нарешті, стає зрозумілим, що всю пошту для області ziet.zhitomir.ua необхідно відправляти на машину alpha.ziet.zhitomir.ua або relay2.lucky.net. Разом з цим відповіді містять ще адресу цієї машини. Поштова програма зв'язується з цим комп'ютером (використовуючи не ім'я, а адресу) та передає йому пошту. Всі ці переговори та відправка пошти, як правило, відбувається протягом кількох секунд і користувач не помічає цього. Якщо машина ziet.zhitomir.ua недоступна то тоді пошта на час, в якій неможливо зв'язатися з машиною ziet.zhitomir.ua (наприклад під час профілактики каналу зв'язку) чекає своєї черги на пересилку на машині relay2.lucky.net.
Це характерна для Internet-програм поведінка. Як правило, поштові програми подають доволі багато запитів службі DNS, і ці питання доволі складні. У більшості випадків у програмах користувачів намагаються дізнатися лише одне — яка ІР-адреса у машини з відповідним іменем. Зрозуміло, що всередині цієї системи імен існує маса нюансів, правил та хитрощів. Докладніше з ними можна ознайомитися в описах стандартів Internet або в спеціальних книгах.
Компанія «Хостмайстер» спільно з ICANN в Україні ввела у дію локальний кореневий сервер DNS, що містить інформацію про домени верхнього рівня. Сервер є «дзеркалом» одного з 13-кореневих серверів ICANN, відомого під назвою «L-root».
Ієрархічна структура системи DNS
Як вже було відмічено, існує домен кореневого рівня, який позначається крапкою .
. Наступний рівень ієрархії — це домени верхнього рівня. Вся структура служби DNS є ієрархічною. Існують домени першого, другого, третього, n-го рівнів.
Розглянемо доменне ім'я комп'ютера department.firma.isp.ua
. Тут доменом першого рівня є ua
, другого — isp
, третього — firma
, і четвертого — department
.
Типи серверів DNS
Існує три основні типи серверів DNS, які відрізняються покладеними на них завданнями:
- основний сервер DNS;
- резервний (вторинний) сервер DNS;
- кешуючий сервер DNS.
Основний сервер DNS керує зоною повноважень. Якщо потрібно додати/видалити домен або вузол або якось інакше модифікувати зону, зміни потрібно проводити на основному сервері DNS. Через певний час, який залежить від налаштувань сервера, основний сервер передасть зону резервному серверу DNS. Дане явище називається трансфером зони.
Що ж до резервних серверів, то повинен бути хоч би один резервний сервер DNS. Тому є декілька причин: якщо клієнтів багато, то наявність резервного сервера DNS дозволить знизити навантаження на основний сервер DNS і прискорити доступ фізично віддалених від основного сервера клієнтів до бази даних доменних імен.
Характеристики DNS
DNS володіє такими характеристиками:
- Розподільність адміністрування. Відповідальність за різні частини ієрархічної структури несуть різні люди або організації.
- Розподільність зберігання інформації. Кожен вузол мережі в обов'язковому порядку повинен зберігати тільки ті дані, які входять в його зону відповідальності та (можливо) адреси кореневих DNS-серверів.
- Кешування інформації. Вузол може зберігати деяку кількість даних не зі своєї зони відповідальності, для зменшення навантаження на мережу.
- Ієрархічна структура, в якій всі вузли об'єднані в дерево, і кожен вузол може або самостійно визначає роботу нижчестоящих вузлів, або делегувати (передавати) їх іншим вузлам.
- Резервування. За зберігання та обслуговування своїх вузлів (зон) відповідають (зазвичай) кілька серверів, розділені як фізично, так і логічно, що забезпечує збереження даних і продовження роботи навіть у разі збою одного з вузлів.
DNS важлива для роботи Інтернету, так як для з'єднання з вузлом необхідна інформація про його IP-адресу, а для людей простіше запам'ятовувати буквені (зазвичай осмислені) адреси, ніж послідовність цифр IP-адреси. У деяких випадках це дозволяє використовувати віртуальні сервери, наприклад, HTTP-сервери, розрізняючи їх по імені запиту. Спочатку перетворення між доменними та IP-адресами вироблялося з використанням спеціального текстового файлу hosts, який складався централізовано й автоматично розсилався на кожну з машин у своїй локальній мережі. З ростом Мережі виникла необхідність в ефективному, автоматизованому механізмі, яким і стала DNS.
DNS була розроблена Полом Мокапетрісом в 1983 році; оригінальний опис механізмів роботи містяться в RFC 882 і RFC 883. У 1987 публікація RFC 1034 і RFC 1035 змінила специфікацію DNS і скасувала RFC 882, RFC 883 і RFC 973 як застарілі.
Термінологія і принципи роботи
Ключовими поняттями DNS є:
- Домен (англ. domain — область) — частина простору ієрархічних імен мережі Інтернет, що обслуговується групою серверів доменних імен (DNS-серверів) та централізовано адмініструється. DNS-сервери зберігають інформацію про вузли, імена яких належать домену і виконують трансляцію їхніх імен в адреси. Кожний домен має унікальне ім'я, а кожен комп'ютер, підключений до Інтернету, має, як правило, доменне ім'я. Домени мають між собою ієрархічні стосунки. Два домени, що розташовані на сусідніх рівнях ієрархії, називаються відповідно доменом вищого та нижчого рівнів. Домени найвищого (верхнього) рівня можуть бути сформовані за організаційним або географічним ознаками. Домени, сформовані за географічним ознаками, об'єднують вузли, що належать конкретній державі. За географічними ознаками об'єднуються в основному комп'ютери, що містяться на території США.
- Піддомен (англ. subdomain) — підлеглий домен (наприклад, wikipedia.org — піддомен домену org, а uk.wikipedia.org — домену wikipedia.org). Теоретично такий розподіл може досягати глибини в 127 рівнів, а кожна мітка може містити до 63 символів, поки загальна довжина разом з крапками не досягне 254 символів. Але на практиці реєстратори доменних імен використовують більш суворі обмеження. Наприклад, якщо у вас є домен виду mydomain.ua, ви можете створити для нього різні піддомени виду mysite1.mydomain.ua, mysite2.mydomain.ua і т. д.
- Ресурсний запис — одиниця зберігання і передачі інформації в DNS. Кожний ресурсний запис має ім'я (тобто прив'язаний до певного доменного імені, вузлу в дереві імен), тип і поле даних, формат і зміст якого залежить від типу.
- Зона — частина дерева доменних імен (включаючи ресурсні записи), що розміщується як єдине ціле на деякому сервері доменних імен (DNS-сервері, див. нижче), а частіше — одночасно на декількох серверах (див. нижче). Метою виділення частини дерева в окрему зону є передача відповідальності (див. нижче) за відповідний домен іншій особі або організації. Це називається делегуванням (див. нижче). Як зв'язкова частина дерева, зона всередині теж являє собою дерево. Якщо розглядати простір імен DNS як структуру із зон, а не окремих вузлів/імен, теж виходить дерево; виправдано говорити про батьківських і дочірніх зонах, про старших і підлеглих. На практиці, більшість зон 0-го і 1-го рівня ('.', ua, com, …) складаються з єдиного вузла, якому безпосередньо підпорядковуються дочірні зони. У великих корпоративних доменах (2-го і більше рівнів) іноді зустрічається утворення додаткових підпорядкованих рівнів без виділення їх у дочірні зони.
- Делегування — операція передачі відповідальності за частину дерева доменних імен іншій особі або організації. За рахунок делегування в DNS забезпечується розподільність, адміністрування та зберігання. Технічно делегування виражається у виділенні цієї частини дерева в окрему зону, і розміщенні цієї зони на DNS-сервері (див. нижче), керованому цією особою чи організацією. При цьому в батьківську зону включаються «склеюючі» ресурсні записи (NS і А), що містять покажчики на DNS-сервери дочірньої зони, а вся інша інформація, що належить до дочірньої зони, зберігається вже на DNS-серверах дочірньої зони.
- DNS-сервер — програма, призначена для відповідей на DNS-запити за відповідним протоколом. Також DNS-сервером можуть називати хост, на якому запущено відповідну програму.
- DNS-клієнт (від англ. Domain Name System-client — доменних імен система — клієнт) — програма або модуль в програмі, що забезпечує з'єднання із DNS-сервером для визначення IP-адреси по його доменному імені.
- Авторитетність (англ. authoritative) — ознака розміщення зони на DNS-сервері. Відповіді DNS-сервера можуть бути двох типів: авторитетні (коли сервер заявляє, що сам відповідає за зону) і неавторитетні (англ. Non-authoritative), коли сервер обробляє запит, і повертає відповідь інших серверів. У деяких випадках замість передачі запиту далі DNS-сервер може повернути вже відоме йому (за запитами раніше) значення (режим кешування).
- DNS-запит (англ. DNS query) — запит від клієнта (або сервера) до сервера. Запит може бути рекурсивним або нерекурсивний (див. Рекурсія).
Система DNS містить ієрархію DNS-серверів, відповідну ієрархії зон. Кожна зона підтримується як мінімум одним авторитетним сервером DNS (від англ. Authoritative — авторитетний), на якому розташована інформація про домен.
Ім'я та IP-адреса не тотожні — одна IP-адреса може мати безліч імен, що дозволяє підтримувати на одному комп'ютері безліч вебсайтів (це називається віртуальний хостинг). Зворотне теж справедливо — одному імені може бути зіставлено безліч IP-адрес: це дозволяє створювати балансування навантаження. Для підвищення стійкості системи використовується безліч серверів, що містять ідентичну інформацію, а в протоколі є засоби, що дозволяють підтримувати синхронність інформації, розташованої на різних серверах. Існує 13 кореневих серверів, їх адреси практично не змінюються.
Протокол DNS використовує для роботи TCP-або UDP-порт 53 для відповідей на запити. Традиційно запити та відповіді відправляються у вигляді однієї UDP дейтаграми. TCP використовується для AXFR-запитів.
Принцип роботи
Система імен DNS — це ієрархічна деревоподібна система. У цьому дереві існує корінь — він позначається «.» (root). Список кореневих серверів повинен бути у кожного сервера: він міститься у файлі named.са.
Цей файл може називається і по-іншому — залежно від налаштувань сервера. Існує певна кількість доменів верхнього рівня. Найбільш відомі: com, gov, net, org і домени країн — ua, de, fr та ін.
Нехай користувач вводить у вікні браузера адресу http://server
. Проте адресація в локальній мережі (так само як і в Інтернет) побудована на основі IP-протоколу. Тому для того, щоб встановити з'єднання з комп'ютером server комп'ютеру користувача необхідно знати його IP-адресу, тому операційна система користувача намагається перекодувати ім'я комп'ютера в IP-адресу. З цією метою вона спочатку використовує свої стандартні засоби (той же файл hosts), а потім звертається до служби DNS. Розглянемо тепер інтернет-адресу www.yahoo.com (насправді абсолютно неважливо це інтернет-адреса або адреса в локальній мережі — все те ж саме). Сервер DNS спочатку намагається вирішити ім'я даного комп'ютера, використовуючи свій власний кеш імен. Якщо необхідне ім'я комп'ютера в ньому відсутнє, то сервер DNS звертається до одного з кореневих серверів DNS.
Запит обробляється рекурсивно: кореневий сервер звертається до сервера, який відповідає за домен com, а той, у свою чергу, до сервера DNS домену yahoo.com. Сервер DNS домену yahoo.com повертає IP-адресу комп'ютера www — 64.58.76.222 або всі адреси, які зіставлені цьому імені (багато мережевих операційних систем, у тому числі і Linux, дозволяють одному імені зіставляти декілька IP-адрес). А офіційне ім'я комп'ютера www.yahoo.com (це його канонічне ім'я — про канонічні імена і як їх використовувати буде сказано нижче) — www.yahoo.akadns.net
.
Схеми запитів DNS-імен
Нерекурсивна процедура:
- DNS-клієнт звертається до кореневого DNS-сервера з вказівкою повного доменного імені;
- DNS-сервер відповідає клієнту, вказуючи адресу наступного DNS-сервера, який виконує обслуговування домену верхнього рівня, заданого в наступній старшій частині імені;
- DNS-клієнт виконує запит наступного DNS-сервера, який його надсилає до DNS-сервера потрібного піддомену і т. д., доти, доки не буде знайдено DNS-сервер, який повністю відповідає запитуваному імені IP-адреси. Сервер дає кінцеву відповідь клієнту.
Рекурсивна процедура:
- DNS-клієнт запитує локальний DNS-сервер, який обслуговує піддомен, якому належить клієнт;
- Далі, якщо локальний DNS-сервер відповідь знає, то повертає її клієнту, в протилежному випадку виконує ітеративні запити до кореневого сервера до тих пір, поки не отримає відповідь.
Після отримання відповіді сервер передає її клієнту. Таким чином, при рекурсивній процедурі клієнт фактично передоручає роботу власному серверу. Для прискорення пошуку IP-адрес DNS-сервери часто застосовують кешування (на час від годин до декількох днів) відповідей, які проходять через них.
Записи DNS
Записи DNS, або Ресурсні записи (англ. Resource Records, RR) — одиниці зберігання і передачі інформації в DNS. Кожний ресурсний запис складається з таких полів:
- ім'я (NAME) — доменне ім'я, до якого прив'язана або яким «належить» даний ресурсний запис;
- TTL (Time To Live) — допустимий час зберігання даного ресурсного запису в кеші не відповідального DNS-сервера (вимірюється в секундах);
- тип (TYPE) ресурсного запису — визначає формат і призначення даного ресурсного запису;
- клас (CLASS) ресурсного запису; теоретично вважається, що DNS може використовуватися не тільки з TCP / IP, але і з іншими типами мереж, код в поле клас визначає тип мережі;
- довжина поля даних (RDLEN);
- поле даних (RDATA), формат та зміст якого залежить від типу запису.
Найбільш важливі типи DNS-записів:
- Запис A (address record) або запис адреси зв'язує ім'я хоста з адресою IP. Наприклад, запит A-запису на ім'я referrals.icann.org поверне його IP адресу — 192.0.34.164
- Запис AAAA (IPv6 address record) зв'язує ім'я хоста з адресою протоколу IPv6. Наприклад, запит AAAA-запису на ім'я K.ROOT-SERVERS.NET поверне його IPv6 адресу — 2001:7 fd :: 1
- Запис CNAME (canonical name record) або канонічний запис імені (псевдонім) використовується для перенаправлення на інше ім'я
- MX-запис (mail exchange) або поштовий обмінник вказує сервер(и) обміну поштою для даного домену.
- Запис NS (name server) вказує на DNS-сервер для даного домену.
- Запис PTR (pointer) або запис покажчика зв'язує IP хоста з його канонічним ім'ям. Запит в домені in-addr.arpa на IP хоста в reverse формі поверне ім'я (FQDN) даного хоста (див. Зворотний запит DNS). Наприклад, (на момент написання), для IP адреси 192.0.34.164: запит запису PTR 164.34.0.192.in-addr.arpa поверне його канонічне ім'я referrals.icann.org. З метою зменшення обсягу небажаної кореспонденції (спаму) багато серверів-одержувачів електронної пошти можуть перевіряти наявність PTR запису для хоста, з якого відбувається відправлення. У цьому випадку PTR запис для IP адреси повинна відповідати імені відправляючого поштового сервера, яким він представляється в процесі SMTP-сесії.
- Запис SOA (Start of Authority) або початковий запис зони вказує, на якому сервері зберігається еталонна інформація про даний домен, містить контактну інформацію особи, відповідальної за дану зону, таймінги (параметри часу) кешування зонної інформації та взаємодію DNS-серверів.
- SRV-запис (server selection) вказує на сервери для сервісів, використовується зокрема для Jabber і Active Directory.
Зарезервовані доменні імена
Документ RFC 2606 (Reserved Top Level DNS Names — Зарезервовані імена доменів верхнього рівня) визначає назви доменів, які слід використовувати як приклади (наприклад, в документації), а також для тестування. Крім example.com, example.org і example.net, в цю групу також входять test, invalid і ін.
Інтернаціональні доменні імена
Доменне ім'я може складатися тільки з обмеженого набору ASCII символів, дозволяючи набрати адресу домену незалежно від мови користувача. ICANN затвердив засновану на Punycode систему IDNA, перетворюючи будь-який рядок в кодуванні Unicode в допустимий DNS набір символів.
Безпека
Підміна відповідей
Протокол DNS не містить вбудованих засобів, які дозволяють відрізнити відповідь від легітимного сервера від відповіді, надісланої зловмисником. Це дозволяє зловмиснику шляхом підробки відповідей DNS перенаправляти трафік на контрольовані хости. Цей недолік виправляється за допомогою DNSSEC.
Використання у DDos-атаках
Розмір DNS-запита може бути відносно невеликим (60-70 байтів), тоді як розмір відповідей при неправильній конфігурації сервера може досягати 1000—2000 байт. Зловмисник може підробити IP-адресу відправника у DNS-запиті, замінивши її на IP-адресу хоста, що атакується (хост-жертва). Відповідь на такий підроблений DNS-запит надійде не зловмиснику, а до хоста-жертви. Таким чином, витративши відносно невеликі ресурси, зловмисник може організувати потужну DDoS-атаку. Така техніка називається .
Отруєння кешу
DNS cache poisoning (отруєння кешу DNS) — пошкодження цілісності даних у системі DNS шляхом заповнення кешу DNS-сервера даними, що не походять від авторитетного DNS-джерела.
DNS hijacking
Див. також
Примітки
- Амплификация DDoS-атак (російською) .
Посилання
- (англ.)
- Ресурси, присвячені DNS & BIND (англ.)
- Спільнота CircleID DNS (англ.)
- Підвищення безпеки DNS (DNSSEC) (англ.)
- (англ.)
- Сайт корневых DNS-серверов (англ.)
- Вебінструменти для DNS (англ.)
- How DNS Works - відеопояснення того, як працює DNS на каналі «Computerphile» (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Siste ma dome nnih ime n angl Domain Name System DNS iyerarhichna rozpodilena sistema peretvorennya imeni hosta komp yutera abo inshogo merezhevogo pristroyu v IP adresu Kozhen komp yuter v Interneti maye svoyu vlasnu unikalnu adresu chislo yake skladayetsya z chotiroh u protokoli IPv4 abo shistnadcyati u protokoli IPv6 bajtiv Oskilki zapam yatati desyatki chi navit sotni nomeriv vazhka procedura to vsi chi majzhe vsi mashini mayut imena zapam yatati yaki osoblivo yaksho znati pravila utvorennya imen znachno legshe Usya sistema imen v Interneti iyerarhichna Ce zrobleno dlya togo shob ne pidtrimuvati odne centralizovane dzherelo a rozdati vladu na miscya Pravila formuvannya imenPovnocinne domenne im ya angl en mashini mozhna rozbiti na dvi chastini im ya oblasti domenu ta vlasne im ya mashini Napriklad m30 ziet zhitomir ua povne domenne im ya mashini m30 yaka perebuvaye u domeni ziet zhitomir ua Za poryadok u domenah yak pravilo vidpovidaye pevnij komp yuter koristuvachi administratori yakogo slidkuyut za tim shob ne bulo napriklad riznih mashin z odnakovimi IR adresami Napriklad vidpovidalnist za oblast domen ziet zhitomir ua pokladayetsya na mashinu alpha ziet zhitomir ua Cya vlada deleguyetsya zverhu vniz vid mashini ns lucky net yaka vidpovidaye za domen zhitomir ua V svoyu chergu vidpovidalnist za oblast ua delegovana mashini zverhu vid tak zvanih korenevih serveriv root server Vsyu cyu sistemu mozhna uyaviti u viglyadi perevernutogo dereva Spisok imen domeniv verhnogo rivnya na sajti IANA Povnij spisok geografichnih oblastej v osnovnomu vidpovidaye dvobukvenim ISO kodam krayin i jogo mozhna znajti napriklad na WWW serveri ISOC http www isoc org Neobhidno rozriznyati domenne im ya ta poshtovu adresu V poshtovij adresi povinen buti znak yakij v ekonomici maye nazvu komercijne at a v elektronnij poshti ravlik Cej znak u poshtovij adresi vidokremlyuye im ya poshtovoyi skrinki vid domennogo imeni Znak vpershe u 1971 roci vikoristav Rej Tomlinson shob vidokremiti imena koristuvacha i komp yutera koli vin vidpraviv povidomlennya z odnogo DEK 10 Digital Equipment Corporation komp yutera na inshij DEK 10 Obidva komp yuteri buli rozmisheni poruch odin z odnim Koli merezha Internet bula moloda ta nevelika tablici vidpovidnosti imen ta adres zberigalisya u zvichajnomu tekstovomu fajli yakij periodichno prosto rozsilavsya vsim uchasnikam elektronnoyu poshtoyu Pislya togo yaki kilkist mashin znachno zbilshilasya taka shema perestala efektivno pracyuvati i programisti universitetu shtatu Kaliforniya v Berkli sproektuvali i napisali programu BIND Berkeley Internet Name Domain yaka vidpovidaye na zapiti mashin koristuvachiv yaki stosuvalisya imen ta IR adresu Sluzhba imen DNS Domain Name System ce rozpodilena baza danih dovoli prostoyi strukturi Dlya pochatkovogo znajomstva mozhna vvazhati sho ce kilka tablic u yakih zapisano yaku IR adresu maye mashina z pevnim imenem yake im ya maye mashina z viznachenoyu adresoyu sho ce za komp yuter i yaka operacijna sistema vstanovlena na nomu kudi potribno napravlyati elektronnu poshtu dlya koristuvachiv ciyeyi mashini yaki psevdonimi ye u danoyi mashini Dlya prikladu rozglyanemo vipadok koli koristuvach posilaye poshtu z mashini polesye zhitomir ua koristuvachu za adresoyu rozhik ziet zhitomir ua Pri vstanovlenni na mashinu protokoliv TCP IP sistemnij administrator vkazuye IR adresu komp yutera najblizhchogo serveru imen Poshtova programa podaye comu najblizhchomu serveru zapit Kudi posilati poshtu dlya ziet zhitomir ua Yaksho najblizhchij server ne mozhe vidpovisti to vin v svoyu chergu posilaye zapit do bilsh starshogo serveru Nareshti staye zrozumilim sho vsyu poshtu dlya oblasti ziet zhitomir ua neobhidno vidpravlyati na mashinu alpha ziet zhitomir ua abo relay2 lucky net Razom z cim vidpovidi mistyat she adresu ciyeyi mashini Poshtova programa zv yazuyetsya z cim komp yuterom vikoristovuyuchi ne im ya a adresu ta peredaye jomu poshtu Vsi ci peregovori ta vidpravka poshti yak pravilo vidbuvayetsya protyagom kilkoh sekund i koristuvach ne pomichaye cogo Yaksho mashina ziet zhitomir ua nedostupna to todi poshta na chas v yakij nemozhlivo zv yazatisya z mashinoyu ziet zhitomir ua napriklad pid chas profilaktiki kanalu zv yazku chekaye svoyeyi chergi na peresilku na mashini relay2 lucky net Ce harakterna dlya Internet program povedinka Yak pravilo poshtovi programi podayut dovoli bagato zapitiv sluzhbi DNS i ci pitannya dovoli skladni U bilshosti vipadkiv u programah koristuvachiv namagayutsya diznatisya lishe odne yaka IR adresa u mashini z vidpovidnim imenem Zrozumilo sho vseredini ciyeyi sistemi imen isnuye masa nyuansiv pravil ta hitroshiv Dokladnishe z nimi mozhna oznajomitisya v opisah standartiv Internet abo v specialnih knigah Kompaniya Hostmajster spilno z ICANN v Ukrayini vvela u diyu lokalnij korenevij server DNS sho mistit informaciyu pro domeni verhnogo rivnya Server ye dzerkalom odnogo z 13 korenevih serveriv ICANN vidomogo pid nazvoyu L root Iyerarhichna struktura sistemi DNSYak vzhe bulo vidmicheno isnuye domen korenevogo rivnya yakij poznachayetsya krapkoyu Nastupnij riven iyerarhiyi ce domeni verhnogo rivnya Vsya struktura sluzhbi DNS ye iyerarhichnoyu Isnuyut domeni pershogo drugogo tretogo n go rivniv Rozglyanemo domenne im ya komp yutera department firma isp ua Tut domenom pershogo rivnya ye ua drugogo isp tretogo firma i chetvertogo department Tipi serveriv DNSIsnuye tri osnovni tipi serveriv DNS yaki vidriznyayutsya pokladenimi na nih zavdannyami osnovnij server DNS rezervnij vtorinnij server DNS keshuyuchij server DNS Osnovnij server DNS keruye zonoyu povnovazhen Yaksho potribno dodati vidaliti domen abo vuzol abo yakos inakshe modifikuvati zonu zmini potribno provoditi na osnovnomu serveri DNS Cherez pevnij chas yakij zalezhit vid nalashtuvan servera osnovnij server peredast zonu rezervnomu serveru DNS Dane yavishe nazivayetsya transferom zoni Sho zh do rezervnih serveriv to povinen buti hoch bi odin rezervnij server DNS Tomu ye dekilka prichin yaksho kliyentiv bagato to nayavnist rezervnogo servera DNS dozvolit zniziti navantazhennya na osnovnij server DNS i priskoriti dostup fizichno viddalenih vid osnovnogo servera kliyentiv do bazi danih domennih imen Harakteristiki DNSDNS volodiye takimi harakteristikami Rozpodilnist administruvannya Vidpovidalnist za rizni chastini iyerarhichnoyi strukturi nesut rizni lyudi abo organizaciyi Rozpodilnist zberigannya informaciyi Kozhen vuzol merezhi v obov yazkovomu poryadku povinen zberigati tilki ti dani yaki vhodyat v jogo zonu vidpovidalnosti ta mozhlivo adresi korenevih DNS serveriv Keshuvannya informaciyi Vuzol mozhe zberigati deyaku kilkist danih ne zi svoyeyi zoni vidpovidalnosti dlya zmenshennya navantazhennya na merezhu Iyerarhichna struktura v yakij vsi vuzli ob yednani v derevo i kozhen vuzol mozhe abo samostijno viznachaye robotu nizhchestoyashih vuzliv abo deleguvati peredavati yih inshim vuzlam Rezervuvannya Za zberigannya ta obslugovuvannya svoyih vuzliv zon vidpovidayut zazvichaj kilka serveriv rozdileni yak fizichno tak i logichno sho zabezpechuye zberezhennya danih i prodovzhennya roboti navit u razi zboyu odnogo z vuzliv DNS vazhliva dlya roboti Internetu tak yak dlya z yednannya z vuzlom neobhidna informaciya pro jogo IP adresu a dlya lyudej prostishe zapam yatovuvati bukveni zazvichaj osmisleni adresi nizh poslidovnist cifr IP adresi U deyakih vipadkah ce dozvolyaye vikoristovuvati virtualni serveri napriklad HTTP serveri rozriznyayuchi yih po imeni zapitu Spochatku peretvorennya mizh domennimi ta IP adresami viroblyalosya z vikoristannyam specialnogo tekstovogo fajlu hosts yakij skladavsya centralizovano j avtomatichno rozsilavsya na kozhnu z mashin u svoyij lokalnij merezhi Z rostom Merezhi vinikla neobhidnist v efektivnomu avtomatizovanomu mehanizmi yakim i stala DNS DNS bula rozroblena Polom Mokapetrisom v 1983 roci originalnij opis mehanizmiv roboti mistyatsya v RFC 882 i RFC 883 U 1987 publikaciya RFC 1034 i RFC 1035 zminila specifikaciyu DNS i skasuvala RFC 882 RFC 883 i RFC 973 yak zastarili Terminologiya i principi robotiKlyuchovimi ponyattyami DNS ye Domen angl domain oblast chastina prostoru iyerarhichnih imen merezhi Internet sho obslugovuyetsya grupoyu serveriv domennih imen DNS serveriv ta centralizovano administruyetsya DNS serveri zberigayut informaciyu pro vuzli imena yakih nalezhat domenu i vikonuyut translyaciyu yihnih imen v adresi Kozhnij domen maye unikalne im ya a kozhen komp yuter pidklyuchenij do Internetu maye yak pravilo domenne im ya Domeni mayut mizh soboyu iyerarhichni stosunki Dva domeni sho roztashovani na susidnih rivnyah iyerarhiyi nazivayutsya vidpovidno domenom vishogo ta nizhchogo rivniv Domeni najvishogo verhnogo rivnya mozhut buti sformovani za organizacijnim abo geografichnim oznakami Domeni sformovani za geografichnim oznakami ob yednuyut vuzli sho nalezhat konkretnij derzhavi Za geografichnimi oznakami ob yednuyutsya v osnovnomu komp yuteri sho mistyatsya na teritoriyi SShA Piddomen angl subdomain pidleglij domen napriklad wikipedia org piddomen domenu org a uk wikipedia org domenu wikipedia org Teoretichno takij rozpodil mozhe dosyagati glibini v 127 rivniv a kozhna mitka mozhe mistiti do 63 simvoliv poki zagalna dovzhina razom z krapkami ne dosyagne 254 simvoliv Ale na praktici reyestratori domennih imen vikoristovuyut bilsh suvori obmezhennya Napriklad yaksho u vas ye domen vidu mydomain ua vi mozhete stvoriti dlya nogo rizni piddomeni vidu mysite1 mydomain ua mysite2 mydomain ua i t d Resursnij zapis odinicya zberigannya i peredachi informaciyi v DNS Kozhnij resursnij zapis maye im ya tobto priv yazanij do pevnogo domennogo imeni vuzlu v derevi imen tip i pole danih format i zmist yakogo zalezhit vid tipu Zona chastina dereva domennih imen vklyuchayuchi resursni zapisi sho rozmishuyetsya yak yedine cile na deyakomu serveri domennih imen DNS serveri div nizhche a chastishe odnochasno na dekilkoh serverah div nizhche Metoyu vidilennya chastini dereva v okremu zonu ye peredacha vidpovidalnosti div nizhche za vidpovidnij domen inshij osobi abo organizaciyi Ce nazivayetsya deleguvannyam div nizhche Yak zv yazkova chastina dereva zona vseredini tezh yavlyaye soboyu derevo Yaksho rozglyadati prostir imen DNS yak strukturu iz zon a ne okremih vuzliv imen tezh vihodit derevo vipravdano govoriti pro batkivskih i dochirnih zonah pro starshih i pidleglih Na praktici bilshist zon 0 go i 1 go rivnya ua com skladayutsya z yedinogo vuzla yakomu bezposeredno pidporyadkovuyutsya dochirni zoni U velikih korporativnih domenah 2 go i bilshe rivniv inodi zustrichayetsya utvorennya dodatkovih pidporyadkovanih rivniv bez vidilennya yih u dochirni zoni Deleguvannya operaciya peredachi vidpovidalnosti za chastinu dereva domennih imen inshij osobi abo organizaciyi Za rahunok deleguvannya v DNS zabezpechuyetsya rozpodilnist administruvannya ta zberigannya Tehnichno deleguvannya virazhayetsya u vidilenni ciyeyi chastini dereva v okremu zonu i rozmishenni ciyeyi zoni na DNS serveri div nizhche kerovanomu ciyeyu osoboyu chi organizaciyeyu Pri comu v batkivsku zonu vklyuchayutsya skleyuyuchi resursni zapisi NS i A sho mistyat pokazhchiki na DNS serveri dochirnoyi zoni a vsya insha informaciya sho nalezhit do dochirnoyi zoni zberigayetsya vzhe na DNS serverah dochirnoyi zoni DNS server programa priznachena dlya vidpovidej na DNS zapiti za vidpovidnim protokolom Takozh DNS serverom mozhut nazivati host na yakomu zapusheno vidpovidnu programu DNS kliyent vid angl Domain Name System client domennih imen sistema kliyent programa abo modul v programi sho zabezpechuye z yednannya iz DNS serverom dlya viznachennya IP adresi po jogo domennomu imeni Avtoritetnist angl authoritative oznaka rozmishennya zoni na DNS serveri Vidpovidi DNS servera mozhut buti dvoh tipiv avtoritetni koli server zayavlyaye sho sam vidpovidaye za zonu i neavtoritetni angl Non authoritative koli server obroblyaye zapit i povertaye vidpovid inshih serveriv U deyakih vipadkah zamist peredachi zapitu dali DNS server mozhe povernuti vzhe vidome jomu za zapitami ranishe znachennya rezhim keshuvannya DNS zapit angl DNS query zapit vid kliyenta abo servera do servera Zapit mozhe buti rekursivnim abo nerekursivnij div Rekursiya Sistema DNS mistit iyerarhiyu DNS serveriv vidpovidnu iyerarhiyi zon Kozhna zona pidtrimuyetsya yak minimum odnim avtoritetnim serverom DNS vid angl Authoritative avtoritetnij na yakomu roztashovana informaciya pro domen Im ya ta IP adresa ne totozhni odna IP adresa mozhe mati bezlich imen sho dozvolyaye pidtrimuvati na odnomu komp yuteri bezlich vebsajtiv ce nazivayetsya virtualnij hosting Zvorotne tezh spravedlivo odnomu imeni mozhe buti zistavleno bezlich IP adres ce dozvolyaye stvoryuvati balansuvannya navantazhennya Dlya pidvishennya stijkosti sistemi vikoristovuyetsya bezlich serveriv sho mistyat identichnu informaciyu a v protokoli ye zasobi sho dozvolyayut pidtrimuvati sinhronnist informaciyi roztashovanoyi na riznih serverah Isnuye 13 korenevih serveriv yih adresi praktichno ne zminyuyutsya Protokol DNS vikoristovuye dlya roboti TCP abo UDP port 53 dlya vidpovidej na zapiti Tradicijno zapiti ta vidpovidi vidpravlyayutsya u viglyadi odniyeyi UDP dejtagrami TCP vikoristovuyetsya dlya AXFR zapitiv Princip robotiSistema imen DNS ce iyerarhichna derevopodibna sistema U comu derevi isnuye korin vin poznachayetsya root Spisok korenevih serveriv povinen buti u kozhnogo servera vin mistitsya u fajli named sa Cej fajl mozhe nazivayetsya i po inshomu zalezhno vid nalashtuvan servera Isnuye pevna kilkist domeniv verhnogo rivnya Najbilsh vidomi com gov net org i domeni krayin ua de fr ta in Nehaj koristuvach vvodit u vikni brauzera adresu http server Prote adresaciya v lokalnij merezhi tak samo yak i v Internet pobudovana na osnovi IP protokolu Tomu dlya togo shob vstanoviti z yednannya z komp yuterom server komp yuteru koristuvacha neobhidno znati jogo IP adresu tomu operacijna sistema koristuvacha namagayetsya perekoduvati im ya komp yutera v IP adresu Z ciyeyu metoyu vona spochatku vikoristovuye svoyi standartni zasobi toj zhe fajl hosts a potim zvertayetsya do sluzhbi DNS Rozglyanemo teper internet adresu www yahoo com naspravdi absolyutno nevazhlivo ce internet adresa abo adresa v lokalnij merezhi vse te zh same Server DNS spochatku namagayetsya virishiti im ya danogo komp yutera vikoristovuyuchi svij vlasnij kesh imen Yaksho neobhidne im ya komp yutera v nomu vidsutnye to server DNS zvertayetsya do odnogo z korenevih serveriv DNS Zapit obroblyayetsya rekursivno korenevij server zvertayetsya do servera yakij vidpovidaye za domen com a toj u svoyu chergu do servera DNS domenu yahoo com Server DNS domenu yahoo com povertaye IP adresu komp yutera www 64 58 76 222 abo vsi adresi yaki zistavleni comu imeni bagato merezhevih operacijnih sistem u tomu chisli i Linux dozvolyayut odnomu imeni zistavlyati dekilka IP adres A oficijne im ya komp yutera www yahoo com ce jogo kanonichne im ya pro kanonichni imena i yak yih vikoristovuvati bude skazano nizhche www yahoo akadns net Shemi zapitiv DNS imen Nerekursivna procedura DNS kliyent zvertayetsya do korenevogo DNS servera z vkazivkoyu povnogo domennogo imeni DNS server vidpovidaye kliyentu vkazuyuchi adresu nastupnogo DNS servera yakij vikonuye obslugovuvannya domenu verhnogo rivnya zadanogo v nastupnij starshij chastini imeni DNS kliyent vikonuye zapit nastupnogo DNS servera yakij jogo nadsilaye do DNS servera potribnogo piddomenu i t d doti doki ne bude znajdeno DNS server yakij povnistyu vidpovidaye zapituvanomu imeni IP adresi Server daye kincevu vidpovid kliyentu Rekursivna procedura DNS kliyent zapituye lokalnij DNS server yakij obslugovuye piddomen yakomu nalezhit kliyent Dali yaksho lokalnij DNS server vidpovid znaye to povertaye yiyi kliyentu v protilezhnomu vipadku vikonuye iterativni zapiti do korenevogo servera do tih pir poki ne otrimaye vidpovid Pislya otrimannya vidpovidi server peredaye yiyi kliyentu Takim chinom pri rekursivnij proceduri kliyent faktichno peredoruchaye robotu vlasnomu serveru Dlya priskorennya poshuku IP adres DNS serveri chasto zastosovuyut keshuvannya na chas vid godin do dekilkoh dniv vidpovidej yaki prohodyat cherez nih Zapisi DNSZapisi DNS abo Resursni zapisi angl Resource Records RR odinici zberigannya i peredachi informaciyi v DNS Kozhnij resursnij zapis skladayetsya z takih poliv im ya NAME domenne im ya do yakogo priv yazana abo yakim nalezhit danij resursnij zapis TTL Time To Live dopustimij chas zberigannya danogo resursnogo zapisu v keshi ne vidpovidalnogo DNS servera vimiryuyetsya v sekundah tip TYPE resursnogo zapisu viznachaye format i priznachennya danogo resursnogo zapisu klas CLASS resursnogo zapisu teoretichno vvazhayetsya sho DNS mozhe vikoristovuvatisya ne tilki z TCP IP ale i z inshimi tipami merezh kod v pole klas viznachaye tip merezhi dovzhina polya danih RDLEN pole danih RDATA format ta zmist yakogo zalezhit vid tipu zapisu Najbilsh vazhlivi tipi DNS zapisiv Zapis A address record abo zapis adresi zv yazuye im ya hosta z adresoyu IP Napriklad zapit A zapisu na im ya referrals icann org poverne jogo IP adresu 192 0 34 164 Zapis AAAA IPv6 address record zv yazuye im ya hosta z adresoyu protokolu IPv6 Napriklad zapit AAAA zapisu na im ya K ROOT SERVERS NET poverne jogo IPv6 adresu 2001 7 fd 1 Zapis CNAME canonical name record abo kanonichnij zapis imeni psevdonim vikoristovuyetsya dlya perenapravlennya na inshe im ya MX zapis mail exchange abo poshtovij obminnik vkazuye server i obminu poshtoyu dlya danogo domenu Zapis NS name server vkazuye na DNS server dlya danogo domenu Zapis PTR pointer abo zapis pokazhchika zv yazuye IP hosta z jogo kanonichnim im yam Zapit v domeni in addr arpa na IP hosta v reverse formi poverne im ya FQDN danogo hosta div Zvorotnij zapit DNS Napriklad na moment napisannya dlya IP adresi 192 0 34 164 zapit zapisu PTR 164 34 0 192 in addr arpa poverne jogo kanonichne im ya referrals icann org Z metoyu zmenshennya obsyagu nebazhanoyi korespondenciyi spamu bagato serveriv oderzhuvachiv elektronnoyi poshti mozhut pereviryati nayavnist PTR zapisu dlya hosta z yakogo vidbuvayetsya vidpravlennya U comu vipadku PTR zapis dlya IP adresi povinna vidpovidati imeni vidpravlyayuchogo poshtovogo servera yakim vin predstavlyayetsya v procesi SMTP sesiyi Zapis SOA Start of Authority abo pochatkovij zapis zoni vkazuye na yakomu serveri zberigayetsya etalonna informaciya pro danij domen mistit kontaktnu informaciyu osobi vidpovidalnoyi za danu zonu tajmingi parametri chasu keshuvannya zonnoyi informaciyi ta vzayemodiyu DNS serveriv SRV zapis server selection vkazuye na serveri dlya servisiv vikoristovuyetsya zokrema dlya Jabber i Active Directory Zarezervovani domenni imenaDokument RFC 2606 Reserved Top Level DNS Names Zarezervovani imena domeniv verhnogo rivnya viznachaye nazvi domeniv yaki slid vikoristovuvati yak prikladi napriklad v dokumentaciyi a takozh dlya testuvannya Krim example com example org i example net v cyu grupu takozh vhodyat test invalid i in Internacionalni domenni imenaDomenne im ya mozhe skladatisya tilki z obmezhenogo naboru ASCII simvoliv dozvolyayuchi nabrati adresu domenu nezalezhno vid movi koristuvacha ICANN zatverdiv zasnovanu na Punycode sistemu IDNA peretvoryuyuchi bud yakij ryadok v koduvanni Unicode v dopustimij DNS nabir simvoliv BezpekaPidmina vidpovidej Dokladnishe DNS spoofing Protokol DNS ne mistit vbudovanih zasobiv yaki dozvolyayut vidrizniti vidpovid vid legitimnogo servera vid vidpovidi nadislanoyi zlovmisnikom Ce dozvolyaye zlovmisniku shlyahom pidrobki vidpovidej DNS perenapravlyati trafik na kontrolovani hosti Cej nedolik vipravlyayetsya za dopomogoyu DNSSEC Vikoristannya u DDos atakah Rozmir DNS zapita mozhe buti vidnosno nevelikim 60 70 bajtiv todi yak rozmir vidpovidej pri nepravilnij konfiguraciyi servera mozhe dosyagati 1000 2000 bajt Zlovmisnik mozhe pidrobiti IP adresu vidpravnika u DNS zapiti zaminivshi yiyi na IP adresu hosta sho atakuyetsya host zhertva Vidpovid na takij pidroblenij DNS zapit nadijde ne zlovmisniku a do hosta zhertvi Takim chinom vitrativshi vidnosno neveliki resursi zlovmisnik mozhe organizuvati potuzhnu DDoS ataku Taka tehnika nazivayetsya Otruyennya keshu Dokladnishe DNS cache poisoning DNS cache poisoning otruyennya keshu DNS poshkodzhennya cilisnosti danih u sistemi DNS shlyahom zapovnennya keshu DNS servera danimi sho ne pohodyat vid avtoritetnogo DNS dzherela DNS hijacking Dokladnishe DNS hijackingDiv takozhDNS poverh TLS DNS poverh HTTPSPrimitkiAmplifikaciya DDoS atak rosijskoyu Posilannya angl Resursi prisvyacheni DNS amp BIND angl Spilnota CircleID DNS angl Pidvishennya bezpeki DNS DNSSEC angl angl Sajt kornevyh DNS serverov angl Vebinstrumenti dlya DNS angl How DNS Works videopoyasnennya togo yak pracyuye DNS na kanali Computerphile angl