Что такое DNS и какова роль ДНС-серверов в функционировании интернета

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

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

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

Для чего нужна система ДНС и что это такое?

Итак, для начала определимся с терминами. Аббревиатура DNS расшифровывается как «Domain Name System», что в переводе на русский означает «система доменных имён».

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

Каждому узлу для соединения с ним присваивается уникальный IP, представленной набором цифр (в случае версии IPv4) либо символьной комбинацией (IPv6), с помощью коих идентифицируется тот или иной веб-ресурс в интернете. Как в реальной жизни каждого человека можно найти по его адресу (город, улица, номер дома и квартиры), так и айпи позволяет определить, где "живет" любой веб-ресурс в сети. Например, вот как выглядит IP-адрес сайта Одноклассники:

217.20.155.13

Согласитесь, числовой набор малоинформативен и трудно запоминается людьми, а ведь Мировая Паутина создана для живых пользователей. Другое дело, доменное имя (здесь все о доменах и их классификации) ok.ru (в старой редакции «odnoklassniki.ru»), которое гораздо больше говорит об этой популярной социальной сети рунета. Поэтому и была внедрена ДНС, где для облегчения восприятия айпишнику каждого веб-ресурса введено соответствие в виде доменного имени.

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

Но вернемся к нашим баранам. Мы разобрались что ДНС реализует такую систему адресации, которая дает возможность сопоставить IP сайта с его доменным именем.

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

В нем содержалась как раз информация о том, какой домен (или хост) соответствует тому или иному ай-пи. Если взять тот же пример с Одноклассниками, приведенный чуть выше, то пара «IP — domen» в файле hosts была бы записана примерно так:

217.20.155.13   ok.ru

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

Это заключается в следующем. Когда вы вводите в адресную строку браузера (по-другому, веб-обозревателя) URL-адрес (что это такое?) какого-нибудь сайта, в котором содержится название его домена, то браузер как раз и обращается перво-наперво к файлу hosts. В современном варианте по умолчанию там присутствует лишь одна строчка, а именно: 127.0.0.1 localhost.

Но этот файлик вы можете сами отредактировать и, в зависимости от характера изменений, добиться ускорения доступа к определенным ресурсам либо блокировки некоторых сайтов.

Файл hosts частенько становится также объектом воздействия всякого рода вирусов, в результате чего пользователь может быть перенаправлен на какой-нибудь сомнительный проект (например, фишинговый сайт). Вот потому-то каждый уважающий себя антивирусник защищает файл hosts всеми доступными способами. Отступление, связанное с файликом hosts, позади. Идем дальше.

Как работают DNS-серверы?

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

Итак, прежде всего, браузер проверит содержание hosts в качестве наиболее легкодоступного источника относительно введенного в адресную строку в составе урла домена и, только после того, как не найдет там нужной записи, обратится к ближайшему ДНС-серверу, входящему в систему. Именно совокупность серваков ДНС позволяют реализовать все это дело на практике.

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

В ответ на запрос сервак передает необходимую информацию браузеру, а поскольку ДНС имеет иерархическую структуру, то при ее отсутствии запрашивается следующий по значимости Domain Name server. В упрощенном виде данную схему работы можно представить так:

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

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

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

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

Но так бывает далеко не всегда. Я скажу больше, в интернете сотни тысяч сайтов, львиная доля которых "живет" на разделенных виртуальных серверах (shared servers). А это означает, что все сайты, которые расположены на одном сервере, будут иметь одинаковый ай-пи.

Один IP-адрес может соответствовать нескольким сайтам, имеющим разные домены.

Работа системы ДНС никоим образом не дает сбой при использовании разделенного сервера. Ведь запрос от браузера по протоколу HTTP (что это такое?) приходит с указанием доменного имени сайта и его страницы, которую необходимо отобразить.

А следовательно, место нахождения нужных фалов, принадлежащих конкретному проекту, будет немедленно определено с помощью серверного программного обеспечения, и они оперативно будут переданы в браузер пользователя:

Если помните, IP я сравнил выше с адресом местожительства человека. Так вот, если выделенный сервер, на котором находится единственный веб-ресурс, можно сопоставить с частным жилищем, когда в составе адреса актуален лишь его номер (IP), то shared server вполне сопоставим с каким-либо многоквартирным строением, где в качестве номера дома выступает айпи, а роль номера той или квартиры выполняет доменное имя сайта.

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

Сайт с конкретным доменом может иметь сразу несколько IP-адресов.

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

NS-серверы хостинга для сайта и их роль в ДНС

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

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

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

1. Сначала browser направляет запрос на ДНС-сервер интернет-провайдера, с которым у юзера заключен договор на оказание услуг по подключению к сети. Ежели ранее юзер уже посещал данный веб-проект, то в кеше уже имеется IP-адрес сервака, на котором он находится.

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

2. Если же запись о соответствии domain и IP не найдется, то от интернет-провайдера пойдет запрос одному из корневых DNS-серверов нужной зоны, которых в сети считанное число, где данные обновляются несколько раз в сутки.

3. Корневой server не может сразу выдать соответствие «доменное имя — IP», но зато передаст адреса как раз тех NS-серверов, которые принадлежат хостеру, где и расположен искомый сайт (к примеру для Спринтхоста, клиентом которого я являюсь, эти адреса таковы: ns1.sprinthost.ru и ns2.sprinthost.ru). Чтобы это было возможным, владелец сайта должен связать домен и хостинг. Поэтому, ежели вы начинающий вебмастер, то обязательно почитайте об этом, перейдя по предоставленной только что ссылке.

4. Далее интернет-провайдер пошлет запрос к одному из этих NS-серверов для получения IP того сервера, где находится сайт с заданным ДИ.

5. В результате искомый ай-пи будет передан по цепочке «NS-сервер хостинга» — «DNS-сервер интернет-провайдера» — «компьютер пользователя».

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

Еще статьи по данной теме:
Самые интересные публикации из рубрики: Компьютер и интернет

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Чтобы ввести любой код, вставьте его между [php] и [/php]. Ссылка (URL), помещенная в текст комментария, не будет активной. C целью ее выделения и более удобного копирования можно заключить ее между тегами <pre> и </pre>.