Домены. Все, что нужно знать о ключевом элементе Интернета
Шрифт:
То есть без символьного именования сайтов никакого интернет-бума быть не могло – ни первого, ни второго. Скорее всего, после очередного «схлопывания инвестиционного пузыря» (а оно неминуемо наступит) в выигрыше опять останутся держатели доменного пространства как единственной технологии, позволяющей через языковые конструкции мертвым узлом привязать виртуальный мир к реальному.
Глава 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 и др.). На деле за каждым из этих имен и адресов скрывается довольно сложная компьютерная система, включающая в себя не один физический компьютер. Более того, используя специальную технологию, люди научились распределять по всему миру узлы корневых серверов, оптимизируя таким образом работу с ними для пользователей из самых разных уголков Земли.