Як працює DNS: структура і систематика, принцип роботи і усунення неполадок

Всесвітня павутина є складною системою, що використовує комп’ютерні мови і коди для пошуку і обміну даними. Одним з найбільш фундаментальних інструментів існування інтернету є система доменних імен, або DNS.

Просунутому користувачеві інтернету потрібно розуміти, як працює DNS-сервер. Цей протокол в рамках набору стандартів існує для того, щоб комп’ютери обмінювалися даними в інтернеті і в багатьох приватних мережах. Він також відомий, як набір протоколів TCP/IP.

Його мета життєво важлива, так як вона допомагає конвертувати прості для розуміння доменні імена, наприклад, howstuffworks.com на адресу інтернет-протоколу (IP), наприклад, 70.42.251.42, який комп’ютери використовують для ідентифікації один одного в Мережі. Таким чином, можна підвести підсумок, що це система зіставлення імен з номерами. Багатьом цікаво знати, до скількох працює DNS. Система працює цілодобово.

Термінологія системи DNS

Доменне ім’я — зрозумілій варіант, наприклад, Amazon.com, яке вводять у поле URL веб-браузера. Інтернет-корпорація з присвоєння імен і номерів (ICANN) управляє цими доменними іменами.

Домен верхнього рівня (TLD відноситься до його останньої частини. Найбільш поширені TLD включають: com, net, org і .info. ДВО з кодом країни представляють конкретні географічні розташування. Наприклад, in являє Індію. Ось ще кілька прикладів:

  • com – комерційний бізнес;
  • gov — державні органи США;
  • edu – освітні установи, такі як університети;
  • org – організації (в основному некомерційні);
  • mil – військові організації;
  • net – мережеві організації;
  • es – Європейський Союз.

Домен другого рівня – частина доменного імені, яке знаходиться прямо перед TLD, наприклад, amazon.com. Субдомен може бути створений для ідентифікації унікальних областей вмісту веб-сайту. Наприклад, як працює DNS для aws amazon.com.

Основне завдання сервера доменних імен

Комп’ютери і інші мережеві пристрої в інтернеті використовують IP-адресу для направлення запиту на сайт, на який потрібно перейти. Завдяки DNS не потрібно мати власну адресну книгу IP-адрес. Замість цього просто підключаються через сервер доменних імен (DNS-сервером, який керує величезною базою даних, сопоставляющей їх з IP-адресами.

Незалежно від того, заходить користувач веб-сайт або відправляє електронну пошту, комп’ютер використовує DNS-сервер для пошуку доменного імені, до якого він намагається звернутися. Правильний термін для цього процесу — дозвіл імен DNS, або кажуть, що DNS-сервер дозволяє доменне ім’я в IP-адресі.

Без DNS-серверів інтернет дуже швидко відключився б, аналогічне відбувається, коли DNS працює з помилкою. Як правило, коли користувач підключається до домашньої мережі, постачальника послуг інтернету через Wi-Fi, модем або маршрутизатор призначає мережевий адресу ПК і відправляє важливу інформацію про конфігурацію мережі на комп’ютер або мобільний пристрій. Вона включає в себе один або кілька серверів DNS, які пристрій має використовувати при перетворенні DNS-імен у IP-адресу.

Стандарт IPV4

В даний час використовуються мільярди IP-адрес, і, відповідно, DNS-сервери (сукупно) обробляють мільярди запитів через інтернет у будь-який момент часу. Крім того, мільйони людей додають і змінюють імена і IP кожен день.

Щоб зрозуміти, як працює DNS-сервер з великою кількістю ресурсів, розглядають методи розширення ефективності Мережі та інтернет-протоколів. Частково це полягає в тому, що кожен комп’ютер в Мережі має унікальний IP як у стандартах IPV4, так і IPV6, керованих в інтернеті (IANA). Ось декілька способів розпізнати IP:

  • У стандарті IPV4 він складається з чотирьох чисел, розділених трьома десятковими знаками, наприклад: 70.74.251.42
  • IP-адреса) у стандарті IPV6 має вісім шістнадцяткових чисел (base-16), розділених крапкою: 0cb8: 85a3: 0000: 0000: 8a2e: 0370: 7334.
  • Оскільки IPV6 – це новий стандарт, тому провайдери поки в основному працюють на більш поширеному IPV4.
  • DNS працює як в першому, так і в другому стандарті.
  • Кожне число в номері IPV4 називається «октетом», тому що еквівалентно 10 – значному числу з 8-значного (двійкового) числа – 2, використовуваних при маршрутизації мережевого трафіку. Наприклад, октет, записаний як 42, означає 00101010. Кожна цифра в двійковому числі є заповнювачем для деякій мірі двоичности від 2 до 27, читаючи справа наліво. Це означає, що в 00101010 є по одному з 21, 23 і 25. Отже, щоб одержати еквівалент base-10, просто додають 21 + 23 + 25 = 2 + 8 + 32 = 42. Є тільки 256 можливостей для значення кожного октету: числа від 0 до 255.

    Адреси та діапазони IANA

    Вони визначають IANA, як зарезервовані IP-адреси, і означає, що виконують певну роботу в IP. Наприклад, IP-адреса 127.0.0.1 зарезервований для ідентифікації комп’ютера, який використовується в даний час.

    Принцип, як працює DNS у настільному комп’ютері або ноутбуці: IP-адресу виходить від DHCP-сервера мережі. Завдання його — переконатися, що ПК має IP і мережеву конфігурацію, яка йому потрібна, коли користувач підключений до Мережі. Якщо він «динамічний», то IP буде час від часу змінюватися, наприклад, коли вимикають машину.

    Веб-сервери і ПК, яким потрібен постійний контакт, використовують статичні IP, коли один і той же IP-адресу завжди призначається мережного інтерфейсу системи, коли він підключений до Мережі. Щоб останній завжди отримував один і той же IP-адресу, він пов’язує його з MA для цього мережного інтерфейсу. Кожен мережевий інтерфейс, як провідний, так і бездротової, має унікальний MAC від виробника.

    Знаходження IP-адреси

    Один з найшвидших способів знайти IP-адреса – відкрити програму командного рядка в розділі «Стандартні» і ввести команду ipconfig. Після цього можна проаналізувати, як працює DNS і до скількох збільшується швидкість обробки в браузері. Для Mac:

    • відкривають «Системні налаштування»;
    • натискають «Мережа»;
    • переконуються, що вибрано поточне мережеве з’єднання (з зеленою крапкою поруч з ним);
    • натискають «Додатково» і переходять на вкладку TCP/IP.

    Linux або UNIX, якщо в процесі установки ще немає командного рядка, відкривають додаток терміналу, таке як XTERM або iTerm. У командному рядку вводять: ifconfig.

    Для смартфонів з використанням Wi-Fi перегляд налаштування мережі телефону буде змінюватись в залежності від версії апарату і його операційної системи. Звертають увагу на те, що якщо користувачі домашньої або невеликої локальної мережі, адреса, ймовірно, буде мати вигляд 192.168.xx, 172.16.xx або 10.xxx (де x – це число від 0 до 255). Це зарезервовані адреси, використовувані в кожній локальній мережі, за допомогою яких маршрутизатор в цій мережі підключається пристрій до інтернету.

    Авторитетний сервер і рекурсивний розпізнавач

    Обидві концепції мають відношення до серверів, що є частиною цілісної інфраструктури, при цьому кожен з них виконує свою роль і розташований в різних точках DNS. Система дозволяє зрозуміти різницю — рекурсивний розпізнавач на початку, а повноважний сервер – в кінці.

    Рекурсивний розпізнавач — це ПК, відповідає на клієнтський запит, витрачає час, відстежуючи запис DNS. Він виконує це, проходячи серію запитів, до досягнення авторитетного DNS для потрібного запису, якщо мине час, він поверне помилку, якщо вона не знайдена. Кешування — спосіб збереження даних, замикає запити для запису при пошуку DNS.

    Авторитетний DNS-сервер – це сервер, який насправді містить і відповідає за запис ресурсів DNS. Це сервер в нижній частині ланцюжка пошуку DNS, який відповість запитуваної записом ресурсу, що в кінцевому підсумку дозволить веб-браузеру, який виконав запит, досягти IP-адреси, необхідного для доступу до веб-сайту або інших веб-ресурсів. Авторитетний сервер імен може задовольняти запити з своїх власних даних без необхідності запитувати інше джерело, оскільки він є кінцевим місцем для певних записів DNS.

    Існує ключова різниця між багатьма службами DNS і тієї, що надає Cloudflare. Різні рекурсивні перетворювачі DNS, такі як Google DNS, OpenDNS, і провайдери, такі як Comcast, підтримують установку рекурсивних перетворювачів DNS в центрах обробки даних. Ці засоби розпізнавання дозволяють швидко і легко виконувати запити через кластери оптимізованих DNS комп’ютерних систем, але вони принципово відрізняються від серверів імен, розміщених в Cloudflare, яка підтримує сервера імен на рівні інфраструктури, що є невід’ємною частиною функціонування інтернету.

    Алгоритм пошуку

    У більшості випадків DNS стосується перетворення доменного імені у відповідний IP-адресу. Щоб дізнатися, як працює цей процес, корисно простежити шлях пошуку DNS, коли він переміщається з веб-браузера і назад.

    Перелік кроків у пошуку DNS:

  • Користувач вводить example.com у веб-браузер, запит переміщується в інтернет і приймається рекурсивным розпізнавачем DNS.
  • Розпізнавач запитує кореневий DNS-сервер DNS (.).
  • Останній відповідає на розпізнавач адресою DNS-сервера домену верхнього рівня (TLD), наприклад, .com або .net, який зберігає інформацію для своїх доменів. При пошуку на example.com запит вказує на домен .com.
  • Розпізнавач відправляє запит в домен верхнього рівня .com.
  • Сервер TLD відповідає IP-адресою сервера імен домену, example.com.
  • Рекурсивний розпізнавач надсилає запит серверу імен домену.
  • IP-адресу example.com повертається распознавателю з сервера імен.
  • DNS-розпізнавач відповідає веб-браузера IP-адресою назві домену.
  • Після того як DNS повернув IP-адресу example.com, браузер може зробити запит для веб-сторінки, він відправляє HTTP – запит на IP-адресу.
  • Сервер з цим IP-адресою повертає веб-сторінку, яка буде відображатися в браузері.
  • DNS-розпізнавач є першою зупинкою в пошуку DNS і відповідає за взаємодію з клієнтом, який зробив початковий запит. Перетворювач запускає послідовність запитів, яка в кінцевому підсумку призводить до перетворення URL-адреси в необхідний IP-адресу.
  • Три типу DNS-запитів

    Типовий пошук DNS включає три типи. Комбінуючи їх, система включає оптимізацію дозволів DNS через скорочення відстаней. Дані з кеш-записів стають доступними і DNS-сервер імен блокує нерекурсивный запит. Рекурсивний запит чекає від сервера відповідь на запис ресурсу інформацію про помилку, коли розпізнавач не знаходить її.

    Ітеративний запит DNS дозволяє направити кращий відповідь, яка здатна дати система. У випадку, коли сервер не розуміє ім’я запиту, він передає посилання на сервер низькорівневого простору імен домену, а клієнт надсилає запит на реферальний адресу.

    Нерекурсивный запит — коли клієнт розпізнавання запитує у сервера DNS запис з доступом, або вона присутня всередині свого кешу. Як правило, DNS-сервер буде кешувати інформацію для запобігання додаткового використання смуги пропускання і навантаження на вищестоящі сервери.

    Кешування браузера

    Сучасні браузери за замовчуванням призначені для кешування DNS-записів протягом певного періоду часу. Мета тут очевидна: чим ближче кешування DNS відбувається до веб-браузеру, тим менше кроків обробки необхідно зробити, щоб перевірити кеш і зробити правильні запити до IP-адресою. Коли робиться запит на запис DNS, кеш браузера є першим перевіреним місцем розташування для запису. У Chrome можна побачити стан DNS-кеша, набравши в рядку браузера: chrome: // net-internals / # dns.

    DNS-перетворювач рівня операційної системи — це друга і остання локальна зупинка перед тим, як DNS-запит залишає комп’ютер. Процес в ОС, призначений для обробки цього запиту, зазвичай називається «вирішувач заглушки» або DNS-клієнтом. Коли він отримує запит від програми, то спочатку перевіряє власний кеш, щоб побачити, чи є у нього запис. Якщо це не так, то він відправляє запит DNS з встановленим рекурсивным прапором за межі локальної мережі рекурсивного перетворювача DNS всередині постачальника послуг інтернету (ISP).

    Коли рекурсивний розпізнавач всередині провайдера отримує DNS-запит, як і всі попередні кроки, він також перевіряє, чи збережена трансляція хоста в IP-адресу в його локальному постійному рівні. Рекурсивний розпізнавач також має додаткові функціональні можливості в залежності від типів записів в своєму кеші.

    Поширені причини збоїв

    Якщо DNS-сервер працює з помилками і не діє інтернет — ця ситуація еквівалентна спрацьовування пожежної сигналізації. Багато проблем можна вирішити з допомогою деяких методів усунення неполадок браузера. Однак якщо при запуску діагностики Мережі з’являється наступне повідомлення: «Ваш DNS-сервер може бути недоступний», можливо, необхідно виконати додаткове усунення неполадок.

    Є кілька можливих причин, за якими DNS-сервер буває недоступний. Це може бути пов’язано з необхідністю оновлення кешу браузера або збоєм маршрутизатора. DNS-сервер може працювати, але при цьому брандмауер викликає проблеми. Всі вони здатні привести до одного подразнюючій повідомленням про помилку. Проблеми, пов’язані з браузером, мають кілька простих способів виправлень:

  • Іноді всі проблеми з ІТ йдуть після включення/вимикання.
  • Виконання очищення кешу веб-браузера. Якщо оновлення або скидання веб-браузера, не працює, можна спробувати вручну очистити його через налаштування.
  • Можливо, DNS-сервер працює справно, але є проблеми з браузером. Для усунення збою пробують інший, наприклад, Opera або Mozilla Firefox. Якщо інші браузери працюють, то збій може бути пов’язаний з оновленням поточного. Спробують видалити і перевстановити його, щоб вирішити цю проблему.
  • Якщо браузер працює добре, можливо, потрібно звернути увагу на налаштування маршрутизатора або комп’ютера.
  • Якщо були змінені налаштування для використання, наприклад, такої служби, як OpenDNS, то вони могли збитися. Рекомендується дізнатися у провайдера або адміністратора Мережі, якими вони повинні бути, або перевірити сайт OpenDNS на предмет налаштувань сервера.
  • Відключають брандмауер, антивірусні програми.
  • Перезавантажують роутер. Це оновить кеш роутера і допоможе вирішити проблему.
  • Змінюють свій DNS-сервер, можливо, робочий DNS-сервер недоступний, так як він перевантажений, або працює неправильно.
  • Інструменти усунення неполадок

    Проблеми в мережевих обчислень можуть виникати на різних рівнях, наприклад, сервери не настроєні належним чином. Тому існують спеціальні програми, щоб допомогти користувачам самостійно розібратися з ними.

    Чому не працює DNS, легко визначити, використовуючи засоби усунення неполадок, такі як nslookup працюють, як перевірка конфігурації DNS-серверів. Слово nslookup є скороченням від «пошук сервера імен». Це інструмент запитів, який працює як в Windows, так і Linux.

    Найпростіший спосіб використовувати nslookup – це набрати команду з ім’ям домена. Наприклад, запис командного рядка і результати будуть виглядати приблизно так:

    • C: > nslookup www.google.com.
    • Сервер: my.local.dns.server Адреса: 10.10.10.10 Неавторизований.
    • відповідь: Ім’я: www.google.com Адреса: 2607: f8b0: 4002: 80f :: 2004172.217. 4,4.

    У відповіді можна побачити у першому розділі, який сервер він використовує для отримання інформації. У цьому випадку він застосовує локальний DNS-сервер користувача мережі. Це може бути маршрутизатор або провайдер, або навіть внутрішній корпоративний DNS-сервер. У другому розділі видно, що отриманий неавторизований відповідь. Це не те, про що потрібно турбуватися, а просто означає, що сервер, що дає відповідь, є рекурсивным розпізнавачем DNS, що дуже часто зустрічається.

    Також можна перейти в інтерактивний режим, ввівши nslookup в командному рядку. Підказка зміниться на «>». Тут можна ввести доменне ім’я напряму. Якщо не працює DNS, а що робити користувач не знає і його не влаштовує пошук і усунення несправностей в командному рядку, є й інші доступні варіанти. Сайт DNSStuff пропонує багато інформації, якщо просто набрати доменне ім’я. Тут надається безкоштовний інструментарій, який пропонує безліч можливостей для аналізу. Його звіт DNS, наприклад, дає оцінку проходження/невдачі для різних тестів.

    Якщо не працює інтернет DNS-сервер і основний інтерес користувача полягає в усуненні неполадок поштового сервера, MXToolbox може бути місцем для початку усунення збоїв і може багато чого розповісти про те, що функціонує, а що ні.