Перейти до вмістуHisnLabs
← DNS: адресна книга Інтернету

Урок 1 з 4 · 6 хв

Що робить DNS

Чому комп’ютерам потрібен пошук, що перетворює імена на номери, для кожного сайту, який ви відвідуєте, і хто насправді відповідає на цей пошук.

Курс TCP/IP розглядає, як комп’ютери адресують один одного номерами. Ніхто не хоче запам’ятовувати номери, щоб читати новини чи надсилати листа, тому в інтернеті є пошук, що перетворює імена на номери й працює позаду майже всього, що ви робите онлайн: система доменних імен, або DNS. Навчальний центр Cloudflare називає її просто «телефонною книгою інтернету».

Дерево, а не єдиний список

DNS спроєктовано, за RFC 1034, навколо «узгодженого простору імен, що використовується для посилання на ресурси», організованого як «деревоподібна структура», де «кожен вузол і листок дерева відповідає набору ресурсів». На практиці це дерево має шари, кожен з яких відповідає за меншу частину імен:

  • Корінь, на вершині дерева, не знає адреси жодного сайту, але знає, які сервери відповідають за кожен домен верхнього рівня (.com, .org тощо).
  • Сервер домену верхнього рівня (TLD) також не знає вашого конкретного сайту, але знає, який авторитетний сервер відповідає за цей домен.
  • Авторитетний сервер тримає фактичну відповідь для конкретного домену: на яку IP-адресу зараз вказує example.org.
  • Резолвер (чи рекурсор) — це сервер, до якого насправді звертається ваш пристрій. Він виконує роботу проходження вниз по дереву від вашого імені, а потім кешує відповідь на деякий час, щоб не повторювати весь шлях для кожного запиту.

Навчальний центр Cloudflare використовує аналогію з бібліотекою для тієї самої ідеї: «рекурсора можна уявити як бібліотекаря, якого просять знайти певну книгу десь у бібліотеці», тоді як «кореневий сервер — перший крок у перекладі (вирішенні) читабельних людиною імен хостів у IP-адреси… він слугує довідником до інших, конкретніших місць».

Простежуємо один пошук

  1. Ваш Mac запитує налаштований резолвер, часто керований вашим інтернет-провайдером, вашим Wi-Fi роутером чи публічним сервісом, про адресу за іменем.
  2. Якщо резолвер ще не має відповіді в кеші, він запитує кореневий сервер, який TLD-сервер спробувати.
  3. Він запитує цей TLD-сервер, який авторитетний сервер спробувати.
  4. Він запитує авторитетний сервер про фактичну відповідь, потім повертає цю відповідь вашому пристрою і зберігає кешовану копію для інших запитів.

RFC 1035 визначає точний формат повідомлень для цих запитів і відповідей і зазначає, що вони зазвичай подорожують через UDP чи TCP на порту 53. У цьому пошуку за замовчуванням немає нічого секретного; наступне заняття розглядає, хто може його бачити і чому це важливо.

DNS-пошук з командного рядка
dig example.com

;; ANSWER SECTION:
example.com.		233	IN	A	104.20.23.154
example.com.		233	IN	A	172.66.147.243

Ця одна команда — весь процес із цього заняття, що відбувається приблизно за десяту частку секунди: ваш резолвер пройшов деревом (чи видав кешовану відповідь) і повернув числову адресу за іменем.

Головне

  • DNS перетворює читабельні людиною імена на числові IP-адреси, які комп’ютери фактично використовують для з’єднання.
  • RFC 1034 організує DNS як дерево: корінь, потім сервери доменів верхнього рівня, потім авторитетні сервери для кожного домену.
  • Резолвер (рекурсор) проходить це дерево від імені вашого пристрою і кешує відповідь.
  • RFC 1035 визначає формат запиту/відповіді; пошуки зазвичай подорожують через UDP чи TCP на порту 53.
  • DNS-пошук за замовчуванням не секретний; це звичайний, читабельний трафік, якщо його спеціально не зашифровано.

Перевірте себе

  1. 1. Яке головне завдання DNS?

    • Шифрування вебтрафіку
    • Перетворення доменних імен на IP-адреси, які використовують комп’ютери для з’єднання — Правильно.
    • Призначення приватних IP-адрес домашнім пристроям
    • Керування тим, який порт використовує застосунок

    Cloudflare описує DNS як «телефонну книгу інтернету»: він перетворює доменні імена на IP-адреси.

  2. 2. У дереві DNS, описаному в RFC 1034, що насправді знає кореневий сервер?

    • IP-адресу кожного сайту
    • Які сервери відповідають за кожен домен верхнього рівня, а не адреси окремих сайтів — Правильно.
    • Нічого; він лише декоративний
    • Лише адреси, що закінчуються на .com

    Аналогія Cloudflare: кореневий сервер «слугує довідником до інших, конкретніших місць», вказуючи на TLD-сервери замість прямої відповіді.

  3. 3. Що робить DNS-резолвер (рекурсор)?

    • Він зберігає файли кожного сайту
    • Він проходить дерево DNS від імені вашого пристрою і кешує знайдену відповідь — Правильно.
    • Він обробляє лише пошту
    • Він повністю усуває потребу в IP-адресах

    Cloudflare порівнює рекурсора з бібліотекарем, що йде знаходить відповідь, а потім резолвер кешує її, щоб майбутні пошуки були швидшими.

  4. 4. Чи зашифрований типовий DNS-пошук за замовчуванням?

    • Так, завжди
    • Ні, це звичайний, читабельний трафік, якщо його спеціально не зашифровано — Правильно.
    • Лише для доменів .com
    • Лише через Wi-Fi

    RFC 1035 визначає формат повідомлень DNS без вбудованого шифрування; шифрування DNS вимагає окремого механізму, розглянутого в наступному занятті.

Застосуйте на практиці з FireAI

Застосуйте цей урок на своєму Mac.

Джерела

Застосуйте це на своєму Mac

Усі функції безкоштовно на 17 днів, без банківської картки.

Завантажити для Mac Документація