Как работает DNS сервер.

Автор: · Дата: 21 Декабрь 2012 · 3 комментария

Березовская А. Э.      

группа РР-11

                                                                              

Первоочередной задачей DNS сервера является обеспечение трансляции доменных имен в ip адреса. И для большинства пользователей знания о работе DNS-сервера на этом заканчиваются. Но если вдруг вам придется поднимать в локальной сети свой DNS-сервер или отлаживать сеть, в которой провайдер выделил какой-то блок “честных” адресов, то очень быстро всплывут всякие страшные слова, такие как зона, форвардер, трансфер, и другие. Поэтому в этой статье мы чуть более подробно поговорим о работе DNS.

 У каждого компьютера в сети интернет есть IP адрес. На некоторых – доменное имя. Однако IP-адресов у компьютера может быть несколько (у каждого интерфейса свой адрес, так же несколько адресов могут находиться на одном интерфейсе), а доменных имен может быть множество на отдельно взятом IP адресом. Доменные имена могут связываться как с одним, так и с несколькими IP-адресами. Для пользователей, которые никогда не связывались с понятием DNS сервера, все вышесказанное – это не более чем набор слов.
Как было сказано выше, основной задачей DNS-сервера является обеспечение трансляции доменных имен в IP адреса и обратно. Во времена становления Интернета (когда он еще был ARPANET-ом) данная задача решалась путем ведения списков, включающих все компьютеры в сети. Копия такого списка должна была находится на каждом компьютере в сети. С ростом численности компьютеров в интернете, размеры файлов все увеличивались, а в связи с тем, что списки необходимо было синхронизировать, данная технология перестала удовлетворять кого бы то ни было. В качестве примера такого списка можно привести файл HOSTS (и в UNIX, и в Windows), в котором можно прописывать адреса серверов, с которыми вы регулярно работаете. На данный момент файл HOSTS используется т.н. ускорителями Интернета. Эти программы записывают адреса серверов, к которым вы обращаетесь, в файл HOSTS и при следующем запросе берут данные из файла, не тратя время на запрос к DNS-серверу.
Вместо такой неудобной схемы была предложена иерархическая структура имен – DNS. Основанием данной иерархической структуре имен т.н. “корень дерева” является точка(“.”) . Корень един для всех доменов. Как правило, при вводе URL, точка в конце адреса не ставится, однако она используется в описаниях DNS. Здесь точку ставить необходимо. Ниже корня лежат домены первого уровня(зоны). Их немного — com, net, org, mil, biz, info, gov (есть еще несколько) и домены государств, например, ru. Еще ниже находятся домены второго уровня, например, bijid.ru. Еще ниже — третьего и т.д. Уровни разделяются точками.


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

Далее запрос начинает спускаться вниз от корневого сервера к серверу первого уровня, тот — серверу второго уровня и т.д
Выше было сказано, что при регистрации выделяются два DNS сервера. Первичный(Primary) и вторичный(Secondary). Это минимум. Вторичных серверов может быть и больше. Данное положение продиктовано с целью безопасности.
DNS сервера бывают рекурсивными и нерекурсивными. Рекурсивные сервера всегда возвращают пользователю ответ. То есть, они самостоятельно опрашивают другие DNS сервера. Рекурсивные сервера удобно использовать в локальных сетях. Они кэшируют промежуточные ответы, таким образом, при последующих запросах ответы будут возвращаться намного быстрее. Нерекурсивные сервера возвращают пользователю все отсылки, так что клиент должен самостоятельно опрашивать указанный сервер. Нерекурсивные сервера обычно стоят на верхних ступенях иерархии. Они получают много запросов, а для кэширования требуются много ресурсов. Таким образом, кэширование на таких серверах не проводится.

 Для ускорения разрешения имен используются так называемые пересыльщики (forwarders). Умение использовать пересыльщиков, является полезным свойством DNS. Если скорость подключения к сети интернет довольно медленна (к примеру, подключение dial-up), классический процесс опроса dns серверов может занять длительное время. Вместо этого можно перенаправлять все запросы, например, на сервер провайдера, а затем принимать его ответ. Использование пересыльщиков может оказаться полезным при использовании нескольких сетей. В каждой сети можно использовать относительно слабый DNS сервер, указав в качестве пересыльщика более мощный сервер, подключенный по “быстрой” линии. В этом случае все ответы будут кэшироваться на мощном сервере. Это ускорит разрешение имен для целой сети.

Элементы базы DNS часто называют Resource Record (сокращенно RR). Базовый формат записи выглядит так: [имя] [время] [класс] [тип] [данные]

[Имя] бывает абсолютным (FQDN — Fully Qualified Domain Name) и относительным. Абсолютное имя заканчивается точкой (помните про “корень дерева”?). Если же имя указать без точки в конце, это имя будет считаться относительным и нему автоматически добавляется имя текущего домена. Например, если в домене bijid.ru я опишу имя “domain”, то полное имя будет интерпретироваться как “domain.bijid.ru.”(с точкой в конце). Если это имя указать как “domain.bijid.ru” (без точки в конце), то оно будет считаться относительным и будет интерпретировано как ” domain.bijid.ru.bijid.ru.” Так что аккуратней с точками!

[Время.] Задает интервал времени, в течение которого данные могут сохраняться в кэше сервера. Данный параметр указывается в секундах.

[Класс] – определяет класс сети. В большинстве случаев это будет IN, ( INternet).

[Тип] – может быть одним из следующих:

  •  SOA — определяет DNS зону
  •  A — преобразование имени в IP-адрес
  •  NS — сервер имен для зоны
  •  MX — почтовая станция
  •  CNAME — имена машины
  •  HINFO — описание “железа” компьютера
  •  PTR — преобразование IP-адреса в имя
  •  TXT — комментарии или какая-то другая информация

Порядок записей не имеет значения за исключением SOA. Запись SOA должна быть первой. Как правило, после записи SOA указывают записи DNS-серверов, а остальные записи располагают по алфавиту, но это не обязательно. Если запись SOA встретится вновь, последующие записи будут относится уже к другой зоне.

 

Работа DNS сервера

 

Популярность: 18%

Рубрика: Новини ·  

Комментарии

  1. Дмитрий:

    Хорошо.
    10

  2. Na7tya:

    Вроде бы все.

  3. Дмитрий:

    Пока что 5 из 10.
    1. Ссылки с миниатюр нужно поправить так, чтобы они указывали на полноразмерные картинки.
    2. Текст читать очень тяжело. Разбей его на разделы, дай подзаголовки, форматируй.
    3. Объем желательно сократить – слишком много букв не всегда хорошо.



Оставить комментарий или два

Пожалуйста, зарегистрируйтесь для комментирования.