пласкі та ієрархічні. У пласких системах кожен комп'ютер має текстовий файл (наприклад, /etc/hosts), у якому символьні імена відповідають цифровим IP-адресам. Ідентичні копії такого файлу повинні бути на всіх гостах локальної мережі. Однак зі збільшенням мереж узгоджувати текстові файли стало важче.
DNS є ієрархічною системою іменування. Складові її частини такі:
деревоподібна ієрархія найменуваньгостів; ·
розподілена база даних з інформацією про комп'ютери;
бібліотечні процедури роботи з цією інформацією;
протокол обміну інформацією з базою даних;*
програми та файли налаштувань. Головною структурною одиницею у DNS є домен. Домени побудовані у вигляді ієрархічного дерева (рис. Д.10.2), у вершині якого є кореневий домен '.'. Домени першого рівня відповідають типам організацій або країнам, наприклад, com - комерційні, int - міжнародні, mil -військові, net-мережеві агентства та постачальники послуг (провайдери), de -Німеччина, иа - Україна.
Довільний домен або гост характеризований повним доменним ім'ям (Fully Qualified Domain Name (FQDN)). Окремі частини імені відділені крапкою. Наприклад, для госта host! ім'я буде таке:
host1.firm1.kyiv.ua.
Ознакою повного доменного імені (та наявності кореневого домена) є остання крапка.
Адресація за повним доменним ім'ям є абсолютною доменною адресацією. Крім абсолютної, використовують і відносну доменну адресацію, зокрема, якщо звертаються до комп'ютера в межах одного "старшого" домену. Наприклад, hostl може звертатися до host2 за адресою host2. У відносній доменній адресі немає кінцевої крапки і вона автоматично доповнюється до абсолютної адреси додаванням адреси "старшого" домену. В деяких реалізаціях протоколу TCP/IP вважають: якщо в адресі більше одної позначки доменів, то це абсолютна адреса.
В іменах доменів не враховано регістру. Домени верхнього рівня - edu, gov, mil, net, org. Імена доменів другого рівня видають спеціалізовані організації, вони ж гарантують їхню уні-кальність. За домени нижчих рівнів відповідають їхні адміністратори. Обмеження: імена доменів повинні бути унікальними в межах старшого домену, їхня довжина не перевищує 12 символів, недопустиме повторення частини імені домену. У заявці зазначають відповідального спеціаліста, імена та адреси двох комп'ютерів, на яких буде зберігатися БД домену.
DNS - це розподілена база даних, окремі частини якої зберігаються на комп'ютерах -серверах імен. У кожному сервері є інформація тільки про частину загального дерева DNS, a також обов'язково посилання на сервери імен, що зберігають інформацію про суміжні частини цього дерева. Сервер імен, як звичайно, відповідає не за один домен, а за декілька суміжних, або їхні частини - так звану зону відповідальності (zone of authority). Зона - це домен без піддоменів.
Програму, яка відповідає на запити DNS, називають сервером імен, а клієнта - визнач-ником. Сервери імен бувають
головними,
допоміжними,
кешування.
Сервери імен обслуговують зону. В кожній зоні є один головний сервер імен. Він зберігає головний варіант БД цього домену. Відповідь головного сервера імен є "авторитетною", тобто точною. У кожному домені обов'язково повинен бути хоч би один допоміжний сервер, який періодично копіює свої дані з головного сервера, узгоджує та актуалізує свої таблиці. Для узгодження даних використовують так звані зонні пересилання. Сервер кешування отримує адреси деяких серверів DNS вищого рівня у своєму файлі конфігурації. Свою БД цей сервер формує за результатами поточних запитів, зберігаючи їх у кеші.
Головним сервером звичайно роблять надійну, не дуже перевантажену машину, приєднану через UPS. Головний та допоміжні сервери часто розміщують у різних доменах і різних мережах електричного живлення з метою зменшити ймовірність їхнього одночасного виходу з ладу.
У кожній зоні може бути визначено декілька типів серверів DNS:
первинний сервер імен (Primary Name Server) є центральним сховищем інформації про домен;
вторинний сервер імен (Secondary Name Server) зберігає копію інформації з первинного сервера, розвантажуючи його. Копії періодично узгоджуються;*
сервери для кешування (Cache only Server) зберігають кешовану інформацію, щоб зменшити навантаження на сервери.
У кожному домені для гарантування надійності повинно бути принаймні два сервери (первинний та вторинний).
Інформація, в тому числі й отримана від інших серверів DNS, зберігається у кеш-пам'яті. Визначено максимальний час зберігання інформації у кеші і, отже, періоди оновлення інформації з первинного сервера. Всі зміни спочатку відбуваються на первинному сервері. На інших сер-верах нова інформація буде врахована внаслідок нового читання після її вилучення з кешу.
Залежно від порядку обслуговування запитів клієнтів сервери DNS бувають рекурсивними або нерекурсивними. Нерекурсивний сервер шукає відповідь у своєму кеші або своїй БД. Якщо відповідь не знайдено, то відбувається відсилання адреси авторитетному серверу іншого домену, який повинен знати відповідь.
Під час роботи рекурсивного сервера в його кеші накопичуються результати проміжних запитів, які можуть бути використані для опрацювання наступних запитів. Сервери нижчих рівнів звичайно рекурсивні, а сервери першого і частково другого - нерекурсивні (щоб не перевантажувати їх запитами, а їхній кеш - інформацією). Відсилання генеровані за ієрархічним принципом. Наприклад, якщо сервер не знає адреси dom.isc.arizona.edu, то він послідовно буде звертатися до доменів isc.arizona.edu, arizona.edu, edu, кореневого. Як звичайно, сервер знає щонайменше адресу сервера кореневого домену зі своїх файлів конфігурування.
Приклад. Визначити адресу госта lion.cf.iton.edu. Нехай адреса вашого сервера імен dn.isc.arizona.edu.
Запит надходить на локальний сервер імен dn.isc.arizona.edu. Він не знаходить потрібної адреси і з огляду на рекурсивність звертається до серверів доменів arizona.edu та edu. Ці сервери нерекурсивні, і сервер edu надсилає на сервер адресу домену iton.edu. Це дає змогу нашому серверу звернутися до нього. Сервер iton.edu. також рекурсивний; він звертається до відомого йому сервера домену cf.iton.edu та отримує адресу госта lion. Ця адреса повертається до клієнта.
Після виконання описаних операцій *
у кеші dn.isc.arizona.edu буде адреса госта ІІОП;
у кеші dn.isc.arizona.edu буде адреса