Система доменных имен DNS — зачем это нужно

В интернете для компьютеров используются ip-адреса, но людям с ip-адресами работать неудобно. Например, вряд ли вы скажете, что означает вот этот ip-адрес 77.88.55.66, а если адрес в формате ipv6 (2a02:6b8:a::a), то его запомнить еще сложнее. Для людей гораздо удобнее работать с символьными именами, например www.yandex.ru, вполне понятное имя для людей, сразу можно понять что это веб-сервер компании Яндекс.

Зачем нужен DNS

Система доменных имен позволяет использовать вместо ip-адресов понятные для человека символьные имена компьютера, она также позволяет по этому символьному имени определить ip-адрес.

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

DNS по английский Domain Name System — это протокол прикладного уровня стека протоколов tcp-ip.

DNS в стеке протоколов TCP

Утилита nslookup

Узнать ip-адрес компьютера по его доменному имени можно с помощью утилиты nslookup.

Здесь представлен пример её использования:

nslookup www.yandex.ru

Сервер: dc1.imm.uroran.ru

Address: 172.19.132.29

Не заслуживающий доверия ответ:

www.yandex.ru

Addresses: 2a02:6b8:a::a

77.88.55.55

77.88.55.66

5.255.255.5

5.255.255.55

Другие утилиты (Linux)

  • Hots
  • Dig

Пишем nslookup и интересующие нас доменное имя (www.yandex.ru). Получаем ответ, что доменному имени www.yandex.ru соответствует сразу четыре ip-адреса (77.88.55.55 и так далее). Также есть еще один адрес ipv6 (2a02:6b8:a::a).

Для того чтобы попасть на веб-сервер Яндекса, можно подключиться к любому из представленных выше ip- адресов.Здесь мы видим еще одно преимущество системы DNS, если на наш сервер обращается большое количество клиентов, который один компьютер обработать не способен, мы можем создать несколько серверов и в систему DNS прописать, что он наш домен и обслуживает несколько серверов.

Для того чтобы получить доступ к веб-серверу компании Яндекс, можно обратиться к любому из этих серверов. Утилитой nslookup преимущественно используется под Windows, в Linux и Unix используются другие утилиты, такие как Host и Dig. Таким образом система DNS по доменному имени компьютера позволяет определить его ip-адрес, вопрос заключается в том, как это удается сделать в масштабах всей сети интернет, в которой огромное количество компьютеров и постоянно происходят изменения.

Файл /etc/ hosts

До того как придумали систему DNS, к наименованию компьютеров использовали другой подход, имена компьютеров и соответствующие им ip- адреса хранились в обычном текстовом файле.

Этот файл в системах Unix и Linux называются Linux/Unix/etc/hosts, в Windows похожий файл тоже есть, только он находится по другому пути. Windows: C:\Windows\System32\drivers\etc\hosts. Такой подход работал на заре создания сетей tcp-ip, когда компьютеров было мало, все компьютеры и их ip-адреса можно было перечислить в одном файле, который хранился на центральном сервере имен, остальные компьютеры подключались к этому серверу и загружали файл.

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

Особенности DNS

При создании системы DNS было решено что это принципиально децентрализованная система. Децентрализованная как на техническом уровне, то есть нет одного сервера на котором хранятся все имена всех компьютеров в сети, так и на административном уровне. Название компьютеров делится на отдельные части, домены, и за имена компьютеров в разных доменах отвечают разные организации. Также для системы DNS очень важна надёжность, поэтому серверы DNS дублируются.

 Структура доменного имени

Вместо обычных имен компьютеров, которые состоят из одного слова в системе DNS используются доменные имена. Имя компьютера состоит из нескольких частей, которые отделены друг от друга точками. Например, веб-сервер сайта о Мобильной связи и Технологиях имеет следующие имя www.zvondozvon.ru. Имя состоит из следующих частей ru это домен верхнего уровня, следующий домен отделён от него точкой zvondozvon домен второго уровня, и последний компонент www это имя компьютера в домене второго уровня.

Корневой домен

Важным элементом доменного имени, которое обычно не пишут, является корневой домен, он указывается точкой в конце. Если вы не укажете точку, то ничего страшного не произойдет, она подразумевается в конце каждого доменного имени.

DNS доменное имя

Дерево доменных имен

Доменные имена образуют дерево. Корнем дерева является корневой домен, который представлен точкой. Затем идут домены верхнего уровня, которые бывают трех типов:

Дерево доменных имен DNS

  1. Домены для различных типов организаций, которые используются, как правило внутри США (org, com, net). Домен org для некоммерческих организаций, com для коммерческих организаций, net для организации связанных с компьютерными сетями, есть также и другие домены.
  2. Тип доменов верхнего уровня, домены для стран. Каждая страна имеет свой домен. Домен Россия ru, домен Великобритании uk, и относительно недавно появились новые типы доменов верхнего уровня в которых можно использовать не только символы английского алфавита. Для России это домен рф.
  3. Затем идут домены второго уровня, например cisco.com, yandex.ru или яндекс.рф русскими буквами.
  4. На третьем уровне могут находиться, как домены следующего уровня их называют поддомены или адреса компьютера в домене второго уровня. Например, в домене yandex.ru есть компьютеры с адресами www.yandex.ru веб-сервер компании yandex, maps.yandex.ru сервер яндекс карт, такси.yandex.ru сервер яндекс такси и большое количество других серверов.

Доменная зона

Важным понятием в системе DNS является доменная зона. Это запись адресов всех компьютеров и всех поддоменов в некотором домене.

Доменная зона

Корневая доменная зона содержит записи всех поддоменов первого уровня (org com net ru uk рф). Зона ru содержит записи всех доменов второго уровня (yandex urfu), зона urfu.ru записи всех поддоменов и всех компьютеров в домене urfu, и вот здесь еще показаны две отдельные зоны для разных институтов urfu, институт естественных наук (ins) и институт математики и компьютерных наук (imkn). Эти зоны содержат DNS-записи, о компьютерах соответствующих институтов.

Доменная зона является некоторым аналогом файла itc/hosts только в ней содержится не вся информация об именах компьютерах в сети, а некоторый ее фрагмент. Доменные зоны распределены по серверам DNS. Одну и ту же доменную зону может обслуживать несколько серверов DNS.

Например, корневую зону обслуживают больше всего серверов, так как к ним больше всего запросов. Все корневые серверы DNS содержат одинаковые записи. Зону ru также обслуживает несколько серверов DNS, у которых одна и та же база данных записи и доменов второго уровня.

Необязательно иметь выделенные DNS сервер для каждой доменной зоны, например DNS-сервер urfu может обслуживать зоны urfu.ru и ins.urfu.ru, а институт математики и компьютерных наук может иметь свой выделенный DNS сервер, который будет обслуживать зону imkn.urfu.ru.

Важным понятием в системе DNS является делегирование. Например DNS-сервер urfu отвечает за зону urfu.ru, но только часть информации об этой зоне хранится непосредственно на этом сервере, то что относится к urfu.ru и ins.urfu.ru. А для зоны imkn.urfu.ru создан отдельный сервер, таким образом сервер urfu.ru делегирует полномочия управления под доменом imkn.urfu.ru другому серверу. Чтобы было возможно делегирование на DNS сервере urfu.ru делаются соответствующие конфигурационные записи, которые указывают на DNS-сервер ответственный за зон, в нашем случае imkn.urfu.ru.

Инфраструктура DNS

Инфраструктура системы доменных имен состоит из следующих компонентов.

Инфраструктура DNS

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

Распределение доменных имен

Точно так же как с ip-адресами, нельзя использовать такие DNS имена, какие вам вдумаются. Распределением доменных имен занимаются специализированные организации, которые называются регистраторами. Регистратором корневого домена является организация и ICAN, та же самая организация которая распределяет ip-адреса. С ICAN   взаимодействует регистраторы зон первого уровня, например, org, com или рф, и которые занимаются распределением доменов второго уровня.

Зоны ru и рф

Для российской зоны ru до 2001 года был всего один регистратор доменных имен, это Российский Научно-Исследовательский Институт развития общественных сетей. Но в 2001 году регистраторов стало несколько и база данных зоны ru стала распределенной. Для координации работы регистраторов была создана некоммерческая организация Координационный центр национального домена сети Интернет.

Регистрация домена

Регистрация доменов это услуга которая доступна за небольшую плату, как организациям такие обычным людям, можно зарегистрировать себе домен, причем не только в зоне ru но и в других зонах первого уровня.

Например у меня есть домен для моего персонального сайта в зоне ru, nurmaganov.ru и домен моего сайта о мобильной связи и технологиях zvondozvon.ru.

Видео о выборе доменного имени для сайта

Здесь я оставлю свою видео о том, как нужно выбирать доменное имя, если Вы хотите создать свой собственный сайт.

Ссылка на основную публикацию