DNS-сервер
Доменное имя состоит, по меньшей мере, из двух частей (меток), разделенных точками. Нумерация меток ведется справа налево. Если объяснить на конкретном примере, то в адресе hosting.web-3.ru суффикс ru является доменом первого уровня. Все последующие метки - поддомены, т.е. hosting - поддомен домена web-3, а web-3 - домена ru.Условно подобное деление может растянуться на 127 уровней. Любая метка может состоять (максимально) из 63 символов, но длина доменного имени не может быть больше 254 знаков, включая точки. Впрочем, действительность и теория, как известно, - разные вещи, посему регистраторы доменов часто устанавливают собственные лимиты.Серверы DNS находятся в определенном порядке, который организует иерархическая система DNS. Всякий поддомен или домен поддерживается несколькими авторизованными серверами DNS, содержащими о нем все необходимые сведения. Следует сказать, что наблюдается тождество соподчинения доменов и серверов DNS.Система DNS работает следующим образом: Пользователь набирает в web-обозревателе адрес hosting.web-3.ru. Для передачи данных посредством стека протоколов TCP/IP необходимо знать IP-адрес указанного сервера, но тот, как правило, имеет лишь сведения об адресе сервера DNS (обычно интернет-провайдер предоставляет адрес одного основного и одного резервного DNS-сервера). В результате запрос об IP-адресе hosting.web-3.ru задается указанному DNS серверу. Тот, в свою очередь, запрашивает информацию у центрального сервера, например 195.42.0.3 (все IP-адреса приведены в качестве примера и могут отличаться от действительных). Сервер отвечает, что не обладает информацией о требуемом адресе, однако, знает, что доменной зоной .ru занимается сервер 214.74.142.1 (прим. ред. Это так называемый авторитетный сервер). В этом случае сервер DNS запрашивает информацию у 214.74.142.1. Ответом может быть: «web-3.ru занимается сервер 247.142.130.234». Этот третий по счету сервер возвращает браузеру IP-адрес нужного сайта (прим. ред. Очень часто рекурсивный подход заменяется запросами к буферу сервера. Если неавторитетный сервер недавно получал запрос на IP адрес hosting.web-3.ru, то вместо обращения к следующему DNS серверу он выдаст результат из буфера. Для реагирования на запрашиваемую информацию DNS-протокол применяет UDP- или TCP-порт 53. Обычно запросы и готовая информация по ним посылаются в форме UDP-датаграммы. А TCP остается для AXFR-запросов или ответов весом более 512 байт. Для того чтобы узнать IP-адрес интересующего вас сайта, необходимо воспользоваться командой ping. Если вы пользуетесь операционной системой Windows XP, нажмите «Пуск»- «Выполнить» (прим. ред. Сочетание клавиш win+r) и наберите в строке команду cmd. Появится окошко командной строки. В ней наберите команду ping и имя сайта, например, ping hosting.web-3.ru. В строчках, которые появятся после нажатия Enter увидите группу чисел 87.242.76.88 - это и есть IP-адрес сайта hosting.web-3.ru. Важно помнить, что IP-адрес не равен имени хоста и наоборот. Один компьютер может иметь большое количество web-сайтов, а это говорит о возможности хоста с определенным IP-адресом владеть целым списком имен. Подобно этому одно иметь может быть соотнесено с разными хостами. Так достигается регуляция нагрузки. С целью увеличения стабильности системы в работу вводят определенное число серверов, которые вмещают в себя одинаковые сведения. Так, в мире насчитывается 13 подобных серверов. Каждый имеет отношение к какой-либо территории. Данные о них имеются во всякой операционной системе, поскольку такие серверы не изменяют первоначального адреса. Эти сервер называют корневыми, потому что на них держится вся сеть Интернет. Теперь поговорим об обратном DNS-запросе. Помимо перекодировки символьных имен в IP-адреса DNS выполняет обратную работу. Поскольку с записями DNS можно соотнести данные разных форматов, включая символьные. Известно доменное имя in-addr.arpa, данные которого служат для реконструирования IP-адреса в имя из символов. Приведем пример: чтобы выяснить имя известного адреса (предположим, 12.13.14.15) допустимо сделать запрос в следующем виде: 51.41.31.21.in-addr.arpa. Результатом окажется должное символьное имя. Чем можно это объяснить? Тем, что в IP-адресах биты, расположенные у корня, стоят в начале, а в DNS-именах – в конце. Что касается записей DNS, то выделяют несколько категорий:
Address record (запись А) служит для связи адреса IP и хоста.
Canonical name record (сокращенно CNAME, каноническая запись имени) – инструмент переадресации на альтернативное имя.
Mail exchange (МХ, почтовый обменник) ссылается на сервер обмена почтой для представленного домена.
PTR (pointer, или запись указателя) соединяет имя хоста с его установленным (каноническим) именем.
NS (name server) называет DNS-сервер представленного доменного имени.
SOA (start of authority record) – запись, ссылающаяся на тот сервер, который содержит стандартные сведения о представленном домене.
Необходимо сказать о зарезервированных доменах (Reserved Top Level DNS Names). Документ RFC 2606 указывает на те имена доменов, которые нужно применять в роли модели (что особенно важно в документации) и при тестировании. В качестве примера можно привести test.com, test.org, test.net, а также invalid, example и т.д. В разговоре о доменных именах стоит упомянуть о том, что они могут состоять из небольшой комплектации ASCII символов. Это делает возможным набор доменного адреса вне зависимости от того языка, на котором говорит пользователь. Потому такие имена – интернациональные. ICANN ратифицировал систему IDNA, базирующуюся на Punycode. Она способна конвертировать всякую фразу в кодировке Unicode в тот набор знаков, который будет возможен для корректной работы DNS.Некоторые способы действия приложения DNS применяются в BIND (Berkeley Internet Name Domain), MaraDNS NSD (Name Server Daemon), DJBDNS (Daniel J. Bernstein's DNS), PowerDNS Microsoft DNS Server (в серверных вариантах операционных систем Windows NT).Чтобы узнать, кто владеет каким-либо доменом или IP-адресом достаточно использовать возможности сетевого протокола whois (от англ. who is — «кто?»). Первоначальной идеей, положившей начало созданию данной системы, было стремление не позволять системным администраторам находить данные иных администраторов IP-адресов и доменов. Ныне доменное имя признается незарегистрированным на определенное имя, пока нельзя найти общедоступные сведения о нем в этом сервисе.
Компьютер, подключающийся к сети Интернет, независимо от существующих на нем настроек, видится всем остальным по некоторому IP-адресу. Этот адрес может быть постоянным, прописанным в настройках компьютера и не изменяющийся при подключении к Сети, а может быть динамическим, присваиваемым ему на текущий сеанс связи провайдером. Во втором случае этот адрес при каждом подключении может оказываться отличным от предыдущего. Если же вы хотите, чтобы к вашему компьютеру могли обращаться ваши друзья или иные посетители, его IP-адрес должен быть постоянным.
Да, интернет-сервисы могут располагаться не только на специально выделенных для этого серверах, но и на домашних компьютерах. На таком компьютере может размещаться сайт, каталог файлов или картинок, почтовый или игровой сервер. Но если ваш IP-адрес будет динамическим, то при каждом подключении к Сети вам нужно будет посылать его своим постоянным посетителям, чтобы они могли попасть на ваш сайт. К тому же, подключаться к сайту им придется по IP-адресу, а не по его названию. Что делать, чтобы избежать подобной проблемы?
Один способ - приобрести у провайдера постоянный адрес и использовать его. Весьма простая ситуация, но не бесплатная. За такое "удовольствие" придется выкладывать вполне ощутимую сумму. Но в последние годы появились иные возможности обеспечить доступ к компьютеру из Интернета, не требующие при этом обращения к провайдеру. Появившиеся службы (Dynamic DNS сервисы) позволяют это делать для динамически выделяемых адресов. Базовые услуги ими, как правило, предоставляются бесплатно, а вот за дополнительные возможности придется платить.
Сервис DDNS состоит из двух компонент. Первая - специальное ПО, работающее на удаленном компьютере. Вторая - клиентская программа, устанавливаемая на рабочее место. Первая компонента отвечает за взаимодействие со своим DNS, настройкой и поддержкой пользовательских аккаунтов. Клиентская часть обеспечивает связь с серверной, передает ей текущее значение выделенного для данного соединения адреса, обеспечивает некоторые дополнительные настройки.
Суть решения заключается в следующем. Клиент сервиса создает на нем свою учетную запись и либо регистрирует субдомен на базе домена сервиса, либо прописывает уже имеющееся у владельца имя домена (можно регистрировать на сервисе и те домены, о которых уже имеется запись на DNS-серверах, но их потребуется откорректировать). При регистрации субдомена заполняются данные, какие обычно заполняются при регистрации. Требуется это для того, чтобы занести в службе имен (DDNS) информацию в необходимом виде и объеме. После этого выполняется запись сведения о домене с учетом IP-адреса, по которому пользователь в момент регистрации подключался к сервису. Так домен оказывается связанным с адресом. После этого пользователь скачивает и устанавливает клиентскую часть. При подключении к Интернету она связывает выделенный на данную сессию адрес с зарегистрированным доменом. При изменении адреса сведения, записанные в DDNS, обновляются. Теперь любой желающий, набрав в строке браузера адрес вашего сайта, попадет на ваш компьютер.
Небольшое отступление. Такой вариант оказывается очень удобным при наличии ADSL-подключения, когда у компьютера долгое время остается один и тот же адрес, а переподключения бывают весьма редкими. При подключении к Сети с помощью модема ситуация несколько усложняется тем, что смена IP-адреса бывает намного чаще, к тому же, в промежутках между подключениями связанный с доменом адрес будет выдаваться кому-либо иному. В результате посетители домена будут получать сообщение о том, что искомая страница не найдена. Но на такие издержки приходится идти, если используется только модемное соединение.
Размещая интернет-сервисы на своем домашнем компьютере, нельзя забывать о необходимости его защиты. Как только вы предоставите возможность доступа извне, к вам начнут "заходить" не только посетители, но и любители легкой наживы, распространители троянов, вирусов и прочих гадостей. Поэтому в обязательном порядке необходимо устанавливать как антивирусное ПО, так и файрволы. Но в этом случае потребуется дополнительная настройка. Вам придется открыть для доступа порты, к которым вы привяжете свои сервисы. Это могут быть как стандартные порты (например, порт 80 для веб-сервера), так и нестандартные (прежде чем назначать нестандартные, порты убедитесь, что сервис DDNS поддерживает перенаправление запросов со стандартных портов на нестандартные). Наиболее часто переназначение стандартного порта требуется в случае установки почтового сервера. Провайдеры, как правило, запрещают доступ к 25 порту, поэтому его приходится переназначать на другой порт.
Есть отличия в настройке файрволов, основанных на использовании прокси или без него. В первом случае требуется настройка клиента на использование прокси и выдача ему "разрешения" на выход в Интернет. В случае использования файрвола, работающего на основе NAT, достаточно лишь указать его адрес в настройках клиентской программы.
Как уже говорилось, клиентская часть служит для передачи на сервис текущего значения IP-адреса. Но иногда возникают ситуации, что клиент вначале обнаруживает локальный IP-адрес компьютера и пытается передать на сервис его, а не тот адрес, который выдает провайдер. Для того чтобы избежать подобной ситуации, нужно внести локальный адрес в список игнорируемых адресов при настройке клиента.
Рассмотрим, какие услуги и возможности предлагают DDNS-сервисы. Возьмем, к примеру, сервис Dynu.com.
Поддержка доменов
Бесплатный сервис обеспечивает поддержку поддоменов в доменах dynu.com и dynu.net. Домены в зонах *.com, *.net, *.biz, *.co.jp, *.de и других поддерживаются в платном сервисе.
Динамическое обновление IP-адресов
Клиентская часть сервиса есть для таких платформ, как Windows 9x/NT/2000/XP, Mac OS, Mac OS X, Linux, FreeBSD, Solaris, Unix.
Поддержка поддоменов (алиасов) зарегистрированного домена
Бесплатный сервис обеспечивает поддержку таких алиасов, как ftp, mail, www и иных, привязанных к одному и тому же адресу. А платный сервис позволяет связывать любые поддомены с различными IP-адресами (например, если ваш веб-сервер и почтовый сервер размещены на различных компьютерах, имеющих раздельное подключение к Интернету).
Поддержка протокола SSL
Перенаправление HTTP-порта
Позволяет перенастроить стандартный HTTP-порт (80) на любой другой. Ваш веб-сервер, соответственно, должен быть настроен на нужный порт.
Онлайн-перенаправление
В то время, когда вы подключены к сервису, позволяет перенаправлять пользователей, запрашивающих вашу страницу, на любой другой сайт.
Распределение нагрузки на сервер
При большой посещаемости вашего ресурса в платной версии сервиса имеется возможность использовать технологию RoundRobin. Она заключается в создании нескольких записей доменного имени с привязкой каждой из них к отдельному IP-адресу. Таким образом, посетители будут перенаправляться на различные компьютеры в зависимости от их загрузки.
Другим популярным сервисом считается DNS2Go. Большинство предоставляемых услуг являются бесплатными. По своей функциональности сервис очень близок к сервису Dynu.com, а вот бесплатных возможностей дает несколько больше. Но, к примеру, получить домен второго уровня на этом сервисе можно только на платной основе. Кроме уже перечисленных возможностей, DNS2Go предоставляет услуги по перенаправлению электронной почты (услуга - платная). Она включает защиту от вирусов и спама, перенаправление почты, пересылку на иной адрес, хостинг почтового сервера. Услуга может быть полезной тем, кто не может держать установленный на домашнем компьютере почтовый сервер, постоянно подключенный к Интернету.
Аналогичные услуги предоставляет и сервис Dynamic DNS. Небольшое отличие заключается в том, что этот сервис предлагает регистрацию доменов третьего уровня на сорока четырех собственных доменах. Его сервера имен (DNS) размещены в пяти различных точках планеты, что обеспечивает стабильность их работы. Частота обновления записей составляет 60 секунд.
Кроме перечисленных сервисов, есть множество аналогичных, но принципиальных отличий между ними нет. Как правило, разница состоит лишь в наборе оказываемых услуг и в том, предоставляются ли они бесплатно или на платной основе.
У многих людей вызывает недоумение тот факт, что при регистрации доменов и переносе их с одного хостинга на другой сайты начинают работать не сразу. Чтобы понять, почему так происходит, необходимо знать основные принципы работы DNS, которые мы и рассмотрим в этой статье.
Компьютеры в сети общаются между собой, используя IP-адреса — числовые имена, имеющие такой вид: 217.107.217.21. IP-адрес можно сравнить с номером телефона — чтобы один компьютер мог обратиться к другому, ему необходимо знать его IP-адрес. Однако у IP-адресов есть два недостатка: во-первых, их существует лишь ограниченное количество (что нам сейчас не очень важно), а во-вторых, что важнее, IP-адрес очень трудно запомнить человеку. Продолжая аналогию с телефонными номерами, помните ли вы номера телефонов всех своих друзей и знакомых? Вероятно, нет. Но вы всегда можете воспользоваться записной книжкой.
В интернете роль записной книжки играет DNS — Domain Name System, система доменных имен. Каждый сайт в сети имеет свое доменное имя (например, www.jino.ru), которое система DNS связывает с IP-адресом сервера — компьютера, на котором расположен этот сайт. И когда в адресной строке браузера вы вводите какой-либо домен, он автоматически преобразовывается в IP-адрес, и уже используя его, ваш компьютер связывается с сервером. Сама схема определения IP-адреса по имени домена (см. рисунок) довольно сложна и многоступенчата, и именно из-за этого возникает большинство проблем при регистрации и переносе доменов.
У многих людей вызывает недоумение тот факт, что при регистрации доменов и переносе их с одного хостинга на другой сайты начинают работать не сразу. Чтобы понять, почему так происходит, необходимо знать основные принципы работы DNS, которые мы и рассмотрим в этой статье.
Компьютеры в сети общаются между собой, используя IP-адреса — числовые имена, имеющие такой вид: 217.107.217.21. IP-адрес можно сравнить с номером телефона — чтобы один компьютер мог обратиться к другому, ему необходимо знать его IP-адрес. Однако у IP-адресов есть два недостатка: во-первых, их существует лишь ограниченное количество (что нам сейчас не очень важно), а во-вторых, что важнее, IP-адрес очень трудно запомнить человеку. Продолжая аналогию с телефонными номерами, помните ли вы номера телефонов всех своих друзей и знакомых? Вероятно, нет. Но вы всегда можете воспользоваться записной книжкой.
В интернете роль записной книжки играет DNS — Domain Name System, система доменных имен. Каждый сайт в сети имеет свое доменное имя (например, www.jino.ru), которое система DNS связывает с IP-адресом сервера — компьютера, на котором расположен этот сайт. И когда в адресной строке браузера вы вводите какой-либо домен, он автоматически преобразовывается в IP-адрес, и уже используя его, ваш компьютер связывается с сервером. Сама схема определения IP-адреса по имени домена (см. рисунок) довольно сложна и многоступенчата, и именно из-за этого возникает большинство проблем при регистрации и переносе доменов.
После набора имени домена в браузере ваш компьютер связывается с DNS-серверами провайдера доступа в интернет, запрашивая IP-адрес, к которому привязан этот домен (шаг 1 на схеме). DNS-серверы провайдера ищут в своем кэше необходимую пару домен — IP-адрес и, если находят ее, выдают вам этот IP (сразу переходим к шагу 6). Если в кэше ничего не нашлось, DNS-сервер провайдера делает запрос к одному из корневых DNS-серверов, которых всего несколько по всему миру (шаг 2). Корневой сервер, в свою очередь, ищет в своей базе данных адреса DNS-серверов хостера, к которому привязан домен (NS-серверы домена), и сообщает их DNS-серверу провайдера (шаг 3). (На самом деле, здесь все немного сложнее, но для простоты мы опустим некоторые подробности.)
Получив адреса NS-серверов, провайдер делает запрос к одному из них, получает в ответ искомый IP-адрес (шаги 4–5), запоминает его в кэше (чтобы впоследствии не обращаться каждый раз к корневому DNS-серверу) и передает вашему браузеру. Браузер, наконец, запрашивает сайт у хостера и показывает его вам (шаги 7–8).
Очевидно, что в этой схеме есть два узких места, которые приводят к проблемам при переносе доменов.
Во-первых, информация о NS-серверах доменов обновляется не мгновенно, а с задержкой в несколько часов. В течение этого времени корневые DNS-серверы выдают устаревшие сведения о хостинге, на котором расположен домен.
А во-вторых, если вы или кто-то другой из клиентов вашего провайдера недавно заходил на нужный вам сайт, его IP запоминается в DNS-кэше провайдера и хранится там некоторое время. Если за это время IP сайта изменится (при переносе на другой хостинг), DNS-система провайдера об этом не узнает, пока не обновится кэш, и будет выдавать вам неверный IP-адрес. При этом у большинства других пользователей интернета — тех, кто в последнее время не заходил на ваш сайт, он будет работать нормально и открываться с нового сервера.
Обычно, эти проблемы решаются сами собой в течении нескольких часов — после обновления базы данных DNS и кэша провайдера. Поэтому, если после регистрации или переноса домена (смены NS-серверов), сайт сразу не стал работать, не волнуйтесь — просто подождите некоторое время
После набора имени домена в браузере ваш компьютер связывается с DNS-серверами провайдера доступа в интернет, запрашивая IP-адрес, к которому привязан этот домен (шаг 1 на схеме). DNS-серверы провайдера ищут в своем кэше необходимую пару домен — IP-адрес и, если находят ее, выдают вам этот IP (сразу переходим к шагу 6). Если в кэше ничего не нашлось, DNS-сервер провайдера делает запрос к одному из корневых DNS-серверов, которых всего несколько по всему миру (шаг 2). Корневой сервер, в свою очередь, ищет в своей базе данных адреса DNS-серверов хостера, к которому привязан домен (NS-серверы домена), и сообщает их DNS-серверу провайдера (шаг 3). (На самом деле, здесь все немного сложнее, но для простоты мы опустим некоторые подробности.)
Получив адреса NS-серверов, провайдер делает запрос к одному из них, получает в ответ искомый IP-адрес (шаги 4–5), запоминает его в кэше (чтобы впоследствии не обращаться каждый раз к корневому DNS-серверу) и передает вашему браузеру. Браузер, наконец, запрашивает сайт у хостера и показывает его вам (шаги 7–8).
Очевидно, что в этой схеме есть два узких места, которые приводят к проблемам при переносе доменов.
Во-первых, информация о NS-серверах доменов обновляется не мгновенно, а с задержкой в несколько часов. В течение этого времени корневые DNS-серверы выдают устаревшие сведения о хостинге, на котором расположен домен.
А во-вторых, если вы или кто-то другой из клиентов вашего провайдера недавно заходил на нужный вам сайт, его IP запоминается в DNS-кэше провайдера и хранится там некоторое время. Если за это время IP сайта изменится (при переносе на другой хостинг), DNS-система провайдера об этом не узнает, пока не обновится кэш, и будет выдавать вам неверный IP-адрес. При этом у большинства других пользователей интернета — тех, кто в последнее время не заходил на ваш сайт, он будет работать нормально и открываться с нового сервера.
Обычно, эти проблемы решаются сами собой в течении нескольких часов — после обновления базы данных DNS и кэша провайдера. Поэтому, если после регистрации или переноса домена (смены NS-серверов), сайт сразу не стал работать, не волнуйтесь — просто подождите некоторое время.