Все права на текст принадлежат автору: Александр Венедюхин.
Это короткий фрагмент для ознакомления с книгой.
Домены. Все, что нужно знать о ключевом элементе ИнтернетаАлександр Венедюхин

Александр Венедюхин Домены: Все, что нужно знать о ключевом элементе Интернета

От автора

Эта книга является третьей в серии, которую начинали «Доменные войны» (2007–2008 гг.) и «Доменные войны II» (2010–2011 гг.). За те несколько лет, которые прошли с 2011 года, доменный рынок изменился. Самым заметным нововведением стала программа New gTLD, в рамках которой уже началось внедрение массы новых доменов верхнего уровня. Собственно, во втором издании и был дан прогноз о развитии «плоской» системы адресации. Этот прогноз во многом сбылся: развитие «в ширину» мы наблюдаем сейчас. Третья книга дополнена, и исправлена, но основную часть текста унаследовала от второй версии «Доменных войн» – в серии есть преемственность. Впрочем, изменения, актуализирующие представленные данные, присутствуют по всему тексту.

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

Эта серия книг не появилась бы без всемерной и многолетней поддержки компании RU-CENTER Group – ведущего российского регистратора доменов и крупного хостинг-провайдера. Автор признателен А. В. Панову, генеральному директору RU-CENTER Group, за продолжение поддержки проекта. Автор выражает признательность А. Д. Лесникову, в 2000–2011 директору RU-CENTER, – этой серии книг не появилось бы без интереса, проявленного им к проекту.

Автор также благодарит А. А. Воробьёва, директора по связям с общественностью RU-CENTER Group,

П. Б. Храмцова, директора по информационной политике RU-CENTER Group, П. Н. Ильичева, ведущего разработчика RU-CENTER Group, А. Ю. Ломова, известного веб-технолога и исследователя Интернета, за ценные замечания по содержанию книги, за интересные исторические экскурсы и за те плодотворные «кухонные дискуссии» из которых и появилась эта серия книг.

Москва, март 2014.

Предисловие Домены древности и наших дней

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

Домен приносил доход, позволяя существовать королевскому двору. И именно из домена монарх жаловал земли и ресурсы своим вассалам, поддерживавшим его власть на территории государства силой оружия и убеждения. За домены шли кровопролитнейшие многолетние войны между королевствами и аристократическими домами. Эти войны и составили всемирную историю.

С тех пор прошли столетия. Появился Интернет. Времена изменились, и королей в реальном мире почти не осталось. Зато о доменах теперь можно услышать гораздо чаще, чем о королях.

В XXI веке доменом именуют владения в адресном пространстве Интернета. Реальные земли сменились виртуальными. Но домены Интернета, как и прежние, приносят доход своим хозяевам. «Короли» выделяют из доменов наделы «вассалам». «Вассалы» утверждают в домене свою власть и поддерживают власть «короля». За домены идут многолетние судебные споры. За контроль над доменами борются государства и транснациональные корпорации. Домены отбирают силой, уводят хитростью, покупают за астрономические суммы. Передел виртуального пространства идет активно, и не первый год.

Домен в Интернете, с одной стороны, предстает несложной строкой из алфавитно-цифровых символов, обозначающей некоторый участок адресного пространства всемирной Сети. Например, .net, nic.ru, www.example. com, whois.ripn.net – это домены или, как тоже часто говорят, доменные имена. С другой стороны, за символами доменов скрывается хитроумный клубок технологий, делающий использование доменов возможным для всего Интернета. А обе стороны создают новый объект, объединяющий виртуальный и реальный миры, – объект, ставший первопричиной изменений в законах больших государств и перевернувший жизнь многих и многих людей. Эта книга повествует о жизни доменов и о жизни вокруг них.

Глава 1 Числа и Сеть сетей

Традиционная популярная история связывает создание Интернета с ядерной войной, а точнее, с приготовлениями к ней. Действительно, появившаяся в 70-х годах прошлого века вычислительная сеть, ставшая прообразом Интернета, финансировалась в рамках проекта, рассматривавшего случай глобальной ядерной войны. Сценаристы Пентагона предполагали очень неприятный расклад: после массированного ядерного удара по территории США инфраструктура систем связи будет разрушена, и уцелеет лишь несколько командных центров-бункеров, разбросанных по огромной территории. Этим центрам нужно будет попытаться установить связь между своими компьютерными сетями, используя остатки инфраструктуры. Не представлялось возможным заранее предсказать, какие кабельные и радиорелейные линии связи сохранят работоспособность и какие пути окажутся доступными для доставки данных из одного командного пункта в другой. Более того, нельзя было предвидеть, какие командные центры уцелеют после ядерного удара. Все это усложняло задачу, решение которой в итоге дало миру Интернет.

Ключевую поддержку проекту оказывало Агентство перспективных исследований Минобороны США – ARPA (ныне DARPA). Следы его деятельности и сейчас в изобилии находятся в разных системах Интернета. Например, существует специальный технический домен. ARPA. Весьма интересен тот факт, что DARPA, вполне официально, ведет отсчет своей истории с момента запуска первого искусственного спутника Земли. Как известно, Cпутник-1 был запущен 4 октября 1957 года СССР. И именно в качестве ответа на советский технологический прорыв правительство США оперативно создало специальное агентство перспективных научных разработок, деятельность которого должна была помочь сократить возникшее технологическое отставание. Да, сейчас этот момент может показаться неочевидным, но в середине XX века успешный запуск первого спутника однозначно указывал на критическое отставание важнейших для военного дела направлений прикладной науки и техники США от СССР.


«Ядерная тема» красной нитью бежит сквозь канву ключевых технологий Сети. Например, веб придуман в одном из ведущих мировых центров ядерной физики – CERN. Не многие знают, что в Россию Интернет пришел благодаря ряду проектов Курчатовского института, связанных с Чернобыльской аварией и международным сотрудничеством по анализу ее последствий.

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

Итак, разработки DARPA позволили построить Интернет. А само DARPA появилось в результате запуска советского спутника. Можно сказать, что Интернет некоторым образом обязан своим рождением успехам советских программ освоения космического пространства. Вот так переплетены пути истории технологий.

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

Первые успешные эксперименты по построению сетей связи между вычислительными машинами проводились в США еще в конце 1960-х годов. Интересно, что эти первые «сети» были беспроводными – сигнал передавался по радиоэфиру.



Так что окутывающий нынешние мегаполисы электромагнитный смог из сигналов станций Wi-Fi и аппаратуры мобильных сетей GSM имеет корни подревнее, чем сам Интернет и, тем более, веб.


Веб – это группа технологий, позволяющих публиковать гипертекстовые документы, связанные между собой. Логически обособленный набор таких документов, вместе с сопутствующими данными, сейчас называют веб-сайтом. Веб, разработанный в 1989–90 годах, в наши дни стал настолько популярным, что для многих пользователей превратился в синоним Интернета. Однако веб – лишь один из сервисов, работающих на базе Интернета, пусть и весьма популярный. Хорошим примером другой технологии, популярной и работающей на базе Интернета, является IP-телефония. Доменные имена являются фундаментом и для веба, и для IP-телефонии, и для массы других сервисов, транспорт для которых обеспечивает Интернет.

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

Древний Интернет… Да, именно древний – ведь это вполне допустимый термин: по меркам сверхскоростного прогресса в сфере информационных технологий Интернет действительно весьма давнее явление. Итак, древний Интернет в плане адресации был числовым, потому что его придумали специалисты в области компьютерных технологий, а как известно, компьютеры очень любят самые разнообразные числа и не любят слова и естественные языки. Более того, именно использование правильного числового представления позволило решить сложную задачу создания саморегулирующейся сети передачи данных. Числами обозначались адреса подключенных к Интернету компьютеров. С помощью преобразований чисел компьютеры находили пути доставки данных внутри Сети друг другу.

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



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

Каждый компьютер, подключенный к Интернету, идентифицируется специальным адресом – так называемым IP-адресом. Грубо говоря, IP-адрес позволяет отличить один узел от другого. По этой причине редкая книга об Интернете обходится без рассказа о группе протоколов TCP/IP. Прежде чем приступить к краткому рассказу о них, я поясню важный момент: сама по себе передача данных в глобальной Сети организована довольно-таки сложным образом. Если подвергнуть эту организацию детальному строгому разбору, то быстро выяснится, что первоочередное значение имеют вовсе не сами IP-адреса, а такие непривычные для неспециалиста объекты, как автономные системы (AS), представляющие собой группы компьютеров; политики маршрутизации, определяющие в конечном итоге доступность отдельных узлов сети для остального Интернета (да, вовсе не сам IP-адрес позволяет обмениваться данными с другими компьютерами на земном шаре); точки обмена трафиком, реализующие физическую коммутацию между крупными сегментами Интернета, и т. д. Однако эта книга о доменах, а не об IP-сетях. Потому IP я уделю лишь несколько слов, изложив упрощенно некоторые важные особенности фундаментального транспортного протокола.

В настоящее время (то есть на начало 2014 года) наибольшее распространение в Интернете имеет версия протокола IPv4. Довольно давно разработана новая версия, имеющая ряд весьма существенных отличий, – IPv6. Предполагается, что IPv6 полностью вытеснит IPv4 в ближайшие годы, хотя прогресс здесь пока движется небыстро.

Предыдущий абзац, оценивающий ход внедрения IPv6 как не самый быстрый, появился еще в 2007 году, в самой первой версии книги. Прошедшие годы подтвердили: этот процесс медленный даже по меркам спящей улитки. Несмотря на все предпринимаемые усилия, IPv6 в Сети до сих пор почти не виден.

Итак, в наиболее распространенной версии, IPv4, адреса состоят из 32 бит. Такой IP-адрес можно записать с помощью нескольких чисел в десятичной системе счисления – например, 192.168.35.101 или 10.10.101.123.

Наверное, самым часто озвучиваемым отличием новой версии протокола – IPv6 – является длина записи адреса: в IPv6 для представления полного адреса используется 128 бит против 32 в IPv4. Это очень серьезное увеличение «пространства адресации». Так, с помощью IPv6 можно выделить уникальный IP-адрес всем когда-либо произведенным человечеством электронным устройствам. При этом останется еще предостаточно адресов для использования, скажем, в целях нумерации всех автомобилей, холодильников или даже всех рубашек, проданных на территории Китая. Нумерация рубашек IP-адресами, возможно, окажется полезна в том случае, если они будут оснащены микрочипами и попадут в автоматическую химчистку, центральный компьютер которой захочет выяснить, какие на конкретной рубашке присутствуют пятна.


Строго говоря, максимальное число узлов, которые можно пронумеровать, используя 128 бит, равняется 2128, или приблизительно 3,4*1038. Это действительно большое число, значительно превышающее массу нашей родной планеты Земля, выраженную в граммах. Однако из-за особенностей протокола адреса IPv6 будут распределяться блоками (то есть не просто по порядку), а все пространство адресов с помощью особых префиксов окажется разбито на подмножества, выделенные каждое для определенных целей. Тем не менее даже с учетом этого адресов будет более чем достаточно для обозначения всех мыслимых устройств, которые можно подключить к Интернету – хотя бы в течение ближайших нескольких десятков лет, пока к Сети не захотят присоединиться марсианские колонии.

Нехватка свободных адресов IPv4 – проблема давно известная, причина ее в бурном росте Интернета. Все те миллиарды устройств, подключенных к Глобальной сети, уже давно не вписываются простым способом в 32 бита старого протокола, который позволяет перечислить лишь чуть более 4 миллиардов узлов. Впрочем, за время эксплуатации IPv4 инженеры и ученые придумали разные способы преодоления нехватки адресов, что явилось одним из эффективных факторов, замедляющих внедрение IPv6.



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

Чтобы подвести итог этому небольшому экскурсу в систему IP-адресации, давайте взглянем на примеры записи адресов IPv6. Используется несколько рекомендованных нотаций, позволяющих компактно записывать IPv6-адреса текстом, все они базируются на шестнадцатеричной системе счисления и поэтому выглядят, например, вот так: 1080:0:0:0:8:800:20 °C:417A или так:

1080::8:800:20 °C:417A. Это один и тот же адрес, взятый к тому же из RFC 3513 (можно сказать, из описания стандарта), определяющего IPv6. Отличия в записи вызваны тем, что второй вариант использует «сокращение нулей».

Ну вот, наверняка теперь даже не искушенный в тонкостях системного администрирования читатель сделал вывод, что IPv6 сложнее IPv4 в плане использования. Поэтому я не стану дальше вдаваться в подробности систем счисления и фундаментальных для IP стандартов RFC, а плавно перейду к связи чисел и имен.

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

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

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

По мере роста количества пользователей компьютерных сетей выяснилось, что числа вообще привычны лишь небольшой части этих пользователей. Поэтому неудивительно, что чисто человеческие трудности с практическим использованием чисел, определяющих адреса в Интернете, возникли довольно давно – еще в начале 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 устроена не так просто.

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


По-научному только что упомянутая «плоская структура» Интернета со связями между узлами называется графом. Сами методы успешной и эффективной передачи данных между узлами глобальной Сети помогает разработать в том числе и такая математическая дисциплина, как теория графов. Графы как математическое понятие придумали задолго до появления Интернета – они служили удобным инструментом для исследования сетей электроснабжения.

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

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

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



Благодаря этому про существование корневого домена сейчас помнят только специалисты. Адреса сайтов с использованием DNS записываются в виде последовательности, отражающей данную иерархию имен. Чем выше уровень домена, тем правее он записывается в строке адреса. Разделяются домены точками. Разберем, например, строку www.info.nic.ru. Здесь домен www – это домен четвертого уровня, а другие упомянутые в адресной строке домены расположены в домене первого уровня RU. Например, info.nic.ru – это домен третьего уровня. Очень важно понимать, что привычный адрес сайта, скажем, www.test.ru, обозначает домен третьего уровня (www), расположенный внутри домена второго уровня test.ru.


Адресная строка с указанием корневого домена выглядит, например, так: site.test.ru. – здесь корневой домен (он не обозначен никакими буквами) отделен последней, крайней справа точкой.

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

Основываясь на специальных правилах «доверия» и используя особые протоколы, серверы глобальной DNS обмениваются между собой информацией об изменениях в адресации. При этом изменения, конечно, не отражаются на всех участвующих в процессе серверах моментально – напротив, для распространения информации об изменениях в адресации для того или иного домена по всему Интернету может потребоваться несколько суток. Это одна из ключевых особенностей системы, которую постоянно приходится учитывать инженерам, обеспечивающим работу информационных ресурсов в Глобальной сети. Так, если настройки адресации в доменной зоне изменились, это не означает, что все пользователи сразу станут работать с новыми настройками. Напротив, некоторое время в глобальной системе будут действовать и новые, и старые настройки. Если изменился IP-адрес сайта, то пользователи будут некоторое время попадать на узел, размещенный под старым адресом.

Среди всех разнообразных серверов DNS есть самые важные – это корневые серверы системы, обеспечивающие работу DNS в целом. Таких серверов 13, данные адресации на этих серверах контролируются техническим центром, входящим в структуру корпорации ICANN, управляющей адресным пространством Интернета (подробнее об ICANN и о ее регулирующей роли рассказано в отдельной главе книги).

Работа корневых серверов имен DNS – ключевой аспект современного Интернета. Если вдруг корневые серверы разом остановятся, то через некоторое время для рядового пользователя весь Интернет просто «погаснет»: ведь обыватель не умеет работать с ресурсами Сети без использования доменных имен. Не станет привычного веба, не будет электронной почты – то есть случится катастрофа.

Как нетрудно догадаться, корневые серверы распространяют сведения об адресации, заданной для корневой доменной зоны (корневого домена). Благодаря древовидной структуре доменной системы имен сведения из корневой зоны определяют вид всего дерева. То есть в конечном итоге от этой зоны зависит доступность любого домена глобальной DNS.

Итак, корневых серверов 13. Существует весьма неплохое объяснение тому, почему выбрано именно это популярное и многозначительное число. Дело в том, что некоторые технические ограничения протокола, используемого для передачи ответов системы доменных имен, требуют, чтобы пакет данных с информацией об адресах всех корневых серверов умещался в 512 байтов (ремарка для тех, кто хочет изучить вопрос подробнее: речь идет об одном UDP-пакете). В эти байты удается поместить данные лишь о 13 серверах.

Когда говорят о 13 серверах, то имеют в виду логические серверы c именами следующего вида: a.root-servers.net,

b. root-servers.net и т. д. вплоть до m.root-servers.net (и, например, такие IPv4-адреса: 198.41.0.4, 192.228.79.201, 202.12.27.33 и др.). На деле за каждым из этих имен и адресов скрывается довольно сложная компьютерная система, включающая в себя не один физический компьютер. Более того, используя специальную технологию, люди научились распределять по всему миру узлы корневых серверов, оптимизируя таким образом работу с ними для пользователей из самых разных уголков Земли.


Таблица 1. Корневые серверы, административная и технологическая структуры по состоянию на 18 января 2014 года (http://root-servers.org/)



Примечание. Изучая таблицу, обратите внимание на то, что серверы имеют один или два адреса (при этом второй адрес – IPv6), а еще на то, что некоторые из них включают в себя несколько десятков узлов. Как же так? Ответ кроется в технологии Anycast, которая позволяет распределять трафик, адресованный конкретному IP-адресу, по многим физическим компьютерам, находящимся в разных сетях. Использование Anycast требует специальных настроек на уровне интернет-провайдеров и точек обмена трафиком, поэтому применяется только в особых случаях. Рис. 1. Скриншот карты Google с отмеченными корневыми серверами DNS



Рис. 1. На карте показано географическое размещение корневых серверов. Источник: http://www.root-servers.net


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

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

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

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

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

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

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

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

Серверы, опрашивающие DNS в поисках нужных адресов, называются рекурсивными резолверами (от англ. resolve – решать, решение, резолюция), или просто резолверами (также иногда используются термины «сопоставитель» и «рекурсор»).

С точки зрения пользователя и в сильно упрощенном виде алгоритм работы DNS-резолвера по поиску адресов сайтов можно описать следующим образом. Когда пользователь вводит в адресной строке браузера адрес сайта, например hat.nic.ru, компьютер выполняет запрос к тому или иному известному ему DNS-резолверу, спрашивая этот сервер о том, какой IP-адрес связан с «доменным адресом», указанным пользователем. В ответ сервер-резолвер DNS, проверив соответствие по своим внутренним таблицам или выполнив запрос к другим серверам, присылает искомый IP-адрес. Далее браузер устанавливает соединение с сайтом уже по IP-адресу.

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

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

Попробуем проследить за запросами на простом примере. Предположим, что требуется определить IP-адрес, соответствующий домену www.nic.ru.

Сразу нужно обговорить пару важных моментов. Во– первых, резолвер, занимающийся поиском имен, – это обычно специальная программа, работающая на том или ином компьютере. Как мы разобрались, резолвер обрабатывает запросы вида «А какой адрес у www.nic. ru?», поступающие от других программ и компьютеров. Резолвер может быть и локальным, то есть работающим на том же компьютере, где, например, запущен браузер. Во-вторых, наиболее важные из резолверов (кэширующие DNS-серверы) обслуживают множество разных запросов и имеют собственный кэш адресов (особую память), в котором в течение определенного времени сохраняются ранее полученные из DNS сведения об адресации внутри доменов. Наличие такого кэширования – важнейшая особенность DNS, делающая эту систему распределенной и устойчивой к большим нагрузкам.

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

Надо заметить, что сейчас на подавляющем большинстве пользовательских компьютеров используются так называемые глупые (dumb или stub в англоязычной литературе) или, если выразиться более корректно, «простые» резолверы, которые не умеют выполнять сложные рекурсивные DNS-запросы, требующие обхода множества серверов имен. Они целиком полагаются на тот или иной известный им «умный» резолвер – кэширующий сервер DNS, – просто передавая свои запросы ему. Традиционно это сервер интернет-провайдера, обеспечивающего доступ к Сети. В такой конфигурации запросы к корневым серверам, а равно и к серверам, отвечающим за другие доменные зоны, выполняет сервер провайдера, делая за «глупого» всю сложную работу.



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

Здесь важно запомнить следующее: адреса корневых серверов требуются для работы полноценного рекурсивного резолвера, такой резолвер предоставляет интернет-провайдер (или другой сервис-провайдер); «глупый» резолвер, являющийся стандартным для большинства пользовательских компьютеров, нуждается в адресе хотя бы одного полноценного рекурсивного резолвера, которому он будет переправлять поступающие запросы.


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

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

Посудите сами: разнообразных классов/типов/линеек/ версий операционных систем в лучшем случае насчитываются как минимум сотни. Дистрибутивы (наборы файлов, служащие для установки операционной системы на компьютер) также бывают самыми разными и сохраняются в неизменном состоянии годами. Что уж говорить про уже настроенное программное обеспечение – оно также не всегда обновляется, а если и обновляется, то далеко не оперативно. В итоге получается, что изменить IP-адрес корневого сервера не так трудно, но вот отследить и скорректировать все директивные упоминания старого адреса – задача чрезвычайной сложности. Если такое произойдет, многие компьютеры продолжат обращаться по старому адресу корневого сервера и не смогут получить ответ. Впрочем, так как серверов несколько, возможна постепенная «миграция» адресов: не сумев установить соединение с одним из корневых серверов, компьютер, пытающийся работать с DNS, соединится с другим корневым сервером, адрес которого не изменялся, и получит возможность определить актуальные адреса всех 13, уже задействовав DNS.

На практике, однако, после изменения IP-адресов некоторых корневых серверов запросы по старым адресам продолжали фиксироваться еще долгие годы после «переезда». Эта особенность только подтверждает факт, что DNS в глобальном плане требует очень непростого управления и весьма чувствительна к изменениям. Одно неловкое движение – и случится неприятность: Интернет для всех рядовых пользователей «погаснет».

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

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

Система DNS активно развивается и, очевидно, продолжит оставаться ключевым элементом Интернета еще долгие годы. Несомненно, сохранится и ее определяющая роль в привычных механизмах адресации.

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

На практике в современном Интернете все эти три механизма базируются на DNS и доменных именах.

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

Глава 3 Администраторы и реестры

Права и уровни доменов

Доменов в Интернете очень много. Особое значение имеют домены первого уровня, среди которых принято особо выделять домены общего назначения (или, как их иногда называли раньше, домены общего пользования) и национальные. Например, к доменам общего назначения принадлежит самая популярная (по количеству зарегистрированных имен) зона .com с практически ничем не ограниченной регистрацией. В качестве примера национального домена можно назвать RU, выделенный России. Впрочем, в такой сложной и многогранной глобальной виртуальной среде, как Интернет, не следует ожидать жесткого деления доменов по классам. Напротив, это деление временами – очень условное.

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

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


Так, среди доменов «общего» назначения есть такие, регистрация в которых фактически ограничена по государственной принадлежности регистрирующего доменное имя лица: например, домен первого уровня MIL, который на эксклюзивной основе «оккупировали» государственные военные структуры США.А среди необычных национальных доменов широко известен домен первого уровня SU. В свое время этот домен выделили Советскому Союзу. И вот государства не существует уже более двух десятков лет, а домен остается в строю, иногда даже демонстрируя всплески числа регистраций – настолько мощным оказалось международное правовое наследие СССР.

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

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

Мы уже выяснили, что параметры функционирования домена как единицы системы адресации Интернета задаются соответствующими ему серверами DNS (авторитативными серверами имен, name servers – NS). А сами эти серверы, в свою очередь, определяет администратор домена.

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


Администратор домена – главное лицо в домене. Именно он обладает правами по управлению доменом и определяет, какой сайт или ресурс будет доступен под данным доменом.

Конечно, на практике администратор не обязан владеть техническими навыками управления доменом, ведь он может поручить фактическое выполнение процедур квалифицированным техническим службам. Точно так же владельцу грузового судна не обязательно быть капитаном дальнего плавания: капитана и команду можно нанять. (Главное – не ошибиться при выборе капитана, иначе он может увести судно к пиратам. Иногда, впрочем, передать судно пиратам способен и кок, если он является их главарем, но это несколько более редкая история, тем более в доменном бизнесе.)

Как мы рассказывали в предыдущей главе, доменное пространство Интернета обладает иерархической структурой. Соответственно, иерархическую структуру имеет и делегирование полномочий администраторам доменов.



В настоящий момент (на 2014 год) во главе иерархии находится корпорация ICANN. ICANN – это аббревиатура от Internet Corporation for Assigned Names and Numbers, что означает буквально «Интернет-корпорация по распределяемым именам и числам».


Несколько корявое название ICANN для англоязычного человека не выглядит такой уж нелепицей.

А вот с переводом названия на русский язык часто возникали сложности. В итоге сейчас принято переводить ICANN как «Интернет-корпорация по распределяемым именам и числам» (что более близко к англоязычному оригиналу) или как «Организация по присвоению имен и адресов» (что несколько лучше отражает суть деятельности ICANN). ...



Все права на текст принадлежат автору: Александр Венедюхин.
Это короткий фрагмент для ознакомления с книгой.
Домены. Все, что нужно знать о ключевом элементе ИнтернетаАлександр Венедюхин