Все що ви хотіли знати про домени, але соромилися запитати
Домен (точніше - доменне ім'я ) - якщо сильно спростити, то це назва вашого сайту.
IP адреса
А така назва статті вже існує © Google
Як ваша квартира знаходиться в будинку, так само кожен сайт “лежить” на сервері. У кожного будинку є своя адреса, так і кожен сервер має адресу - вона називається IP ( internet protocol ) адресу . Це ті самі цифри виду "212.80.32.20". Ця адреса складається з чотирьох чисел (кожне число - від 0 до 255, тобто найменша адреса - 0.0.0.0, найбільша - 255.255.255.255), а якщо ми перемножимо 256*256*256*256 = 4294967296, то дізнаємося максимально можливу кількість адресів. Їх лише трохи більше 4 млрд. Виявилося, що “айпішників” менше ніж людей, тому ще 1996-го року вигадали новий протокол IPv6 , у якому (неважко здогадатися з назви), використовується 6 чисел та кількість адрес у ньому забезпечить можливість використання понад 300 млн IP-адрес на кожного жителя Землі.
Максимальне число у “256” (рахуємо з 0 по 255) вибрано не просто так. Справа в тому, що в комп'ютерах числа зберігаються в двійковій системі числення , у якій цифра 0 або 1 називається біт (одиниця виміру інформації). Кожні вісім біт становлять байт, а у одному байті міститься число від 0 до 255 чи 2^8 = 256, де 2 - число можливих цифр у системі числення (0, 1), а 8 - кількість цифр. Такі справи:)
Доменне ім'я
Дублюємо вікіпедію © Цитата автора
Тепер уявіть ситуацію, в якій вам доведеться писати в браузері щось наприклад 212.80.32.20, щоб зайти на будь-який сайт. Це дуже незручно, тому вигадали давати адресам людські імена, наприклад www.digiants.agency . Це доменне ім'я складається з трьох частин - "www", "digiants", "agency", які розділені точками. Кожне слово – це домен, фраза повністю – доменне ім'я. Інформація про кожен домен зберігається на серверах DNS (domain name system). Кожен окремий DNS-сервер відповідає за власний домен. Розглянемо www.digiants.ua:
- Інформація про домени першого рівня (.com, .de, .agency, .ua тощо) знаходиться на кореневих серверах DNS (їх всього 13), а координує домени першого рівня ICANN . Так ось, адреса DNS сервера, що обслуговує домен "ua", знаходиться на кореневому сервері.
- DNS сервери, які зберігають інформацію про піддомени .ua (digiants.ua, something.ua etc) належать компанії хостмайстер . Також ця компанія зберігає єдину базу всіх компаній, які мають право реєструвати домен any-word-here.ua, ось список . Ці компанії називаються "реєстратори доменних імен".
- Інформація про домени рівня нижче, знаходиться у власників доменів. Наприклад, ви купили digiants.ua - значить вам він належить, а DNS сервери компанії реєстратора вказують IP-адресу вашого DNS-сервера, а значить ви самі можете встановлювати IP адреси на будь-які піддомени (www.digiants.ua, somesite.digiants.ua etc ). Нижче розглянемо, як технічно передати комусь домен.
Що робить name server
Натуральний адмін,
На всю підсіть такий один:
І 20 років, і з бородою
© Фольклор
Сервер підтримує домени, які йому делеговані. Тобто він містить інформацію про домени у форматі DNS записів. Коли ваш браузер робить запит на DNS сервер, він повертає всі DNS записи (або ресурсні записи ).
Основні види ресурсних записів:
- A - зберігає в собі IPv4 адресу домену.
- ААА - зберігає IPv6 адресу домену.
- NS - це адреса DNS-сервера, яка відповідає за цей домен.
- SOA - зберігає ім'я домену та час життя кеша (TTL - time to live). Пам'ятаєте ви “прив'язуєте” домен до нового хостингу і вам кажуть, що це потрібно від 2 до 48 годин. Так відбувається саме через цей запис. Адже щоб щоразу не шукати по інтернету IP адресу домену, DNS сервер на якийсь час запам'ятовує (кешує) інформацію.
- MX – дані про поштовий сервер.
- TXT - будь-які дані (наприклад, для підтвердження гугла).
- SRV - ім'я хостингу та порту для деяких служб.
Тобто, підсумовуючи вищесказане, корисна інформація відповіді від DNS сервера буде:
A - 212.80.32.20
NS - …
MX - …
...
Як браузер дізнається IP адресу домена?
Firefox - чудовий браузер і назавжди залишиться в пам'яті © Десь на форумі
Насамперед браузер читає файл hosts (це файл, в якому власник комп'ютера сам може написати, яка IP-адреса відповідає якомусь домену), якщо він не знайшов там відповідності, тоді він робить запит до DNS-сервера (далі ми розглянемо тільки рекурсивний запит до DNS-сервера).
При запиті виявляється, що цей сервер не знає про цей домен. Тоді він звертається до кореневого серверу , той відповідає: у мене немає інформації про домен www.digiants.agency, але є запис, що “agency” має такий ip - 212.80.32.20 (вказані IP-адреси не реальні). Тоді сервер запитує у 212.80.32.20 – “знаєш www.digiants.agency”, той відповідає – “ні, але є запис, що digiants.agency знаходиться за адресою 185.143.145.155“. І насамкінець, запит відправляється третьому DNS серверу і отримує потрібну IP адресу (при цьому DNS сервер запам'ятовує свій шлях на час вказаний у TTL). У результаті браузер отримує необхідний IP.
Цікаві факти
Web 1.0 - стан інтернету, коли він був ще не той. © Десь на формуі
- Аналогія з будинком і квартирою не вірна, тому що одна IP адреса (квартира в будинку-сервері) може мати багато доменів, але один домен може містити кілька IP адрес ).
- ICANN - не американська, а незалежна міжнародна організація, можна глянути їх фінзвіт .
- Основні учасники процесу управління Інтернетом – робоча група проектування Інтернету, Товариство Інтернету, Консорціум всесвітньої павутини (англ. World Wide Web Consortium, W3C), Корпорація з присвоєння імен та адрес в Інтернеті (англ. Internet Corporation for Assigned Names and Numbers, ICANN ), держави, інтернет провайдери, реєстратори. Коротше, тисячі їх.
- Всього 13 кореневих серверів, але є альтернативні кореневі сервери , і рада з архітектури Інтернету категорично проти них.
- Рекурсивні запити до DNS сервера вимагають більшого навантаження, тому вони зазвичай приймаються тільки від вузького кола запитів (наприклад, інтернет-провайдери дають можливість робити такі запити тільки своїм клієнтам і т.д.).
- Історично так склалося, що кожен домен першого рівня щось означає, наприклад .com (commercial) - для комерційних проектів, .org (organization) - для некомерційних проектів, .net (network) - для компаній, пов'язаних з мережею і т. д. Повний список можна подивитися тут назви трохи втратили актуальність.