Руководство администратора сети в ОС Linux

       

Поиск имени с помощью DNS


На первый взгляд, все эти суета с областями и зонами кажется делает поиск адреса ужасно сложным делом. В конце концов, если нет центрального органа контролируещего какие имена связаны с каким адресом, тогда как - скромное приложение должно его узнавать?!

Теперь начинается действительно техническая часть описания DNS. Если Вы хотите выяснять IP адрес erdos, тогда, DNS говорит, иди и спроси людей, которые управляют им, и они ответят Вам.

Фактически, DNS - гигантская распределенная база данных. Это осуществлено посредством так называемых серверов имен(name server), которые снабжают всех информацией о данной области или нескольких областях сразу. Для каждой зоны имеются по крайней мере два сервера имен, которые содержат всю информацию относительно хостов в этой зоне. Чтобы получить IP адрес erdos, все что Вы должны сделать -- обратится к серверу имен зоны groucho.edu, который и передаст Вам требуемые данные.

Легко сказать, а как это сделать, подумали вы. Так как найти сервер имен в Groucho Marx Университет? В случае если ваш компьютер не оборудован address-resolving oracle, DNS также обеспечивает это. Когда ваше приложение хочет найти информацию относительно erdos, оно входит в контакт с местным сервером имен, который проводит так называемый итерационный опрос. Сначала он посылает запрос серверу имен об области корня, спрашивая о адресе erdos.maths.groucho.edu. Сервер имен корня сообщает, что это имя не принадлежит зоне его полномочий, но вместо этого отсылает к edu области. Таким образом, он предлагает Вам войти в контакт с сервером имен зоны edu для получения большего количества информации, и прилагает список всех серверов имен edu вместе с их адресами. Ваш местный сервер имен пошлет запрос одному из них, например a.isi.edu. Также как серверу имен корня, a.isi.edu знает что люди groucho.edu управляют свей зоной сами, и направит Вас на их сервера. Местный сервер имен запросит одного из них, который наконец распознает имя, как принадлежащее к его зоне, и вернет IP адрес.

Кажется, что для поиска одного IP адреса тратится слишком много ресурсов. но это не сравнимо меньше, чем при преждней схеме с HOSTS.TXT. Но все еще имеются места для усовершенствования этой схемой.

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

Конечно, сервер имен не будет хранить эту информацию всегда, а отбросит ее через некоторое время. Этот интервал времени назван time to live(временем жизни), или TTL. TTL задается администратором данной зоны.



Содержание раздела