Для чего нужен DNS: понятие, назначение, принцип работы и выполняемые функции
Совершенно естественно, что рядовые пользователи мало что знают о том, для чего нужен DNS и какие функции возложены на одноименную технологию и соответствующие серверы. Зато даже ребенок, если спросить его о посещении какого-то сайта в интернете, сразу же скажет его название или англоязычную аббревиатуру адреса ресурса, даже не зная о том, что вся эта информация является чисто условной. Далее предлагается кратко рассмотреть некоторые основополагающие принципы работы и использования DNS, что многим может пригодиться в дальнейшем, например, для понимания некоторых решений, позволяющих устранить проблемы доступа к локальным сетям или даже интернету.
Зачем нужна технология DNS?
Итак, начнем с самого простого и попытаемся объяснить основное назначение самой технологии и принципы ее применения на практике, взяв за основу самые простые примеры. Абсолютно все пользователи знают, что для доступа к какому-то интернет-ресурсу (сайту) в адресной строке браузера нужно вписать специальный URL-адрес, который может состоять из набора букв, цифр и символов. Чаще всего применяются легко запоминающиеся адреса, представляющие собой либо полные названия, либо сокращения от основных имен. Но мало кто догадывается, что компьютер представляет собой всего лишь машину и распознавать такие названия не умеет. Иными словами, для перенаправления вас на какой-то сайт он должен получить четкий адрес, выраженный исключительно в числовом виде. Но ведь человеку запомнить огромное количество таких комбинаций будет весьма проблематично.
Именно поэтому в свое время и была разработана система доменных имен DNS (Domain Name System), позволяющая преобразовывать обычные названия в цифровые адреса, а при установке связи между клиентским компьютером и сервером, на котором хранится запрашиваемая страница, перенаправлять запросы и отклики не в хаотичном порядке, а только между конкретными компьютерами.
Общие принципы работы DNS
Теперь попробуем разобраться, для чего нужен DNS, используя несколько простейших примеров из жизни. Скажем, у вас есть знакомый с именем Петр Иванов, проживающий в каком-то городе. Таких Ивановых в этом населенном пункте может быть очень много. И если вам требуется доставить ему почту, не будете же вы искать всех людей с таким именем, хаотично бегая по городу и переспрашивая прохожих? Но нужный вам человек проживает по определенному адресу, а значит, чтобы найти именно того, кто вам требуется, вы и пойдете как раз к нему домой. Понятно, что этом случае почту получит именно тот человек, кому она и адресована. Но зачем нужен DNS в применении к компьютерам?
Аналогия здесь очевидна: в роли доменного имени выступает имя и фамилия адресата (а для интернета это URL-название сайта), а почтовый адрес позволяет сразу же найти нужного человека (для компьютеров это привязка к IP-адресу, в который машина и преобразовывает доменное имя).
Нужен ли DNS-сервер?
Вроде бы все выглядит достаточно просто. Однако на практике это далеко не так. Основная проблема, если исходить из вышеописанного примера, состоит в том, что адрес или телефон нужного человека вы можете забыть. Чтобы этого не случилось, можно внести номер его телефона, например, в список контактов на мобильном устройстве. Это нужно хотя бы для того, что в определенный момент времени человек может находиться не дома. Но вы можете позвонить ему и уточнить время, когда можно доставить корреспонденцию по указанному адресу. Для того чтобы позвонить абоненту, вы найдете в телефонной книге нужно вам человека по записанному имени, а затем просто нажмете кнопку вызова, даже не взглянув на присвоенный контакту номер.
Зачем нужен DNS-сервер, думается, уже становится понятно, поскольку сам по себе он как раз и исполняет роль своеобразной записной книги, в которой хранятся все зарегистрированные номера вместе с именами их владельцев. Но это только самое простое сравнение.
Типы DNS-серверов
Что же касается самих серверов, их разделяют на два основных типа: первичные и вторичные. Для чего нужен DNS-сервер первого типа? Он как раз и является главным хранилищем всех зарегистрированных доменных имен с присвоенными им IP-адресами. В некотором смысле это некая общая база данных. Второй тип серверов исполняет не менее важную роль – отвечает за кэширование исходных данных. Проще говоря, вторичный сервер один раз запрошенное имя и адрес постоянно хранит в кеше для ускорения доступа к запрашиваемому ресурсу в интернете, чтобы не перебирать все возможные комбинации из основной базы в поисках точного совпадения.
Кеширование данных
Как уже понятно, все данные записываются для сохранения именно в кэш DNS. Нужно ли его чистить? Действительно, вроде бы при сохранении имен и адресов для ускорения доступа к ресурсам в интернете удаление таких данных выглядит крайне нежелательным. Однако зачастую переполнение кеша может приводить к появлению некоторых проблем, когда наблюдаются сбои даже с интернет-подключением.
Вообще, обилие любых временных файлов негативно сказывается на производительности операционной системы, а вот сброс DNS-кэша, скажем, через командную консоль строкой ipconfig/flushdns позволяет как бы освободить пространство. Если опять привести в пример телефонную книгу, в некотором смысле такая ситуация сродни тому, что номера телефонов, адреса и любые другие данные в нее из-за переполнения записывать станет просто невозможно. Поэтому-то и придется удалить все лишнее (например, недействительные номера или те сведения, которыми вы уже очень давно не пользуетесь).
Понятие доменных зон
Теперь необходимо рассмотреть еще одно понятие, относящееся к доменным зонам. Выше рассматривались примеры только для одного типа взаимодействия, когда одному доменному имени соответствует только один IP-адрес. Но ведь на практике очень часто можно встретить ситуации, когда одному и тому же имени основного ресурса сопоставлено несколько IP-адресов, что чаще всего связано с использованием внутридоменных имен.
То есть общий ресурс может включать в себя и почтовый, и FTP-сервер, и другие сервисы. Для присвоения имен абсолютно всем дополнительным элементам и было введено описание DNS-зоны.
Проблемы использования протокола IPv4
Зачем нужен DNS, немного разобрались. Теперь попробуем немного акцентировать внимание на проблематике использования протокола IPv4. Несмотря на огромное число возможных комбинаций, используемых для присвоения каждому терминалу или мобильному устройству уникального IP, при нынешнем развитии такой техники и увеличении количества ее владельцев адресов на всех стало просто не хватать. Для устранения таких проблем в обиход был введен новый стандарт протокола IP шестой версии, но, как утверждает официальная статистика, до его повсеместного внедрения еще очень далеко. Поэтому совершенно неудивительным выглядит тот факт, что на IP-адресах в каком-то смысле начали экономить, в связи с чем на просторах интернета одному и тому же IP-адресу может быть сопоставлено несколько доменов. Для чего нужен DNS в такой ситуации?
Да хотя бы для того, чтобы обеспечить корректную обратную связь. Например, на одном сервере может быть размещено несколько небольших сайтов с разными доменными именами. Но сам сервер имеет один адрес. DNS-сервер в этом случае анализирует запрос извне и перенаправляет его с основного сервера именно на ту страницу, которая была запрошена. Соответственно, при отклике пользователь видит в браузере именно тот ресурс, который ему был нужен, а не какую-то другую страницу.
Какая функция возложена на файл hosts?
Если описывать основы функционирования DNS в полной мере, нельзя обойти стороной и содержимое файла hosts, который является неким камнем преткновения всех Windows-систем (и не только). Ведь как происходит доступ? При вводе адреса в браузере сначала проверяется, есть ли запрошенный ресурс в списке запрещенных именно в этом файле. Если такая запись имеется, доступ просто блокируется. Однако многие вирусы используют содержимое этого файла для установки перенаправления на сомнительные ресурсы. Иными словами, строка с IP-адресом переадресации и названием ресурса, с которого нужно выполнить перенаправление, например, 123.123.123.123 yandex.ru, при попытке доступа к сервисам «Яндекса» перекинет вас на другой IP, который и указан для редиректа перед основным именем запрашиваемого сайта.
А вообще, раньше такой файл мог содержать несколько тысяч строк и с адресами, и с именами доменов, выполняя роль того самого кэшированного содержимого. С появлением DNS необходимость описания каждого ресурса отпала.
В качестве локального хоста просто указывается искомый компьютерный терминал (127.0.0.1 localhost), все, что находится ниже этой строки, блокируется, а остальные ресурсы по умолчанию открыты для установки связи. Но если говорить начистоту, многие специалисты называют файл hosts неким отжившим свое атавизмом, несмотря на некоторые до сих пор сохранившиеся блокирующие и разрешающие функции.
Настройка DNS в локальных сетях
Теперь несколько слов о том, зачем нужен DNS-сервер в локальной сети (и нужен ли вообще), ведь по идее таковой имеется у провайдера и через него он может осуществлять связь между основной сетью, подсетями и отдельными терминалами с интернет-ресурсами. По мнению большинства специалистов, вне зависимости от того, используется ли выход в интернет, такой сервер иметь необходимо. Для чего нужен DNS в «локалке»? Во-первых, его наличие намного упрощает администрирование сетевых терминалов, ведь их может быть не пять или десять, а с десятка два и более. Во-вторых, появляется возможность назначения каждому сетевому компьютеру отдельного доменного имени (грубо говоря, «Петя», «Вася», «Маша»). В-третьих, IP-адреса можно назначать и вручную, и автоматически. В-четвертых, если при выходе в интернет предусмотрены какие-то ограничения на посещение определенных ресурсов (например, тех же социальных сетей), нет необходимости вносить их в списки блокирования файла hosts на каждом терминале, а можно прописать настройки исключительно на одном сервере.
Еще одно предназначение DNS состоит в том, что при использовании сервера провайдера может снижаться скорость доступа к интернету, а вот при установке отдельного DNS для локальной сети проблем с соединением не будет.
Общие параметры DNS для проводного и беспроводного подключения
Для домашних пользователей, использующих проводное подключение на основе статических адресов, в настройках протокола IPv4 обычно указывается предпочитаемый и альтернативный DNS-сервер провайдера.
Его же настройки присутствуют и при беспроводном соединении, но локальной машине получение адресов DNS и IP установлено на автоматическое, а основные настройки DNS прописываются только на маршрутизаторе. По большому счету для беспроводных подключений такая автоматизация является одним из главных условий для установки интернет-соединения.
Проблемы доступа в интернет и их решение за счет смены DNS-серверов
Однако даже полная автоматизация не исключает появления сбоев подключения. В этом случае очень часто рекомендуется изменять именно параметры DNS, поскольку первичных серверов, на которых хранятся базы данных всех зарегистрированных IP-адресов, в мире существует огромное количество. В качестве альтернативы провайдерским серверам можно прописывать параметры тех же бесплатных серверов от Google, которые не только хранят намного больше информации в базах данных, но и обеспечивают куда большее быстродействие. Для чего нужен адрес DNS такого типа? Как уже понятно, применение таких комбинаций позволяет не только восстановить доступ в интернет, но и существенно его ускорить.
Просто ради интереса можете попробовать самостоятельно прописать настройки, указанные выше, и сравнить скорость открытия страниц при использовании таких опций с тем, что было до этого. Иногда разница просто колоссальная.