Венедюхин Александр
Шрифт:
По мере роста количества пользователей компьютерных сетей выяснилось, что числа вообще привычны лишь небольшой части этих пользователей. Поэтому неудивительно, что чисто человеческие трудности с практическим использованием чисел, определяющих адреса в Интернете, возникли довольно давно – еще в начале 80-х годов XX века.
Числа весьма отличаются от привычных нам слов того или иного языка. Разница особенно заметна в случае представления и обработки данных компьютером. Конечно, и числа могут быть записаны словами, и слова – числами. Однако слова человеческого языка обозначают многогранные понятия, существующие в памяти человека. Именно из-за связи с речью словесные обозначения лучше запоминаются.
Первопричиной прихода буквенных, точнее, алфавитно-цифровых обозначений в систему адресации Интернета стала электронная почта. Оказалось, что для людей гораздо удобнее представлять адреса электронной почты в формате, сходном с адресами для почты обычной. Понятно, что удобство записи и запоминания адресов человеком способствует росту эффективности использования электронной почты. Поэтому вместо сложных комбинаций чисел сейчас применяются адреса вида alex.ivanov@test.ru.
Конечно, системы, преобразующие числовые адреса в символьные строки, в компьютерных сетях были известны и ранее, до появления электронной почты. Более того, некоторые из таких систем использовались задолго до появления TCP/IP. Тем не менее именно межсетевое распространение электронной почты подтолкнуло инженеров к идее введения общей системы «символьной адресации» в Интернете. Так в 1983 году появилась – сперва в качестве научного лабораторного проекта – система доменных имен Интернета. Сокращенное название DNS обозначает одновременно и Domain Name System (систему имен), и Domain Name Service (сервис по преобразованию адресов). Эквивалентное русскоязычное название – доменная система имен.
DNS представляет собой сложный распределенный технологический механизм, позволяющий, помимо прочего, сопоставить символьному имени домена (строке символов) один или несколько числовых IP-адресов, определяющих соответствующий узел Интернета. Например, доменному имени test.ru соответствует адрес 192.168.17.101.
Заметьте, что это далеко не единственная задача, которую решает DNS. Система гораздо гибче и универсальнее. DNS – распределенная база данных, ориентированная на хранение и поиск записей, представляющих собой пары значений. Пара «домен – IP-адрес» – только одна из возможных. При помощи DNS выполняют и обратное преобразование, позволяющее найти символьное имя, соответствующее IP-адресу. В этой книге основное внимание уделено функциям DNS, используемым для работы с IP-адресами применительно к символьным адресам ресурсов. Это один из самых востребованных классов функций DNS.
Домены для Интернета придумал Пол Мокапетрис (Paul Mockapetris), ученый из США. Именно он разработал основополагающие для DNS документы – RFC 882 и RFC 883.
Аббревиатура RFC уже не первый раз встречается в тексте. Что она обозначает? RFC (Request for Comments) – это достаточно свободная форма определения тех или иных стандартов и протоколов работы Глобальной сети, сложившаяся в результате исторического развития интернет-сообщества. Можно сказать, что большая часть документов RFC, касающихся Интернета, – это описания новых технологий, добровольно принимаемые ко вниманию и исполнению всеми заинтересованными разработчиками.
В современном Интернете документы RFC 882 и RFC 883 (их тексты опубликованы на специальном сайте по адресам http://tools.ietf.org/html/rfc882 и http://tools.ietf. org/html/rfc883) не действуют – сейчас их заменили более новые версии. Однако по фундаментальным принципам работы нынешняя система DNS Сети не отличается от системы, предложенной более четверти века назад.
Современный Интернет все больше ассоциируется с вебом и веб-сайтами. Большинство новых пользователей вообще не слышали о других технологиях Интернета, для них понятия «веб» и «Интернет» эквивалентны. Но если старые технологии типа Gopher давно умерщвлены всемогущим вебом, то DNS только окрепла, ведь именно символьные имена позволяют вебу виртуализировать понятия реального мира, отражая их в именах доменов.
Современные пользователи Интернета давно привыкли к символьным именам. Подавляющему их большинству даже не придет в голову набирать в адресной строке браузера загадочную цепочку чисел вместо привычного www.nic.ru. Текстовые имена проще воспринимаются в рекламе. Адреса, заданные в виде доменных имен, могут быть привязаны не только к названию бренда (что необходимо для корпоративных сайтов), но и к той отрасли, к тому сектору рынка, с которым относится сайт. Примером подобного «говорящего» имени могут быть auto.ru и gramota.ru.
То есть без символьного именования сайтов никакого интернет-бума быть не могло – ни первого, ни второго. Скорее всего, после очередного «схлопывания инвестиционного пузыря» (а оно неминуемо наступит) в выигрыше опять останутся держатели доменного пространства как единственной технологии, позволяющей через языковые конструкции мертвым узлом привязать виртуальный мир к реальному.
Глава 2
Обнаружение адреса
DNS преобразует строки символов в IP-адреса. Часто неспециалистам, оперирующим «банальной эрудицией», этот процесс кажется тривиальным. Действительно, возьмите простую таблицу соответствий «домен – адрес» и работайте по ней – так они предлагают. Первые системы прото-DNS были устроены подобным образом. Но в масштабах глобальной сети это простое решение вполне предсказуемо оказывается неверным.
Например, соответствие IP-адресов и имен доменов изменяется. Для этого есть целый ряд причин: скажем, домен может сменить владельца, и новый администратор захочет настроить соответствие имен и адресов таким образом, чтобы домен указывал на его сетевой узел, а не на узел прежнего владельца домена. В маленькой локальной сети из десяти машин, содержащей два собственных домена, наверное, нет никаких проблем с тем, чтобы разослать измененную «таблицу соответствия» всем компьютерам. Но когда речь идет о сотнях миллионов доменов, помноженных на сотни миллионов компьютеров, разбросанных по всему земному шару, идея с рассылкой общей таблицы имен доменов оказывается, мягко говоря, абсурдной. А ведь нужно учитывать постоянный бурный рост Интернета. Так что реально работающая система DNS устроена не так просто.