служба dns
Служба мережевих імен (Domain Name System - DNS) - це глобальна розподілена база даних, побудована на основі ієрархічної структури доменів. Для роботи DNS використовує протокол TCP або UDP через 53 порт. Традиційно запити і відповіді відправляються у вигляді однієї UDP датаграми. Якщо відповідь більше 512 байт або відбувається синхронізація даних між базами DNS-серверів, то використовується протокол TCP.
Служба DNS передбачає, що кожен комп'ютер підключається до глобальної мережі з будь-якого домену Internet. При цьому кожен домен має сервер імен (NS - nameserver, він же DNS-сервер для конкретного домену), який веде базу даних всіх хостів в своєму домені і обробляє запити про імена хостів. Коли домен стає занадто великим для управління з однієї точки, частина прав може бути делегована Субдоменів (піддоменів), що дозволяє зменшити навантаження на DNS-сервер.
Як і більшість сервісних служб Internet, служба DNS працює за технологією «клієнт-сервер».
Існує три різновиди таких серверів:
Первинний DNS-сервер (провідний, master або primary).
Вторинний DNS-сервер (ведений, slave або secondary).
Кешуючий DNS-сервер (caching-only).
При підключенні до існуючої мережі (наприклад, новий підрозділ підключається до корпоративної мережі підприємства) досить мати кешуючий сервер. Запит на визначення імені зазвичай не йде далі кеша DNS, в якому «осідають» на обмежений час відповіді на запити, що проходили через кеш раніше.
У службі DNS разом з поняттям «домен» широко застосовується поняття «зона». Ці два поняття слід чітко розрізняти: домен - це піддерево дерева доменних імен, азон - це частина дерева, за яку відповідає той чи інший DNS-сервер.
За кожну зону DNS відповідають не менш двох серверів: один є первинний, інші - вторинні.
Первинний сервер містить оригінальні файли з базою даних DNS для своєї зони. Вторинні сервери отримують ці дані по мережі від первинного сервера і періодично запитують первинний сервер на предмет поновлення даних (ознакою оновлення даних служить збільшення серійного номера в запису SOA). При виникненні змін даних на первинному сервері, вторинний сервер запитує «передачу зони» ( «zone transfer») - тобто бази даних необхідної зони. Передача зони відбувається за допомогою протоколу TCP, порт 53 (на відміну від запитів клієнтів, які направляються на UDP порт 53).
Зміни в базу даних DNS можуть бути внесені тільки на первинному сервері. Вторинні сервери підвищують надійність роботи первинних DNS-серверів (виключають можливість порушення роботи мережі в разі їх відмови) і беруть на себе частину навантаження з обслуговування запитів.
З точки зору обслуговування клієнтських запитів первинний і вторинні сервери видають ідентичні відповіді. На практиці рекомендується, щоб первинний і вторинні сервери перебували в різних мережах - для збільшення надійності обробки запитів на випадок, якщо мережа одного з серверів стає недоступною. Сервери DNS не зобов'язані перебувати в тому домені, за який вони відповідають.
Слід також зазначити, що вторинний сервер необов'язково отримує дані безпосередньо з первинного сервера; джерелом даних може служити і інший вторинний сервер. У будь-якому випадку сервер-джерело даних для даного вторинного сервера називається «головним» ( «master»).