Лекція № 4
Система доменних імен
Зміст
Доменна система імен
Правила формування імен
Глобальні імена
Доменна система імен
Доменна система імен (англ. Domain Name System, DNS) — розподілена система перетворення імені хоста (комп'ютера або іншого мережевого пристрою) в IP-адресу.
Кожен комп'ютер в Інтернет має свою власну унікальну адресу — число, яке складається з чотирьох байт. Оскільки запам'ятовування десятків чи навіть сотень — не досить приємна процедура, то всі (чи майже всі) машини мають імена, запам'ятати які (особливо якщо знати правила утворення імен) значно легше.
Уся система імен в Інтернет — ієрархічна. Це зроблено для того, щоб не підтримувати одне централізоване джерело, а роздати владу на місця.
Правила формування імен
Повне доменне (від англ. domain) ім'я машини (FQDN, Fully Qualified Domain Name) можна розбити на дві частини — ім'я області-домена та власне ім'я машини. Наприклад, m30.ziet.zhitomir.ua — повна доменне ім'я машини m30, яка знаходиться у домені ziet.zhitomir.ua.
За порядок у доменах, як правило, відповідає певний комп'ютер, користувачі-адміністратори якого слідкують за тим, щоб не було, наприклад, різних машин з однаковими ІР-адресами. Наприклад, відповідальність за область-домен ziet.zhitomir.ua покладається на машину alpha.ziet.zhitomir.ua Ця влада делегується зверху вниз від машини ns.lucky.net, яка відповідає за домен zhitomir.ua. В свою чергу, відповідальність за область ua делегована машині зверху від так званих кореневих серверів (root server).
Всю цю систему можна уявити у вигляді перевернутого дерева. Нижче наведений список імен доменів верхнього рівня (далеко не повний). Повний список географічних областей, в основному, відповідає двобуквеним ISO-кодам країн і його можна знайти, наприклад, на WWW-сервері ISOC (http://www.isoc.org).
Необхідно розрізняти доменне ім'я, та поштову адресу. В поштовій адресі повинен бути знак «@», якій розділяє поштову адресу на доменне ім'я та ім'я поштової скриньки.
Коли мережа Інтернет була молода та невелика, таблиці відповідності імен та адрес зберігалися у звичайному текстовому файлі, який періодично просто розсилався всім учасникам електронною поштою. Після того, які кількість машин значно збільшилася, така схема перестала ефективно працювати і програмісти університету штату Каліфорнія в Берклі спроектували і написали програму BIND (Berkeley Internet Name Domain), яка відповідає на запити машин користувачів, які стосувалися імен та ІР-адресу.
Служба імен DNS (Domain Name System) — це розподілена база даних доволі простої структури. Для початкового знайомства можна вважати, що це кілька таблиць, у яких записано:
· яку ІР-адресу має машина з певним іменем;
· яке ім'я має машина з визначеною адресою;
· що це за комп'ютер і яка операційна система встановлена на ньому;
· куди потрібно направляти електронну пошту для користувачів цієї машини;
· які псевдоніми є у даної машини.
Для прикладу розглянемо випадок, коли користувач посилає пошту з машини polesye.zhitomir.ua користувачу за адресою rozhik@ziet.zhitomir.ua (знак «@» носить назву commercial «at» sign). При встановленні на машину протоколів 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 або в спеціальних книгах.
Глобальні імена
Хоча не існує особливих правил, як називати домени, у застосуванні доменів першого рівня склалася певна практика. Вони розділяються на географічні й організаційні домени.
Таблиця 1. Домени першого рівня
У назвах доменів дозволяється використовувати тільки латинські букви, цифри і знак «тире».
У загальному випадку число складових доменного імені може містити від двох і більше частин. Але найчастіше доменне ім'я компанії складається з трьох складових, де перша частина - ім'я хоста, друга - ім'я домену компанії, і остання - ім'я домену чи країни ім'я одного з 12 спеціальних доменів. Так, якщо ваша компанія називається «ABCD», те швидше за все Web-сервер фірми буде названий www.abcd.ua чи www.abcd.com.ua чи www.abcd.com чи abcd.com (www у доменному імені не є частиною домену другого рівня. Це — «безкоштовний додаток» до домену другого рівня, «www» є доменом третього рівня в домені другого рівня. Домени третього рівня не вимагають реєстрації. Будь-який домен третього рівня створюється самостійно власником домену другого рівня).
Контрольні питання:
Що являє собою система доменних імен?