Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабы по сетям / Лаба 6 Сетевые службы DNS

.pdf
Скачиваний:
22
Добавлен:
27.05.2015
Размер:
377.29 Кб
Скачать

Сетевые службы: DNS

Служба доменных имен DNS является стандартной службой имен Интернета и TCP/IP. Служба DNS позволяет компьютерам клиентов в сети регистрировать и сопоставлять доменные имена DNS. Эти имена используются для поиска и доступа к ресурсам, предлагаемым другими компьютерами в вашей сети или другими сетями, такими как Интернет.

DNS является аббревиатурой от Domain Name System (система доменных имен), т.е. системы наименования компьютеров и сетевых служб, организованных в виде иерархии доменов. Правила наименования DNS используются в сетях TCP/IP, таких как Интернет, для обнаружения компьютеров и служб по именам, удобным для пользователей. Когда пользователь вводит в приложении имя DNS, службы DNS могут сопоставить имя с другими сведениями, например, с IP-адресом.

Например, большинство пользователей предпочитает использовать понятное имя, такое как example.microsoft.com, для поиска компьютера, являющегося почтовым сервером или веб-сервером сети. Понятное имя легче запоминается. Компьютеры при связи по сети используют числовые адреса. Чтобы облегчить использование сетевых ресурсов, службы имен, такие как DNS, обеспечивают сопоставление понятного имени компьютера или службы с его числовым адресом. Если вы ранее использовали веб-обозреватель (напр. Internet Explorer), вы косвенно использовали и DNS.

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

В этом примере клиентский компьютер запрашивает у сервера IP-адрес

компьютера с доменным именем DNS host.domain.ru. Поскольку сервер может ответить на запрос с помощью своей локальной базы данных, он

возвращает ответ, содержащий запрашиваемую информацию, т.е. запись ресурса узла (A), содержащую IP-адрес, соответствующий имени host.domain.ru.

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

Пространство доменных имен DNS, как показано на следующем рисунке, базируется на концепции дерева именованных доменов. Каждый уровень дерева может представлять ветвь или лист дерева. Ветвь представляет уровень, на котором используется несколько имен, определяющих семейство именованных ресурсов (на рисунке это ru, domain и example). Лист представляет единственное имя,

которое используется на этом уровне для указания конкретного ресурса (на рисунке это host и www).

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

В процессе сопоставления имен существенно, что DNS-серверы часто действуют как DNS-клиенты, запрашивая другие серверы для полного сопоставления имени в запросе.

Организация пространства доменных имен DNS

Любое доменное имя DNS в дереве технически представляет домен. Однако в большинстве дискуссий DNS имена идентифицируются одним из пяти способов на основании уровня и способа использования имени. Например, доменное имя DNS, зарегистрированное для корпорации Майкрософт (microsoft.com.), представляет домен второго уровня. Это имя состоит из двух частей (называемых метками), показывающих, что оно находится на втором уровне сверху от корня или вершины дерева. Большинство доменных имен DNS содержат две или большее число меток, каждая из которых задает новый уровень в дереве. Точки используются в именах для разделения меток.

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

Тип

 

 

Описание

 

 

Пример

имени

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вершина

дерева,

представляющая

 

 

 

неименованный

уровень;

иногда

 

 

 

обозначается парой прямых кавычек (""),

 

 

 

указывающих пустое значение. При

 

 

 

использовании в

доменном

имени

DNS

Единственная

точка (.)

Корень

устанавливается с помощью завершающей

или

точка,

точки

(.),

обозначающей,

что

имя

использованная

в конце

доменов

расположено

в

корне

или

на

самом

имени,

например,

 

верхнем

уровне

иерархии

доменов. В

«example.domain.ru.».

 

данном случае доменное имя DNS

 

 

 

рассматривается как полное и указывает на

 

 

 

точное расположение в дереве имен.

 

 

 

Имена,

установленные

таким способом,

 

 

 

 

 

 

 

 

 

 

 

 

 

называют полными доменными именами.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

«.ru»

указывает

имя,

Домен

Имя из двух или трех букв, которое

зарегистрированное

для

верхнего

используется, чтобы указать страну/регион

коммерческого

 

 

уровня

или тип организации.

 

 

 

 

использования

 

в

 

 

 

 

 

 

 

 

 

 

Интернете.

 

 

 

 

 

 

 

 

 

 

 

 

 

Имена

 

 

переменной

длины,

 

 

 

 

 

зарегистрированные

для

индивидуальных

«domain.ru.»

является

 

пользователей

или

организаций

для

именем

домена второго

Домен

использования в Интернете. Эти имена

уровня,

 

 

 

второго

всегда

базируются

 

на

соответствующем

зарегистрированным

 

уровня

домене верхнего уровня в зависимости от

регистратором

доменных

 

типа

организации

или

географического

имен DNS Интернета.

 

 

расположения, в котором используется

 

 

 

 

 

имя.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дополнительные

 

имена,

которые

 

 

 

 

 

организация

может

создавать

как

 

 

 

 

 

производные

от

 

зарегистрированного

 

 

 

 

Поддомен

имени домена второго уровня. Такие имена

«example.domain.ru.»

 

обеспечивают рост дерева имен DNS в

 

 

организации и его распределение по

 

 

 

 

 

отделам

или

по

географическому

 

 

 

 

 

расположению.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имя, представляющее лист в дереве имен

«host.example.domain.ru.»,

Имя узла

DNS,

которое

определяет

конкретный

где первая метка («host»)

или

ресурс. Обычно крайняя левая метка в

представляет

имя

узла

ресурса

доменном

имени

DNS

определяет

DNS

для конкретного

 

конкретный компьютер в сети. Например,

компьютера в сети.

 

 

имя этого уровня,

используемое в записи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ресурса узла (A), используется для поиска IP-адреса компьютера по его имени узла.

Интерпретация доменного имени DNS

DNS представляет способ интерпретации полного пути к доменному имени DNS аналогично способу интерпретации полного пути к файлу или каталогу в окне командной строки.

Для DNS примером имени с несколькими уровнями может служить следующее полное доменное имя узла:

host.example.domain.ru.

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

1.Домен «example», в котором зарегистрировано для использования имя компьютера «host».

2.Домен «domain», который соответствует родительскому домену, являющемуся корнем поддомена «example».

3.Домен «ru», который соответствует домену верхнего уровня, предназначенному для использования деловыми и коммерческими организациями, который является корнем для домена

«domain».

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

Запросы DNS используют несколько способов сопоставления имен.

Клиент может иногда ответить на запрос с помощью локальной кэшированной информации, полученной в предыдущем запросе. DNS-сервер

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

Вдополнение к этому, клиент может самостоятельно пытаться установить контакт с дополнительными DNS-серверами для сопоставления имени. При этом клиент использует отдельные дополнительные запросы, базирующиеся на ссылочных ответах от серверов. Этот процесс называют

итерацией.

Вобщем, процесс запроса DNS выполняется в две стадии.

-Запрос к имени начинается на клиентском компьютере и передается в систему сопоставления имен службы DNS-клиент.

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

Работа запросов DNS

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

-указанное доменное имя DNS в виде полного доменного имени узла;

-указанный тип запроса, в котором задается либо тип записей ресурсов, либо тип операции запроса;

Вобщем, процесс запроса DNS выполняется в две стадии.

-Запрос к имени начинается на клиентском компьютере и передается в систему сопоставления имен службы DNS-клиент.

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

Часть 1. Локальная система сопоставления имен

На следующем рисунке представлена общая картина всего процесса запроса DNS. Буквой “Q” обозначается запрос (от англ. question); буквой «А» обозначается ответ (от

англ. answer).

Как показано на рисунке, на начальных этапах процесса в программе на

локальном компьютере используется доменное имя DNS www.microsoft.com. Затем запрос передается в службу DNS-клиент для сопоставления с помощью локальной кэшированной информации (Q1). Если удается сопоставить запрошенное имя, поступает ответ на запрос и процесс завершается (A1).

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

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

Записи ресурсов, полученные в ответах на запросы из предыдущих запросов DNS, добавляются в кэш и сохраняются в нем в течение определенного периода времени.

Если клиент не находит сопоставления в кэше, процесс продолжается с

помощью запроса на сопоставление имени от клиента к DNS-серверу.

Часть 2. Запрос к DNS-серверу

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

Когда DNS-сервер принимает запрос (Q2), он сначала проверяет, можно ли дать полномочный ответ (A2) на базе записей ресурсов, содержащихся в локальной зоне в конфигурации сервера (Q3 – A3). Если запрошенное имя соответствует информации в записи ресурса в локальной зоне, сервер полномочно отвечает (A2), используя эту информацию для сопоставления имени.

Если в зоне нет информации для запрошенного имени, сервер проверяет, можно ли сопоставить имя, используя информацию предыдущих запросов в локальном кэше (Q4 –A4). Если здесь обнаруживается совпадение, сервер отвечает с использованием этой информации (A2). И в этом случае, если основной сервер может дать запрашивающему клиенту утвердительный ответ на сопоставление из собственного кэша, запрос завершается.

Если на основном сервере не удается найти запрошенное имя — ни в кэше, ни в зонах — процесс выполнения запроса может продолжаться с использованием рекурсии для полного сопоставления имени. При этом другие DNS-серверы помогают сопоставить имя. Служба DNS-клиент по умолчанию указывает серверу использовать процесс рекурсии для полного сопоставления имен в интересах клиентов перед возвращением ответа (Q5 – A5). В большинстве случаев DNS-серверы по умолчанию настраиваются на поддержку процесса рекурсии, как показано на следующем рисунке.

Для правильного выполнения рекурсии DNSсервером ему необходимы сведения о контактах с другими DNS-серверами в пространстве доменных имен

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

пространства доменных имен DNS. Корневые серверы являются полномочными для корня доменов и доменов верхнего уровня в дереве пространства доменных имен DNS.

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

Например, рассмотрим использование процесса рекурсии для поиска имени «host-b.example.microsoft.com.», когда клиент запрашивает единственный DNS-сервер. Такой процесс имеет место, когда DNS-сервер и клиент только запущены и не имеют локальных кэшированных данных, доступных для сопоставления запрошенного имени. Предполагается, что имя, запрошенное клиентом, является доменным именем, неизвестным серверу по конфигурации его зон.

Сначала основной сервер анализирует полное имя и определяет, что требуется расположение сервера, полномочного для домена верхнего уровня «com» (запрос 2 – ответ 3). Затем используется итерационный запрос к DNSсерверу «com» (запрос 4 – ответ 5). для получения ссылки на сервер домена

«microsoft.com» Далее от сервера «microsoft.com» (запрос 6) поступает ссылочный ответ (ответ 7) на DNS-сервер для «example.microsoft.com».

И наконец, устанавливается контакт с сервером «example.microsoft.com» (запрос 8). Поскольку запрошенное имя содержится в конфигурации зон этого сервера, поступает утвердительный ответ (ответ 9) на исходный сервер, который инициировал рекурсию. Когда исходный сервер получает отклик, указывающий, что для запроса получен полномочный ответ, этот ответ направляется запрашивающему клиенту и процесс рекурсии завершается (ответ 10).

Хотя описанное выше выполнение рекурсивного запроса требует интенсивного использования ресурсов, оно дает ряд преимуществ в

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

Ответы на запрос

В предыдущем обсуждении запросов DNS предполагалось, что процесс заканчивается возвращением клиенту утвердительного ответа. Однако, запросы могут возвращать разные ответы. Наиболее общие типы:

полномочный ответ;

утвердительный ответ;

ссылочный ответ;

отрицательный ответ.

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

Утвердительный ответ может содержать запрошенную запись ресурса или список записей ресурсов (который также называют набором записей), соответствующих запрошенному доменному имени DNS и типу записи, указанному в сообщении запроса.

Ссылочный ответ содержит дополнительные записи ресурсов, не указанные по имени или типу в запросе. Ответ этого типа возвращается клиенту, если процесс рекурсии не поддерживается. Эти записи должны рассматриваться как справочные, которые могут использоваться клиентом для продолжения запроса с помощью итераций.