Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Протокол DNS




Серверы, обслуживающие корневую зону (Root servers)

Кэширующие (cache) серверы

Этот тип серверов отличается от тех, что были рассмотрены ранее, тем, что сервер данного типа не является авторитативным для какой-либо зоны.

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

Кэш-сервер не поддерживает описаний зон и, соответственно, не посылает resolver’ам авторитативных откликов:

 

MCBC > nslookup

> set type=any

> www.w3.org

Server: udc.nwudc.lan

Address: 192.168.25.25

 

Non-authoritative answer:

www.w3.org internet address = 193.51.208.69

www.w3.org internet address = 128.30.52.31

www.w3.org internet address = 128.30.52.45

www.w3.org internet address = 128.30.52.46

www.w3.org internet address = 128.30.52.47

www.w3.org internet address = 128.30.52.54

 

w3.org nameserver = ns3.w3.org

w3.org nameserver = ns1.w3.org

w3.org nameserver = ns2.w3.org

 

Выше приведен типичный отклик кэширующего сервера на запрос nslookup об адресе «www.w3.org». Если бы сервер был авторитативным, то строчки «Non-authoritative answer» в отклике не было.

 

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

 

Протокол DNS выполняет две основные функции. Он позволяет клиентским компьютерам запрашивать DNS-сервер об IP-адресе или имени какого-либо хоста в сети, а также позволяет производить обмен информацией между базами данных серверов DNS. В этом протоколе используется стандартный формат типа «запрос-ответ», где клиент посылает пакет запроса, и сервер отвечает либо пакетом с информацией, полученной из базы данных, либо сообщением об ошибке, в котором указывается причина отказа в обработке запроса. В своей работе этот протокол использует порт 53 и хорошо известные протоколы — TCP или UDP. Причем в последнее время UDP стал более распространенным методом транспортировки пакетов по сети Internet. Пакет DNS состоит из пяти полей: заголовка, вопроса, ответа, полномочий и поля дополнительной информации. На рисунке 5.7 показана общая структура пакета DNS.

 

Рис. 5.7 Описание пакета протокола DNS

Поле заголовка

В поле заголовка содержится информация о пакете и его назначении. В нём дается общее описание пакета (пакет запроса или пакет ответа) и указывается количество данных, содержащихся в каждом поле данных пакета. Описание заголовка приводится в таблице 5.1.

Биты ID являются уникальным 16-битовым идентификационным номером пакета запроса. Пакет ответа, формируемый сервером, также использует этот идентификационный номер, чтобы клиент мог сопоставить ответ сервера со своим запросом. Бит QR обозначает тип пакета (пакет запроса — 0, пакет ответа — 1). Поле OPCODE определяет тип запроса — стандартный (0), обратный (1) или запрос о статусе сервера (2).

 

Таблица 5.1. Поле заголовка DNS-пакета

Бит Описание Бит Описание
0-15 ID   RA
  QR 25-27 Z
17-20 OPCODE 28-31 RCODE
  AA 32-47 QDCOUNT
  TC 48-63 ANCOUNT
  RD 64-79 NSCOUNT
    80-95 ARCOUNT

 

Следующие четыре бита определяют различные параметры пакета. Бит AA устанавливается, когда ответ является авторитетным (данные поступают напрямую от DNS-сервера, ответственного за зону). Неавторитетные ответы могут поступать от серверов DNS, в кэше которых сохранилась информация об исходных записях от предыдущих запросов. Эта информация считается неавторитетной, так как есть вероятность, что с момента последнего обращения к серверу информация была изменена. Бит TC устанавливается, когда требуется урезать данные в пакете до вида, удобного для передачи по сети. Такое вполне возможно при использовании протокола UDP, согласно которому размер пакета не должен превышать 512 байт. Бит RD включается, когда клиент желает рекурсивно запрашивать DNS-сервер на постоянной основе. Если этот бит установлен, то DNS-сервер будет запрашивать другие DNS-серверы, пока не получит ответ. Если этот бит не установлен, то DNS-сервер будет возвращать на запрос любую информацию, которая у него имеется. Бит RA устанавливается, чтобы уведомить клиента о возможности рекурсивного запроса на данный сервер. Биты Z в настоящее время не используются и зарезервированы на будущее.

Биты RCODE используются только в пакетах ответов. Они отображают состояние ответа — без ошибок (0), ошибки в пакете запроса (1), внутренние ошибки не дали возможности серверу обработать запрос (2), имя, указанное в запросе, не существует (3), данный тип запроса не поддерживается сервером (4) и сервер отказался обработать запрос (5).

Остальные четыре параметра заголовка представляют собой 16-битовые числа и используются в качестве счётчиков. С их помощью ведётся учёт количества исходных записей, возвращаемых в пакете. QDCOUNT отображает количество запросов (в пакет может включаться более одного запроса). ANCOUNT — количество исходных записей, включенных в ответ. NSCOUNT обозначает число исходных записей об авторитетных серверах имен, а ARCOUNT — число записей в поле дополнительной информации.

Поле вопроса

Поле вопроса содержит запросы, ответы на которые клиент желает получить от DNS-сервера. В одном пакете DNS может содержаться несколько запросов. Количество запросов в пакете определяется параметром QDCOUNT из поля заголовка. Поле вопроса состоит из трех частей: списка преобразуемых доменных имен; поля типов записей, которые клиент желает получить в ответе, и параметра класса запроса. Список преобразуемых доменных имён представляет собой список имён, для которых клиент желает получить IP-адреса. Для формирования списка имён используется специальный формат. Перед каждым именем ставится однобайтное значение, которое определяет длину имени. Конец списка обозначается именем с нулевой длиной. После текстовой части следует двубайтная запись QTYPE. В ней определяется, в каком виде клиент желает принимать информацию о имеющихся доменах. Эти значения полностью соответствуют типам исходных записей в DNS. Например, для того чтобы найти почтовый сервер для определённого домена, вам следует воспользоваться типом записи МХ. И, наконец, последний параметр в поле вопроса — QCLASS. Он определяет класс запроса, который в нашем случае для сети Internet всегда будет IN.

Поля ответа, полномочий и дополнительной информации

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

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

Формат представления исходной записи в пакете DNS показан в таблице 5.2.

 

Таблица 5.2. Форматы полей ответа, полномочий и дополнительной информации

Разделы Описание
Names Строка переменной длины для доменного имени, относящегося к исходной записи
TYPE Тип исходной записи
CLASS Класс исходной записи (IN для Internet)
TTL 32-битное значение времени жизни для данной записи
RDLENGTH 16-битовая длина для данных в записи
RDATA Строка переменной длины с описанием записи

 

В поле ответа значения RDATA соответствуют результатам обработки запроса. Записи МХ представляются не в текстовом формате. Вместе с именем почтового сервера в них вносится значение приоритета.




Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 1812; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.