- •Введение
- •1. Применение информационных сетей
- •1.1. Сеть предприятия
- •1.2. Домашняя сеть
- •1.3. Всемирная паутина
- •1.4. Общение
- •1.5. Интерактивные развлечении
- •2. Классификация информационных сетей
- •2.1. По размеру сети
- •2.2. По типу топологии сети
- •2.3. По типу функционального взаимодействии
- •2.4. По тину технологии передачи
- •2.5. По тину среды передачи
- •2.6. По скорости передачи
- •3. Эталонные модели сети
- •3.1. Протокол и стек протоколов
- •3.2. Эталонная модель osi
- •1. Физический уровень
- •2. Канальный уровень
- •3. Сетевой уровень
- •4. Транспортный уровень
- •5. Сеансовый уровень
- •6. Уровень представления
- •7. Прикладной уровень
- •3.3. Эталонная модель tcp/ip
- •3.4. Гибридная эталонная модель
- •4. Сетевые устройства
- •4.1. Сетевые карты
- •4.2. Пассивные сетевые устройства
- •4.3. Активные сетевые устройства
- •5. Линии и каналы связи
- •5.1. Кабельные линии связи
- •5.2. Беспроводные линии связи
- •6. Базовые сетевые технологии
- •6.1. Технология Ethernet
- •62. Технология Token Ring
- •7. Адресация в информационных сетях
- •7.1. Мас-адрес
- •7.2. Ip-адрес
- •Ip-адрес:
- •7.3. Система доменных имен
- •It.Bstu.Ru
- •7.4. Протокол dhcp
- •8. Объединение сетей
- •8.1. Объединение сетей с помощью мостов
- •8.2. Объединение сетей с помощью маршрутизаторов
- •9. Транспортные протоколы тср/iр
- •9.1. По pi ы
- •92. Протокол udp
- •9.3. Протокол tcp
- •10. Протоколы прикладного уровня тсрлр
- •10.1. Протокол ftp
- •10.2. Протокол http
- •11. Безопасность в информационных сетях
- •11.1. Классификации сетевых атак
- •11.2. Защита сетевого трафика
- •Заключение
7.3. Система доменных имен
Первоначально, когда сети были относительно небольшими, для установления соответствия между доменным именем и сетевым адресом использовался простой текстовый файл hosts, в котором содержался список всех доменных имен и соответствующие им IP-адреса. Этот файл хранился на каждом компьютере в сети. Однако по мере добавления в сеть новых компьютеров обновление этого файла становилось все более трудной задачей. Ситуация кардинально изменилась после создания системы доменных имен. Система доменных имен (Domain Name System, DNS) - распределенная система, предназначенная для получения информации о сетевом узле по его доменному имени.
В наше время файл hosts продолжает использоваться, но обычно только для того, чтобы предотвратить поиск локальных сетевых узлов средствами DNS, т.к. запрос к этому файлу имеет приоритет перед обращением к DNS. Также с помощью файла hosts возможно осуществлять фильтрацию нежелательных адресов, путем их перенаправления на адрес 127.0.0.1.
Структура DNS
Как показано на рис. 7.5 в DNS имеет иерархическую структуру. Каждый уровень в этой иерархии называется доменом (domain). При записи домены отделяются друг от друга точкой. Самый верхний уровень этой иерархии называется корнем (root). Следующий уровень в иерархии DNS занимают имена доменов верхнего уровня (такие как .com. .net, .org), описывающие категорию, к которой относится то или иное пространство доменных имен. Домены верхнего уровня являются общедоступными и могут применять любыми людьми и организациями. Например, коммерческим организациям обычно назначается домен .com. Также поддерживаются доменные имена, в которых отражают код страны, например для России используется домен ли.
За управление доменами верхнего уровня отвечает Центр по присвоению номеров Интернета (Internet Assigned Numbers Authority, IANA). База данных всех доменов верхнего уровня доступна по адресу http://www.iana.org/domains/root/db/.
Корень(root)
It.Bstu.Ru
Рис. 7.5. Пример иерархии DNS
После доменов верхнего уровня следуют домены второго уровни, например bstu.ru. В иерархии DNS также могут создаваться различные поддомены. Например, в домене bstu.ru существует поддомен it.bstu.ru.
Принципы работы DNS
Структура DNS позволяет корневым серверам делегировать ответственность за часть доменов подчиненным по отношению к ним серверам. Технически делегирование выражается в выделении множества доменов в отдельную зону, и размещении этой зоны на отдельном DNS-сервере. Зоной в DNS называется множество доменов, за управление которым отвечает определенный сервер или группа серверов DNS. Зона может состоять из одного или нескольких доменов. В случае их делегирования эти домены образуют отдельные зоны, которые будут иметь собственные DNS-серверы.
Если необходимо получить IP-адрес какого-либо домена, то отправляется запрос локальному DNS-серверу на поиск этого IP-адреса. В DNS реализуются три сценария поиска IP-адреса:
Если домен располагается в той же зоне, что и компьютер, который посылал запрос. Локальный DNS-сервер, имеющий адрес домена в своей базе данных, возвращает запрашиваемый IP-адрес.
Если необходимо получить IP-адрес домена в другой зоне. Локальный DNS-сервер обнаруживает, что нужный домен находится в другой зоне, и в зависимости от того где находится эта зона формирует запрос родительскому или дочернему DNS-серверу. Если этот сервер обнаруживает, что нужный домен также находится в другой зоне, тогда формируется новый запрос, который отправляется дальше. Если же этот сервер отвечает за зону, в которой находится домен, искомый IP-адрес отправляется DNS-серверу, который посылал запрос. Когда IP-адрес достигнет локального DNS-сервера, он отправит IP-адрес компьютеру, с которого был подан запрос. 3. Если необходимо повторно получить IP-адрес домена в другой зоне. Локальный DNS-сервер проверяет наличие искомого IP-адреса в своем кэше. Если адрес еще в кэше, то он посылается запрашивающему компьютеру. По мере обработки запросов DNS-сервер сохраняет в кэше все ответы на них. Допустимое время хранения ответов в кэше по умолчанию равно 24 часам.
Кроме «прямого» запроса, который пытается найти IP-адрес по известному доменному имени. Существует «обратный» запрос, который решает противоположную задачу - поиск доменного имени по известному IP-адресу.
База данных DNS
База данных DNS представляет собой текстовый файл, состоящий из записей ресурсов (Resource Records. RR), которые описывают домены и их функции в зоне. DNS-сервер выдает записи ресурсов по запросу компьютеров или других DNS-серверов. Таким образом, истинное назначение DNS заключается в преобразовании доменных имен в записи ресурсов.
Запись ресурса, как правило, состоит из пяти полей. Первое поле всегда содержит имя домена к которому относится текущая запись. Есть две формы записи имен: полное имя домена с точкой на конце (it.bstu.ru.) или только имя поддомена (it). За этим полем может следовать необязательное значение время жизни, которое указывает, в течение какого промежутка времени информация в этой записи должна сч итаться действителыгой.
Третье поле указывает класс адреса, который всегда принимает значение IN (адреса сети Интернет). Данное поле является необязательным и присутствует для совместимости со старыми DNS-сер верами.
Четвертое поле определяет тип записи ресурса. За ним идут значения, специфические для данного тина. Существует более двадцати типов записей ресурсов. В данном курсе будут рассмотрены только наиболее используемые записи ресурсов.
Запись начала полномочий (SOA)
Запись начала полномочий (Start Of Authority, SOA) в базе данных DNS показывает, какой сервер является ответственным за конкретную зону. Кроме того, в записях SOA содержится адрес электронной почты администратора, отвечающего за работу DNS, и другая критически важная информация. Формат записи SOA:
name [время жизни] [класс адреса] SOA origin person (
serial
refresh
retry
expire
minimum)
Здесь name - имя зоны, которая далее описывается в базе данных; origin - имя сервера, где ведется эта зона; person - адрес электронной почты администратора данной зоны: serial - текущая версия базы данных DNS (при обновлении версия увеличивается); refresh - период обновления (в секундах), который определяет, как часто вторичные DNS-сервера должны проверять данные на первичных DNS-серверах; retry - период повтора, который определяет когда вторичный DNS-сервер повторяет попытку обновить содержимое своей базы после неудачной предыдущей попытки; expire - период актуальности, определяет период времени, в течение которого данные вторичного сервера считаются достоверными; minimum - время жизни, которое возвращается для всех запросов к базе данных.
Записи А
Наиболее распространенным типом записей ресурсов являются записи A (Address). Запись A (Address) связывает имя домена с адресом протокола IPv4. Формат записи А:
host [время жизни] [класс адреса] A address
Здесь host - имя домена, a address - IP-адрес этого домена.
Записи сервера имей (NS)
Запись сервера имен (Name Server, NS) указывают, какие домены в базе данных DNS являются DNS-серверами для конкретной зоны. Формат записи:
host [время жизни] [класс адреса] NS server
Здесь host - имя домена в зоне, за который отвечает DNS-сервер (если оно опущено, то запись относится к зоне, указанной в SOA); server- доменное имя DNS-сервера.
Записи обмена почтой (MX)
Записи обмена почтой (Mail Exchanger, MX) указывают, какие домены позволяют принимать сообщения электронной почты. Записи MX настраиваются на уровне зоны, т.е. когда электронная почта будет отправляться домену с именем зоны, она будет перенаправляться тому домену или доменам, на которые установлена соответствующая запись MX. Формат записи MX:
name [время жизни] [класс адреса] MX preference host
Здесь name - имя зоны (если оно опущено, то запись относится к зоне, указанной в SOA); preference - целое число, обозначающее порядок подключения, если используется несколько почтовых серверов; host - имя домена, на котором установлен почтовый сервер.
Записи указателей (PTR)
Обратные запросы к DNS выполняются с использованием записей ресурсов, называемых записями указателей (Pointer, PTR). В записи этого типа используется специальный домен in-addr.arpa. который поддерживает преобразование IP-адресов в доменные имена. Формат записи PTR:
X.X.X.X.in-addr.ama. [время жизни] [класс адреса] PTR host
Параметр X.X.X.X.in-addr.ama. - это обратное отражение доменного имени в IP-адрес (дтя домена с IP-адресом 192.168.0.1 будет равно 1.0.168.192.in-addr.arpa). Параметр host означает имя домена.
Записи канонических имен (CNAME)
Запись канонического имени домена (Canonical Name, CNAME) позволяет представлять псевдоним домена и тем самым позволяет любому домену упоминаться в DNS под несколькими именами. По сути, эта запись перенаправляет адресуемые ей запросы к записи А соответствующего домена. Формат записи CNAME:
name [время жизни] [класс адреса] CNAME host
Здесь name - каноническое имя домена, a host - имя домена.
Пример балы дачных DNS
Ниже приводится небольшой пример базы данных DNS (точка с запятой начинает комментарий).
example.com. IN S0A ns1.example.com. master.example.com. (
2000260601 ; серийный номер
10800 ; период обновления (3 часа)
3600 ; период повтора (1 час)
604800 ; период актуальности (1 неделя)
86400) ; время жизни (1 день)
IN NS ns1 .example.com. ; первичный DNS-сервер hostl IN NS ns2.example.com. ; вторичный DNS-сервер
MX 10 mail1.example.com. ; первичный почтовый сервер MX 20 mail2.example.com. ; вторичный почтовый сервер
www IN CNAME host1.example.com. ; Web-сервер ftp IN CNAME host1.example.com. ; FTP-cepeep
host1.example.com. IN A 192.168.0.1 host2 IN A 192.168.0.2
1.0.168.192.in-addr.arpa. IN PTR host1.example.com. 2.0.168.192.in-addr.arpa. IN PTR host2.example.com.
Протокол DNS
Протокол DNS является протоколом прикладного уровня стека протоколов TCP/IP и использует клиент-серверную архитектуру, где клиент посылает запрос, а сервер отвечает либо информацией, полученной из базы данных DNS, либо сообщением об ошибке, в котором указывается причина отказа в обработке запроса. Передача этих данных производится при помощи протоколов транспортного уровня TCP и UDP, при этом используется порт 53.
Запрос и ответ DNS имеют одинаковую структуру и состоят из заголовка и четырех блоков: запросов, ответов, авторитетных серверов и дополнительной информации.
Заголовок DNS-пакета
На рис 7.6 изображен заголовок, который имеет фиксированную длину 12 байт [8]. Первые два байта содержат поле «Идентификатор», который позволяет распознавать различные запросы и ответы. Следующие два байта это флаги. Флаг QR обозначает тип (0 - запрос.
Флаг АА устанавливается, когда ответ является авторитетным. Ответ называется авторитетным, если он был получен напрямую от DNS-сервера, ответственного за зону. Неавторитетные ответы могут поступать от DNS-серверов, в кэше которых сохранилась информация от предыдущих запросов. Эта информация считается неавторитетной, так как существует вероятность, что с момента последнего обращения к серверу информация была изменена.
1 - ответ). Флаг OPCODE определяет тип запроса (0 - стандартный, 1 - обратный, 2 - запрос о статусе сервера).
Флаг ТС устанавливается, когда требуется урезать данные в пакете до вида, удобного для передачи по сети. Такое вполне возможно при использовании протокола UDP.
Флаг RD устанавливается, когда клиент желает рекурсивно запрашивать DNS-сервер на постоянной основе. Если этот флаг установлен, то DNS-сервер будет запрашивать другие DNS-серверы, пока не получит ответ. Если этот флаг не установлен, то DNS-сервер будет возвращать на запрос любую информацию, которая у него имеется. Флаг RA устанавливается, чтобы уведомить клиента о возможности рекурсивного запроса на данный сервер.
Флаг Z в настоящее время не используются и зарезервирован на будущее.
Флаг RCODE отображает состояние ответа (0 - без ошибок, 1 -ошибки в пакете запроса, 2 - внутренние ошибки не дали возможности серверу обработать запрос, 3 - имя, указанное в запросе, не существует, 4 - данный тип запроса не поддерживается сервером, 5 - сервер отказался обработать запрос).
Последние четыре поля определяют число записей в блоках запросов (в пакет может включаться более одного запроса), ответов, авторитетных серверов и дополнительной информации.
Блок запросов DNS-пакета
Блок запроса состоит из трех полей. Первое поле переменной длины содержит имя домена. Для записи доменных имен используется специальный формат. Перед именем каждого домена ставится однобайтное значение, которое определяет длину имени. Конец списка обозначается нулем. На рис. 7.7 показано как будет записано доменное имя www.bstu.ru в таком формате.
Рис. 7.7. Пример записи доменного имени в DNS-накета
Второе поле имеет длину 2 байта и определяет тип записи ресурсов. Значения этого поля для каждого типа перечислены в таблице 7.3. Третье поле указывает класс адреса, который всегда принимает значение равное 1, что соответствует классу IN. Длина этого поля 2 байта.
Таблица 7.3. Значения, поля тип записи ресурсов
Тин записей ресурсов |
Значение |
SOA |
6 |
Л |
1 |
NS |
2 |
MX |
15 |
PTR |
12 |
CNAME |
5 |
Блоки ответов, авторитетных серверов и дополнительной информации
Последние три блока запроса/ответа DNS имеют один и тот же формат. В ответах содержатся записи ресурсов, доступные в базе банных сервера DNS на момент запроса клиента. Если флаг АА заголовка не установлен, то в блоке авторитетных серверов будут указаны DNS-серверы. к которым клиент может обращаться за авторитетными ответами. В поле дополнительной информации подаются все записи ресурсов, которые воспринимаются DNS-сервером как имеющие отношение к данному запросу.
Каждый из этих блоков состоит из шести полей. Первое поле переменной длины содержит имя домена (записывается в том же формате, что и в запросе). Второе поле длиной два байта содержит тип записи ресурса то же, что и в запросе. Третье поле кчасс адреса длиной два байта всегда принимает значение 1. Четвертое поле содержит время жизни для данной записи (размер 4 байта). Пятое поле определяет размер поля данных (размер 2 байта). Последнее содержит данные для соответствующей записи.