Что такое DNS? Руководство пользователя по системе доменных имен

702
Что такое DNS? Руководство пользователя по системе доменных имен
Что такое DNS? Руководство пользователя по системе доменных имен

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

Системный администратор

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

В этой статье мы ответим на вопрос: что такое DNS? Далее мы также рассмотрим серверы имен, адреса Интернет-протокола (IP) и многое другое. К концу статьи вы поймете большинство основ работы Интернета в целом.

Что такое DNS (и зачем он нам нужен)?

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

Доменное имя. Это короткое и запоминающееся имя веб-сайта — например, bookflow.ru.

IP-адрес. Часто можно увидеть строку из четырех наборов цифр, разделенных точкой, например 127.0.0.1. Это IP-адрес, и именно по нему можно определить сервер, на котором находится веб-сайт.

На самом деле, оба эти понятия означают одно и то же. Обычная аналогия — это дом на обычной улице.

Вы можете назвать его «дом Джейн» или «дом с синим почтовым ящиком». Это похоже на доменное имя: оно запоминается, и все поймут, какой дом вы имеете в виду. Однако адрес — 142 Evergreen Terrace или 31 Spooner Street — больше похож на IP-адрес. Это «официальное» местоположение дома.

DNS нужен нам потому, что с его помощью интернет связывает доменное имя с IP-адресом. Оба этих элемента объединяются в «запись DNS»; без соответствующего «поиска DNS» мы не сможем набрать доменное имя и найти нужный сайт. Вместо этого нам придется использовать IP-адрес, что вызовет проблему, если на сервере расположено несколько сайтов.

Как серверы имен работают с записями DNS?

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

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

  • ns1.example.com
  • ns2.example.com

Буква «ns» в этих примерах означает «сервер имен», и у каждого доменного имени их будет как минимум два: один основной сервер имен и вторичный резервный. На самом деле, для многих узлов их может быть больше — три являются более типичными. Когда сервер имен находит правильное доменное имя, происходит его «разрешение».

Хотя в данном примере речь идет о публичных серверах имен, вы также можете получить частные серверы имен на некоторых хостах. Например, HostGator предлагает эту услугу для выделенных и виртуальных выделенных серверов (VPS). GreenGeeks — еще один провайдер, предлагающий частные серверы имен.

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

Как изменить серверы имен?

Когда вы спрашиваете: «Что такое DNS?», многие отвечают, что это связано с работой с серверами имен. Конечно, DNS-запись и сервер имен — это две разные сущности, что означает, что вы можете изменить любую из них и сохранить сайт в сети.

Если вы размещаете свой сайт и домен у одного и того же провайдера — такие компании, как GoDaddy или Bluehost, предлагают это — изменение серверов имен не составит труда. Однако это может быть немного сложнее, если вы используете другого регистратора и хостера.

Начать следует с регистратора, хотя расположение информации о сервере имен может отличаться в зависимости от поставщика услуг. В некоторых случаях она находится на экране Advanced DNS:

Для Namecheap он находится в меню кнопки Manage (Управление) — его можно увидеть на странице списка доменов или на панели Dashboard:

Вы попадете на экран настроек, где будет виден раздел Nameservers:

Существует несколько вариантов настроек DNS, но тот, который позволяет добавлять пользовательские серверы имен, является правильным.

Каковы наиболее распространенные записи ресурсов DNS?

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

Есть несколько общих ресурсных записей, которые вы часто встречаете:

Адрес (A). Это запись основного ресурса. Она обеспечивает связь между доменным именем и IP-адресом сервера. Когда вы говорите о записях DNS, это обязательный элемент.

Каноническое имя (CNAME). Вместо того чтобы указывать домен на IP-адрес, CNAME указывает домен на другой домен. Это типичный способ реализации переадресации, например, перенаправление www.bookflow.ru на bookflow.ru.

Почтовый обменник (MX). Эта запись DNS работает с вашим почтовым провайдером, позволяя вам использовать доменные адреса электронной почты в различных приложениях.

Текст (TXT). Работает вместе с записями MX для обеспечения уровня шифрования вашей электронной почты. Запись TXT состоит из двух подзаписей: Sender Policy Framework (SPF) и Domain Key Identified Mail (DKIM).

Как и в случае с серверами имен (nameservers), вы можете добавить записи ресурсов либо у регистратора домена, либо у хостинг-провайдера, в зависимости от вашей конфигурации:

 

Как запросы DNS влияют на скорость сайта?

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

Вы можете убедиться в этом сами, проведя быстрый тест любого сайта в таких приложениях, как Pingdom или GTmetrix:

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

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

(CDN) Используйте сеть доставки контента. Это будет большим подспорьем для сайтов всех типов, особенно если все ресурсы будут поступать из одной и той же основной CDN. Это означает, что в целом будет меньше DNS-запросов.

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

Используйте DNS Prefetching. Вкратце, это способ разрешить поиск DNS до загрузки страницы, что должно увеличить скорость сайта.

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

Этот последний пункт мы рассмотрим позже, поскольку иногда можно изменить используемый DNS.

Существуют ли альтернативы DNS по умолчанию?

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

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

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

Например, DNS Made Easy — это серьезное корпоративное решение, имеющее тысячи довольных пользователей:

Другие глобальные и масштабируемые поставщики услуг хранения данных, такие как Amazon и Dyn, также предоставляют услуги DNS премиум-класса. Они часто обеспечивают высокую надежность (иногда на уровне 100 процентов!) и эффективность.

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

Заключение

Большинство пользователей Интернета знают, что существует связь между браузером и сервером. Это основа того, как веб-страница попадает на экран. Однако необходимо учитывать и другие аспекты. Система доменных имен — это то, как ip адреса превращаются в доменные имена.

В этом посте мы постарались ответить на вопрос: «Что такое DNS?». DNS — это сервер записей, основанный на запросах. Более того, вы можете изменять эти записи DNS, чтобы помочь вам перенаправлять пользователей, подключаться и общаться с почтовыми клиентами и даже шифровать отправляемые данные.

Помогла ли вам эта статья ответить на вопрос: Что такое DNS, и если нет, остались ли у вас еще вопросы? Задавайте их в разделе комментариев ниже!