Что такое DNS
Все компьютеры, подключенные к Интернету, включая смартфоны, настольные компьютеры и серверы, предоставляющие контент для огромных торговых веб-сайтов, находят друг друга и обмениваются информацией с помощью цифр. Эти цифры называются IP-адресами. Чтобы открыть веб-сайт в браузере, не требуется запоминать длинные наборы цифр. Достаточно ввести доменное имя, например example.com, и браузер откроет нужную страницу.
Служба DNS, например Amazon Route 53, – это глобальный распределенный сервис, преобразующий доменные имена, удобные для человеческого восприятия (например, www.example.com), в числовые IP-адреса (например, 192.0.2.1), используемые для взаимодействия компьютеров. Система DNS в Интернете очень похожа на телефонную книгу, которая устанавливает привязку имен абонентов к их телефонным номерам. Серверы DNS преобразуют запросы по именам в IP-адреса, обеспечивая соединение конечного пользователя с определенным сервером при вводе доменного имени в веб-браузер пользователя. Такие сообщения называются запросами.
Типы служб DNS
Авторитативный DNS-сервис. Авторитативный DNS-сервис предоставляет механизм обновления, используемый разработчиками для управления публичными именами DNS. Она отвечает на запросы к DNS, преобразуя доменные имена в IP‑адреса, чтобы обеспечить взаимодействие компьютеров между собой. Авторитативный DNS-сервис полностью отвечает за домен и предоставляет информацию об IP-адресах в ответ на запросы рекурсивных DNS-серверов. Amazon Route 53 является авторитативным DNS-сервисом.
Рекурсивный DNS-сервис. Обычно клиенты не отправляют запросы напрямую к авторитативным DNS-сервисам. Вместо этого они взаимодействуют с другим DNS-сервисом, который называется преобразователь имен или рекурсивный DNS-сервис. Рекурсивный DNS-сервис похож на управляющего в отеле: сам он не хранит записи DNS, но действует в качестве посредника, который может достать нужную информацию для вас. Если рекурсивный DNS-сервис хранит информацию в кэше или постоянном хранилище в течение определенного времени, тогда он отвечает на DNS-запрос, возвращая информацию об источнике или IP-адрес. Если он не хранит эту информацию, он передает запрос в один или несколько авторитативных DNS-серверов.
Начать работу с AWS бесплатно
Получите доступ к уровню бесплатного пользования AWS на год, включая преимущества поддержки AWS Basic Support: круглосуточное обслуживание клиентов (без праздников и выходных), форумы и многое другое.
Обратите внимание, что сервис Amazon Route 53 в настоящий момент недоступен на уровне бесплатного пользования AWS.
Если вы хотите просматривать facebook в Интернете, вы можете не помнить IP-адрес веб-сайта facebook "31.13.67.35" , но в браузере ввести "facebook.com" . Доменное имя легче запомнить, но для машины Другими "31.13.67.35" , машина предпочитает общаться с другими машинами через IP-адрес. Когда вы нажимаете на Facebook в своем браузере, ваш браузер автоматически выполняет DNS-запрос и получает IP-адрес "31.13.67.35" .
Запрос DNS преобразует имя домена в понятный компьютеру IP-адрес, однако функция запроса DNS не ограничивается этим, но NsLookup может найти имя домена почтового сервера, адрес IPv6 имени домена и т. Д.
DNS-запросы также используются в профессиональных областях. В процессе подтверждения владения доменным именем добавление DNS-записи типа TEXT может подтвердить владение вашим доменным именем (если вы покупаете доменное имя у Godaddy, вы можете установить DNS-записи на DNS-сервере Godaddy).
Типы DNS-серверов
Корневой DNS-сервер
Это DNS-сервер, который хранит в себе адреса всех TLD-серверов (TLD — top-level domain, домен верхнего уровня). По пути от имени хоста до IP-адреса запрос сначала попадает на корневой DNS-сервер.
Существует 13 корневых DNS-серверов:
Организации, управляющие корневыми DNS-серверами
Это не означает, что существует только 13 машин, которые обрабатывают все запросы со всего мира — существуют и второстепенные серверы, по которым распределяется трафик.
TLD-серверы
Эти серверы связаны с доменами верхнего уровня (TLD). Обычно они идут после корневых DNS-серверов. В TLD-серверах содержится информация о домене верхнего уровня конкретного хоста.
Скажем, если вы запросите IP-адрес хоста tproger.ru , то будет опрашиваться тот TLD-сервер, который соответствует домену .ru . TLD-сервер возвращает адрес авторитативного DNS-сервера для резолвера.
Теперь возникает вопрос — откуда TLD-серверы знают адрес авторитативных серверов? Ответ прост — после того, как вы покупаете любой домен у регистраторов вроде Godaddy или Namecheap, регистраторы привязывают авторитативные серверы к TLD-серверу.
Сейчас некоторые провайдеры предоставляют возможность использовать сторонние авторитативные серверы. Вы можете выбрать конкретный авторитативный сервер имён у регистратора.
Авторитативный DNS-сервер
Запрос на эти серверы поступает в самую последнюю очередь. Эти серверы хранят фактические записи типа A, NS, CNAME, TXT, и т. п.
Авторитативные DNS-серверы по возможности возвращают IP-адреса хостов. Если сервер этого сделать не может — он выдаёт ошибку, и на этом поиск IP-адреса по серверам заканчивается.
Русские Блоги
Система доменных имен DNS представляет собой распределенную базу данных, подходящую для TCP / IP. Предоставленные функции включают в себя:
- Преобразование между именем хоста и IP-адресом
- Маршрутизация информации по электронной почте
Кроме того, DNS также определяет формат сообщения для обмена информацией между DNS-серверами.Это сообщение находится на уровне приложений и основано на UDP или TCP
DNS-запрос
Если встроенный DNS компьютера не может разрешить доменное имя, он запрашивает вышестоящий DNS-сервер и передает информацию вверх, пока не достигнет верхнего сервера, корневого сервера, пока не запросит разрешение с какого сервера и после получения IP-адреса вернется к запрашивающему компьютеру.
Структура хранения DNS
Имя:
DNS-запрос для получения IP
Два метода:
* рекурсивный анализ
Когда локальный DNS-сервер не может ответить на DNS-запрос клиента сам по себе, он должен запросить другие DNS-серверы. В настоящее время существует два способа, как показано на рисунке рекурсивный способ. Локальный DNS-сервер сам отвечает за запросы других DNS-серверов.Как правило, локальный DNS-сервер сначала запрашивает у сервера корневого домена имя домена, а затем сервер корневых доменных имен выполняет нисходящий запрос. Окончательный результат запроса возвращается на локальный DNS-сервер, а затем возвращается клиенту локальным DNS-сервером.
* Итерационный анализ
Когда локальный DNS-сервер не может самостоятельно ответить на DNS-запрос клиента, он также может быть разрешен с помощью итеративного запроса, как показано на рисунке. Локальный DNS-сервер не запрашивает другие DNS-серверы сам по себе, но возвращает IP-адреса других DNS-серверов, которые могут разрешить имя домена, в клиентскую программу DNS, и клиентская программа DNS продолжает запрашивать эти DNS-серверы до тех пор, пока не будет получен результат запроса. до тех пор. Другими словами, итеративный анализ только помогает вам найти соответствующий сервер, но не помогает проверить. Например: IP-адрес сервера baidu.com находится по адресу 192.168.4.5. Вы можете проверить это сами. Я занят и могу только помочь вам попасть сюда.
Если вы вводите доменное имя, вам нужно выполнить преобразование DNS в IP.
После того, как DNS-запрос на запрос www.163.com достигает локального DNS-сервера, локальный DNS-сервер сначала запрашивает свою запись в кэше.Если эта запись есть в кэше, он может напрямую вернуть результат. Если нет, локальный DNS-сервер также запросит корневой DNS-сервер.
Корневой DNS-сервер не записывает соответствие между определенным именем домена и IP-адресом, но сообщает локальному DNS-серверу, что вы можете перейти на сервер домена, чтобы продолжить запрос и дать адрес сервера домена.
Локальный DNS-сервер продолжает отправлять запросы на сервер домена. В этом примере объектом запроса является сервер домена .com. После того как сервер домена .com получит запрос, он не будет напрямую возвращать соответствие между именем домена и IP-адресом, а сообщит локальному DNS-серверу адрес вашего сервера разрешения имен доменов (то есть упомянутого ранее сервера авторитетных имен доменов).
Наконец, локальный DNS-сервер отправляет запрос на сервер разрешения доменных имен. В это время вы можете получить соответствие между доменным именем и IP-адресом. Локальный DNS-сервер должен не только возвращать IP-адрес на компьютер пользователя, но и сохранять это соответствие в кеше. , Так что в следующий раз, когда другой пользователь запросит, вы можете напрямую вернуть результаты, чтобы ускорить доступ к сети.
Чтобы повысить эффективность DNS-запросов и снизить нагрузку на сервер, кэши широко используются как на сервере доменных имен, так и на локальном компьютере. Кэш-память используется для хранения самых последних запрашиваемых доменных имен и места для получения записей сопоставления доменных имен.
* Это было запрошено недавно или на сайте www.163.com, тогда локальный сервер доменных имен может напрямую извлекать результаты из кэша рассылки и возвращать его клиенту.
Если кэш локального сервера доменных имен не совпадает с IP-адресом, а адрес сервера доменных имен верхнего уровня кэшируется, вы можете пропустить сервер корневых имен доменов и напрямую отправить запрос на сервер доменных имен верхнего уровня, уменьшив количество пакетов и соответствие сервера имен корневых доменов.
Каждый элемент имеет время кэширования. Полномочный сервер доменных имен отвечает на запрос, который указывает в ответе значение времени, для которого привязка является действительной. Увеличение этого времени может снизить нагрузку на сеть, а сокращение этого времени может повысить точность преобразования доменных имен.
Обрабатывая локальные серверы доменных имен, эта машина также имеет кеш. Он начинается с загрузки всех баз данных имен и адресов с локального сервера доменных имен и поддерживает кэш, в котором хранятся его последние использованные доменные имена. При запросе имени домена будет запрашиваться локальный сервер доменных имен, если он не найден в локальном файле и кэше хоста.
dns-prefetch
Необходимо знать, что разрешение днс занимает очень много времени, поэтому, если разрешено слишком много доменных имен, первая загрузка экрана будет слишком медленной, вы можете подумать об оптимизации dns-prefetch.
Предварительная выборка DNS, или предварительная выборка DNS, является частью оптимизации интерфейса. Вообще говоря, есть две точки, связанные с DNS при оптимизации интерфейса: один — уменьшить количество DNS-запросов, а другой — выполнить предварительное получение DNS.
Как основной протокол Интернета, DNS, похоже, легко игнорируется оптимизаторами сайтов. Сейчас большинство новых браузеров оптимизировано для разрешения DNS. Типичное разрешение DNS занимает 20-120 миллисекунд. Это хороший способ оптимизации, позволяющий сократить время и количество разрешений DNS. Предварительная выборка DNS позволяет доменным именам с этим атрибутом разрешаться в фоновом режиме без нажатия пользователем ссылки, а разрешение доменных имен и загрузка контента являются последовательными сетевыми операциями, поэтому этот метод может сократить время ожидания пользователя и улучшить взаимодействие с пользователем.
По умолчанию браузер предварительно выбирает доменные имена, которые не находятся в том же домене, что и текущее доменное имя (доменное имя просматриваемой веб-страницы), и кэширует результаты. Это неявная предварительная выборка DNS. Если вы хотите выполнить предварительную выборку доменов, которые не отображаются на странице, необходимо использовать указанную предварительную выборку DNS.
В настоящее время большинство браузеров уже поддерживают этот атрибут, и поддерживаются следующие версии:
– Safari: 5+
– Chrome: All
– Firefox: 3.5+
– Opera: Unknown
– IE: 9+ (called “Pre-resolution” on blogs.msdn.com)
Chrome и Firefox 3.5+ имеют встроенную технологию предварительной выборки DNS и оптимизируют предварительное разрешение DNS. Таким образом, даже если это свойство не задано, Chrome и Firefox 3.5+ могут автоматически выполнять предварительный анализ в фоновом режиме.
Многие крупные сайты в настоящее время применяют эту оптимизацию, например:
Предварительная выборка DNS должна размещаться как можно дальше впереди веб-страницы, и рекомендуется размещаться сзади. Конкретный метод использования заключается в следующем:
Следует отметить, что хотя использование DNS Prefetch может ускорить разрешение страницы, им нельзя злоупотреблять, поскольку некоторые разработчики отмечают, что отключение DNS Prefetch может сэкономить 10 миллиардов DNS-запросов в месяц.
Если вам нужно запретить неявную предварительную выборку DNS, вы можете использовать следующие теги:
Опции -T и -U могут включать принудительное использование протоколов. Соответственно TCP и UDP.
По умолчанию когда host делает запросы, она использует UDP. Опция -T делает так, что программа при запросах к серверу имён начинает использовать TCP соединения.
Протокол TCP выбирается автоматически для запросов, которые это требуют, для таких, как запросы zone transfer (AXFR). Запросы типа ANY по умолчанию используют TCP, но принудительно могут быть установлены на UDP если используется опция -U.
В приведенном результате присутствует фраза «Non- Authoritative Answer» (неавторитативный ответ).
Авторитативным считается ответ от DNS-сервера, на котором есть полная информация о зоне домена. Во многих случаях на DNS-серверах такой информации нет, они хранят кэш с результатами прошлых запросов, на которые был получен авторитативный ответ. Когда такой сервер получает запрос, он осуществляет поиск в файле кэша и при наличии необходимых данных отправляет их как неавторитативный ответ, как в рассматриваемых нами примерах.
Добавление домена и управление им
Зайдите в панель управления my.selectel.ru либо зарегистрируйтесь в ней.
Для добавления домена нажмите кнопку Добавить домен. В открывшемся окне введите имя домена и завершите действие кнопкой Добавить домен.
Для удаление домена выберите домен, отметьте его галочкой и нажмите Удалить. Можно выбрать и удалить несколько доменов одновременно.
Делегирование домена на NS-серверы Selectel происходит по умолчанию.
При необходимости добавьте новые DNS-записи к домену. Для этого выберите нужный домен из списка и нажмите кнопку Добавить запись.
Заполните поля Тип, Имя записи, TTL и Значение. Нажмите Добавить запись.
DNS-записи можно редактировать и удалять.
Для редактирования настроек домена откройте домен и перейдите на соответствующую вкладку. Внесите необходимые изменения и нажмите Сохранить.