416.95K
Category: internetinternet

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

1.

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

2.

Доменная система имен[1] (Domain Name System, DNS) — это распределенная база данных,
которая содержит информацию о компьютерах (хостах), включенных в сеть Internet. Чаще
всего информация включает имя машины, IP-адрес и данные для маршрутизации почты.
Как известно, для обращения к хостам в сети Internet используются 32-разрядные IP-адреса,
однозначно идентифицирующие любой сетевой компьютер в этой сети. Однако для
пользователей применение IP-адресов при обращении к хостам не удобно. Поэтому была
создана система преобразования имен, позволяющая компьютеру в случае отсутствия у него
информации о соответствии имен и IP-адресов получить необходимые сведения от DNSсервера, ip-адрескоторого хранится в настройках подключения к Internet.
Т.о. основная задача DNS — преобразование имен компьютеров в IP-адреса и наоборот.
Для реализации системы DNS был создан специальный сетевой протокол DNS. В сети
имеются специальные выделенные информационно-поисковые серверы - DNS-серверы.

3.

Историческая справка
Ранее, таблицы соответствия имен и адресов хранились в одном текстовом файле, который
велся в централизованно и рассылался на все машины сети ARPANET. Никакой иерархии в
именах машин не было, и процедура присваивания имени компьютеру предполагала
проверку уникальности желательного имени в масштабах страны. Объем изменений был
огромен и поглощал большую часть пропускной способности ARPANET. Поэтому в
содержимом этого файла часто не отображалось реальное состояние сети. Вскоре стало ясно,
что статическая таблица машин, которой хватало для небольшой сети, явно неадекватна
потребностям большой и растущей сети ARPANET. Система доменных имен решает
проблемы, с которыми не справилась такая таблица, используя две концепции: иерархию
имен машин и распределение ответственности.
Систему доменных имен формально описал Пол Мокапетрис (Paul Mocka-petris) в RFC882 и
883 (1983 г.). В 1987 г. ее откорректировали (RFC1034 и 1035), а в 1990 г. расширили
(RFC1101 и 1183). Пол, кроме того, написал первую нe-UNIX-версию.
Работа по переносу DNS в UNIX была начата в 1984 г. четырьмя старшекурсниками
университета в Беркли: Дугласом Терри (Douglas Terry), Марком Пойнтером (Mark Painter),
Дэвидом Ригглом (David Riggle) и Сонг Ньян Чжоу (Songnian Zhou). Эстафету подхватил
Ральф Кэмпбелл (Ralph Camp-bell) из Computer Systems Research Group, который начал
"склеивать" доменную систему имен в BSD-UNIX. В 1985 г. Кевин Данлэп (Kevin
Dunlap), инженер DEC, временно работавший в Беркли, принял этот проект в свои руки и
создал систему BIND (Berkeley Internet Name Domain — систему доменных Internet-имен
реализации Беркли). Майк Кареле (Mike Karels) и Пол Викси (Paul Vixie) сопровождали эту
систему в течение ряда лет. Пол продолжает вести ее и сейчас, пользуясь помощью
участников телеконференции isc.org и членов списка рассылки bind-workers.

4.

Пространство имен DNS
Пример имени хоста в доменной нотации имеет вид, представленный
Пространство имен DNS[1] имеет вид дерева доменов с полномочиями, возрастающими по мере
приближения к корню дерева.
По историческим причинам существует два вида имен доменов верхнего уровня. В США домены
верхнего уровня отражают организационно-политическую структуру и, как правило, имеют
трехбуквенные имена. Для доменов вне США используются двухбуквенные коды стран ISO. Оба эти
принципа сосуществуют в одном глобальном пространстве имен. Имена доменов верхнего уровня в США
на текущий момент времени перечислены в табл. 1.

5.

• Пространство имен DNS[1] имеет вид дерева доменов с полномочиями, возрастающими
по мере приближения к корню дерева.
• По историческим причинам существует два вида имен доменов верхнего уровня. В США
домены верхнего уровня отражают организационно-политическую структуру и, как
правило, имеют трехбуквенные имена. Для доменов вне США используются
двухбуквенные коды стран ISO. Оба эти принципа сосуществуют в одном глобальном
пространстве имен. Имена доменов верхнего уровня в США на текущий момент времени
перечислены

6.

В именах доменов не учитывается регистр. В контексте DNS Perm идентично perm и PERM.
Реализации DNS должны игнорировать регистр при сравнениях, но обязаны распространять
его, если он указан.
Internet-машина обычно входит в один домен, а может входить в несколько или ни в один.
Полностью определенное имя формируется путем прибавления к имени машины имени
домена. Например, lab10.icmm.ru — полностью определенное имя машины lab10,
находящейся в ИМСС. Другие организации могут использовать имя lab10, не испрашивая на
то разрешения, потому что полностью определенные имена их машин все равно будут
другими.

7.

Доменами второго уровня централизованно управляет Информационный центр сети (Network Information Center, NIC).
Выбор имени домена
На некоторые имена наложено табу; это, в частности, относится к уже взятым именам, ключевому слову AT,
комбинациям имен доменов верхнего уровня (например, edu.com) и повторениям имен (например, х.х.соm) (Например,
xinet.xinet.com — допустимое имя, но имя домена — просто xinet.com, а в нем есть машина xinet.).
RFC1032 рекомендует, чтобы имена доменов второго уровня имели в длину не более 12 символов, несмотря на то, что
DNS допускает использовать в каждой составляющей до 64 символов.
Создание собственных поддоменов
Процедура создания поддомена аналогична процедуре создания домена второго уровня — за исключением того, что
центральный орган теперь локален (точнее, находится в пределах Вашей организации). Этот процесс предусматривает
следующие этапы:
выбор имени, уникального для данного поддомена;
назначение двух или более машин серверами нового домена;
согласование всего сделанного с администратором родительского домена.
Каждый новый домен определяет ветвь иерархии имен. Например, таксономия имени lab10.icmm.ru показана на рис. 1.
Регистрация имени домена второго уровня
В Европе заявления о предоставлении доменных имен принимает организация Reseaux IP Europeens
(RIPE, http://mcsun.eu.net). Бланки заявлений в Европе, Японии и остальной Азии можно получить все с того же
узла http://rs.intemic.net.
Обработка заявления занимает около двух недель.
Регистрация доменов второго уровня домена .ru производится по адресу http://www.ripn.net.

8.

Компоненты системы имен BIND
В систему BIND входят три компонента[1]:
демон named, который отвечает на запросы;
библиотечные подпрограммы, которые отвечают на
запросы машин, используя DNS;
командные интерфейсы пользователь-DNS: nslookup, dig,
host.
Согласно терминологии, принятой в DNS, демон
типа named (или машина, на которой он работает)
называется сервером имен, а программа-клиент, которая
обращается к нему — определителем. Ниже мы
рассмотрим функции всех этих компонентов вкратце.
named, сервер имен системы BIND
Демон named отвечает на запросы об именах машин и их
IP-адресах. Если named не знает ответа на какой-либо
запрос, он опрашивает другие серверы и помещает их
ответы в кэш . Этот демон, кроме того, отвечает за
выполнение зонных пересылок, обеспечивающих
копирование данных между серверами одного домена.

9.

Как работает DNS
Для преобразования имен машин в IP-адреса программы прикладного уровня, такие как Netscape Navigator и т.п.,
вызывают подпрограмму gethostbyname. Если конфигурация машины предполагает использование
DNS, gethostbynameзапрашивает адрес у сервера имен, ip-адрес которого указан в настройках подключения к Internet.
Серверы имен бывают рекурсивными и нерекурсивными. Нерекурсивный сервер действует следующим образом: если у
него есть адрес, кэшированный из предыдущего запроса, или если он авторитетен для домена, к которому относится
имя, то он даст соответствующий ответ. В противном случае вместо правильного ответа он выдает отсылку к
авторитетным серверам другого домена, которые должны знать ответ.
Рекурсивный сервер возвращает только реальные ответы и сообщения об ошибках. Он сам отслеживает отсылки,
освобождая от этой обязанности клиента. Базовая процедура разрешения запроса, по сути дела, та же; единственное
отличие состоит в том, что этот сервер имен заботится об обработке отсылок, не передавая их обратно клиенту.
Есть один побочный эффект принуждения сервера имен к отслеживанию отсылок: в его кэш поступает информация о
промежуточных доменах. Серверу домена высокого уровня (такого, как com или ru) не рекомендуется хранить
информацию, запрашиваемую машиной, которая находится на несколько уровней ниже. Его кэш быстро распухнет, и
из-за дополнительных затрат времени на обработку рекурсивных запросов пропускная способность сервера упадет.
По этим причинам серверы имен нижних уровней обычно являются рекурсивными, а серверы высших уровней
(верхнего и частично второго) — нерекурсивными.
Отсылки генерируются на иерархической основе. Если сервер, например, не сможет дать адрес машины vtaubsd.pstu.ac.ru, он последовательно обратится к серверам домена pstu.ac.ru, ac.ru, ru и корневого домена. Отсылка должна
включать адреса серверов домена, на который она указывает, поэтому выбор — не произвольный; сервер должен
ссылаться на тот домен, серверы которого ему уже известны. Как правило, выдается наиболее полный из известных
доменов. В нашем примере был бы выдан домен pstu.ac.ru (если это возможно).
Предположим, мы хотим посетить сайт кафедры экономической кибернетики ПГУ (адрес машины keks.econ.psu.ru) с
машины vtau-bsd.pstu.ac.ru. Машина vtau-bsd просит выяснить ответ на этот вопрос свой локальный сервер имен,
ns.pstu.ac.ru. Последующие события показаны

10.

База данных DNS
• База данных доменной системы имен DNS для каждого домена представляет собой набор
текстовых файлов, которые системный администратор ведет на основном сервере имен
этого домена. Элементы базы данных называются записями о ресурсах; иногда их
сокращенно обозначают PR. Типы и форматы записей о ресурсах регламентируются
документами RFC882, 1035 и 1183.
• Базовый формат записи о ресурсах:
• [имя] [время] [класс] тип данные
• Поля разделяются знаками табуляции или пробелами и могут содержать специальные
символы, перечисленные в табл

11.

Поле имя, которое должно начинаться в первом столбце, обозначает объект (машину
или домен), к которому относится данная запись. Если имеется несколько
последовательно расположенных записей об одном объекте, то после первой записи
поле имя можно опустить.
В поле время задается время (в секундах), в течение которого элемент данных может
оставаться в кэше и считаться при этом достоверным. Это поле часто опускают, но оно
обязательно присутствует в файле запуска кэша, который содержит имена и адреса
корневых серверов.
В поле класс задается тип сети. Распознаются три значения: IN (Internet), СН
(ChaosNet), HS (Hesiod). ChaosNet — устаревшая сеть, в которой раньше работали Lispмашины фирмы Symbolics. Hesiod — это служба базы данных, являющаяся надстройкой
системы BIND; пока она используется не слишком широко, но постепенно завоевывает
популярность как замена NIS. Значением класса по умолчанию является IN.
Существуют записи трех различных типов:
• зонные записи: определяют домены и их серверы имен;
• базовые записи: преобразовывают имена в адреса и наоборот, обеспечивают
маршрутизацию почты;
• факультативные записи: содержат дополнительную информацию о машинах.
Содержимое поля данные зависит от типа записи. Типы записей перечислены в табл

12.

13.

Конец
• Сделали презентацию: Рыбалкин Влад, Хихлов Валерий
English     Русский Rules