Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #69, СЕНТЯБРЬ 2004 г.

DNS. Копаем глубоко

B!rd Feathery

Xakep, номер #069, стр. 069-026-2


Все пространство имен DNS имеет древовидную структуру и называется деревом доменов. Корнем дерева является точка. Из корня «вырастают» домены первого уровня (RU, COM, NET, INFO и т.д.). У них, в свою очередь, есть свои «дети»: yandex.ru, icq.com, php.net и т.д. Одна половина дерева доменов содержит сведения для преобразования имен в IP-адреса, а другая, наоборот, - IP-адресов в имена хостов. В первом случае говорят о прямом преобразовании, а во втором - об обратном. Соответствующие названия носят и файлы: файл зоны прямого и обратного преобразования.

По идее, чтобы указать, что доменное имя является абсолютным, а не связанным с некоторым доменом, отличным от корневого, в конце имени нужно ставить точку. Если твоя машина имеет имя «servak» в домене domain.ru, и существует хост ya.ru.domain.ru (вот такое длинное имя - домен четвертого уровня), то запрос с твоей машины по адресу ya.ru приведет вовсе не на сервер Яндекса, а на хост «ya.ru.domain.ru». Чтобы попасть на настоящий сервер Яндекса, нужно писать «ya.ru.» (с точкой в конце). Но такая ситуация с конфликтами доменных имен крайне маловероятна, в особенности для обычного пользователя. Поэтому на точку почти всегда забивают.

Один компьютер может иметь несколько имен. К примеру, имена server.com и www.server.com имеет одна и та же машина. Вообще, называть хосты в соответствии с теми функциями, которые они выполняют, - очень распространенная практика: www.server.com, ftp.server.com, mail.server.com. Кроме того, бывает так, что одно и то же имя соответствует (резолвится) разным адресам. К примеру, имя mx1.yandex.ru имеют несколько разных серверов. Это сделано для того, чтобы распределить нагрузку между всеми компьютерами и избежать обвала сервера под шквалом обращений к нему.

Девушки бывают разные

Сейчас я расскажу о том, какие бывают DNS-серверы и какие функции они могут выполнять. Серверы различаются по источнику данных (авторитетный, кэширующий, главный, подчиненный), пути прохождения запроса (переадресующий), типу выдаваемого ответа (рекурсивный, нерекурсивный) и нескольким другим параметрам.

В каждой зоне (зоной называется домен без своего поддомена) обязательно должны присутствовать как минимум два сервера.

Эти серверы называются авторитетными. Администратор домена заносит в них информацию об именах машин внутри зоны (грубо говоря, о всех компьютерах с адресами бла-бла-бла.имя.ком), и эта информация признается официальной и единственно правильной. Отсюда и название - авторитетный. Один из серверов получает статус главного. Именно его база корректируется, когда админу надо добавить или изменить какие-нибудь хосты внутри домена. Второй сервер обязательно подчиненный. Он хранит точную копию базы с первого сервера и нужен для повышения надежности. Если главный сервер почему-то недоступен, обращения идут к подчиненному. Админу нет необходимости вручную корректировать базу подчиненного сервера. База сама периодически обновляется с главного сервера посредством протоколов DNS. Такая операция называется зонной пересылкой.

Назад на стр. 069-026-1  Содержание  Вперед на стр. 069-026-3