Выбрать главу

Работу 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