Протокол DNS

ОГЛАВЛЕНИЕ

Могли бы вы представить себе мир, где вы должны были бы запоминать все IP адреса сайтов, которые вам понравились? В этом случае Интернет, несомненно, не был бы так популярен, как сейчас. Не стоит упоминать нашу любимую электронную почту и ту важную роль, которую играет DNS в ней. Читайте дальше, чтобы узнать больше об одном из самых непонятных протоколов на сегодняшний день.

Служба имен доменов или DNS

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

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

Скромное начало

Если вы системный администратор, то вы можете вспомнить, как все начиналось, как шел рост внутренних DNS и как это рассматривалось Microsoft. В Windows NT есть то, что называется LM Hosts файл. LMHosts файл содержит соответствия NetBIOS имен IP адресам. Это было сделано, чтобы облегчить задачу обнаружения компьютеров и сервисов, предлагаемых во внутренней сети. Затем быстро последовали WINS сервер, а затем Active Directory.

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

 

Вы видите, что на верху диаграммы, на которую я ссылался, находится корневой DNS сервер. Ниже корневого сервера домены верхнего уровня, как иллюстрируется .com .edu и .mil среди других. Несколько из этих доменов только для эксклюзивного использования в Соединенных Штатах, поскольку США это то место, где родился Интернет. В крайней левой части диаграммы вы видите .arpa. Это используется для «обратных поисков» DNS. В обратном поиске вы запрашиваете, чтобы IP адрес был преобразован в имя домена. Это то для чего используется arpa домен. Каждый, из уровней отображенных, на этой диаграмме содержит IP адреса DNS сервера выше его. Вы можете думать, что корневой DNS сервер содержит обширное количество входов, в действительности это не так.

Так что же на самом деле содержится в корневом DNS сервере? Хороший вопрос. В нем фактически содержится файл, называемый «файл корневой зоны». Этот файл содержит все имена и IP адреса для доверенных DNS серверов верхнего уровня иначе: TLD. Для примера, доменами верхнего уровня являются .com и .edu среди прочих. Как же формируется содержание корневых серверов имен? Это в значительной степени сделано людьми из IANA. Содержащаяся в этой ссылке исчерпывающая информация ответит на этот вопрос. Здесь же вы можете проверить назначение портов, так же как и назначение протоколов. Вы можете определенно рассматривать IANA как безусловный источник информации, так как они “Уполномочены назначать номера Интернет ”.

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

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

ipconfig /displaydns

Это отобразит DNS записи, которые (при использовании вами Windows XP) XP resolver проверил перед отправкой DNS серверу Вашего Интернет провайдера, чтобы выполнить запрос, отправленный вами. В информации, которую Вы получили в результате выполнения вышеупомянутых команд в строке DOS, присутствует имя записи, тип записи, ttl значение кэшированной DNS записи (измеряется в секундах), длина данных, раздел, и, наконец, тип записи. Вы можете видеть образец вывода команды ipconfig /displaydns ниже. Хороший материал!

testlab-cs4
------------------------------------------------------
Record Name . . . . . : testlab-cs4
Record Type . . . . . : 1
Time To Live . . . . : 30318069
Data Length . . . . . : 4
Section . . . . . . . : Answer
A (Host) Record . . . :

192.168.1.110

Номер типа записи, который вы видите выше, относится к «А» записи. Полный список номеров типов записей и их соответствие типам записей вы можете найти здесь.