Довідка та теорія
Система доменних імен (DNS) — це телефонна книга
інтернету: вона зіставляє зрозумілі людині імена, як-от
www.example.com, з IP-адресами, як-от
93.184.216.34. Жоден окремий сервер не зберігає всі
імена — база даних розподілена в ієрархії.
Рекурсивний пошук
- Стаб-резолвер вашого пристрою звертається до рекурсивного резолвера (часто ваш провайдер або 1.1.1.1).
-
Резолвер питає кореневий сервер, який вказує на
TLD-сервер зони
.com. -
TLD-сервер вказує на авторитетний сервер для
example.com, який повертає IP.
Кешування з TTL
Кожна відповідь несе час життя (TTL). Резолвер кешує її, тож повторні запити отримують миттєву відповідь без повторного обходу ієрархії. Коли TTL спливає, запис видаляється, і наступний запит — це повний пошук.
Чому це важливо
Кешування — це те, що тримає DNS швидким і захищає кореневі сервери від перевантаження. Короткий TTL дозволяє записам швидко змінюватися (корисно для відмовостійкості); довгий TTL максимізує влучення в кеш і зменшує навантаження.
Типи записів і ітеративний vs рекурсивний
DNS несе багато типів записів — A,
AAAA, MX, CNAME,
TXT. Резолвер робить ітеративні запити до
кожного сервера, а вашому пристрою дає єдину
рекурсивну відповідь.
Поширені запитання
Що таке DNS?
DNS, система доменних імен, — це довідник інтернету. Вона перетворює зрозумілі людині доменні імена, як-от www.example.com, на числові IP-адреси, які комп'ютери використовують для з'єднання.
Що таке рекурсивний пошук DNS?
Рекурсивний пошук — це коли резолвер виконує всю роботу за вас: він по черзі опитує кореневі, TLD та авторитетні сервери й повертає єдину остаточну відповідь вашому пристрою.
Який порядок опитування серверів DNS?
Стаб-резолвер питає рекурсивний резолвер, який питає кореневий сервер, потім відповідний TLD-сервер, потім авторитетний сервер домену, що повертає IP-адресу.
Що таке кешування DNS?
Кешування зберігає недавні відповіді, тож повторні запити можуть отримати миттєву відповідь без повторного обходу ієрархії серверів. Це робить DNS швидким і зменшує навантаження на вищі сервери.
Що таке TTL у DNS?
TTL, або час життя, — це те, як довго кешований запис залишається дійсним. Після спливання запис видаляється, і наступний запит запускає свіжий повний пошук.
Чому перший пошук триває довше?
Перший пошук — це промах кешу, тож резолвер має звернутися до кореневих, TLD та авторитетних серверів. Після кешування повторні запити того ж імені — це майже миттєві влучення в кеш.
Що таке кореневий сервер DNS?
Кореневий сервер стоїть на вершині ієрархії. Він не знає окремих адрес, але вказує резолверу на правильний сервер домену верхнього рівня, як-от той, що для .com.
Що таке авторитетний сервер DNS?
Авторитетний сервер зберігає фактичні записи домену. Це остаточне джерело істини, що повертає IP-адресу для імені, як-от example.com.
Слід використовувати короткий чи довгий TTL?
Короткий TTL дозволяє записам швидко змінюватися, що допомагає відмовостійкості, але збільшує навантаження запитами. Довгий TTL максимізує влучення в кеш і зменшує навантаження, але уповільнює поширення змін.
Які типи записів використовує DNS?
Поширені типи включають A та AAAA для адрес IPv4 та IPv6, MX для пошти, CNAME для псевдонімів і TXT для довільного тексту, як-от записи верифікації.