Литмир - Электронная Библиотека

Таблица 7.2. Основные типы записей ресурсов DNS

Тип

Смысл

Значение

SOA

Начальная запись зоны

Параметры для этой зоны

A

IPv4-адрес хоста

Целое число, 32 двоичных разряда

AAAA

^6-адрес хоста

Целое число, 128 двоичных разрядов

MX

Обмен почтой

Приоритет, с которым домен желает принимать электронную почту

NS

Сервер имен

Имя сервера для этого домена

CNAME

Каноническое имя

Имя домена

PTR

Указатель

Псевдоним IP-адреса

SPF

Правила отправки почты

Правила отправки почты, закодированные в текстовом виде

SRV

Сервис

Хост, предоставляющий данный сервис

TXT

Текст

Не интерпретируемый ASCII-текст

Еще один важный тип записи — это NS. Запись NS содержит информацию о сервере имени для домена или поддомена. Это хост, на котором содержится копия базы данных для домена. Он используется в процессе поиска имени, поэтому мы вкратце опишем этот процесс.

Записи CNAME позволяют создавать псевдонимы. Представим себе, что человек, знакомый в общих чертах с формированием имен в Интернете, хочет послать сообщение пользователю paul на отделении вычислительной техники Массачусетского технологического института (M.I.T.). Он может попытаться угадать нужный ему адрес, составив строку [email protected]. Однако этот адрес работать не будет, так как домен отделения вычислительной техники Массачусетского технологического института на самом деле называется csail.mit.edu. Таким образом, для удобства тех, кто этого не знает, M.I.T. может создать запись CNAME, позволяющую обращаться к нужному домену по обоим именам. Такая запись будет иметь следующий вид: cs.mit.edu 86400 IN CNAME csail.mit.edu

Как и CNAME, запись PTR указывает на другое имя. Однако в отличие от записи CNAME, являющейся, по сути, макроопределением (то есть механизмом замены одной строки другой), PTR представляет собой обычный тип данных DNS, интерпретация которого зависит от контекста. На практике запись PTR почти всегда используется для ассоциации имени с IP-адресом, что позволяет по IP-адресу находить имя соответствующей машины. Это называется обратным поиском (reverse lookups).

Запись SRV — это новый тип, позволяющий определять хост для искомого сервиса в домене. Например, веб-сервер для cs.wasington.edu может быть определен как cockatoo.cs.wasington.edu. Данная запись является расширенным вариантом записи MX, которая выполняет ту же задачу в рамках почтовых сервисов.

SPF — также новый тип записи. Он позволяет домену закодировать информацию о том, какие машины будут отсылать с него письма в остальную часть Интернета. Это помогает принимающим машинам проверять, допустима ли данная почта. Если почта приходит с машины, которая называется dodgy, а доменные записи говорят о том, что почта с домена будет отсылаться только машиной под названием smtp, велики шансы того, что данные сообщения являются спамом.

Последние в списке, TXT-записи изначально предназначались для того, чтобы позволить доменам идентифицировать себя произвольным образом. Сегодня с их помощью обычно кодируется информация, предназначенная для считывания машиной, обычно это SPF-информация.

Наконец, последнее поле записи ресурса — это поле Value (значение) — может быть числом, именем домена или текстовой ASCII-строкой. Смысл поля зависит от типа записи. Краткое описание поля Value для каждого из основных типов записей дано в табл. 7.2.

Пример информации, хранящейся в базе данных DNS домена, приведен в листинге 7.1. В нем показана часть (гипотетической) базы данных домена cs.vu.nl, представленного также в виде узла дерева доменов на рис. 7.1. В базе данных содержится семь типов записей ресурсов.

Листинг 7.1. Часть возможной базы данных домена cs.vu.nl

; Официальная

информация

для cs.vu.nl

cs.vu.nl.

86400

IN

SOA star boss (9527,7200,7200,241920,86400)

cs.vu.nl.

86400

IN

MX 1 zephyr

cs.vu.nl.

86400

IN

MX 2 top

cs.vu.nl.

86400

IN

NS star

star

86400

IN

A 130.37.56.205

zephyr

86400

IN

A 130.37.20.10

top

86400

IN

A 130.37.20.11

www

86400

IN

CNAME star.cs.vu.nl

ftp

86400

IN

CNAME zephyr.cs.vu.nl

flits

86400

IN

A 130.37.16.112

flits

86400

IN

A 192.31.231.165

flits

86400

IN

MX 1 flits

flits

86400

IN

MX 2 zephyr

flits

86400

IN

MX 3 top

rowboat

IN

A

130.37.56.201

IN

MX

1 rowboat

IN

MX

2 zephyr

little-sister

IN

A

130.37.62.23

laserjet

IN

A

192.31.231.216

В первой не закомментированной строке листинга 7.1 дается основная информация о домене, которая в дальнейшем нас интересовать не будет. Следующие две строки определяют два хоста, с которыми следует связаться в первую очередь при попытке доставить электронную почту, посланную по адресу [email protected]. Хост по имени zephyr (специальная машина) следует опросить первым. В случае неудачи следует попробовать доставить письмо машине по имени top. В следующей строке определен сервер имен для домена star.

После пустой строки, добавленной для удобства чтения, следуют строки, сообщающие IP-адреса для star, zephyr и top. Далее следует псевдоним www.cs.vu.nl, позволяющий не обращаться к какой-то конкретной машине. Создание этого псевдонима позволяет домену cs.vu.nl изменять свой WWW-сервер, не меняя адреса, по которому пользователи смогут продолжать к нему обращаться. То же справедливо и для домена ftp.cs.vu.nl — FTP-сервера.

В секции, предназначенной для машины flits, перечислены два IP-адреса и три возможных варианта адреса для обработки почты, отосланной на flits.cs.vu.nl. В первую очередь, естественно, следует пытаться доставить письмо самому компьютеру flits. Но если этот хост выключен, следует продолжать попытки, обращаясь к хостам zephyr и top.

Следующие три строки содержат типичные записи для компьютера, в данном случае для rowboat.cs.vu.nl. Хранящаяся в базе данных информация содержит IP-адрес, а также имена первого и второго хостов для доставки почты. Следом идет запись о машине, которая сама не способна получать почту. Последняя строка, вероятно, описывает лазерный принтер, подключенный к Интернету.

7.1.3. Серверы имен

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

Чтобы избежать проблем, связанных с хранением всей информации в одном месте, пространство имен DNS разделено на непересекающиеся зоны (zones). Один возможный способ разделения пространства имен, показанного на рис. 7.1, на зоны изображен на рис. 7.2. Каждая очерченная зона содержит часть общего дерева доменов.

Расстановка границ зон целиком зависит от администратора зоны. Это решение основывается на том, сколько серверов имен требуется в той или иной зоне. Например, на рис. 7.2 у Вашингтонского университета есть зона для washington.edu, управляющая доменом eng.washington.edu, но не доменом cs.washington.edu, расположенным в отдельной зоне со своими серверами имен. Подобное решение может быть принято, когда факультет английского языка не хочет управлять собственным сервером имен, но этого хочет факультет вычислительной техники.

217
{"b":"639789","o":1}