Що таке DNS і IP-адреса і як це працює?

Поширити

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

Що таке DNS?

Поняття DNS розшифровується як Domain Name System, або, по-російськи, Система Доменних Імен. Даний інструмент використовується як засіб перетворення доменних імен в IP-адреси в момент відправлення запиту на сервер. І на додаток до основного функціоналу, DNS є сховищем цих обмінних даних.

Узагальнивши, DNS можна розглядати як регістр відвідуваності різних веб-сайтів. У ньому зберігаються доменні імена і їх IP (Internet Protocol).

Історія DNS

Витоки DNS беруть свій початок у часи ARPANET, коли база даних інтернету складалася всього з декількох комп’ютерів. У ній був присутній текстовий файл “hosts.txt”, який підтримувався Стенфордським науково-дослідним інститутом і використовувався для зберігання інформації і спілкування між усіма існуючими ПК.

Трохи пізніше, в 1983 році, Джон Постел звернувся до Пола Мокапетріс з ідеєю створення чогось схожого на те, яким ми зараз бачимо DNS. Результатом роботи стала служба BIND для машин Unix (Berkeley Internet Name Domain, 1984р), спроектована чотирма студентами: Дугласом Террі, Марком Пейнтера, Девідом Ріггл і Сонгняном Чжоу. У 1985 році був здійснений перехід на мультіплатформа і почалося формування DNS вже у всіма відомій Windows.

Принцип роботи DNS

Найпростіший спосіб пояснити принцип роботи DNS – провести паралель. І немає кращого паралелі, ніж модель функціонування готелю.

Уявіть, що вам потрібно відвідати друга в готелі. Ваші наступні дії? Ви набираєте номер ресепшена і питаєте у адміністратора номер кімнати одного. Для цього обов’язково потрібно назвати його ім’я, щоб адміністратор міг знайти вашого товариша в базі даних і зателефонувати йому з оповіщенням, тим самим дізнавшись доступний він чи ні.

Проводячи паралель готелю з DNS, ми отримуємо наступну картину: ви – клієнт, який посилає запит на DNS сервер, який є адміністратором; клієнт надає інформацію щодо імені товариша – це доменне ім’я, і ​​номер його кімнати – IP-адреса.

Грубо кажучи, коли ви набираєте в браузері адресу сайту, браузер посилає запит на DNS-сервер і перевіряє чи зареєстрована ім’я в базі даних. Отримавши позитивний результат, сервер відповідає вам IP-адресою сайту, до якого ви намагаєтеся отримати доступ. Умовний вид IP-адреси: 123.456.789.10 .

Поглиблюємо знання. Доменне ім’я та IP-адреса

Для прикладу розглянемо доменне ім’я www.google.com . Схема идентифицирования адрес працює за принципом “справа-наліво”. На самому початку DNS-сервер проаналізує домен, який в даному випадку носить назву com , що означає commercial або, по-російськи, комерційний . Такий домен належить до доменів верхнього рівня. Далі проводиться робота над google , який є Субдоменів (піддомен). Точка ж використовується для поділу доменів від субдоменів. Повне доменне ім’я може складатися з 253 символів.

Якщо вам раптом знадобиться дізнатися доменне ім’я, зареєстроване на певний IP-адреса, робота буде знову проходити через DNS-сервер. Наприклад, ви відправили IP-адреса 31.13.79.246 . Спочатку сервер обробить цифри 31 , потім 13 , 79 і нарешті 246 , на яких він визначить, що IP-адреса належить ресурсу www.fb.com .

У DNS існує своя ієрархічна структура. Чимось вона може нагадати біологічну, але все ж вона комп’ютерна та тут є певні відмінності. У комп’ютерних структурах даних існує древо, в якому адреса 31 займає верхню позицію і є первинним доменом ; адреси же 13, 79 і 246 є послідовними субдоменами . Будучи завершальним ланцюжок, номер 246 є адреса серверної машини на якій розташований ресурс www.fb.com .

Еволюція DNS

На старті розвитку, основний файл бази даних підтримувався головним сервером, який вимагав ручного поновлення після кожного нового запиту і далі відбувалося копіювання отриманої інформації на інші сервера. З ростом кількості сайтів навантаження зростала і незабаром головний сервер почав втрачати свою ефективність і постало гостре питання автоматизації процесу. Це і стало стартом розвитку DNS.

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

В процесі розвитку розробники ввели систему спілкування серверів “Начальник – Підлеглий”. У ній головний сервер веде базу даних, а сервер-підлеглий зайнятий лише копіюванням її інформацією, підтримуючи можливість своєчасного оновлення. Для полегшення динамічних апдейтів ввели механізми NOTIFY і IXFR .

У NOTIFY, коли головний сервер оновлює базу даних, він посилає повідомлення підлеглим серверам, які потім копіюють всю інформацію. IXFR ж усуває необхідність копіювання всієї БД кожен раз при створенні нових записів. Це істотно прискорює динамічний процес оновлення.

Алгоритми поведінки DNS

Як ми говорили в попередніх статтях, DNS проводить перетворення доменних імен в IP-адреси в момент відправлення запиту на сервер. Способів таких перетворень існує два: рекурсивний і ітеративний.

  • Рекурсивний:
    В цьому випадку відбувається повне перетворення імені в IP-адресу. Якщо в DNS присутня інформація про ресурс і можливості доступу до нього, він відповість клієнтові позитивно. Якщо ж DNS не знаходить потрібної інформації, то він переходить до ітеративним запитам.
  • Ітеративний:
    В даному випадку відбувається перетворення тільки частини імені. Наприклад, у випадку з сайтом www.google.com , спочатку DNS виконує запит до сервера домена com , а потім тільки до поддомену google . Тобто, відбувається поступова обробка інформації.

DNS кеш

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

Вразливості DNS

Як і будь-яка інша система чи служба, DNS також має свої уразливості.

  • Отруєння кеша DNS:
    Дана уразливість виражається в підробці DNS. Вона часто використовується зловмисниками для зміни даних кеша і правильності розпізнавання IP-адрес. Таким чином користувач може бути переадресовано на шкідливий сайт, де згодом може отримати вірус на свій комп’ютер.
  • Фішингові атаки:
    Такі атаки можуть бути сплановані за рахунок візуального подібності деяких символів на екрані користувача. Наприклад, буква б і цифра 6 виглядають однаково, користувач клацає на них і отримує переадресацію на шкідливий сайт.

Використання призначених для користувача DNS-серверів

У деяких випадках DNS-сервер втрачає свою продуктивність і відкриття сторінок тих чи інших сайтів займає цілу вічність. В цьому випадку є сенс задуматися над використанням призначених для користувача DNS.

Популярні DNS сервера

Google Public DNS:

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

8.8.8.8 і 8.8.4.4

OpenDNS:

Це приватна компанія, що надає безкоштовні і надійні DNS-сервера.

208.67.222.222 і 208.67.220.220

висновок

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

Залишити відповідь

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.