Что такое DNS (система доменных имен) и как она работает?

Опубликовано: 2020-12-09

DNS-система доменных имен

Какое определение для DNS?

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

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

История DNS

Истоки DNS восходят ко временам ARPANET, когда было всего несколько компьютеров, которые могли получить запись в базе данных. Файл HOSTS.TXT поддерживался Стэнфордским исследовательским институтом, он содержал данные всех компьютеров и копировался всеми хост-компьютерами для обновления.

Джон Постел из Института информационных наук попросил Пола Мокапетриса разработать самую первую реализацию DNS в Калифорнийском университете в Ирвине в 1983 году. Затем, в 1984 году, четыре студента, Дуглас Терри, Марк Пейнтер, Дэвид Риггл и Соннян Чжоу для машин Unix.

После некоторых изменений, внесенных в 1985 году Кевином Данлэпом, позже он был перенесен на компьютеры с Windows и до сих пор остается наиболее широко используемым DNS на планете.

Как работает DNS? – Простой пример DNS

Чтобы понять основы работы DNS, позвольте мне привести пример отеля. Предположим, вам нужно навестить своего друга в каком-то отеле. Теперь, что вы будете делать? Вы доберетесь до стойки регистрации отеля и спросите у администратора номер комнаты вашего друга.

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

Теперь попробуйте связать этот пример с работой DNS. В этом случае вы — клиент, отправляющий запрос на DNS-сервер, администратор, а имя вашего друга — это доменное имя, а номер его комнаты — его IP-адрес.

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

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

Понимание доменного имени и IP-адреса

Теперь, если бы вы спросили, что такое домен? Он используется для идентификации различных веб-сайтов и сервисов в Интернете. Возьмите доменное имя www.google.com. Соглашение об именах перемещается справа налево и наоборот для IP-адресов. В доменном имени для Google сначала DNS проверит com , который означает коммерческий домен и является доменом верхнего уровня.

Идя дальше, Google является субдоменом для com, а затем www является субдоменом для домена Google. Точка (.) используется для отделения доменов от их поддоменов. Полное доменное имя может состоять только из 253 символов.

Теперь, если кто-то захочет узнать доменное имя, зарегистрированное по IP-адресу, он запросит DNS-сервер с IP-адресом веб-сайта. Скажем, отправленный IP-адрес 31.13.79.246, DNS сначала проверит 31, затем 13, затем 79 и, наконец, 246, заключив, что IP-адрес принадлежит www.fb.com.

DNS напоминает иерархическую структуру дерева, а не биологическую. Существует другое дерево в структурах компьютерных данных, в котором адрес 31 принадлежит верхней позиции дерева и является первичным доменом в иерархии, адреса 13, 79, 246 являются последовательными поддоменами.

Число 246 относится к серверу, на котором размещен веб-сайт www.fb.com. Все эти домены и поддомены не так сложны, как вы думаете, но потребуется некоторое время, чтобы понять их правильно, если вы новичок в этой концепции.

Читайте также: Что такое HTTP/2 и как он работает

Эволюция DNS

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

Если вы зарегистрируете имя своего веб-сайта у регистратора доменных имен, потребуется около 24 часов, чтобы ваш веб-сайт появился в базах данных DNS по всему миру.

Были введены отношения главного и подчиненного серверов, при которых главный сервер поддерживал базу данных, а подчиненный сервер должен был только копировать базу данных, чтобы оставаться обновленной. Для облегчения динамических обновлений базы данных DNS были введены механизмы NOTIFY и IXFR.

В NOTIFY, когда главный сервер обновляет базу данных, он отправляет уведомление об обновлении подчиненным серверам, которые затем копируют базу данных. IXFR (Incremental Zone Transfer) избавляет от необходимости копировать всю базу данных каждый раз, когда делается одна запись; это позволяет подчиненным серверам добавлять только обновленную запись в свою базу данных, тем самым сокращая усилия и ускоряя процесс динамического обновления.

Разрешение IP-адреса

Это относится к процессу перевода доменного имени в соответствующий IP-адрес. Преобразователь DNS — это клиентский ПК, вы в этом примере с отелем, который отправляет запрос на DNS-сервер, администратору. Для решения используются два метода:

Рекурсивный: теперь, продолжая пример с DNS отеля, предположим, что у отеля есть несколько филиалов в городе, и администратор не смог найти номер комнаты вашего друга. Затем она проверит, останавливался ли ваш друг в другом отделении, связавшись с присутствующим там секретарем.

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

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

DNS-кэш

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

DNS-приложения

Первым и наиболее важным применением DNS является nslookup, в котором DNS-сервер отвечает IP-адресом доменного имени, запрошенного в запросе. DNS используется различными агентами передачи почты (MTA), такими как Microsoft Exchange Server и IBM Domino, для более эффективной доставки электронной почты.

DNS также может помочь идентифицировать занесенные в черный список IP-адреса через Интернет и предотвратить доступ к ним пользователей. Это помогает защитить пользователей от спама и потенциальных хакерских атак.

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

DNS-уязвимости

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

Ответы DNS не шифруются, что допускает потенциальные атаки. Однако расширения безопасности системы доменных имен (DNSSEC) используются для обработки криптографически подписанных ответов DNS.

Фишинговые атаки могут быть запланированы из-за визуального сходства некоторых символов на экране пользователя, например, буквы l и 1 отображаются одинаково на некоторых экранах, таким образом перенаправляя пользователей на разные IP-адреса, отображая тот же внешний вид, что и исходный веб-сайт. .

Как найти свой DNS?

Найти адрес DNS-сервера на вашем компьютере довольно просто. Если вы используете ПК с Windows, перейдите в «Настройки» > «Сеть и Интернет». Здесь нажмите «Свойства» для вашего подключения и прокрутите вниз, чтобы найти DNS-сервер.

Использовать собственный DNS

Что, если администратор отеля работает очень медленно, и многие люди одновременно спрашивают номера комнат? Тогда она не сможет быстро сообщить вам правильный номер комнаты. Таким образом, вы можете попросить другого человека на стойке регистрации заняться вашей проблемой. Точно так же, когда мы подключаемся к Интернету, мы обычно используем DNS-сервер, предоставляемый нашими интернет-провайдерами.

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

Читайте также: 5 лучших DNS-серверов — бесплатный общедоступный DNS для быстрого подключения

Некоторые популярные DNS-серверы:

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

8.8.8.8 и 8.8.4.4

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

208.67.222.222 и 208.67.220.220

Для тех читателей, которые не знают, как настроить DNS на вашем компьютере, перейдите по ссылке ниже:

Рекомендуется: Как увеличить скорость Интернета с помощью взлома DNS

Завершение

DNS был предметом первостепенной важности с момента его появления в качестве систематического способа обслуживания такой огромной базы данных миллионов веб-сайтов и серверов по всему миру. Без DNS это спровоцировало бы большой беспорядок со всеми доменными именами и IP-адресами, и потребовались бы годы, чтобы просто найти google.com из бессистемного набора всех доменных имен.

DNS упростил процесс разрешения IP-адресов, и, если серьезно, если бы DNS не было, я знаю, вы бы сожгли свои мозговые цепи, чтобы запомнить все эти IP-адреса. И позвольте спросить вас, помните ли вы IP-адрес Facebook, о котором я упоминал выше? И не прокручивайте сейчас, даже я этого не помню, потому что DNS должен запомнить это для нас. Нам остается только выразить благодарность за благородную работу, которую DNS проделывает последние три десятилетия, и он стал быстрее, умнее и надежнее.

Посмотрите это видео о DNS:

Читать далее: Как работает DDoS-атака?

Итак, теперь у вас есть представление о том, что такое DNS и его предназначение. Оставляйте свои мысли в комментариях и попробуйте настроить DNS-сервер по ссылке в статье.

Если вам нравится это простое объяснение, ознакомьтесь с нашим разделом «Короткие байты». Мы берем сложные технические темы и разбиваем их на короткие, простые для понимания статьи.