29 декабря 2021 г.
Время чтения: 3 минуты

Появление DNS и принцип её работы

К началу 80-х годов XX века ARPANET — прообраз современной Internet — достигла таких размеров, что игнорировать вопрос об адресации сообщений внутри сети стало невозможно. Чтобы отправить сообщение с одного компьютера на другой, пользователь должен был не только скачать файл со списком всех подключённых к сети компьютеров, но и самостоятельно прописать путь движения сообщения от одного узла к другому.

Этот путь имел примерно такой вид: utzoo!decvax!harpo!eagle!mhtsa!ihnss!ihuxp!grg

Файл HOSTS.TXT с именами и адресами всех подключённых к сети компьютеров хранился на сервере Стэнфордского университета в единственном экземпляре. Новые компьютеры добавлялись в этот список вручную: новый пользователь должен был позвонить в рабочее время в Сетевой Информационный Центр и попросить присвоить его компьютеру имя, адрес и добавить их в файл.

Появление системы доменных имён

Решение проблемы предложили одни из создателей сети ARPANET — Пол Мокапетрис и Джон Постел в 1983 году. Они разработали теоретическую концепцию и указания по практической реализации системы доменных имён (Domain Name System).

Эта система должна была работать на серверах внутри сети и преобразовывать доменные имена в IP-адреса, к которым они привязаны. Это автоматизировало бы отправку сообщений внутри сети и облегчило бы пользователям запоминание необходимых адресов.

В 1984 году группа студентов из университета Беркли предложила один из первых вариантов программного обеспечения для DNS-сервера — Berkeley Internet Name Domain (BIND). Он до сих пор остаётся одним из самых популярных ПО для работы DNS-серверов и используется в том числе на корневых DNS-серверах, поддерживающих работу всей структуры DNS.

По словам владельца компании Internet Systems Consortium (некоммерческая организация, поддерживающая работу инфраструктуры Internet), до 2000 года BIND так или иначе опирался на изначальный код, написанный теми самыми студентами в 1984 году.

Как устроена DNS

DNS (Domain Name System — система доменных имён) — это иерархически организованная система серверов, хранящих информацию о доменных именах и привязанных к ним IP-адресах.

Каждый сервер в системе отвечает за определённый уровень или ветку доменных имён.

В памяти DNS-сервера хранится следующая информация:

  • какие домены привязаны к IP-адресам в его зоне ответственности;

  • NS-записи со ссылками на другие DNS-сервера;

  • другая служебная информация.

Также в кэш-памяти каждого DNS-сервера хранится информация о доменных именах и их IP-адресах, которые не принадлежат к зоне ответственности этого сервера, но к которым недавно обращались из его зоны.

Как работает DNS

Когда компьютер обращается к определённому доменному имени — скажем, Jino.ru — он отправляет запрос к DNS-серверам провайдера, который обеспечивает ему доступ в сеть. DNS-серверы провайдера проверяют, есть ли в их кэш-памяти такое доменное имя. Если да, то они отправляют обратно нужный IP-адрес. Далее компьютер связывается с сервером, на котором расположен сайт.

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

Корневые серверы не хранят записи об IP-адресах и привязанных к ним доменах, но они хранят NS-записи — ссылки на DNS-серверы с необходимой информацией. Так запрос движется дальше по цепочке из NS-записей к серверу с нужной информацией.

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

Проблемы в работе DNS

Проблемы могут возникнуть при переносе доменов по следующим причинам:

  1. NS-записи на серверах обновляются не моментально. Это значит, что после переноса домена некоторое время корневые DNS-серверы ведут запросы пользователей к старому серверу, на котором сайта больше нет.

  2. Обновление кэш-памяти DNS-серверов происходит раз в несколько часов. Если за это время сайт переехал на другой хостинг, то все пользователи, у кого не обновился кэш DNS-серверов, будут также попадать на старый сервер.

Обычно эти проблемы решаются в течение нескольких часов без вмешательства пользователя. База данных DNS и кэш-память DNS-серверов провайдера обновляются, и пользователи получают доступ к искомым сайтам.

Запомнить

DNS — это система, которая облегчает адресацию в интернете.

Система была разработана в 1983 году.

В памяти DNS хранится информация о доменных именах и привязанных к ним IP-адресах.

Проблемы в работе DNS могут появиться в момент переноса сайтов, но всё решается в течение нескольких часов и без вмешательства пользователя.

Отправка электронных писем с помощью библиотеки PHPMailer языка PHP

30 важных инструментов для фронтенда. Часть 3

Рекомендуем

Домен .SALE: как купить его за 790 ₽ и для каких сайтов использовать

Защита PHP-сайта: зачем подключать услугу «Антивирус для PHP-сайтов» на хостинге

© Джино, 2003–2024. «Джино» является зарегистрированным товарным знаком.
Лицензия на телематические услуги связи № 150549 от 09.03.2017.
Правовая информация Политика конфиденциальности Карта сайта