Light-electric.com

IT Журнал
5 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Система доменных имен dns

Как работает DNS (domain name system)?

Что такое DNS

DNS (domain name system) — это система, обеспечивающая работу привычных нам доменных имен сайтов. Связь между устройствами в сети Интернет осуществляется по IP адресам, например: «192.64.147.209». Однако, запомнить IP адреса сложно, поэтому были придуманы удобные для человека доменные имена, например: «google.com».

Компьютер / сервер не хранит таблицу соответствия доменов и их IP адресов. Точнее, не хранит всю таблицу, а временно запоминает данные для часто используемых доменов. Когда в браузере вводится домен сайта, компьютер автоматически узнает его IP адрес, и отправляет по нему запрос. Этот процесс называется «разрешение адреса домена» (domain resolving).

Разберемся, из чего состоит система DNS, и как она работает.

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

Система доменных имен состоит из следующих компонентов:

Иерархическая структура доменных имен:

  • Доменные зоны верхнего уровня (первого уровня) – например: «ru», «com», или «org». Они включают в себя все доменные имена, входящие в эту зону. В любую доменную зону может входить неограниченное количество доменов.
  • Доменные имена (доменные зоны второго уровня) – например: «google.com» или «yandex.ru». Т.к. система доменных имен является иерархичной, то «yandex.ru» можно также назвать поддоменом вышестоящей зоны «ru». Поэтому, правильнее указывать именно уровень домена. Однако, на практике, доменную зону любого уровня называют просто «доменом».
  • Поддомены (доменные зоны третьего уровня) – например: «api.google.com» или «mail.yandex.ru». Могут быть доменные зоны 4, 5 уровней и так далее.

Обратите внимание, что «www.gооgle.com» и «google.com» — это, фактически, разные домены. Надо не забывать указывать А-записи для каждого из них.

DNS сервер или NS (name server) сервер – поддерживает (обслуживает) доменные зоны, которые ему делегированы. Он непосредственно хранит данные о ресурсных записях для зоны. Например, что сервер, на котором находится сайт «example.ru», имеет IP адрес «1.1.1.1». DNS сервер отвечает на все запросы, касательной этих доменных зон. Если ему приходит запрос о домене, который ему не делегирован, то он спрашивает ответ у других DNS серверов.

DNS записи (ресурсные записи) – это набор записей о доменной зоне на NS сервере, которые хранят данные необходимые для работы DNS. На основании данных в этих записях, DNS сервер отвечает на запросы по домену. Список записей, и их значение, вы можете найти ниже.

Корневые DNS сервера (на данный момент их 13 во всем мире) хранят данные о том, какие DNS сервера обслуживают зоны верхнего уровня.

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

Для того, чтобы узнать IP адрес, домена компьютер / сервер обращается к DNS-серверу, который указан у него в сетевых настройках. Обычно, это DNS сервер Интернет провайдера. DNS сервер проверяет делегирован домен ему или нет. Если да, то сразу отвечает на запрос. Если нет, то запрашивает информацию о DNS сервере, обслуживающем этот домен, у корневого сервера, и затем у сервера доменных зон верхнего уровня. После этого, непосредственно делает запрос на NS сервер, обслуживающий этот домен, и транслирует ответ вашему компьютеру / серверу.

Кэширование данных используется на всех устройствах (компьютерах, северах, DNS серверах). То есть, они запоминают ответы на последние пришедшие к ним запросы. И когда приходит аналогичный запрос, они просто отвечают то же самое, что и в предыдущий раз. Например, если вы в браузере открыли сайт google.com первый раз после включения, то компьютер сделает DNS запрос, а при последующих запросах будет брать данные, которые ему были присланы DNS сервером в первый раз. Таким образом, для популярных запросов не надо каждый раз проходить всю цепочку и генерировать запросы к NS серверам. Это значительно снижает нагрузку на них, и увеличивает скорость работы. Однако, как результат, обновление данных в системе DNS происходит не сразу. При изменении IP адреса домена, информацию об этом будет расходиться по сети Интернет от 1 до 24 часов.

Регистрация/выделение доменов

У каждой доменной зоны первого уровня есть своя организация, которая устанавливает правила выделения доменов и обеспечивает работу этой зоны. Например, для доменных зон RU, SU и РФ – это Координационный центр национального домена сети Интернет https://cctld.ru. Эти организации устанавливают правила работы и технические требования к регистраторам доменов.

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

Администратор домена (владелец) – лицо, которому непосредственно принадлежат права на доменное имя. Он может управлять доменом, от него регистратор принимает заявки на внесение изменений.

Делегирование домена – указание для него DNS серверов, которые будут его обслуживать.

Основные DNS записи

Существуют следующие основные DNS (ресурсные) записи:

А – содержит информацию об IPv4 адресе хоста (сервера) для домена. Например, 1.1.1.1.

ААА – содержит информацию об IPv6 адресе хоста (сервера) для домена. Например, 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d.

MX – содержит данные о почтовом сервере домена. При этом указывается именно имя почтового сервера, например mail.example.com. Т.к. у домена может быть несколько почтовых серверов, то для каждого из них указывает приоритет. Приоритет задается числом от 0 до 65535. При этом «0» — это самый высокий приоритет. Принято по умолчанию для первого почтового сервера указывать приоритет «10».

TXT – дополнительная информация о домене в виде произвольного текста. Максимальная длина 255 символов.

SRV – содержит информацию об имени хоста и номере порта, для определенных служб / протоколов в соответствии с RFC 2782 http://www.rfc-editor.org/rfc/rfc2782.txt. Содержит следующие поля:

    _Service._Proto.Name ( Пример: _jabber._tcp.jabber ), где:

  • Service: название службы (пример: ldap, kerberos, gc и другие).
  • Proto: протокол, при помощи которого клиенты могут подключиться к данной службе (пример: tcp, udp).
  • Name: имя домена, в котором размещена данная служба.
  • Приоритет – также как для MX записи указывает приоритет для данного сервера. Задается числом от 0 до 65535. При этом «0» — это самый высокий приоритет.
  • Вес – Относительный вес для распределения нагрузки между серверами с одинаковым приоритетом. Задается целым числом.
  • Порт – номер порта, на котором располагается служба на данном сервере.
  • Назначение — доменное имя сервера, предоставляющего данную службу.
  • NS – имя DNS сервера, поддерживающего данный домен.

    CNAME (каноническое имя хоста / canonical name) – используется для перенаправления на другое доменное имя. Например, имя сервера изменилось с example.com на new.com. В таком случае в поле «Alies» для записи cname надо указать — example.com, а в поле «Canonical name» — new.com. Таким образом, все запросы на example.com автоматически будут перенаправлены на new.com.

    SOA – базовая запись о домене. В ней хранится само имя домена и время жизни данных о домене — TTL. TTL (time-to-live) определяет какой период времени DNS сервер получив информацию о зоне будет хранить ее у себя в памяти (кэшировать). Рекомендуемое значение 86400 – 1 день. Значение указывается в секундах.

    Система доменных имен dns

    Когда при деловом общении представители двух фирм обмениваются визитками, то в них (визитках) обязательно будут указаны адрес электронной почты и имя корпоративного Web-узла компании. При этом можно также услышать, как собеседники обмениваются «интернет-адресами» («электронными адресами») компаний. Во всех выше перечисленных случаях так или иначе речь идет об использовании доменных имен.

    В адресе электронной почты формально доменным именем можно считать то, что написано после символа коммерческого ат — «@». Например, в user@test.ru доменное имя почтового узла — test.ru.

    Имя Web-узла — это доменное имя этого узла. Например, Web-узел компании Microsoft имеет доменное имя Microsoft.com.

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

    Довольно часто наряду со словосочетанием «интернет-адрес» употребляют «доменный адрес». Вообще говоря, ни того, ни другого понятий в сетях TCP/IP не существует. Есть числовая адресация, которая опирается на IP-адреса, (группа из 4-ех чисел, разделенных символом «.») и Internet-сервис службы доменных имен (Domain Name System — DNS).

    Числовая адресация удобна для компьютерной обработки таблиц маршрутов, но совершенно (здесь мы несколько утрируем) не приемлема для использования ее человеком. Запомнить наборы цифр гораздо труднее, чем мнемонические осмысленные имена.

    Тем не менее, установка соединений для обмена информацией в Интернет осуществляется по IP-адресам. Символьные имена системы доменных имен — суть сервис, который помогает найти необходимые для установки соединения IP-адреса узлов сети.

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

    DNS существовала не с момента рождения TCP/IP сетей. Поначалу для облегчения взаимодействия с удаленными информационными ресурсами в Интернет стали использовать таблицы соответствия числовых адресов именам машин.

    Авторство создания этих таблиц принадлежит доктору Постелю (Dr. Jon Postel — автор многих RFC — Request For Comments). Именно он первым поддерживал файл hosts.txt, который можно было получить по FTP.

    Современные операционные системы тоже поддерживают таблицы соответствия IP-адреса и имени машины (точнее хоста) — это файлы с именем hosts. Если речь идет о системе типа Unix, то этот файл расположен в директории /etc и имеет следующий вид:

    127.0.0.1 localhost
    144.206.130.137 polyn Polyn polyn.net.kiae.su polyn.kiae.su
    144.206.160.32 polyn Polyn polyn.net.kiae.su polyn.kiae.su
    144.206.160.40 apollo Apollo www.polyn.kiae.su

    Пользователь для обращения к машине может использовать как IP-адрес машины, так и ее имя или синоним (alias). Как видно из примера, синонимов может быть много, и, кроме того, для разных IP-адресов может быть указано одно и то же имя.

    Напомним еще раз, что по самому мнемоническому имени никакого доступа к ресурсу получить нельзя. Процедура использования имени заключается в следующем:

    • сначала по имени в файле hosts находят IP-адрес,
    • затем по IP-адресу устанавливают соединение с удаленным информационным ресурсом.

    Обращения, приведенные ниже аналогичны по своему результату — инициированию сеанса telnet с машиной Apollo:

    Читать еще:  Обновить word бесплатно

    В локальных сетях файлы hosts используются достаточно успешно до сих пор. Практически все операционные системы от различных клонов Unix до Windows последних версий поддерживают эту систему соответствия IP-адресов именам хостов.

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

    DNS была описана Полом Мокапетрисом (Paul Mockapetris ) в 1984. Это два документа: RFC-882 и RFC-883 (Позже эти документы были заменены на RFC-1034 и RFC-1035). Пол Мокапетрис написал и реализацию DNS — программу JEEVES для ОС Tops-20. Именно на нее в RFC-1031 предлагается перейти администраторам машин с ОС Tops-20 сети MILNET. Не будем подробно излагать содержание RFC-1034 и RFC-1035. Ограничимся только основными понятиями.

    Роль имени (доменного имени) в процессе установки соединения осталось прежним. Это значит, что главное, для чего оно нужно, — получение IP адреса. Соответственно этой роли, любая реализация DNS является прикладным процессом, который работает над стеком протоколов межсетевого обмена TCP/IP. Таким образом, базовым элементом адресации в сетях TCP/IP остался IP-адрес, а доменное именование (система доменных имен) выполняет роль вспомогательного сервиса.

    Система доменных имен строится по иерархическому принципу. Точнее по принципу вложенных друг в друга множеств. Корень системы называется «root» (дословно переводится как «корень») и никак не обозначается (имеет пустое имя согласно RFC-1034).

    Часто пишут, что обозначение корневого домена — символ «.», но это не так, точка — разделитель компонентов доменного имени, а т.к. у корневого домена нет обозначения, то полное доменное имя кончается точкой. Тем не менее символ «.» достаточно прочно закрепился в литературе в качестве обозначения корневого домена. От части это вызвано тем, что в файлах конфигурации серверов DNS именно этот символ указывается в поле имени домена (поле NAME согласно RFC-1035) в записях описания ресурсов, когда речь идет о корневом домене.

    Корень — это все множество хостов Интернет. Данное множество подразделяется на домены первого или верхнего уровня (top-level или TLD). Домен ru, например, соответствует множеству хостов российской части Интернет. Домены верхнего уровня дробятся на более мелкие домены, например, корпоративные.

    В 80-е годы были определены первые домены первого уровня (top-level): gov, mil, edu, com, net. Позднее, когда сеть перешагнула национальные границы США появились национальные домены типа: uk, jp, au, ch, и т.п. Для СССР также был выделен домен su. После 1991 года, когда республики Союза стали суверенными, многие из них получили свои собственные домены: ua, ru, la, li, и т.п.

    Однако Интернет не СССР, и просто так выбросить домен su из системы доменных имен нельзя. На основе доменных имен строятся адреса электронной почты и доступ ко многим другим информационным ресурсам Интернет. Поэтому гораздо проще оказалось ввести новый домен к существующему, чем заменить его.

    Если быть более точным, то новых имен с расширением su в настоящее время ни один провайдер не выделяет (делегирует). Однако у многих существует желание возобновить процесс делегирования доменов в зоне SU.

    Со списком доменов первого уровня (top-level) и их типами можно ознакомиться, например, в материале «Общая информация о системе доменных имен» по адресу https://info.nic.ru/domains/review.html.

    Как уже было сказано, вслед за доменами первого уровня(top-level) следуют домены, определяющие либо регионы (msk), либо организации (kiae). В настоящее время практически любая организация может получить свой собственный домен второго уровня. Для этого надо направить заявку провайдеру и получить уведомление о регистрации (см. «Как получить домен»).

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

    Часть дерева доменного именования можно представить следующим образом:

    Рис.1. Пример части дерева доменных имен.

    Корень дерева не имеет имени метки. Поэтому его обозначают как «». Остальные узлы дерева метки имеют. Каждый из узлов соответствует либо домену, либо хосту. Под хостом в этом дереве понимают лист, т.е. такой узел ниже которого нет других узлов.

    Именовать хост можно либо частичным именем, либо полным именем. Полное имя хоста — это имя, в котором перечисляются слева направо имена всех промежуточных узлов между листом и корнем дерева доменного именования, при этом начинают с имени листа, а кончают корнем, например:

    Частичное имя — это имя, в котором перечислены не все, а только часть имен узлов, например:

    polyn
    apollo.polyn
    quest.polyn.kiae

    Обратите внимание на то, что в частичных (неполных именах) символ точки в конце имени не ставится. В реальной жизни программное обеспечение системы доменных имен расширяет неполные имена до полных прежде, чем обратиться к серверам доменных мен за IP-адресом.

    Слово «Хост» не является в полном смысле синонимом имени компьютера, как это часто упрощенно представляется. Во-первых, у компьютера может быть множество IP-адресов, каждому из которых можно поставить в соответствие одно или несколько доменных имен. Во-вторых, одному доменному имени можно поставить в соответствие несколько разных IP-адресов, которые, в свою очередь могут быть закреплены за разными компьютерами.

    Еще раз обратим внимание на то, что именование идет слева направо, от минимального имени хоста (от листа) к имени корневого домена. Разберем, например, полное доменное имя demin.polyn.kiae.su. Имя хоста — demin, имя домена, в который данный хост входит, — polyn, имя домена, который охватывает домен polyn, т.е. является более широким по отношению к polyn, — kiae, в свою очередь последний (kiae) входит в состав домена su.

    Имя polyn.kiae.su — это уже имя домена. Под ним понимают имя множества хостов, у которых в их имени присутствует polyn.kiae.su. Вообще говоря, за именем polyn.kiae.su может быть закреплен и конкретный IP-адрес. В этом случае кроме имени домена данное имя будет обозначать и имя хоста. Такой прием довольно часто используется для обеспечения коротких и выразительных адресов в системе электронной почты.

    Имена хоста и доменов отделяются друг от друга в этой нотации символом «.». Полное доменное имя должно оканчиваться символом «.», т.к. последняя точка отделяет пустое имя корневого домена от имени домена верхнего уровня. Часто в литературе и в приложениях эту точку при записи доменного имени опускают, используя нотацию неполного доменного имени даже в том случае, когда перечисляют все имена узлов от листа до корня доменного именования.

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

    Компьютер, физически установленный и подключенный к Сети в далекой Америке, может совершенно спокойно иметь имя из российского корпоративного домена, например, chalajva.ru, и наоборот, компьютер или маршрутизатор российского сегмента может иметь имя из домена com. Последнее, к слову сказать, встречается гораздо чаще.

    Более того, один и тот же компьютер может иметь несколько доменных имен. Возможен вариант, когда за одним доменным именем может быть закреплено несколько IP-адресов, которые реально назначены различным серверам, обслуживающим однотипные запросы.
    Таким образом, соответствие между доменными именами и IP-адресами в рамках системы доменных имен не является взаимно однозначным, а строится по схеме «многие к многим».

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

    Следует также упомянуть о канонических доменных именах. Это понятие встречается в контексте описания конфигураций поддоменов и зон ответственности отдельных серверов доменных имен. С точки зрения дерева доменных имена не разделяют на канонические и неканонические, но с точки зрения администраторов, серверов и систем электронной почты такое разделение является существенным. Каноническое имя — это имя, которому в соответствие явно поставлен IP-адрес, и которое само явно поставлено в соответствие IP-адресу. Неканоническое имя — это синоним канонического имени. Более подробно см. «настройка BIND».

    Наиболее популярной реализацией системы доменных имен является Berkeley Internet Name Domain (BIND). Но эта реализация не единственная. Так в системе Windows NT 4.0 есть свой сервер доменных имен, который поддерживает спецификацию DNS.

    Тем не менее, даже администраторам Windows желательно знать принципы функционирования и правила настройки BIND, т.к. именно это программное обеспечение обслуживает систему доменных имен от корня до TLD (Top Level Domain).

    Что такое DNS? Введение в систему доменных имён

      Коротко о главном, 24 марта 2019 в 12:16

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

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

    Сервер доменных имён — это устройство, которое сопоставляет имя хоста с IP-адресом конкретной машины/железа.

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

    DNS-резолвер

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

    Ивент перенесён, есть новые даты ( 26 – 27 сентября ) , Новосибирск, беcплатно

    DNS-резолвер кэширует информацию. К примеру, сайт example.com расположен на машине с IP-адресом 35.195.226.230 . Поэтому кэши резолверов со всего мира будут содержать следующее соответствие: example.com → 35.195.226.230 .

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

    Время, в течение которого запись хранится в резолвере, называется TTL (time to live).

    Его можно установить в панели управления сервиса, на котором приобретался домен.

    Типы DNS-серверов

    Корневой DNS-сервер

    Это DNS-сервер, который хранит в себе адреса всех TLD-серверов (TLD — top-level domain, домен верхнего уровня). По пути от имени хоста до IP-адреса запрос сначала попадает на корневой DNS-сервер.

    Читать еще:  Домен имя пользователя outlook что это

    Существует 13 корневых DNS-серверов:

    Организации, управляющие корневыми DNS-серверами

    Это не означает, что существует только 13 машин, которые обрабатывают все запросы со всего мира — существуют и второстепенные серверы, по которым распределяется трафик.

    TLD-серверы

    Эти серверы связаны с доменами верхнего уровня (TLD). Обычно они идут после корневых DNS-серверов. В TLD-серверах содержится информация о домене верхнего уровня конкретного хоста.

    Скажем, если вы запросите IP-адрес хоста tproger.ru , то будет опрашиваться тот TLD-сервер, который соответствует домену .ru . TLD-сервер возвращает адрес авторитативного DNS-сервера для резолвера.

    Теперь возникает вопрос — откуда TLD-серверы знают адрес авторитативных серверов? Ответ прост — после того, как вы покупаете любой домен у регистраторов вроде Godaddy или Namecheap, регистраторы привязывают авторитативные серверы к TLD-серверу.

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

    Авторитативный DNS-сервер

    Запрос на эти серверы поступает в самую последнюю очередь. Эти серверы хранят фактические записи типа A, NS, CNAME, TXT, и т. п.

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

    Типы DNS-запросов

    Существует 3 типа DNS-запросов:

    1. Рекурсивный: подобные запросы выполняют пользователи к резолверу. Собственно, это первый запрос, который выполняется в процессе DNS-поиска. Резолвером чаще всего выступает ваш интернет провайдер или сетевой администратор.
    2. Нерекурсивные: в нерекурсивных запросах резолвер сразу возвращает ответ без каких-либо дополнительных запросов на другие сервера имён. Это случается, если в локальном DNS-сервере закэширован необходимый IP-адрес либо если запросы поступают напрямую на авторитативные серверы, что позволяет избежать рекурсивных запросов.
    3. Итеративный: итеративные запросы выполняются, когда резолвер не может вернуть ответ, потому что он не закэширован. Поэтому он выполняет запрос на корневой DNS-сервер. А тот уже знает, где найти фактический TLD-сервер.

    К примеру, если вы пытаетесь получить IP-адрес medium.com, то корневой доменный сервер выдаст адрес TLD-сервера для .com . Этот адрес корневой сервер вернёт резолверу. После этого резолвер опросит TLD-сервер. TLD-сервер может не знать нужный IP-адрес, зато он может дать адрес авторитативного DNS-сервера для medium.com .

    Попробуем рассмотреть этот процесс на рисунке:

    Разберём рисунок выше:

    1. Пользователь выполняет запрос к резолверу для поиска IP-адреса. Это рекурсивный запрос.
    2. Резолвер по возможности просматривает свой кэш на наличие необходимого IP-адреса.
    3. Если у резолвера есть необходимый IP-адрес, то он возвращает его.
    4. В противном случае резолвер выполняет итеративный запрос на корневой DNS-сервер. Корневой DNS-сервер ищет нужный TLD для запрашиваемого адреса. К примеру, если хост — medium.com , то TLD — .com . Корневой DNS-сервер находит адрес .com-домена и возвращает ответ резолверу.
    5. Теперь резолвер выполняет итеративный запрос на TLD-сервер, чтобы получить необходимый IP-адрес. TLD-сервер возвращает адрес авторитативного сервера для запрашиваемого хоста.
    6. Авторитативный сервер хранит фактические записи сопоставления имени хоста с IP-адресом, который возвращается резолверу (тот, в свою очередь, возвращает его пользователю).
    7. Если на авторитативном сервере нужной записи не существует, то возвращается ошибка « DNS_PROBE_FINISHED_NXDOMAIN ».
    8. Для всех серверов, через которые проходит запрос, результат кэшируется, и в случае повторного запроса результат уже будет на сервере.
    9. В среднем для DNS-поиска потребуется около 4 запросов, но время этого поиска будет составлять всего несколько миллисекунд.

    Что в итоге?

    Даже если вы измените запись у регистраторов, внесение изменений на резолверах всего мира займёт какое-то время. Этот процесс может длиться от 24 до 72 часов, но обычно завершается быстрее, т. к. за это время TTL-записи у провайдеров успевает истечь.

    Что такое DNS? Типы DNS-записей

    DNS (Domain Name System — система доменных имён) — распределенная система для получения информации о доменах. Система доменных имен строится по схеме «клиент-сервер». А так как устройства в сети общаются друг с другом с помощью ip-адресов, то по запросу, содержащему доменное имя, DNS-сервер может сообщить ip-адрес хоста. И наоборот, по ip-адресу может определить доменное имя.

    Клиентская часть — прикладной процесс, который запрашивает информацию о соответствии имени адресу или наоборот адреса имени. Это программное обеспечение называют resolver .

    Система DNS распределенная и иерархическая. Существует миллионы баз данных, которые содержат информацию о конкретном доменном имени. Корневые серверы распределены по сети Интернет, они отвечают на запросы других DNS-серверов. Всего доменных имен корневых серверов — 13 (a.root-servers.net, . m.root-servers.net), можно посмотреть, зайдя на официальный сайт: root-servers.org.

    Сервер с одним и тем же ip-адресом может находиться в разных странах и отвечает на DNS-запросы ближайший доступный сервер. Все корневые DNS-серверы хранят одну базу данных c информацией о доменах верхнего уровня. Информация централизовано обновляется международной некоммерческой организацией ICANN (Корпорация по управлению доменными именами и IP-адресами). Корневой DNS-сервер получает список ip-адресов DNS-серверов верхнего уровня (TLD). DNS-сервера верхнего уровня (TLD) получает список ip-адресов DNS-серверов второго уровня, ответственного за свою географическую зону. В свою очередь, DNS-сервера второго уровня, получают список ip-адресов DNS-серверов третьего уровня.

    Как это происходит на примере, рассмотрим рекурсивный поиск:

    Набираем в браузере url www.zen.yandex.ru . Браузер обращается по ip-адресу к DNS серверу (как правило это сервер вашего интернет-провайдера) для получения ip-адреса сайта. Далее DNS-сервер обращается к корневому серверу, в свою очередь, корневой сервер обращается к доменной зоне (в нашем случае .ru ). Сервер, поддерживающий доменную зону .ru сообщает ip-адрес yandex.ru . Дальше браузер отправляет свой запрос к авторизированному серверу для yandex.ru и получает ip-адрес.

    Множество хостов может иметь одно доменное имя — это создает балансировку нагрузки, и наоборот, одному хосту с одним ip-адресом может принадлежать несколько доменных имен.

    DNS-записи

    MX (mail exchange) — указывает на серверы, принимающие почту для вашего домена.

    MX-запись состоит из доменного имени и приоритета. Чем меньше число, тем выше приоритет. Также может быть несколько MX-записей с равным приоритетом.

    CNAME (canonical name record) — каноническая запись (псевдоним). Привязывает псевдоним к действительному (каноническому) доменному имени. Но, если есть каноническая запись с именем, то уже нельзя создать другую запись (MX, A, NS) с таким же именем.

    A (address record) — привязывает конкретное доменное имя на точный ip-адрес. Можно для одного и того же домена создать несколько записей с разными ip-адресами.

    AAАA (IPv6 address record) — тоже, что и А-запись, но по протоколу IPv6.

    NS (name server) — DNS-сервер для данного домена.

    Когда запрашивается ip-адрес у системы доменных имен, сначала выдается NS-запись. В записи значится хостинг сервер доменных имен, где и находится требуемая информация.

    Записи NS могут указать на master-сервер (первичный) доменных имен, который читает описание зоны с локального диска компьютера на котором он установлен и slave-сервер (вторичный, дублирующий), который подстраховывает работу основного сервера доменных имен (master server), на случай выхода из строя, а также для того, чтобы разгрузить основной сервер. Например, из 13 серверов, обслуживающие корневую зону, 12 являются slave-серверами.

    SOA (Start of Authority) — начальная запись зоны, которая указывает местоположение сервера на котором хранится основная информация о домене (контактная информация ответственного за домен, время кэширования информации на серверах и данные о взаимодействии DNS). В записи указывается полное доменное имя зоны, которое должно оканчиваться точкой. SOA-запись создается автоматически и удалить ее нельзя.

    PTR (point to reverse) — реверсная запись, которая связывает ip-адрес с именем хоста, т.е позволяет получить имя узла по его ip-адресу. Это нужно для дополнительной проверки почтовых серверов. Т.е проверяется совпадает ли домен из PTR записи и домен, который значится в параметре HELO (EHLO) почтового сервера-отправителя. Таким образом можно защититься от спамеров.

    SPF (Sender Policy Framework) — запись, в которой указывается с каких почтовых серверов может быть отправлена почта для домена. Применяется для защиты от спама и спуфинга почтовых адресов. Запись позволяет указать ip-адреса серверов, которым разрешено отправлять почту от имени данной доменной зоны.

    CAA (Certification Authority Authorization) — запись, которая позволяет разместить информацию, связанную с выпуском SSL/TLS-сертификатов. Администратор доменной зоны может указать, каким удостоверяющим центрам разрешается выпуск сертификатов. Это повышает уровень безопасности в сети и сокращает случаи неавторизованного получения сертификатов для сторонних доменных имен.

    TXT (Text string) — содержит информацию о домене. Используется для подтверждения права собственности на домен, подтверждения SSL-сертификата, обеспечения безопасности электронной почты. А также для проверок на право владения доменом, если подключаете дополнительные сервисы.

    DNAME (делегированное имя) — запись, которая нужна для создания псевдонима (алиаса). Например, есть сайт test.ru, если вы создаете сайт test2.ru, то все изменения, которые произошли на первом сайте, будут применены ко второму сайту.

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

    Система доменных имен dns

    Когда при деловом общении представители двух фирм обмениваются визитками, то в них (визитках) обязательно будут указаны адрес электронной почты и имя корпоративного Web-узла компании. При этом можно также услышать, как собеседники обмениваются «интернет-адресами» («электронными адресами») компаний. Во всех выше перечисленных случаях так или иначе речь идет об использовании доменных имен.

    В адресе электронной почты формально доменным именем можно считать то, что написано после символа коммерческого ат — «@». Например, в user@test.ru доменное имя почтового узла — test.ru.

    Имя Web-узла — это доменное имя этого узла. Например, Web-узел компании Microsoft имеет доменное имя Microsoft.com.

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

    Довольно часто наряду со словосочетанием «интернет-адрес» употребляют «доменный адрес». Вообще говоря, ни того, ни другого понятий в сетях TCP/IP не существует. Есть числовая адресация, которая опирается на IP-адреса, (группа из 4-ех чисел, разделенных символом «.») и Internet-сервис службы доменных имен (Domain Name System — DNS).

    Числовая адресация удобна для компьютерной обработки таблиц маршрутов, но совершенно (здесь мы несколько утрируем) не приемлема для использования ее человеком. Запомнить наборы цифр гораздо труднее, чем мнемонические осмысленные имена.

    Тем не менее, установка соединений для обмена информацией в Интернет осуществляется по IP-адресам. Символьные имена системы доменных имен — суть сервис, который помогает найти необходимые для установки соединения IP-адреса узлов сети.

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

    Читать еще:  Настройка outlook для yandex свой домен

    DNS существовала не с момента рождения TCP/IP сетей. Поначалу для облегчения взаимодействия с удаленными информационными ресурсами в Интернет стали использовать таблицы соответствия числовых адресов именам машин.

    Авторство создания этих таблиц принадлежит доктору Постелю (Dr. Jon Postel — автор многих RFC — Request For Comments). Именно он первым поддерживал файл hosts.txt, который можно было получить по FTP.

    Современные операционные системы тоже поддерживают таблицы соответствия IP-адреса и имени машины (точнее хоста) — это файлы с именем hosts. Если речь идет о системе типа Unix, то этот файл расположен в директории /etc и имеет следующий вид:

    127.0.0.1 localhost
    144.206.130.137 polyn Polyn polyn.net.kiae.su polyn.kiae.su
    144.206.160.32 polyn Polyn polyn.net.kiae.su polyn.kiae.su
    144.206.160.40 apollo Apollo www.polyn.kiae.su

    Пользователь для обращения к машине может использовать как IP-адрес машины, так и ее имя или синоним (alias). Как видно из примера, синонимов может быть много, и, кроме того, для разных IP-адресов может быть указано одно и то же имя.

    Напомним еще раз, что по самому мнемоническому имени никакого доступа к ресурсу получить нельзя. Процедура использования имени заключается в следующем:

    • сначала по имени в файле hosts находят IP-адрес,
    • затем по IP-адресу устанавливают соединение с удаленным информационным ресурсом.

    Обращения, приведенные ниже аналогичны по своему результату — инициированию сеанса telnet с машиной Apollo:

    В локальных сетях файлы hosts используются достаточно успешно до сих пор. Практически все операционные системы от различных клонов Unix до Windows последних версий поддерживают эту систему соответствия IP-адресов именам хостов.

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

    DNS была описана Полом Мокапетрисом (Paul Mockapetris ) в 1984. Это два документа: RFC-882 и RFC-883 (Позже эти документы были заменены на RFC-1034 и RFC-1035). Пол Мокапетрис написал и реализацию DNS — программу JEEVES для ОС Tops-20. Именно на нее в RFC-1031 предлагается перейти администраторам машин с ОС Tops-20 сети MILNET. Не будем подробно излагать содержание RFC-1034 и RFC-1035. Ограничимся только основными понятиями.

    Роль имени (доменного имени) в процессе установки соединения осталось прежним. Это значит, что главное, для чего оно нужно, — получение IP адреса. Соответственно этой роли, любая реализация DNS является прикладным процессом, который работает над стеком протоколов межсетевого обмена TCP/IP. Таким образом, базовым элементом адресации в сетях TCP/IP остался IP-адрес, а доменное именование (система доменных имен) выполняет роль вспомогательного сервиса.

    Система доменных имен строится по иерархическому принципу. Точнее по принципу вложенных друг в друга множеств. Корень системы называется «root» (дословно переводится как «корень») и никак не обозначается (имеет пустое имя согласно RFC-1034).

    Часто пишут, что обозначение корневого домена — символ «.», но это не так, точка — разделитель компонентов доменного имени, а т.к. у корневого домена нет обозначения, то полное доменное имя кончается точкой. Тем не менее символ «.» достаточно прочно закрепился в литературе в качестве обозначения корневого домена. От части это вызвано тем, что в файлах конфигурации серверов DNS именно этот символ указывается в поле имени домена (поле NAME согласно RFC-1035) в записях описания ресурсов, когда речь идет о корневом домене.

    Корень — это все множество хостов Интернет. Данное множество подразделяется на домены первого или верхнего уровня (top-level или TLD). Домен ru, например, соответствует множеству хостов российской части Интернет. Домены верхнего уровня дробятся на более мелкие домены, например, корпоративные.

    В 80-е годы были определены первые домены первого уровня (top-level): gov, mil, edu, com, net. Позднее, когда сеть перешагнула национальные границы США появились национальные домены типа: uk, jp, au, ch, и т.п. Для СССР также был выделен домен su. После 1991 года, когда республики Союза стали суверенными, многие из них получили свои собственные домены: ua, ru, la, li, и т.п.

    Однако Интернет не СССР, и просто так выбросить домен su из системы доменных имен нельзя. На основе доменных имен строятся адреса электронной почты и доступ ко многим другим информационным ресурсам Интернет. Поэтому гораздо проще оказалось ввести новый домен к существующему, чем заменить его.

    Если быть более точным, то новых имен с расширением su в настоящее время ни один провайдер не выделяет (делегирует). Однако у многих существует желание возобновить процесс делегирования доменов в зоне SU.

    Со списком доменов первого уровня (top-level) и их типами можно ознакомиться, например, в материале «Общая информация о системе доменных имен» по адресу https://info.nic.ru/domains/review.html.

    Как уже было сказано, вслед за доменами первого уровня(top-level) следуют домены, определяющие либо регионы (msk), либо организации (kiae). В настоящее время практически любая организация может получить свой собственный домен второго уровня. Для этого надо направить заявку провайдеру и получить уведомление о регистрации (см. «Как получить домен»).

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

    Часть дерева доменного именования можно представить следующим образом:

    Рис.1. Пример части дерева доменных имен.

    Корень дерева не имеет имени метки. Поэтому его обозначают как «». Остальные узлы дерева метки имеют. Каждый из узлов соответствует либо домену, либо хосту. Под хостом в этом дереве понимают лист, т.е. такой узел ниже которого нет других узлов.

    Именовать хост можно либо частичным именем, либо полным именем. Полное имя хоста — это имя, в котором перечисляются слева направо имена всех промежуточных узлов между листом и корнем дерева доменного именования, при этом начинают с имени листа, а кончают корнем, например:

    Частичное имя — это имя, в котором перечислены не все, а только часть имен узлов, например:

    polyn
    apollo.polyn
    quest.polyn.kiae

    Обратите внимание на то, что в частичных (неполных именах) символ точки в конце имени не ставится. В реальной жизни программное обеспечение системы доменных имен расширяет неполные имена до полных прежде, чем обратиться к серверам доменных мен за IP-адресом.

    Слово «Хост» не является в полном смысле синонимом имени компьютера, как это часто упрощенно представляется. Во-первых, у компьютера может быть множество IP-адресов, каждому из которых можно поставить в соответствие одно или несколько доменных имен. Во-вторых, одному доменному имени можно поставить в соответствие несколько разных IP-адресов, которые, в свою очередь могут быть закреплены за разными компьютерами.

    Еще раз обратим внимание на то, что именование идет слева направо, от минимального имени хоста (от листа) к имени корневого домена. Разберем, например, полное доменное имя demin.polyn.kiae.su. Имя хоста — demin, имя домена, в который данный хост входит, — polyn, имя домена, который охватывает домен polyn, т.е. является более широким по отношению к polyn, — kiae, в свою очередь последний (kiae) входит в состав домена su.

    Имя polyn.kiae.su — это уже имя домена. Под ним понимают имя множества хостов, у которых в их имени присутствует polyn.kiae.su. Вообще говоря, за именем polyn.kiae.su может быть закреплен и конкретный IP-адрес. В этом случае кроме имени домена данное имя будет обозначать и имя хоста. Такой прием довольно часто используется для обеспечения коротких и выразительных адресов в системе электронной почты.

    Имена хоста и доменов отделяются друг от друга в этой нотации символом «.». Полное доменное имя должно оканчиваться символом «.», т.к. последняя точка отделяет пустое имя корневого домена от имени домена верхнего уровня. Часто в литературе и в приложениях эту точку при записи доменного имени опускают, используя нотацию неполного доменного имени даже в том случае, когда перечисляют все имена узлов от листа до корня доменного именования.

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

    Компьютер, физически установленный и подключенный к Сети в далекой Америке, может совершенно спокойно иметь имя из российского корпоративного домена, например, chalajva.ru, и наоборот, компьютер или маршрутизатор российского сегмента может иметь имя из домена com. Последнее, к слову сказать, встречается гораздо чаще.

    Более того, один и тот же компьютер может иметь несколько доменных имен. Возможен вариант, когда за одним доменным именем может быть закреплено несколько IP-адресов, которые реально назначены различным серверам, обслуживающим однотипные запросы.
    Таким образом, соответствие между доменными именами и IP-адресами в рамках системы доменных имен не является взаимно однозначным, а строится по схеме «многие к многим».

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

    Следует также упомянуть о канонических доменных именах. Это понятие встречается в контексте описания конфигураций поддоменов и зон ответственности отдельных серверов доменных имен. С точки зрения дерева доменных имена не разделяют на канонические и неканонические, но с точки зрения администраторов, серверов и систем электронной почты такое разделение является существенным. Каноническое имя — это имя, которому в соответствие явно поставлен IP-адрес, и которое само явно поставлено в соответствие IP-адресу. Неканоническое имя — это синоним канонического имени. Более подробно см. «настройка BIND».

    Наиболее популярной реализацией системы доменных имен является Berkeley Internet Name Domain (BIND). Но эта реализация не единственная. Так в системе Windows NT 4.0 есть свой сервер доменных имен, который поддерживает спецификацию DNS.

    Тем не менее, даже администраторам Windows желательно знать принципы функционирования и правила настройки BIND, т.к. именно это программное обеспечение обслуживает систему доменных имен от корня до TLD (Top Level Domain).

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