Для ідентифікації комп’ютерів апаратне і програмне забезпечення в мережах TCP/IP покладається на IP - адреси, тому для доступу до мережного ресурсу в параметрах програми цілком достатньо вказати IP - адресу, щоб програма правильно зрозуміла, до якого хосту їй потрібно звернутися. Наприклад, команда ftp://192.45.66.17 встановлюватиме сеанс зв’язку з потрібним ftp - сервером, а команда http://203.23.106.33 відкриє початкову сторінку на корпоративному web - сервері. Проте користувачі звичайно вважають за краще працювати з символьними іменами комп’ютерів, і операційні системи локальних мереж привчили їх до цього зручного способу. Отже, в мережах TCP/IP повинні існувати символьні імена хостів і механізм для встановлення відповідності між символьними іменами і IP - адресами.
У операційних системах, які спочатку розроблялися для роботи в локальних мережах, таких як Novell NetWare, Microsoft Windows або IBM OS/2, користувачі завжди працювали з символьними іменами комп’ютерів. Оскільки локальні мережі складалися з невеликого числа комп’ютерів, то використовувалися так звані плоскі імена, що складаються з послідовності символів, не розділених на частини. Прикладами таких імен є: NW1_1, mail2, MOSCOW_SALES_2. Для встановлення відповідності між символьними іменами і МАС - адресами в цих операційних системах застосовувався механізм широкомовних запитів, подібний механізму запитів протоколу ARP. Так, широкомовний спосіб дозволу імен реалізований в протоколі NetBIOS, на якому були побудовані багато локальних ОС. Так звані NetBIOS – імена стали на довгі роки одним з основних типів плоских імен в локальних мережах.
Для стека TCP/IP, розрахованого в загальному випадку на роботу у великих територіально розподілених мережах, подібний підхід виявляється неефективним з кількох причин.
Плоскі імена не дають можливості розробити єдиний алгоритм забезпечення унікальності імен в межах великої мережі. У невеликих мережах унікальність імен комп’ютерів забезпечує адміністратор мережі, записуючи декілька десятків імен в журналі або файлі. При зростанні мережі задачу вирішують вже декілька адміністраторів, погоджуючи імена між собою неформальним способом. Проте якщо мережа розташована в різних містах або країнах, то адміністраторам кожної частини мережі потрібно придумати спосіб іменування, який дозволив би їм давати імена новим комп’ютерам незалежно від інших адміністраторів, забезпечуючи в той же час унікальність імен для всієї мережі. Найнадійніший спосіб рішення цієї задачі — відмова від плоских імен у принципі.
Широкомовний спосіб встановлення відповідності між символьними іменами і локальними адресами добре працює тільки в невеликій локальній мережі, не розділеній на підмережі. У крупних мережах, де загальна широкомовність не підтримується, потрібен інший спосіб дозволу символьних імен. Звичайно хорошою альтернативою широкомовності є застосування централізованої служби, що підтримує відповідність між різними типами адрес всіх комп’ютерів мережі. Компанія Microsoft для своєї корпоративної операційної системи Windows NT розробила централізовану службу WINS, яка підтримує базу даних NetBIOS – імен і відповідних їм IP – адрес.
Для ефективної організації іменування комп’ютерів у великих мережах природним є застосування ієрархічних складових імен.
У стеку TCP/IP застосовується доменна система імен, яка має ієрархічну деревовидну структуру, що допускає використовування в імені довільної кількості складових частин. Ієрархія доменних імен аналогічна ієрархії імен файлів, прийнятій в багатьох популярних файлових системах. Дерево імен починається з кореня, що позначається тут крапкою (.). Потім слідує старша символьна частина імені, друга – за старшинством символьна частина імені і т.д. Молодша частина імені відповідає кінцевому вузлу мережі. На відміну від імен файлів, при записі яких спочатку указується найстарша складова, потім складова нижчого рівня і т. д., запис доменного імені починається з наймолодшої складової, а закінчується найстаршою. Складові частини доменного імені відділяються одна від одної крапкою. Наприклад, в імені partnering.microsoft.com складова partnering є ім’ям одного з комп’ютерів в домені microsoft.com.
Розділення імені на частини дозволяє розділити адміністративну відповідальність за призначення унікальних імен між різними людьми або організаціями в межах свого рівня ієрархії. Розділення адміністративної відповідальності дозволяє розв’язати проблему утворення унікальних імен без взаємних консультацій між організаціями, що відповідають за імена одного рівня ієрархії. Очевидно, що повинна існувати одна організація, що відповідає за призначення імен верхнього рівня ієрархії.
Сукупність імен, у які декілька старших складових частин співпадають, утворюють домен (domain) імен.
Термін «домен» дуже багатозначний, тому його потрібно трактувати звичайне рамках певного контексту. Окрім доменів імен стека TCP/IP в комп’ютерній літературі також часто згадуються домени Windows NT, домени колізій і деякі інші. Загальним у всіх цих термінів є те, що вони описують деяку безліч комп’ютерів, що володіє якою - небудь певною властивістю.
Якщо один домен входить в інший домен як його складова частина, то такий домен можуть називати піддоменом (subdomain), хоча назва домен за ним також залишається. Звичайно піддомен називають на ім’я тієї його старшої складової, яка відрізняє його від інших піддоменів. Наприклад, піддомен mst.ua звичайно називають піддоменом (або доменом) mst. Ім’я піддомену призначає адміністратор вищестоячого домена. Хорошою аналогією домена є каталог файлової системи.
Якщо в кожному домені і піддомені забезпечується унікальність імен наступного рівня ієрархії, то і вся система імен складатиметься з унікальних імен.
По аналогії з файловою системою в доменній системі імен розрізняють короткі імена, відносні імена і повні доменні імена. Коротке ім’я — це ім’я кінцевого вузла мережі: хоста або порту маршрутизатора. Коротке ім’я — це лист дерева імен. Відносне ім’я — це складове ім’я, що починається з деякого рівня ієрархії, але самого верхнього. Наприклад, www1.zaz — це відносне ім’я. Повне доменне ім’я (fully qualified domain name, FQDN) включає складові всіх рівнів ієрархії, починаючи від короткого імені і кінчаючи кореневою крапкою: www1.zaz.mst.ua.
Кореневий домен керується центральними органами Інтернету: IANA і InterNIC. Домени верхнього рівня призначаються для кожної країни, а також на організаційній основі. Імена цих доменів повинні слідувати міжнародному стандарту ISO 3166. Для позначення країн використовуються трьохбуквені і двохбуквені абревіатури, наприклад,ua (Україна), ru (Росія), uk (Великобританія), fin (Фінляндія), us (Сполучені Штати), а для різних типів організацій — наступні позначення:
com — комерційні організації (наприклад, microsoft.com);
edu — освітні організації (наприклад» mit.edu);
gov — урядові організації (наприклад, nsf.gov);
org — некомерційні організації (наприклад, fidonet.org);
net— організації підтримки мереж (наприклад, nsf.net).
Кожен домен адмініструється окремою організацією, яка звичайно розбиває свій домен на піддомени і передає функції адміністрування цих піддоменів іншим організаціям. Щоб одержати доменне ім’я, необхідно реєструватися в якій - небудь організації, якій організація InterNIC делегувала свої повноваження по розподілу імен доменів.
Необхідно підкреслити, що комп’ютери входять в домен відповідно до своїх складових імен, при цьому вони можуть мати абсолютно незалежні один від одного IP - адреса, що належать до різних мереж і підмереж.
Доменна система імен реалізована в Інтернеті, але вона може працювати і як автономна система імен в будь-якій крупній корпоративній мережі, яка також використовує стек TCP/IP, але ніяк не пов’язана з Інтернетом.