Что такое DNS и как ДНС-сервера обеспечивают работу интернета. DNS – что это такое, как использовать и что обязательно должен знать новичок

26.07.2019 Ios

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

Как работает

На заре развития Интернета существовала «плоская» система наименований: у каждого пользователя был отдельный файл, в котором содержались списки необходимых ему контактов. Когда он подключался к Всемирной паутине, то его данные рассылались на другие устройства.

Однако из-за стремительного развития Интернета необходимо было максимально упростить обмен данными. Поэтому его разделили на меньшие сегменты-домены. В свою очередь, они разделяются на поддомены. На вершине адреса, поданного в именной форме, находится корень – основной домен.

Поскольку Интернет – это американская разработка, то существует два типа первичных доменов:

  • общие домены, которые принадлежат учреждениям США:
  1. com – бизнес-организации;
  2. gov – правительственные заведения;
  3. edu – образовательные учреждения;
  4. mil – военные представительства;
  5. org – частные организации;
  6. net – интернет-провайдера.
  • коренные домены других страны состоят из двух букв.

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

Точка исполняет роль разделителя между доменами разными порядка. В конце имени точка не ставится. Каждый отдельный домен с точкой называется меткой.

Ее длина не должна превышать 63 символа, а полная длина адреса – 255 знаков. В основном, используются латиница, цифры и знак дефиса, однако несколько лет назад начали использовать начали использовать приставки на основе других систем письменности. Регистр букв не имеет значения.

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

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

Поиск необходимых данных происходит так:


Основы DNS

Узел, состоящий из нескольких доменов, называется зоной . В ее файле содержатся основные параметры своего сегмента. В том числе он включает информацию о FQDN или полностью определенном доменном имени. Если такая запись заканчивается точкой, это значит, что имя объекта задано правильно.

Существует несколько типов компьютеров, которые обслуживают DNS:

  • master – главный агент сети. Он может изменять ее конфигурацию;
  • slave – устройства второго порядка. Они обслуживают клиентов наравне с master и могут заменять его заменять в случае неполадок. Это позволяет разгрузить сеть;
  • кэширующий. Содержит в своем информацию о доменах посторонних зон;
  • невидимый. Отсутствует в описании зоны. Чаще всего этот статус присваивается пользователям со статусом master для того, чтобы уберечь их от атаки.

К ним пользователь может отправить один из двух типов запроса.

Браузер посылает его через программу-resolver:

  • рекурсивный. Если сервер не содержит необходимой информации, этом случае он узнает необходимые данные у компьютеров высшего уровня и присылает клиенту ответ. Это позволяет уменьшить количество запросов и обеспечивает экономию времени и вашего трафика;
  • итеративный. Сервер присылает готовый ответ, отбирая информацию только из собственного кэша (памяти). Если у него нет подходящих данных, то он предоставляет ссылку на другие компьютеры. Затем браузер переходит по этому адресу.

Существует два типа ответов:

  1. авторитативный – если данные отправляются с устройства, которые обслуживают сеть;
  2. неавторитативный. Присылается посторонним компьютером, который получает необходимые данные из собственного кэша или после итеративного запроса.

Видео: служба DNS

Имена и IP-адреса

Служба DNS обеспечивает перевод имен сайтов в IP-адреса. В интернете каждое устройство можно отследить по 2 основным параметрам – имени домена и IP-адресу. Они могут присваиваться компьютеру пользователя, сетевому принтеру или маршрутизатору.

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

Режим работы

Сервера могут работать в режимах:

  1. обслуживание собственной зоны. Обмен данными совершается между главным и подчиненными компьютерами. При этом запросы от неавторитативных пользователей не принимаются;
  2. выполнение рекурсивного вопроса;
  3. форвардинг – сервер отправляет запрос в другую зону.

Изменение DNS параметров

Обычно эти параметры задаются сетью в автоматическом режиме. Для того чтобы сбросить данные необходимо зайти в раздел «Сетевые подключения».

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

В разделе «Свойства» можно задать необходимые параметры. Обычно указываются основной IP-адрес сервера и альтернативный.

Формат сообщения

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

Поле флагов (следующие 16 бит) включает информацию:

  1. тип сообщения;
  2. код операции;
  3. идентификация авторитативности (т.е. показывает, принадлежит ли обслуживающий компьютер к сети);
  4. ТС-флаг. Отображает, пришло сообщение обрезанным или полным.
  5. флаг рекурсии, т.е. требования серверу послать запросы компьютерам высшего порядка;
  6. флаг возможности рекурсии. Показывает способность сервера осуществлять перенаправление сообщения;
  7. код возврата. Отображает, послан ответ с ошибками или нет.

Последнее 16-битное поле показывает общее количество учитываемых параметров.

Вопросы в DNS запросе

Часть записи ресурса в отклике

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

Кроме них, в сообщении содержится:

  • имя домена;
  • тип запроса;
  • срок актуальности кэшированной версии;
  • длина записи ресурса – оценка объема информации.

Запросы указателя

Запросы указателя направлены на поиск страницы в инверсивном режиме, т.е. поиск имени ресурса по IP-адресу, поданного в виде текстовой строки, разделенной точками.

Для его отправки адрес узла записывается в противоположном порядке с добавлением определенного суффикса (чаще всего в форме in-addr.arpa).

Совершить операцию можно, если ресурс содержит PTR-запись. Это позволяет передать управление зоной владельцу IP-адресов.

Записи ресурсов

Это – список основных программ, используемых службой. В рамках одного домена эти записи являются уникальными. На разных уровнях сети могут существовать дубли этих записей.

Эти данные включают следующие виды записей:

  1. SOA –старта полномочий. Она позволяет сопоставить домен и обслуживающие его компьютеры. Также в них содержатся сведения о сроке актуальности кэшированной версии, и контактном лице, которое обслуживает сервер определенного уровня;
  2. А содержат перечень IP-адресов и соответствующих им хостов. Они позволяют идентифицировать адрес ресурсов домена;
  3. NS (Name Server) включают список компьютеров, которые обслуживают домен;
  4. SRV (Service) отображают все ресурсы, которые выполняют важнейшие функции службы;
  5. MX (Mail Exchanger) позволяют автоматически настроить рассылку данных обслуживающим компьютерам в границах одного домена;
  6. PTR (Pointer) используются для поиска имени ресурса, если пользователь знает его IP-адрес;
  7. CNAME (Canonical Name) позволяют серверу упоминаться под несколькими псевдонимами в службе.

Кэширование

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

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

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

UDP или TCP

Служба поддерживает как протокол UDP, так и TCP.

UDP используется для отправки сообщений по глобальным сетям. Размер сообщений, пересылаемых по этому протоколу, лимитирован. Неполные ответы содержат метку ТС. Это означает, что размер отклика превысил 512 байт, поэтому остальная часть не дошла до компьютера.

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

TCP используется для передачи таких данных, поскольку он позволяет получать любой объем данных, разделенный на сегменты определенного размера.

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

Служба DNS имеет сложную иерархическую структуру. Однако система серверов обеспечивает гибкое и быстрое взаимодействие между всеми пользователями и устройствами Сети.

Чтобы узнать необходимую информацию, клиент посылает запрос. Отклик содержит основные данные об интересующем объекте и компьютере, обслуживающем зону. Для осуществления этого обмена используются протоколы UDP и TCP.

Доброго времени суток, дорогие подписчики и гости блога. Наверняка вы слышали такую аббревиатуру, как DNS и возможно понимаете основы. Однако для многих это непонятный термин. Поэтому сегодня я постараюсь максимально понятно объяснить, что такое DNS-сервер и как его настроить, расскажу принципы его работы и зачем он нужен. Давайте приступим!

Знакомьтесь! DNS

Итак, DNS расшифровывается как «Domain Name System». Если вы знаете английский, то уже поняли, о чем пойдет речь. Термин переводится как «Система доменных имен». Это своего рода распределенное хранилище, база данных, в которой хранятся ключи и значения, а точнее IP-адреса и соответствующие им доменные имена. Чтобы понять, для чего это нужно, ненадолго окунемся в историю.

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

В данном случае это www.google.com.ua . Такая система появилась потому, что пользователям сети не удобно запоминать числовые адреса сайтов. Таким образом, при вводе определенного названия веб-сайта юзером в системе DNS происходит сложный процесс поиска его IP и наоборот. Кстати, одному IP-адресу может быть присвоено несколько доменных имен и наоборот одному доменному имени – много IP-адресов.

Ранее подобная информация записывалась в один единый файл и хранилась у юзеров на локальных компьютерах. Однако Всемирная паутина разрасталась и такой способ быстро стал неактуальным. На его смену пришла система доменных имен, разработанная во второй половине XX века Полом Мокапетрисом.

Domain Name System состоит из множества уровней, на каждом из которых расположены свои записи доменов. Интересно то, что чем выше иерархия домена, тем правее он расположен при написании адреса сайта.

Корнем такого иерархического дерева является точка – «.». За ней идут домены первого уровня. К ним относятся следующие имена: org, com, net, int, edu, gov, info, pl и другие. Сюда же относятся и указание страны. Например, ru, ua и т.д. Далее идут следующие уровни.

Из-за огромного количества доменов все они были поделены на зоны – некая часть имен, которая хранится как единое целое на некотором одном или нескольких DNS-серверах.

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

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

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

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

Зачем настраивать DNS-сервер для своего сайта?

Как я уже говорил, каждый сайт имеет свой IP-адрес и доменное имя. В зависимости от того, как часто вы переезжаете на новый хостинг, меняется и сервер. А это значит, что меняется и IP. Поэтому соотношение ключ-значение не постоянное.

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

Поэтому при смене провайдера обязательно обновляйте информацию о расположении вашего сайта: проверьте домен, значение IP и все остальные параметры.

Если вы все сделали, как было написано выше, но никаких изменений не произошло, не пугайтесь. Новые инструкции подключения к сайту вступают в силу достаточно долго. Это может занять от 24 до 72 часов. Хотя некоторым сильно везет и регистрация проходит часов за 5. Почему так?

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

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

На этой ноте я прощаюсь с вами. Подписывайтесь на обновления моего блога. Заранее благодарю за репосты. Пока-пока!

С уважением, Роман Чуешов

Так, вот DNS — это одна из основополагающих вещей, на которых построена работа всего интернета. Это аббревиатура расшифровывается как Domain Name System, что в переводе означает доменная система имен .

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

Зачем нужны DNS-сервера и что это такое?

Система же доменных имен оперирует уже полноценными именами (буквы латиницы, цифры, тире и нижнее подчеркивание допускается при их формировании)..120.169.66 малоинформативен) и ими проще оперировать.

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

Вот именно на этих ДНС-серверах (иногда их еще называют NS от Name Server, т.е server имен ) и держится весь интернет (как плоский мир на трех китах, стоящих на черепахе). не требующий непосредственного участия человека в своей работе (настроили его — он и пашет в режиме 24 на 7). И таких DNS-серверов в сети очень много.

Как работает DNS и причем тут файл Hosts?

На заре интернета ДНС вообще не существовало. Но как же тогда работала сеть?.120.169.66? За это дело тогда (да и сейчас тоже) отвечал так называемый , где были прописаны все хосты тогда еще маленького интернета.

Такой файл находился (и сейчас находится) на каждом компьютере пользователя (на вашем тоже он есть) подключенного к сети (как его найти смотрите по приведенной выше ссылке).

В файле Hosts было прописано несколько тысяч строк (по числу сайтов в интернете на тот момент), в каждой из которых сначала был прописал IP адрес, а затем через пробел соответствующий ему домен. Вот так выглядела бы запись для моего блога, существуй он в сети лет так двадцать пять — тридцать назад:

109.120.169.66 сайт

Удачи вам! До скорых встреч на страницах блога сайт

посмотреть еще ролики можно перейдя на
");">

Вам может быть интересно

Сервер - что это такое
Покупка домена (доменного имени) на примере регистратора Reghouse WHOIS сервисы - информация о домене (чей он, каков его возраст и история, когда освобождается) или IP адресе
Файл Hosts - что это такое, где он находится в Windows, что с ним делать вебмастеру и как удалить из него записи вирусов
Проверка на занятость и покупка доменного имени, чем отличаются регистраторы и реселлеры доменов и что такое WHOIS Как зарегистрировать домен (купить доменное имя у регистратора)

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

Использование альтернативного DNS-сервера предоставляет несколько преимуществ:

  • Чем ближе вы находитесь к DNS-серверу, тем быстрее будет выполняться определение имён.
  • Если DNS провайдера не очень надёжны, альтернативный DNS улучшит стабильность.
  • Вы избавитесь от ограничений доступа к контенту на основе географического положения.

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

Поскольку сайт наш всё-таки о Linux, рассмотрим, как настроить DNS-серверы Linux. Настройки DNS-сервера в любом Linux-дистрибутиве находятся в файле /etc/resolv.conf. Адрес DNS-сервера указывается в следующем формате:

nameserver 192.168.137.1

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

Если вы используете NetworkManager, можно настроить DNS-сервер там, в свойствах подключения. Откройте настройки сетевых подключений, нажмите в контекстном меню И зменить для нужного подключения, затем на вкладке IPv4 укажите нужный DNS-сервер:

Теперь настройки сохраняться даже после перезагрузки.

Протестировать скорость работы DNS-сервера можно с помощью утилиты nsloockup . Например:

time nslookup www.google.com 208.67.222.222

Server: 208.67.222.222
Address: 208.67.222.222#53
Non-authoritative answer:
Name: www.google.com
Address: 173.194.113.209
Name: www.google.com
Address: 173.194.113.212
Name: www.google.com
Address: 173.194.113.210
Name: www.google.com
Address: 173.194.113.211
Name: www.google.com
Address: 173.194.113.208
real 0m0.073s
user 0m0.012s
sys 0m0.004s

Первый параметр - адрес сайта, который будем измерять, второй - адрес DNS-сервера. Команда time замеряет время выполнения nslookup в миллисекундах. А теперь перейдём непосредственно к списку "хорошие DNS-серверы".

Лучшие DNS-серверы

1. Google Public DNS

Первый DNS сервер в нашем списке - сервер от Google - Google Public DNS. Он работает с декабря 2009 и его цель - сделать работу пользователей в интернете быстрее, безопаснее и удобнее. В настоящее время это крупнейшая государственная DNS-структура в мире. Для использования Google Public DNS достаточно использовать IP-адрес DNS сервера 8.8.8.8 или 8.8.4.4.

При переходе на Google Public DNS повышается безопасность и оптимизируется скорость работы, поскольку Google действительно использует Anycast-маршрутизацию для нахождения ближайшего сервера. Кроме того, он устойчив к атакам DNS Cache, а также DoS.

2. OpenDNS

Если вы ищете не просто замену обычному DNS, а расширенную версию, которая даст вам больше контроля, попробуйте OpenDNS. Как говорится в сообщении этой компании, вы сделаете ещё один шаг на пути к безопасности путем внедрения этой службы. Есть два варианта OpenDNS - домашний и корпоративный. Домашняя версия поставляется с родительским контролем, защитой от фишинга и улучшенной скоростью. Корпоративная версия OpenDNS имеет полную функциональность для защиты сети предприятия. Для домашнего использования вы можете получить OpenDNS бесплатно. Чтобы настроить DNS-серверы Linux просто установите следующие адреса DNS: 208.67.222.222 и 208.67.220.220. OpenDNS также поддерживает Anycast.

3. DNS.WATCH

DNS.WATCH - это минималистичная служба DNS, которая позволяет вам иметь быстрый доступ в интернет без цензуры. Поскольку эта служба построена по принципам свободы, вы можете быть уверены,что ваш запрос достигнет цели и не будет использовано никаких перенаправлений. Сервер работает быстро и стабильно. Если вы живете в стране с цензурой, это будет отличным решением. Сервера DNS-службы: 82.200.69.80 и 84.200.70.40.

4. Norton ConnectSafe

Norton ConnectSafe - ещё одна служба DNS, предназначенная для усиленной защиты вашего интернета. Следует отметить, что Norton занимается аспектами безопасности многих устройств в течение длительного времени. Поэтому вы можете быть уверены в качестве Norton ConnectSafe. Сервис предлагает три различных варианта защиты: защита от вредоносных программ, фишинга и жульничества, защита от порнографии и других угроз. Для каждого вида используются разные IP-адреса. Для защиты всей домашней сети достаточно просто настроить маршрутизатор.

5. Level3 DNS

Level3 DNS - это отличная служба DNS, если вы ищете надежный DNS-сервер с отличной производительностью. Хотя и Level3 не такой большой, как Google, у него впечатляющая инфраструктура. Вы можете быть уверенны, что скорость будет на высшем уровне. IP-адреса DNS сервера: 209.244.0.3 , 209.244.0.4 , 4.2.2.1, 4.2.2.2 , 4.2.2.3 и 4.2.2.4.

6. Comodo Secure DNS

Comodo Secure DNS - ещё одна служба, сочетающая в себе скорость, надёжность и безопасность. Comodo использует огромную сеть, которая включает в себя большое количество DNS-серверов. Скорость будет оптимизирована путём выбора сервера в зависимости от вашего местоположения. Кроме того, Comodo заботится о безопасности, поставляя список опасных сайтов, а служба DNS убедится, что вы не посещаете ни один из них. IP-адреса Comodo Secure DNS: 8.26.56.26 и 8.20.247.20.

7. OpenNIC DNS

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

Выводы

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

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

Итак, давайте представим, что Вам придется отлаживать сеть, для которой провайдер выделил блок «честных» адресов, или настраивать поднимать в локальной сети свой DNS-сервер. Вот тут сразу и всплывут всякие страшные слова, типа «зона», «трансфер», «форвардер», “in-addr.arpa” и так далее. Давайте постепенно с этим всем и разберёмся.

Очень абстрактно можно сказать, что каждый компьютер в Интернете имеет два основных идентификатора – это доменное имя (например, www..0.0.1). А вот абстрактность заключается в том, что, и IP-адресов у компьютера может быть несколько (более того, у каждого интерфейса может быть свой адрес, вдобавок еще и несколько адресов могут принадлежать одному интерфейсе), и имен тоже может быть несколько. Причем они могут связываться как с одним, так и с несколькими IP-адресами. А в-третьих, у компьютера может вообще и не быть доменного имени.

Как уже было сказано раньше, основной задачей DNS-сервера является трансляция доменных имен в IP адреса и обратно. На заре зарождения Интернета, когда он еще был ARPANET’ом, это решалось ведением длинных списков всех компьютерных сетей. При этом копия такого списка должна была находиться на каждом компьютере. Естественно, что с ростом сети такая технология уже стала не удобной для пользователей, потому как эти файлы были больших размеров, к тому же их еще и нужно было синхронизировать. Кстати, некоторые такие «отголоски прошлого» этого метода можно еще встретить и сейчас. Вот так в файл HOSTS (и в UNIX, и в Windows) можно внести адреса серверов, с которыми вы регулярно работаете.

Так вот, на смену неудобной «однофайловой» системе и пришел DNS - иерархическая структура имен, придуманная доктором Полом Мокапетрисом.

Итак, есть «корень дерева» – “.” (точка). Учитывая то, что этот корень единый для всех доменов, то точка в конце имени обычно не ставится. Но она используется в описаниях DNS и это нужно запомнить. Ниже этого «корня» находятся домены первого уровня. Их немного - com, net, edu, org, mil, int, biz, info, gov (и пр.) и домены государств, например, ua. Еще ниженаходятся домены второго уровня, а еще ниже - третьего и т.д.

Что такое «восходящая иерархия»

При настройке указывается адрес как минимум одного DNS-сервера, но как правило, их два. Далее клиент посылает запрос этому серверу. Получивший запрос сервер, или отвечает, если ответ ему известен, или пересылает запрос на «вышестоящий» сервер (если тот известен), или сразу на корневой, так как каждому DNS-серверу известны адреса корневых DNS-серверов.
Затем запрос начинает спускаться вниз - корневой сервер пересылает запрос серверу первого уровня, тот - серверу второго уровня и т.д.

Кроме такой «вертикальной связи», есть еще и «горизонтальные», по принципу “первичный - вторичный”. И если допустить, что сервер, который обслуживает домен и работает «без подстраховки», вдруг становится недоступным, то компьютеры, которые расположены в этом домене, станут тоже недоступны! Вот потому то при регистрации домена второго уровня и предъявляется требование указывать минимум два DNS- сервера, которые будут обслуживать этот домен.

По мере дальнейшего роста сети Интернет все домены верхнего уровня были поделены на поддомены или зоны. Каждая зона представляет собой независимый домен, но при обращении к базе данных имен запрашивает родительский домен. Родительская зона гарантирует дочерней зоне право на существование и отвечает за ее поведение в сети (точно так же, как и в реальной жизни). Каждая зона должна иметь по крайней мере два сервера DNS, которые поддерживают базу данных DNS для этой зоны.

Основные условия для работы серверов DNS одной зоны - наличие отдельного соединения с сетью Интернет и размещение их в различных сетях для обеспечения отказоустойчивости. Поэтому многие организации полагаются на провайдеров Internet, которые ведут в их интересах вторичные и третичные серверы DNS.

Рекурсивные и нерекурсивные серверы

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

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

Forwarders – «пересыльщики» запросов и ускорители разрешения имён

У DNS-серверов есть довольно полезное свойство – умение использовать так называемых «пересыльщиков» (forwarders). «Честный» DNS-сервер самостоятельно опрашивает другие сервера и находит нужный ответ. Но вот если ваша сеть подключена к Интернету по медленной линии (например, dial-up), то этот процесс может занять много времени. Поэтому можно перенаправлять эти запросы, например, на сервер провайдера, и после этого просто принимать его ответ.

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

Для каждого домена ведётся своя база данных DNS, которая выглядит как набор простых текстовых файлов. Они расположены на первичном (основном) DNS- сервере, и их время от времени копируют к себе вторичные сервера. А в конфигурации сервера указывается, какой файл содержит описания зон, а так же является ли сервер первичным или вторичным для этой зоны.

Уникальный адрес

Уникальный адрес в Интернете формируется добавлением к имени хоста доменного имени. Таким образом, компьютер, к примеру, “fred” в домене, к примеру, “smallorg.org” будет называться fred.smallorg.org. Кстати, домен может содержать как хосты, так и зоны. Например, домен smallorg.org может содержать хост fred.smallorg.org и в то же время вести зону acctg.smallorg.org, которая является поддоменом и может содержать еще один хост barney.acctg.smallorg.org. Хотя это и упрощает базу данных имен, однако делает поиск хостов в сети Internet более сложным.

В системе DNS реализуются три сценария поиска IP-адреса в базе данных.

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

* Компьютер, которому необходимо получить соединение с компьютером в другой зоне запрашивает локальный DNS-сервер своей зоны. Локальный DNS-сервер обнаруживает, что нужный компьютер находится в другой зоне, и формирует запрос корневому DNS-серверу. Корневой DNS-сервер спускается по дереву серверов DNS и находит соответствующий локальный DNS-сервер. От него он получает IP-адрес запрашиваемого компьютера. Затем корневой DNS-сервер передает этот адрес локальному серверу DNS, который послал запрос. Локальный DNS-сервер возвращает IP-адрес компьютеру, с которого был подан запрос. Совместно с IP-адресом передается специальное значение - время жизни TTL (time to live). Это значение указывает локальному DNS-серверу, сколько времени он может хранить IP-адрес удаленного компьютера у себя в кэше. Благодаря этому увеличивается скорость обработки последующих запросов.

* Компьютер, которому необходимо повторно получить соединение с компьютером в другой зоне запрашивает локальный DNS-сервер своей зоны. Локальный DNS-сервер проверяет, нет ли этого имени в его кэше и не истекло ли еще значение TTL. Если адрес еще в кэше и значение TTL не истекло, то IP-адрес посылается запрашивающему компьютеру. Это считается неавторизованным ответом, так как локальный DNS-сервер считает, что с момента последнего запроса IP-адрес удаленного компьютера не изменился.

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

По мере роста дерева DNS, к серверам системы доменных имен предъявлялись новые требования. Как уже упоминалось ранее, родительские DNS-серверы должны иметь IP-адреса своих дочерних серверов DNS, чтобы правильно обрабатывать DNS-запросы на преобразование имен в IP-адреса. Чтобы DNS-запросы обрабатывались правильно, поиск по дереву DNS должен начинаться из какой-то определенной точки. В период младенчества сети Internet большинство запросов на поиск имен приходилось на локальные имена хостов. Основная часть DNS-трафика проходила внутри локальной зоны и лишь в худшем случае достигала родительских серверов DNS. Однако с ростом популярности Internet и, в частности Web, все больше DNS-запросов формировалось к удаленным хостам вне локальной зоны. Когда DNS-сервер не находил имя хоста в своей базе данных, он вынужден был запрашивать удаленный DNS-сервер. Наиболее подходящими кандидатами для удаленных DNS-серверов, естественно, стали серверы DNS верхнего уровня, которые обладают полной информацией о дереве доменов и способны найти нужный DNS-сервер, ответственный за зону, к которой принадлежит запрашиваемый хост. Затем они же возвращают IP-адрес нужного хоста локальному DNS-серверу. Все это приводит к колоссальным перегрузкам корневых серверов системы DNS. К счастью, их не так много и все они равномерно распределяют нагрузку между собой. Локальные DNS-серверы работают с серверами DNS доменов верхнего уровня с помощью протокола DNS, который рассматривается далее в этой лекции.

Система DNS - улица с двусторонним движением. DNS не только отыскивает IP-адрес по заданному имени хоста, но способна выполнять и обратную операцию, т.е. по IP-адресу определять имя хоста в сети. Многие Web- и FTP-серверы в сети Internet ограничивают доступ на основе домена, к которому принадлежит обратившийся к ним клиент. Получив от клиента запрос на установку соединения, сервер передает IP-адрес клиента DNS-серверу как обратный DNS-запрос. Если клиентская зона DNS настроена правильно, то на запрос будет возвращено имя клиентского хоста, на основе которого затем принимается решение о том, допустить данного клиента на сервер или нет.