Как работает dns-сервер простыми словами
Содержание:
- Типы записей DNS-сервера
- Как всё начиналось
- Что делать если DNS сервер не отвечает
- Что такое DNS
- Утилита nslookup
- Как работает
- История
- Для чего нужен DNS?
- Глобальная DNS
- Что представляет собой эта служба?
- Как было раньше, или если бы не DNS сервер…
- Зачем вообще прописываются DNS-серверы
- Иерархическая структура
- Как работает DNS?
- Как определить адрес DNS-сервера?
- Типы ресурсных записей в системе DNS
- Типы DNS-запросов
- CDN-прокси
- DNS-сервер
Типы записей DNS-сервера
Один домен может соответствовать нескольким IP одновременно. Кроме того, он может содержать несколько поддоменов. Вся эта информация содержится в фале на сервере. Его содержимое именуется DNS-зоной. Что бы добавить туда данные, нужно прописать ресурсные записи.
Существует несколько основных видов ресурсных записей:
- Тип А обозначает собой фактический адрес страницы на просторах интернета;
- Тип MX задаёт адрес почтового сервера;
- Тип CNAME позволяет соединить в цепь поддомены и основное доменное имя. К примеру, можно к странице web-page.ru привязать адрес www.web-page.ru, тем самым делая их равнозначными;
- Тип NS прописывает адрес резервного DNS сервера, а также места, где будут храниться дополнительные ресурсные записи;
- Тип TXT, как ясно из названия, содержит всю текстовую информацию о странице;
- Тип SOA хранит исходную информацию о домене;
- Тип SPF содержит в себе список серверов, имеющих права на отправку писем от лица домена.
Как всё начиналось
Продажа компьютеров в середине 90-х — очень прибыльный бизнес. И если жители европейской части России возили комплектующие из Европы, то на Дальнем Востоке прибыль определялась знанием японского рынка. После дефолта состоялось юридическое открытие компании ДНС, что было вызвано сменой основной парадигмы — вместо сбора компьютеров было решено заняться розничными продажами электроники.
Успешный опыт повлиял на развитие компании, уже через два года в состав сети входило 15 магазинов (не только на Дальнем Востоке). К 2011 году было открыто 185 магазинов, к 2013 — 700. При этом компания запустила производство собственной техники. Помимо небольших магазинов, в городах России стали появляться и крупные супермаркеты с большим ассортиментом. В данный момент количество магазинов превышает 1,5 тысячи.
С 1998 по 2005 год ДНС был максимально локальным явлением, осуществляя продажи в одном магазине.
Что делать если DNS сервер не отвечает
Порой при попытке открыть сайт мы сталкиваемся с сообщением, что DNS сервер не отвечает или недоступен. Это значит, что по какой-то причине не удалось установить с ним связь и соответственно браузер не знает на каком ip-адресе располагается нужный нам сайт. Это может происходить по разным причинам, например, он сломался или возникли проблемы в маршрутизации к нему. В этом случае запросы могут все же проходить, но очень медленно и сайты будут загружаться по несколько минут.
В этом случае можно в настройках подключения указать любой другой DNS server. Это решит проблему, если конечно проблема в нем. Хотя возможно дополнительно потребуется очистить кэш DNS.
Дело в том, что для ускорения работы Windows запоминает полученные ответы от DNS сервера и хранит их некоторое время. Поэтому, когда вы снова хотите открыть сайт, который уже недавно посещали, нужные сведения берутся из кэша. Чтобы очистить кэш DNS и заставить систему выполнить запрос на сервер откройте командную строку и выполните в ней команду .
На самом деле в Windows есть еще один способ указать системе ip адрес соответствующий конкретному домену. Это файл hosts являющийся локальной базой доменных имен. Он находится в папке и не имеет расширения, а для его редактирования необходимы права администратора.
Фактически это обычный текстовый файл и его можно открыть обычным Блокнотом. Каждая строчка соответствует одной записи и имеет вид ip-адрес пробел доменное имя, а строчки, начинающиеся со знака # являются комментариями.
Когда какая-нибудь программа хочет обратиться к любому домену, сначала проверяется hosts файл на вашем компьютере, если там нужной записи нет, то проверяется кэш DNS, а если и там нет, то уже делается запрос на днс сервер указанный в настройках. Поэтому всякие вирусы особенно раньше любили прописывать в этом файле свои данные и в результате у пользователей открывались совсем не те сайты, которые они хотели открыть.
В заключение стоит отметить, что под DNS сервером может пониматься не только физический сервер, на котором хранятся эти записи, но и программное обеспечение непосредственно выполняющее работу по хранению, обновлению и обмену DNS запросами.
Что такое DNS
Аббревиатура расшифровывается, как Domain Name System, что в переводе на русский язык – система доменных имён. То есть это большая база данных, в которой собрана информация о фактических названиях страниц и их цифровых эквивалентах.
Как было сказано ранее, каждый объект во всемирной паутине имеет уникальный IP-адрес. Это ряд состоящий из четырёх чисел от нуля до двухсот пятидесяти пяти, определяющий физическое местоположение сервера, с которого данный объект попадает в веб-пространство. Если придумывать аналогии, то IP можно сравнить с телефонным номером, а DNS – огромной телефонной книгой.
Когда пользователь вводит название сайта в адресной строке поисковика, DNS начинает анализировать все записи в базе на предмет совпадений и, обнаружив таковые, перенаправляет на искомую страницу.
Утилита nslookup
Узнать ip-адрес компьютера по его доменному имени можно с помощью утилиты nslookup.
Здесь представлен пример её использования:
Пишем nslookup и интересующие нас доменное имя (www.yandex.ru). Получаем ответ, что доменному имени www.yandex.ru соответствует сразу четыре ip-адреса (77.88.55.55 и так далее). Также есть еще один адрес ipv6 (2a02:6b8:a::a).
Для того чтобы попасть на веб-сервер Яндекса, можно подключиться к любому из представленных выше ip- адресов.Здесь мы видим еще одно преимущество системы DNS, если на наш сервер обращается большое количество клиентов, который один компьютер обработать не способен, мы можем создать несколько серверов и в систему DNS прописать, что он наш домен и обслуживает несколько серверов.
Для того чтобы получить доступ к веб-серверу компании Яндекс, можно обратиться к любому из этих серверов. Утилитой nslookup преимущественно используется под Windows, в Linux и Unix используются другие утилиты, такие как Host и Dig. Таким образом система DNS по доменному имени компьютера позволяет определить его ip-адрес, вопрос заключается в том, как это удается сделать в масштабах всей сети интернет, в которой огромное количество компьютеров и постоянно происходят изменения.
Как работает
На заре развития Интернета существовала «плоская» система наименований: у каждого пользователя был отдельный файл, в котором содержались списки необходимых ему контактов. Когда он подключался к Всемирной паутине, то его данные рассылались на другие устройства.
Однако из-за стремительного развития Интернета необходимо было максимально упростить обмен данными. Поэтому его разделили на меньшие сегменты-домены. В свою очередь, они разделяются на поддомены. На вершине адреса, поданного в именной форме, находится корень – основной домен.
Поскольку Интернет – это американская разработка, то существует два типа первичных доменов:
общие домены, которые принадлежат учреждениям США:
- com – бизнес-организации;
gov – правительственные заведения;
edu – образовательные учреждения;
mil – военные представительства;
org – частные организации;
net – интернет-провайдера.
коренные домены других страны состоят из двух букв.
Второй уровень состоит из сокращений городов или областей, а домены третьего порядка обозначают различные организации и предприятия.
Точка исполняет роль разделителя между доменами разными порядка. В конце имени точка не ставится. Каждый отдельный домен с точкой называется меткой.
Ее длина не должна превышать 63 символа, а полная длина адреса – 255 знаков. В основном, используются латиница, цифры и знак дефиса, однако несколько лет назад начали использовать начали использовать приставки на основе других систем письменности. Регистр букв не имеет значения.
У каждого уровня сети должен быть собственный сервер, который содержит информацию об адресах пользователей своего сегмента.
Поиск необходимых данных происходит так:
- когда человек хочет найти определенный сайт, служба делает запрос на локальный сервер;
если у него есть эти данные, то клиент (это – пользователь, осуществляющий запрос) получает оповещение, что такая страница существует. Браузер получает ее адрес и загружает ее;
если на локальном уровне отсутствует необходимая информация, то сервер обращается к компьютерам высшего уровня, пока запрашиваемая запись не будет найдена.
История
Использование более простого и запоминающегося имени вместо числового адреса хоста относится к эпохе ARPANET. Стэнфордский исследовательский институт (теперь SRI International) поддерживал текстовый файл HOSTS.TXT, который сопоставлял имена узлов с числовыми адресами компьютеров в ARPANET. Поддержание числовых адресов, называемых списком присвоенных номеров, было обработано Джоном Постелем в Институте информационных наук Университета Южной Калифорнии (ISI), команда которого тесно сотрудничала с НИИ.
Адреса назначались вручную. Чтобы запросить имя хоста и адрес и добавить компьютер в главный файл, пользователи связывались с сетевым информационным центром (NIC) SRI, руководимым Элизабет Фейнлер, по телефону в рабочее время.
К началу 1980-х годов поддержание единой централизованной таблицы хостов стало медленным и громоздким, а развивающейся сети требовалась автоматическая система именования для решения технических и кадровых вопросов. Постел поставил перед собой задачу выработать компромисс между пятью конкурирующими предложениями для решения задачи, сформулированной Полом Мокапетрисом. Мокапетрис вместо этого создал концепцию иерархической системы доменных имен.
Рабочая группа IETF опубликовала оригинальные спецификации в RFC 882 и RFC 883 в ноябре 1983 года.
В 1984 году четыре студента UC Berkeley, Дуглас Терри, Марк Пейнтер, Дэвид Риггл и Сонгниан Чжоу, написали первую версию сервера имен BIND (Berkeley Internet Name Daemon). В 1985 году Кевин Данлэп из DEC существенно пересмотрел реализацию DNS. Майк Карел, Фил Альмквист и Пол Викси поддерживали BIND с тех пор. В начале 1990-х годов BIND был перенесен на платформу Windows NT. Он широко распространен, особенно в Unix-системах, и по-прежнему является наиболее широко используемым программным обеспечением DNS в Интернете.
В ноябре 1987 года были приняты спецификации DNS — RFC 1034 и RFC 1035. После этого были приняты сотни RFC, изменяющих и дополняющих DNS.
Для чего нужен DNS?
Роль почтового адреса в интернете играет IP-адрес(по рус. Айпи). Он есть у всех устройств в сети, будь то домашняя сеть или Интернет. С его помощью устройства могут общаться между собой, отправляя запросы и отвечая на них по определенным IP-адресам. Они задают, на какое устройство необходимо отправить данные.
Айпи состоит из четырех чисел, начиная от 0 и заканчивая 255. К примеру, один из интернет-адресов сайта компании Google выглядит так: 77.214.53.237. Если вы скопируете данное сочетание цифр и вставите в адресную строку в браузере, то автоматически попадете на страницу google.com. Позже мы расскажем, почему домены могут иметь несколько IP.
Вы спросите: «А зачем вообще усложнять жизнь и почему нельзя оставить только доменные имена»? Суть в том, что любой доступный во Всемирной паутине сайт – это, грубо говоря, тот же компьютер со своим айпи. Все его файлы, папки и прочие материалы хранятся на сервере. Компьютеры способны работать только с цифрами – без DNS они не поймут символьный запрос.
В отличие от компьютеров, человеку тяжело держать в голове уйму цифр. IP-адрес очень похож на длинный мобильный номер. Чтобы не было необходимости запоминать номера телефонов, мы записываем их в «контакты» и называем, зачастую, именами владельцев этих номеров. Например: Иван Сидорович, +7-123-456-78-90. В следующий раз, когда мы захотим позвонить Ивану, нам достаточно ввести его имя, а про номер можно и вовсе забыть.
В Интернете роль подобной телефонной книжки отводится именно DNS. В этой системе прописана и сохранена связь сравнительно легко запоминающихся имен сайтов с тяжелыми к запоминанию цифровыми адресами. Вот только во Всемирной сети такую «книгу» ведут не знакомые Ивана Сидоровича, которые в собственных «контактах» могут назвать его как угодно, а лично он.
Например, чтобы зайти на сайт Ивана с доменным адресом yavanya.com, который он выбрал сам, достаточно ввести его в браузере, после чего DNS отправит компьютеру (через который вы сидите в браузере) необходимый IP-адрес. Допустим, 012.012.012.012 – это айпи, соответствующее сайту yavanya.com. Тогда сервер (компьютер), на котором размещен сайт, с таким адресом проанализирует введенный пользователем запрос и пришлет данные браузеру для отображения запрошенной страницы.
Глобальная DNS
Выражаясь формальным языком, структура глобальной DNS представляется в виде «соответствия основополагающим документам» из целой, конечно, их серии/набора. Вот их названия:
RFC 1034
RFC 1035
RFC – это имя документа, который обязывает участников сети соответствовать неким правилам работы в сети, чтобы не мешать остальным и при этом находиться и отображаться для других правильно и быстро. И эти два документа предписывают DNS серверам структурироваться в обратную древовидную структуру:
- Корневой сервер имён, он же ROOT сервер – представлен символом ТОЧКА “.“.
- Домены верхнего уровня (Top Level Domens – TLD) – делятся внутри на Общие домены (gTLD) типа .com, .net, .org, .edu и т.п. и Национальные домены (ccTLD) типа .us, .uk, .ru, .fr и т.п.
- Домены второго уровня (Secondary Level Domain – SLD) – это остальная часть доменов, которые раздаются коммерческими или государственными организациями. Характерный вид: наличие справа от главного имени адреса ещё одной точки:
сайт.msk.ru сайт.spb.ru и т.д.
Таким образом, структура DNS выглядит так:
- Корневой уровень.
- Домены верхнего уровня.
- Домены второго уровня.
- Поддомены.
- Конечные хосты.
В состав такой иерархии вводится понятие доменов третьего уровня, чьё место в URL сразу слева от имени второго домена. Так часто именуют поддомены на ресурсах, которые играют роль специального раздела основного сайта.
Теперь вы знаете, какие DNS серверы принимают участие, когда вы обращаетесь к моему блогу:
Каждая ветка или пункт доменной системы закреплён за ответственной организацией, которая отвечает за его администрирование. Так что привыкайте к следующему понятию в DNS системе: авторитетный источник. Авторитетной мы будем называть именно ту организацию, которая ответственна именно за конкретную часть DNS цепочки или DNS узла.
Что представляет собой эта служба?
Так что такое DNS? Это огромная база данных, в которой содержится информация о том, соответствует доменное имя IP-адресу или нет. DNS – это так называемый протокол, который представляет собой компьютерную, четко распределенную систему, направленную на получение информации о различных состояниях того или иного домена. В переводе с английского языка Domain Name System значит «система имен доменов». Всю эту информацию хранит так называемый DNS-сервер. Зачастую данный протокол используют, чтобы получить IP-адрес, основываясь на имени того или иного необходимого хоста (хостом может выступать компьютер или другое устройство с выходом в Интернет). Что такое DNS кроме этого? Также эта служба необходима для получения информации по требованию о маршруте, который прошла почта, обслуживаемая узлами под протоколы в домене.
Как было раньше, или если бы не DNS сервер…
Изначально для этой (поиск нужного компьютера по сети и самоидентификации) цели был создан знаменитый файл hosts, и каждый из компьютеров был просто обязан иметь его в корневой директории операционной системы. Файл, находящийся по пути:
В Вашей Windows до сих пор обладает наивысшим приоритетом, когда речь заходит о том, можно ли посетить какой-то сайт или нельзя.
Но время шло, и вскоре пользователи и администраторы при выходе в сеть стали сталкиваться с некоторыми проблемами. И среди самых назойливых оказались следующие:
- Файл hosts, для нормальной работы в сети, должен был редактироваться: какие-то записи добавлялись, какие-то затирались. И представьте себе, что это нужно было бы проделывать ВРУЧНУЮ.
- Представьте, каким бы стал этот файл сегодня, когда мы гуляем по сети беспрепятственно, посещая десятки, а то и сотни хостов ежедневно, даже не подозревая, что такие существовали до сей минуты. Hosts файл разросся бы до гигантских размеров.
Впрочем, идея с заменой цифрового адреса на символьный пришла почти сразу. Так появилась мысль, а затем и техническое решение создать сетевой сервер ИМЁН. И когда в сети появляется DNS Система Доменных Имён, остальным компьютерам в этой сети нужно знать лишь две вещи:
- Цифровой адрес самого сервера DNS.
- Понятный человеку адрес нужного компьютера.
Теперь, чтобы узнать истинный IP адрес нужного компьютера-сервера-сайта (а это по-прежнему адрес в виде ХХХ.ХХХ.ХХХ.ХХХ), наш компьютер спрашивает об этом DNS сервер в форме:
Проблемы, обозначенные вверху, исчезли: всё теперь происходит внутри серверов. А сразу после того, как случайно пролили кофе на клавиатуру единственного DNS сервера, возникла идея создания множества DNS серверов, чтобы в случае сбоя на любом из них проблем с поиском не было. Чтобы их между собой не путать, некоторые из них стали первичными, остальные вторичными.
Если на главном сервере проводилось техническое обслуживание, проблемы с поиском брал на себя вторичный DNS. Однако, с течением времени, некоторые проблемы стали появляться:
- Устройств, которые выходили в сеть, становилось всё больше, и для DNS серверов стало трудно обрабатывать миллионы запросов на преобразование адресов. Так, помимо увеличения количества самих DNS серверов, возникла проблема систематизации самих имён в сети.
- Некоторые сайты принимали несколько десятков посетителей в день, а какие-то – сотни в минуту. А значит нужно распределять и нагрузку по каждому из ресурсов в случае необходимости
Вот так мы и подобрались к современной структуре DNS.
Зачем вообще прописываются DNS-серверы
Любой зарегистрированный домен не может самостоятельно попасть в базу данных, а значит сервера вокруг не знают, что он вообще существует. Поэтому, сразу нужно настроить и прописать DNS-сервера для новозарегестрированного доменного имени.
Обновление информации занимает до одного дня, в это время, скорее всего, сайт не будет работать. Но не стоит впадать в панику, нужно просто дождаться, пока серверы обновятся.
Рекомендуется задавать серверы парами. Это обеспечивает большую безопасность и стабильность работы ресурса. Если основной по каким-то причинам зависнет, перестанет работать, на запрос ответит второй, а сайт не прекратит свою работу.
Иерархическая структура
Что такое DNS? Это система доменных имен, которая являет собой распределенную базу данных. Поддерживается она потому, что существует четкая и слаженная иерархия серверов, взаимодействующих между собой согласно своим внутренним протоколам. Каждый DNS-сервер основывается на «представлении» о системе иерархии доменных адресов в разных зонах. Каждый сервер, который отвечает за то или иное имя, может делегировать ответственность за возможные новые части домена каким-либо другим серверам. Это способствует перенесению ответственности за популярную информацию на серверы разных предприятий, людей и организаций, которые будут отвечать только за свою собственную часть общего имени домена.
Как работает DNS?
Интернет-провайдеры обычно используют свой собственный DNS, а маршрутизатор является шлюзом между устройством и DNS, отправляя IP-запросы на DNS-серверы интернет-провайдера, которые ищут, где хранятся ресурсы веб-сайта.
Скорость DNS и скорость запросов во многом зависят от того, где находится DNS-сервер. Большинство интернет-провайдеров распространяют свои DNS-серверы по всему миру, поэтому, где бы вы ни находились, вы будете рядом с тем, который сможет обеспечить работу вашего веб-сайта. Также возможно, что вы живете дальше от своего DNS-сервера, при таком раскладе подключение к веб сайтам для вас будет происходить медленней чем у тех, кто живет ближе к своим DNS-серверам.
Как определить адрес DNS-сервера?
Вы никогда не пробовали восстановить подключение к Интернету самостоятельно? Если да, то вы были бы немного знакомы с условиями DNS, DNS-адресом сервера, и т.д. В пользу тех, кто чувствует себя немного отчужденным от всех этих терминов, стоит начать с самого начала.
Полная форма DNS — это система доменных имен. Не вдаваясь в излишние технологические подробности, ниже объясняется ее значение в области Интернет-технологий
Важность адрес DNS-сервера
DNS-серверы поддерживают журнал каждого веб-сайта в Интернете. Каждый веб-сайт связан с уникальными IP (Internet Protocol) адресами в формате «xxx.xxx.xxx.xxx». Чтобы рассмотреть, например, IP-адрес www.comerartadvisory.com, следует выйти на цифры 209.18.68.131. Теперь проблема в том, что DNS-серверы способны отслеживать каждый веб-сайт на основе его IP-адрес, а не его доменного имени. Тем не менее, человеку гораздо проще запомнить сайт по его имени, а не по цифровому значению. Естественно, должен быть какой-нибудь способ обойти эту проблему.
Когда, как пользователь, вы набираете «www.comerartadvisory.com» в адресной строке веб-браузера, ваш компьютер посылает запрос на ближайший DNS-сервер, который отображает строку «www.comerartadvisory.com» с соответствующим числовым IP адресом. Как только это будет успешно завершено, сервер DNS перенаправляет ваш компьютер к этому конкретному IP-адресу, после чего веб-страница открывается в веб-браузере. С более чем 5 миллиардами веб-сайтов в Интернете, можно очень хорошо представить себе величину IP-каталога адресов и скорость, с которой сервер DNS должен работать, чтобы обеспечить быстрый и эффективный результат.
Как определить адрес DNS-сервера вашего компьютера
Самый простой и быстрый способ найти адрес DNS-сервер вашего компьютера — через командную строку.
Вы можете сделать это через следующие шаги:
Нажмите на кнопку «Пуск» в нижнем левом углу экрана компьютера.
Из различных вариантов программы, которые отображаются, нажмите кнопку «Выполнить». Небольшое окно откроется в нижней части экрана. Введите команду CMD и нажмите Enter.
Новое окно с черным фоном откроется на экране компьютера. Теперь вам нужно ввести IPCONFIG / все команды в командной строке и нажать клавишу ВВОД.
Вы сразу увидите множество информации, которая появляется в черном окне. Просмотрите данные, пока не найдете строку, содержащую слова «DNS-сервера». Число т.е. IP-адрес, который отображается рядом со словами «DNS-сервера» является ничем иным, как адрес DNS-сервера вашего компьютера.
В большинстве случаев, ваш компьютер использует два адреса DNS-серверов — один предпочтительный сервер DNS-адреса и второй альтернативный сервер DNS-адреса. Оба из них будут отображаться один под другим в окне командной строки, рядом со словами «DNS-серверы».
Альтернативный метод определения адреса DNS-сервера. Существует и другой способ, в котором вы можете найти адреса DNS-серверов вашего компьютера. Вы должны нажать на кнопку «Пуск» и перейти в «Панель управления». В окне панели управления, вы должны дважды щелкнуть на «Сетевые подключения». Это откроет новые окна, которые будут отображаться в Интернете, которые вы сейчас используете. Щелкните правой кнопкой мыши на этом значке и выберите «Свойства» из списка доступных вариантов. В последующем окне, выделите фразу, содержащую слова «Internet Protocol» и нажмите на кнопку с именем команды «Свойства». Новое окно, открывшееся впоследствии при этом, можно просматривать как адреса DNS-серверов в нижней части окна.
Вы можете использовать эти методы, чтобы определить адрес DNS-сервера вашего компьютера. Просто убедитесь, что вы не изменили данные случайно, или же вы можете в конечном итоге столкнуться с проблемами в навигации в Интернете.
Также интересно почитать:
Типы ресурсных записей в системе DNS
Техническая документация к программному обеспечению DNS-серверов предполагает использование более 40 различных типов ресурсных записей. Но на деле в обиходе используются преимущественно следующие:
- NS-записи – управление ими всегда доступно из личного кабинета регистратора доменов. Именно они указывают на name-серверы, на которых нужно искать адрес вашего домена.
- A-запись – позволяет задавать конкретный IPv4-адрес вашего сервера или сервера-балансировщика (для кластеров).
- AAAA-запись – аналогична A-записи, но работает только с IPv6-адресами.
- MX-запись – используется для указания почтового сервера.
- SPF-запись – определяет перечень серверов, с которых может отправляться электронная почта от имени вашего домена.
- TXT-запись – используется для разных служебных задач, например, сюда можно прописать DKIM.
- CNAME-запись – определяет каноническое (основное) доменное имя.
Типы DNS-запросов
Существует 3 типа DNS-запросов:
- Рекурсивный: подобные запросы выполняют пользователи к резолверу. Собственно, это первый запрос, который выполняется в процессе DNS-поиска. Резолвером чаще всего выступает ваш интернет провайдер или сетевой администратор.
- Нерекурсивные: в нерекурсивных запросах резолвер сразу возвращает ответ без каких-либо дополнительных запросов на другие сервера имён. Это случается, если в локальном DNS-сервере закэширован необходимый IP-адрес либо если запросы поступают напрямую на авторитативные серверы, что позволяет избежать рекурсивных запросов.
- Итеративный: итеративные запросы выполняются, когда резолвер не может вернуть ответ, потому что он не закэширован. Поэтому он выполняет запрос на корневой DNS-сервер. А тот уже знает, где найти фактический TLD-сервер.
К примеру, если вы пытаетесь получить IP-адрес medium.com, то корневой доменный сервер выдаст адрес TLD-сервера для . Этот адрес корневой сервер вернёт резолверу. После этого резолвер опросит TLD-сервер. TLD-сервер может не знать нужный IP-адрес, зато он может дать адрес авторитативного DNS-сервера для .
Попробуем рассмотреть этот процесс на рисунке:
Разберём рисунок выше:
- Пользователь выполняет запрос к резолверу для поиска IP-адреса. Это рекурсивный запрос.
- Резолвер по возможности просматривает свой кэш на наличие необходимого IP-адреса.
- Если у резолвера есть необходимый IP-адрес, то он возвращает его.
- В противном случае резолвер выполняет итеративный запрос на корневой DNS-сервер. Корневой DNS-сервер ищет нужный TLD для запрашиваемого адреса. К примеру, если хост — , то TLD — . Корневой DNS-сервер находит адрес .com-домена и возвращает ответ резолверу.
- Теперь резолвер выполняет итеративный запрос на TLD-сервер, чтобы получить необходимый IP-адрес. TLD-сервер возвращает адрес авторитативного сервера для запрашиваемого хоста.
- Авторитативный сервер хранит фактические записи сопоставления имени хоста с IP-адресом, который возвращается резолверу (тот, в свою очередь, возвращает его пользователю).
- Если на авторитативном сервере нужной записи не существует, то возвращается ошибка «».
- Для всех серверов, через которые проходит запрос, результат кэшируется, и в случае повторного запроса результат уже будет на сервере.
- В среднем для DNS-поиска потребуется около 4 запросов, но время этого поиска будет составлять всего несколько миллисекунд.
CDN-прокси
Особняком стоят CDN-прокси (Content Distribution Network), которые можно использовать и как DNS. CDN-прокси ускоряют работу сайта благодаря кэшированию данных на распределённой сети серверов. Сайт отдается клиенту с ближайшего к нему сервера. Также CDN может фильтровать вредоносные запросы (защищать сайт от DDoS).
CDN-сети имеют серьёзный недостаток: IP-адрес для доменов, размещённых в CDN, присваивается случайным образом. Т.е. попасть на сайт или сервер напрямую по IP-адресу будет невозможно.
Кроме этого, сайт может быть заблокирован на территории РФ. IP-адреса сайтов с запрещенным контентом попадают в черный список Роскомнадзора и блокируются провайдерами (и это не редкость для CDN-сетей). Если вашему домену случайным образом достанется один из таких адресов, то сайт окажется недоступным. По этой причине необходимо внимательно подходить к выбору CDN-провайдера и заранее узнавать об IP-адресах, находящихся в черных списках, и возможных проблемах с ними.
Не рекомендуем использовать CDN-прокси для сайтов, аудитория которых находится в России.
Плюсы:
- Повышение скорости отдачи контента
- Защита от вредоносных запросов
- Удобство работы
- Отказоустойчивость
Минусы:
- IP-адреса могут быть в черных списках Роскомнадзора
- Стоимость
DNS-сервер
DNS – сокращенное название от «Домейн Нейм Сервер». Задача системы – хранить и управлять информацией о доменных именах и зонах. В этом сервисе осуществляется привязка URL и IP-адресов и регистрация прав владельцев сетевых ресурсов.
Система доменных имен действует на физических носителях – компьютерах, расположенных в различных частях мира. Информация о доменах храниться на жестких дисках и управляется специальными программами. Эти устройства называют DNS-серверами.
Виды серверов
Основное назначение dns-устройств:
- сохранность данных о доменах;
- предоставление информации по запросам пользователей;
- перенос и хранение данных по ранее полученным запросам для ускорения доступа к ресурсам.
По своему предназначению DNS-серверы делятся на несколько типов. Одно устройство может одновременно выполнять ряд функций. Структура системы – иерархическая. Второстепенный компьютер передает данные и подчиняется командам главного:
- главный DNS-сервер отвечает за определенное доменное пространство;
- первичный имеет исключительное право вносить изменения в зону;
- слейв, или вторичный – получает команды от первичного;
- серверы четвертого уровня принимают запросы непосредственно от пользователей и направляют данные на вышестоящие через dns-протокол, исполняют кэширующие функции.
Существуют также регистрирующие серверы, которые принимают информацию от пользователей об обновлении данных.
Информация по текущему DNS-соединению
Для ручной настройки выхода в интернет клиенту необходимо знать номера DNS-серверов, через которые идет выход в глобальную сеть. Простой вариант – позвонить операторам провайдера. Если это невозможно, пользователь сам может сделать запрос через программное обеспечение.
При ручной настройке сети в параметры вписываются два адреса (основной и резервный), состоящие из цифр, разделенных на группы точками. Для получения информации, необходимо:
- Набрать прописными латинскими буквами cmd в строке «выполнить», которую можно найти после нажатия клавиши «Пуск».
- Откроется строка на черном поле. В нее вбивается команда ipconfig/all.
- Пользователь получит в табличном виде несколько параметров, среди них – адреса DNS-сервера.
Способ ручной настройки сети надежен, он необходим, когда соединение есть, но пользователь получает сообщение – DNS-сервер недоступен, автоматический поиск не сработал. Доступ станет устойчивым, и назначенные сервера будут маршрутизировать запросы пользователя.