Dns что это такое


image
Внимательный читатель найдет на этой картинке IPv6

Люди часто озадачены доменами. Почему мой сайт не работает? Почему эта хрень поломана, ничего не помогает, я просто хочу, чтобы это работало! Обычно, вопрошающий или не знает про DNS, или не понимает фундаментальных идей. Для многих DNS — страшная и непонятная штука. Эта статья — попытка развеять такой страх. DNS — это просто, если понять несколько базовых концепций.

Что такое DNS

DNS расшифровывается как Domain Name System. Это глобальное распределенное хранилище ключей и значений. Сервера по всему миру могут предоставить вам значение по ключу, а если им неизвестен ключ, то они попросят помощи у другого сервера.

Вот и все. Правда. Вы или ваш браузер запрашивает значение для ключа www.example.com, и получает в ответ 1.2.3.4


.

Базовые штуки

Большой плюс DNS в том, что это публичная услуга, и можно потыкать в сервера если хочется разобраться. Давайте попробуем. У меня есть домен petekeen.net, который хостится на машине web01.bugsplat.info. Команды, используемые ниже, можно запустить из командной строки OS X (ой, то есть macOS, — прим. пер.).

Давайте взглянем на маппинг между именем и адресом:

$ dig web01.bugsplat.info 

Команда dig это такой швейцарский армейский нож для DNS-запросов. Крутой, многофункциональный инструмент. Вот первая часть ответа:

; <<>> DiG 9.7.6-P1 <<>> web01.bugsplat.info ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51539 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 

Здесь есть только одна интересная деталь: информация о самом запросе. Говорится, что мы запросили запись и получили ровно один ответ. Вот:

;; QUESTION SECTION: ;web01.bugsplat.info. IN A 

dig по-умолчанию запрашивает A-записи. A это address (адрес), и это один из фундаментальных видов записей в DNS. A содержит один IPv4-адрес. Есть эквивалент для IPv6-адресов —  AAAA


. Давайте взглянем на ответ:

;; ANSWER SECTION: web01.bugsplat.info. 300 IN A 192.241.250.244 

Тут говорится, что у хоста web01.bugsplat.info. есть один адрес A192.241.250.244. Число 300 это TTL, или time to live (время жизни). Столько секунд можно держать значение в кэше до повторной проверки. Слово IN означает Internet. Так сложилось исторически, это нужно для разделения типов сетей. Подробнее об этом можно почитать в документе IANA’s DNS Parameters.

Оставшаяся часть ответа описывает сам ответ:

;; Query time: 20 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Jul 19 20:01:16 2013 ;; MSG SIZE rcvd: 56 

В частности, здесь говорится, как долго сервер откликался, какой у сервера IP-адрес (192.168.1.1), на какой порт стучался dig  (53, DNS-порт по-умолчанию), когда запрос был завершен и сколько байтов было в ответе.

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

Но в этом примере не видно, что DNS-сервер 192.168.1.1


связался с кучей других серверов чтобы ответить на простой вопрос: «куда указывает адрес web01.bugsplat.info?». Давайте запустим трейс чтобы узнать о всей возможной цепочке, которую пришлось бы пройти dig‘у, если бы информация не был закэширована:

$ dig +trace web01.bugsplat.info  ; <<>> DiG 9.7.6-P1 <<>> +trace web01.bugsplat.info ;; global options: +cmd . 137375 IN NS l.root-servers.net. . 137375 IN NS m.root-servers.net. . 137375 IN NS a.root-servers.net. . 137375 IN NS b.root-servers.net. . 137375 IN NS c.root-servers.net. . 137375 IN NS d.root-servers.net. . 137375 IN NS e.root-servers.net. . 137375 IN NS f.root-servers.net. . 137375 IN NS g.root-servers.net. . 137375 IN NS h.root-servers.net. . 137375 IN NS i.root-servers.net. . 137375 IN NS j.root-servers.net. . 137375 IN NS k.root-servers.net. ;; Received 512 bytes from 192.168.1.1#53(192.168.1.1) in 189 ms  info. 172800 IN NS c0.info.afilias-nst.info. info. 172800 IN NS a2.info.afilias-nst.info. info. 172800 IN NS d0.info.afilias-nst.org. info. 172800 IN NS b2.info.afilias-nst.org. info. 172800 IN NS b0.info.afilias-nst.org. info. 172800 IN NS a0.info.afilias-nst.info. ;; Received 443 bytes from 192.5.5.241#53(192.5.5.241) in 1224 ms  bugsplat.info. 86400 IN NS ns-1356.awsdns-41.org. bugsplat.info. 86400 IN NS ns-212.awsdns-26.com. bugsplat.info. 86400 IN NS ns-1580.awsdns-05.co.uk. bugsplat.info. 86400 IN NS ns-911.awsdns-49.net. ;; Received 180 bytes from 199.254.48.1#53(199.254.48.1) in 239 ms  web01.bugsplat.info. 300 IN A 192.241.250.244 bugsplat.info. 172800 IN NS ns-1356.awsdns-41.org. bugsplat.info. 172800 IN NS ns-1580.awsdns-05.co.uk. bugsplat.info. 172800 IN NS ns-212.awsdns-26.com. bugsplat.info. 172800 IN NS ns-911.awsdns-49.net. ;; Received 196 bytes from 205.251.195.143#53(205.251.195.143) in 15 ms   

Информация выводится в иерархической последовательности. Помните как dig вставил точку . после хоста, web01.bugsplat.info? Так вот, точка . это важная деталь, и она означает корень иерархии.

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

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

В следующем блоке видно, как dig выбрал случайный корневой сервер, и запросил у него A-запись для web01.bugsplat.info


. Видно только IP-адрес корневого сервера (192.5.5.241). Так какой именно корневой сервер это был? Давайте узнаем!

$ dig -x 192.5.5.241  ; <<>> DiG 9.8.3-P1 <<>> -x 192.5.5.241 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2862 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0  ;; QUESTION SECTION: ;241.5.5.192.in-addr.arpa. IN PTR  ;; ANSWER SECTION: 241.5.5.192.in-addr.arpa. 3261 IN PTR f.root-servers.net.

Флаг -x заставляет dig провести обратный поиск по IP-адресу. DNS отвечает записью PTR, которая соединяет IP и хост, в данном случае — f.root-servers.net.

Возвращаясь к нашему начальному запросу: корневой сервер F вернул другой набор NS-серверов. Он отвечает за домен верхнего уровня infodig запрашивает у одного из этих серверов запись A для web01.bugsplat.info, и получает в ответ еще один набор NS-серверов, и потом запрашивает у одного из этих серверов запись A для web01.bugsplat.info.. И, наконец, получает ответ!

Уф! Сгенерировалось бы много трафика, но почти все эти записи были надолго закэшированы каждым сервером в цепочке. Ваш компьютер тоже кэширует эти данные, как и ваш браузер. Чаще всего DNS-запросы никогда не доходят до корневых серверов, потому что их IP-адреса почти никогда не изменяются («Наверно все таки речь идет о большом TTL для записей в их базе. Если у DNS сервера IP адрес вообще ни разу не изменялся, то это не означает, что его база навечно закеширована» — прим. от rrrav). Домены верхнего уровня com


netorg, и т.д. тоже обычно сильно закэшированы.

Другие типы

Есть еще несколько типов, о которых стоит знать. Первый это MX. Он соединяет доменное имя с одним или несколькими почтовыми серверами. Электронная почта настолько важна, что у нее есть свой тип DNS-записи. Вот значения MX для petekeen.net:

$ dig petekeen.net mx  ; <<>> DiG 9.7.6-P1 <<>> petekeen.net mx ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18765 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0  ;; QUESTION SECTION: ;petekeen.net. IN MX  ;; ANSWER SECTION: petekeen.net. 86400 IN MX 60 web01.bugsplat.info.  ;; Query time: 272 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Jul 19 20:33:43 2013 ;; MSG SIZE rcvd: 93

Заметьте, что MX-запись указывает на имя, а не на IP-адрес.

Еще один тип, который вам скорее всего знаком, это CNAME. Расшифровываетя как Canonical Name (каноническое имя). Он связывает одно имя с другим. Давайте посмотрим на ответ:

 

$ dig www.petekeen.net ; <<>> DiG 9.7.6-P1 <<>> www.petekeen.net ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16785 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.petekeen.net. IN A ;; ANSWER SECTION: www.petekeen.net. 86400 IN CNAME web01.bugsplat.info. web01.bugsplat.info. 300 IN A 192.241.250.244 ;; Query time: 63 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Fri Jul 19 20:36:58 2013 ;; MSG SIZE rcvd: 86

Сразу видно, что мы получили два ответа. Первый говорит, что www.petekeen.net указывает на web01.bugsplat.info. Второй возвращает запись A для того сервера. Можно считать, что CNAME это псевдоним (или алиас) для другого сервера.

Что не так с CNAME

Записи CNAME очень полезны, но есть важный момент: если есть CNAME с каким-то именем, то нельзя создать другую запись с таким же именем. Ни MX, ни A, ни NS, ничего.

Причина в том, что DNS производит замену таким образом, что все записи того места, куда указывает CNAME, также валидны для CNAME. В нашем примере, записи у www.petekeen.net и web01.bugsplat.info


будут совпадать.

Поэтому нельзя делать CNAME на корневом домене вроде petekeen.net, потому что обычно там нужны другие записи, например, MX.

Запросы к другим серверам

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

$ dig www.petekeen.net @8.8.8.8

Символ @ с IP-адресом или хостом заставляет dig прозводить запрос к указанному серверу через порт по-умолчанию. Можно использовать публичный DNS-сервер Гугла или почти-публичный-сервер Level 3 по адресу 4.2.2.2.

Типичные ситуации

Давайте рассмотрим типичные ситуации, знакомые многим веб-разработчикам.

Редирект домена на www

Часто нужно сделать редирект домена iskettlemanstillopen.com на www.iskettlemanstillopen.com. Регистраторы типа Namecheap или DNSimple называют это URL Redirect. Вот пример из админки Namecheap:

Dns что это такое

Символ @ означает корневой домен iskettlemanstillopen.com. Давайте посмотрим на запись A


у этого домена:

$ dig iskettlemanstillopen.com ;; QUESTION SECTION: ;iskettlemanstillopen.com. IN A  ;; ANSWER SECTION: iskettlemanstillopen.com. 500 IN A 192.64.119.118 

Этот IP принадлежит Namecheap’у, и там крутится маленький веб-сервер, который просто делает перенаправление на уровне HTTP на адрес http://www.iskettlemanstillopen.com:

$ curl -I iskettlemanstillopen.com curl -I iskettlemanstillopen.com HTTP/1.1 302 Moved Temporarily Server: nginx Date: Fri, 19 Jul 2013 23:53:21 GMT Content-Type: text/html Connection: keep-alive Content-Length: 154 Location: http://www.iskettlemanstillopen.com/ 

CNAME для Heroku или Github

Взгляните на скриншот выше. На второй строке там CNAME. В этом случае www.iskettlemanstillopen.com указывает на приложение, запущенное на Heroku.

$ heroku domains === warm-journey-3906 Domain Names warm-journey-3906.herokuapp.com www.iskettlemanstillopen.com 

С Github похожая история, но там нужно создать специальный файл в корне репозитория, и назвать его CNAME. См. документацию.

Wildcards

Большинство DNS-серверов поддерживают шаблоны (wildcards). Например, есть wildcard CNAME для *.web01.bugsplat.info указывает на web01.bugsplat.info


. Тогда любой хост на web01 будет указывать на web01.bugsplat.info и не нужно создавать новые записи:

$ dig randomapp.web01.bugsplat.info  ;; QUESTION SECTION: ;randomapp.web01.bugsplat.info. IN A  ;; ANSWER SECTION: randomapp.web01.bugsplat.info. 300 IN CNAME web01.bugsplat.info. web01.bugsplat.info. 15 IN A 192.241.250.244 

habr.com

Что такое DNS и для чего он нужен

На сервере DNS хранится информация о доменах. Для чего это нужно? Дело в том, что компьютеру не понятны наши с вами буквенные обозначения сетевых ресурсов. Вот, например, yandex.ru. Мы называем это адресом сайта, а для компьютера это всего лишь набор символов. Зато компьютер прекрасно понимает IP-адреса и как к ними обращаться. IP-адреса представлены как четыре числа из восьми символов в двоичной системе счисления. Например, 00100010.11110000.00100000.11111110. Для удобства, двоичные IP-адреса записывают в виде тождественных десятичных чисел (255.103.0.68).

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

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

Как узнать, включён ли DNS-сервер на компьютере

Узнать, включён ли DNS-сервер на вашем компьютере и его адрес можно через «Панель управления».

  1. Откройте «Панель управления» -> «Сеть и интернет» -> «Просмотр состояния сети и задач». На странице найдите пункт «Просмотр активных сетей», там найдите название вашего подключения к сети, нажмите на него, потом на вкладку «Общее» и на кнопку «Свойства».

    Свойства подключения
    Откройте окно вашего подключения, затем его свойства

  2. Появится окно, в нём будет список, где надо найти пункт «Протокол интернета версии 4 (TCP/IPv4)». Откройте свойства этого протокола.

    Свойства локального подключения
    Откройте свойства IPv4

  3. В свойствах, во вкладке «Общие» будет отмечено «Использовать DNS сервер», если подключение через DNS-сервер включено.

    DNS-сервер
    В свойствах будет указан IP-адрес используемого DNS-сервера

  4. IP-адрес DNS-сервера будет указан ниже.

Как установить

  1. Точно так же, как и в предыдущем пункте, откройте «Панель управления» -> «Сеть и интернет» -> «Просмотр состояния сети и задач». Затем откройте свойства вашего подключения к сети. В появившемся окне откройте свойства «Протокола интернета версии 4 (TCP/IPv4)».
  2. Во вкладке «Общие» установите отметку на «Использовать DNS сервер».

    Установка DNS-сервера
    Откройте свойства TCP/IPv4 и отметьте «Использовать DNS-сервер…»

  3. Затем введите IP-адреса основного и альтернативного DNS-серверов. IP-адреса серверов можно найти в интернете. Например, на этой странице: http://www.comss.ru/list.php?c=securedns.
  4. Будьте осторожны при выборе: используйте надёжные DNS-сервера. Например, прекрасно подойдут Яндекс.DNS или Google Public DNS. Они бесплатны и надёжны.

Видео: настройка ДНС-сервера

Зачем нужно менять DNS-сервер

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

Кроме того, стандартные DNS-сервера обладают только функциями определения IP-адресов и преобразования их в символьные, но никакой функции фильтрации у них нет. Сторонние DNS-сервера крупных компаний (например, Яндекс.DNS) лишены этих недостатков. Их сервера всегда расположены в разных местах, и ваше подключение идёт через ближайший. Благодаря этому скорость загрузки страниц увеличивается.

Они имеют функцию фильтрации и осуществлять функцию родительского контроля. Если у вас есть дети, то это оптимальный вариант — сомнительные и не предназначенные для детской аудитории сайты станут для них недоступными.

У них есть встроенный антивирус и чёрный список сайтов. Так что мошеннические сайты и сайты, содержащие вредоносное ПО, будут блокированы, и вы не сможете случайно подхватить вирус.

Сторонние DNS-сервера позволяют обходить блокировки сайтов. Звучит немного абсурдно, ведь мы сказали, что DNS-сервера призваны блокировать нежелательные ресурсы. Но дело в том, что интернет-провайдеры вынуждены запрещать в своих DNS-серверах доступ к сайтам, запрещённым Роскомнадзором. Независимые DNS-сервера Goggle, Яндекса и прочие этого делать совсем не обязаны, поэтому различные торрент-трекеры, социальные сети и прочие сайты будут доступны для посещения.

Как настроить/изменить DNS

  1. Чтобы изменить или настроить параметры DNS-сервера, зайдите в «Панель управления» -> «Сеть и интернет» -> «Просмотр состояния сети и задач». Затем откройте свойства подключения, в списке выберите «Протокол интернета версии 4 (TCP/IPv4)» и нажмите «Свойства».

    Настройка DNS-сервера
    Откройте свойства TCP/IPv4

  2. Нажмите кнопку «Дополнительно», а затем откройте вкладку DNS, чтобы настроить DNS-сервер.

Здесь можно настроить порядок обращения к DNS-серверам. Неопытным пользователям стоит объяснить, что не существует одного такого сервера, на котором хранились бы все существующие интернет-адреса. Слишком много веб-сайтов сейчас существует, поэтому DNS-серверов множество. И если введённый адрес не найдётся на одном DNS-сервере, компьютер обращается к следующему. Так вот, в Windows можно настроить, в каком порядке обращаться к DNS-серверам.

Можно настроить DNS-суффиксы. Если вы этого не знаете, то вам эти настройки и не нужны. DNS-суффиксы — очень сложная для понимания вещь и важна скорее самим провайдерам. Если в общих чертах, то все url-адреса делятся на поддомены. Например, server.domain.com. Так вот, com — домен первого уровня, domain — второго, server — третьего. По идее, domain.com и sever.domain.com абсолютно разные ресурсы, с разными IP-адресами и разным содержимым. Однако server.domain.com всё равно находится в пространстве domain.com, который, в свою очередь, находится внутри com. DNS-суффиксом при обращении к server является domain.com. Несмотря на то что IP-адреса разные, server можно найти только через domain.com. В Windows можно настроить, каким образом присваивать суффиксы, что даёт определённые преимущества для внутренних сетей. Что касается интернета, создатели DNS-серверов уже настроили всё необходимое автоматически.

Возможные ошибки и как их исправить

Что делать, если сервер не отвечает или не обнаружен

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

  1. Для начала зайдите в «Панель управления» –> «Система и безопасность» –> «Администрирование» –> «Службы». В списке найдите «DNS-клиент» и щёлкните по нему дважды.

    Администрирование
    Откройте свойства DNS-клиента

  2. В окне посмотрите на состояние DNS-клиента, там должно значиться «Выполняется». Если служба отключена, включите её: для этого установите тип запуска «Автоматически».

    Свойства DNS-клиента
    В выпадающем списке выберите «Автоматически»

  3. Если служба включена, значит, проблемы на стороне DNS-сервера. Попробуем сменить DNS-сервер. Для этого откройте «Панель управления» -> «Сеть и интернет» -> «Просмотр состояния сети и задач». Откройте свойства подключения, затем свойства «Протокола интернета версии 4 (TCP/IPv4)». Нажмите «Использовать DNS сервер», если этот пункт у вас не отмечен, и введите IP-адрес DNS-сервера. Список публичных DNS-серверов можно найти в интернете. Например, можете ввести 8.8.8.8 — публичные сервера Google; или 77.88.8.1 — публичный DNS от Яндекса.

    DNS-сервер не отвечает
    Попробуйте изменить стандартный DNS-сервер на сторонний

  4. Обычно проблема решается таким образом. Если всё же не помогло, попробуйте 1) обновить драйвера вашего сетевого адаптера (сетевой карты) — просто скачайте их с официального сайта производителя адаптера, 2) проверьте соединение с интернетом, возможно, проблема с доступом к нему, 3) позвоните оператору связи, возможно, неполадки связаны с техническими работами.

Неправильно разрешает имена

Если DNS-сервер не разрешает имена либо разрешает имена неправильно, то возможны две причины:

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

DHCP-сервер: что это и в чём его особенности

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

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

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

www.remnabor.net

Если спросить среднего пользователя интернета, что такое сайт, скорее всего, он назовёт, например, yandex.ru, mail.ru, google.com, facebook.com, …

В практическом смысле этого вполне достаточно: нашёл интересный сайт, сообщил знакомым его доменное имя (или проще, «адрес»).

Однако настоящим адресом доменное имя не является. Ну это примерно так же, как отправить письмо с надписью на конверте: «город Екатеринбург, Петру Иванову». Здесь дело даже не в том, что Петров Ивановых в Екатеринбурге может быть несколько (представим, что человек с таким именем там единственный). Проблема в том, что адресат может перемещаться, минимум, по городу, и вручить ему письмо будет крайне проблематично.

Но письма-то доставляют и получают! — Да, конечно. Потому что они отправляют по почтовым адресам. Например, «город Ленинград, 3-я улица Строителей, дом 25, квартира 12».

Почтовым адресом в интернете является IP-адрес, состоящий из четырёх чисел от 0 до 255, например, 74.125.131.100. Это — один из IP-адресов сайта google.com. Если в адресной строке вашего браузера ввести эти числа, вы окажетесь на портале google.com, точнее, на google.ru, куда вас автоматически перенаправят.

Почему «один из адресов», и какого типа бывают IP-адреса, пока оставим в стороне.

В интернете IP-адрес задаёт, на какой компьютер нужно доставить данные.

Вам что-то напоминает IP-адрес? — Мне он напоминает длинный номер мобильного телефона.

Телефонная книга

К сожалению, запоминать длинные телефонные номера непросто. Мы их вносим в свои записные книжки («контакты», по-мобильнофонному) и добавляем к ним понятные имена, например,

Пётр Иванов, +7-343-123-45-67.

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

В интернете роль телефонной книги играет система доменных имён (DNS, Domain Name System). В ней хранится связь между относительно легко запоминаемым названием сайта и его трудно запоминаемым числовым адресом.

Правда, есть одно существенное отличие этой «интернет-книги» от телефонной. — Её ведёт не каждый знакомый Петра Иванова в отдельности, а он сам.

В частной телефонной книге можно написать: «Петя», «Пётр», «Петруша», «Петруха», «Петруня», «любимый», …, а в «телефонной интернет-книге» записи ведут сами владельцы сайтов, например:

Название домена Адрес
pyotr-ivanov.ru 123.123.123.123

Если кто-то пожелает посетить сайт Петра Иванова, в адресной строке браузера он наберёт: pyotr-ivanov.ru, а система доменных имён сообщит браузеру (точнее, компьютеру, на котором работает браузер), соответствующий IP-адрес, в нашем примере: 123.123.123.123. Компьютер, который находится по этому адресу, обработает запрос браузера и пришлёт ему данные, для отображения запрошенной страницы веб-сайта.

 

схема

 

Теперь понятно, как используются доменные имена? — Однако ещё не рассказано, где хранятся записи о связях между доменными именами сайтов и IP-адресами компьютеров, на которых эти сайты размещены.

DNS-сервер

Он-то и служит телефонной книгой. Он хранит информацию о том, какому IP-адресу соответствует то или иное доменное имя. В интернете DNS-серверов очень много. У них двойная роль:

  • главная — «телефонная интернет-книга»;
  • дополнительная (но тоже важная) — кэширование записей других DNS-серверов.

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

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

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

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

В реальном мире двух — вполне достаточно.

 

регистратор доменов

 

Многие регистраторы доменных имён и просто интернет-провайдеры предлагают использовать свои DNS-серверы в режиме платной услуги.

Хорошая новость: в облаке 1cloud услугу DNS-хостинга можно получить бесплатно! Достаточно быть клиентом этого публичного облака.

DNS-зона

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

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

 

DNS, веб-сервер, почтовый сервер

 

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

А ещё нужно вспомнить о возможных поддоменах, например,

mail.company.ru, ftp.company.ru, sklad.company.ru, …

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

В ней могут присутствовать записи разных типов.

Тип записи Пояснение
A Адрес «сайта» соответствующего доменного имени
MX Адрес почтового сервера в соответствующем домене
CNAME Синоним описываемого домена.
Например, здесь можно указать, что доменное имя www.company.ru является синонимом доменного имени company.ru, и запросы по этому синониму будут перенаправляться на адрес основного доменного имени
NS Здесь указывается доменные имена DNS-серверов, обслуживающих описываемый домен.
Например, ns1.1cloud.ru и ns2.1cloud.ru
TXT Любое текстовое примечание

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

Дополнение

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

  • Выше была описана адресация по стандарту IPv4. Адрес в нём состоит из четырёх чисел. Такая адресация имеет ограничение числа обслуживаемых компьютеров: 4 294 967 296. Это много, но при нынешнем числе устройств, подключенных к интернету адресов стало не хватать.
    Для преодоления этого объективного лимита ввели новый стандарт: IPv6, по которому длина адреса увеличилась, и стало возможным адресовать намного, намного больше компьютеров. В DNS-зоне тип записи для такого адреса обозначается: AAAA.
  • Одному домену могут соответствовать несколько IP-адресов.
    Обычно такое назначение делается для повышения надёжности или быстродействия. Порядок выдачи IP-адреса из списка на запрос по доменному имени зависит от настроек DNS-сервера. Чаще всего адрес выдаётся в случайном порядке.
  • Одному IP-адресу может соответствовать несколько доменов.
    Строго говоря, это противоречит логике системы доменных имён, которая предполагает однозначную связь IP-адреса с соответствующим доменом. Однако, как было сказано ранее, 4-числовой IP-адрес стал дефицитным ресурсом, который уже достаточно давно стараются экономить.
    На практике такая экономия может выглядеть следующим образом. На компьютере размещают несколько не очень больших веб-сайтов с разными доменными именами, которым присвоен одинаковый IP-адрес. Веб-сервер, работающий на этом компьютере и обслуживающий эти сайты, получив запрос, анализирует домен, в который он пришёл, и направляет его на правильный сайт.
    Такая практика не позволяет обеспечить однозначность обратной связи IP-адреса с доменным именем, ведь в этом случае их несколько. Но позволяет экономить IP-адреса.
     

    Dns что это такое

1cloud.ru

Знакомьтесь! DNS

Итак, DNS расшифровывается как «Domain Name System». Если вы знаете английский, то уже поняли, о чем пойдет речь. Термин переводится как «Система доменных имен». Это своего рода распределенное хранилище, база данных, в которой хранятся ключи и значения, а точнее IP-адреса и соответствующие им доменные имена. Чтобы понять, для чего это нужно, ненадолго окунемся в историю.

Всем этим мы пользуемся каждый день. Благодаря данной технологии мы легко переходим по сервисам и не задумываясь быстро находим нужную информацию. А все потому что каждый ресурс в Интернете  имеет свой IP-адрес, который выглядит, например, вот так: 87.245.200.148, и соответствующее ему доменное имя.

Структура dns

В данном случае это www.google.com.ua. Такая система появилась потому, что пользователям сети не удобно запоминать числовые адреса сайтов. Таким образом, при вводе определенного названия веб-сайта юзером в системе DNS происходит сложный процесс поиска его IP и наоборот. Кстати, одному IP-адресу может быть присвоено несколько доменных имен и наоборот одному доменному имени – много IP-адресов.

Ранее подобная информация записывалась в один единый файл и хранилась у юзеров на локальных компьютерах. Однако Всемирная паутина разрасталась и такой способ быстро стал неактуальным. На его смену пришла система доменных имен, разработанная во второй половине XX века Полом Мокапетрисом.

Структура DNS

Domain Name System состоит из множества уровней, на каждом из которых расположены свои записи доменов. Интересно то, что чем выше иерархия домена, тем правее он расположен при написании адреса сайта .

Корнем такого иерархического дерева является точка – «.». За ней идут домены первого уровня. К ним относятся следующие имена: org, com, net, int, edu, gov, info, pl и другие. Сюда же относятся и указание страны. Например, ru, ua и т.д. Далее идут следующие уровни.

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

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

dns

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

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

Я рассказал вам только общие принципы функционирования DNS, которые дают понимание происходящего в Интернете. Однако это далеко не все.

Зачем настраивать DNS-сервер для своего сайта?

Как я уже говорил, каждый сайт имеет свой IP-адрес и доменное имя. В зависимости от того, как часто вы переезжаете на новый хостинг, меняется и сервер. А это значит, что меняется и IP. Поэтому соотношение ключ-значение не постоянное.

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

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

dns для сайта

Если вы все сделали, как было написано выше, но никаких изменений не произошло, не пугайтесь. Новые инструкции подключения к сайту вступают в силу достаточно долго. Это может занять от 24 до 72 часов. Хотя некоторым сильно везет и регистрация проходит часов за 5. Почему так?

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

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

На этой ноте я прощаюсь с вами. Подписывайтесь на обновления моего блога. Заранее благодарю за репосты. Пока-пока!

С уважением, Роман Чуешов

romanchueshov.ru

Domain Names System

Итак, на самом деле значение аббревиатуры DNS расшифруется очень просто – Domain Names System (Система доменных имен). Звучит, возможно, не понятно, но это только так кажется. А, между прочим, каждый пользователь сети Интернет сталкивается с этой системой множество раз за день.

Мы привыкли, что адрес веб-сайта написан в виде набора букв, очень удобных для восприятия, например: google.com или mail.ru. Эти буквенные адреса работают именно благодаря системе доменных имен. Для адресов интернет-узлов применяется специальная цифровая кодировка, так называемые IP-адреса, а задача ДНС в том, чтобы связать названия интернет-сайтов в буквенном виде с IP в виде цифр.

Первоочередная задача Domain Names System – это упростить поиск в сети интернет необходимых ресурсов. Например, чтобы попасть на интернет-сайт поисковой системы google, обычно в адресную строку вводим google.com, но ведь можно и IP-адресом воспользоваться, написав 194.122.81.53.

Как видите все достаточно просто, но буквенное отображение адреса запомнить куда проще.

Еще следует сказать, что Domain Names System имеет свою  древовидную структуру.   Ее узлы называются доменами, каждый из которых может содержать много «подчиненных» доменов. Структуру принято делить на уровни. Начинается система с корневого домена (нулевой уровень). Бывают домены общего назначения (COM, NET, ORG и т.д.), и двухбуквенные коды стран (ru, ua, kz и пр.).

Структура днс

Давайте рассмотрим на примере, чтобы более понятно. Домены первого уровня — это com, org, ru и подобные. Под ними второй уровень — rambler.ru,  google.com; а домены третьего уровня  выглядят так: banner.org.ru, shops.com.ua и т.д.

Ваш сайт и DNS

Когда создаешь свой интернет-сайт или блог (не важно какого плана ресурс), вы обязательно столкнетесь с такими понятиями как хостинг, домен и конечно dns. Если вы не первый раз читаете мой блог, то знаете, что хостинг является территорией, где размещается ваш веб-ресурс, а домен – это его название (или адрес).

Правильные настройки dns личного сайта – очень важный момент. Если данные были введены некорректно, то это может привести к тому, что веб-сайт не будет работать вообще.

Когда происходит настройка ДНС, вы словно информируете всю Глобальную сеть о том, где искать ваш web-ресурс. Если вы сменили хостинг-провайдера и не изменили информацию в записи своего домена, то все указатели будут посылать пользователей на тот сервер, где его уже давно нет, то есть в «никуда».

dns сервера домена

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

Как все работает?

Я думаю, что вы уже уяснили, что dns преобразовывает буквы в цифры (названия в ip). Когда вы вводите название веб-узла в адресной строке браузера, формируется dns-запрос к серверу имен. В результате определяется ip адрес ресурса, на который мы хотим перейти. То есть символьные обозначения нужны только для удобства людей, а компьютеры для связи в сети интернет используют ip адреса.

Существует два типа серверов имен: те, которые сохраняют всю информацию про доменную зону, и те, которые отвечают на dns-запрос  для пользователей сети. Последние сохраняют ответы в кэш для того, чтобы следующий такой запрос происходил намного быстрее. Благодаря кэшированию сокращается количество запросов информации.

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

Подписывайтесь на обновления блога, чтобы получать рассылку и первыми узнавать о редакции новой статьи, до скорой встречи!

С уважением! Абдуллин Руслан

abdullinru.ru

Зачем нужны DNS-сервера и что это такое?

Когда интернет только формировался, то было решено внедрить такую вещь, как домены. Фактически, это имя для узла сети (компьютера, сервера или в более общем смысле слова — хоста).

Дело в том, что на технологическом уровне все устройства в любой сети уже имеют уникальные имена (идентификаторы или IP), но они мало подходят для использования их людьми, ибо представляют из себя набор цифр (читайте про то, что такое АйПи и MAC адреса).

Система же доменных имен оперирует уже полноценными именами (буквы латиницы, цифры, тире и нижнее подчеркивание допускается при их формировании). Их гораздо легче запомнить, они несут смысловую нагрузку (доменное имя моего блога ktonanovenkogo.ru о чем-то уже говорит, а реальный его АйПи 109.120.169.66 малоинформативен) и ими проще оперировать.

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

Вот именно на этих ДНС-серверах (иногда их еще называют NS от Name Server, т.е server имен) и держится весь интернет (как плоский мир на трех китах, стоящих на черепахе). Сервер, если вы помните, это просто служебный компьютер не требующий непосредственного участия человека в своей работе (настроили его — он и пашет в режиме 24 на 7). И таких DNS-серверов в сети очень много.

Как работает DNS и причем тут файл Hosts?

На заре интернета ДНС вообще не существовало. Но как же тогда работала сеть? Как браузер понимал, что ktonanovenkogo.ru — это то же самое, что IP адрес 109.120.169.66? За это дело тогда (да и сейчас тоже) отвечал так называемый файл Hosts, где были прописаны все хосты тогда еще маленького интернета.

Такой файл находился (и сейчас находится) на каждом компьютере пользователя (на вашем тоже он есть) подключенного к сети (как его найти смотрите по приведенной выше ссылке).

В файле Hosts было прописано несколько тысяч строк (по числу сайтов в интернете на тот момент), в каждой из которых сначала был прописал IP адрес, а затем через пробел соответствующий ему домен. Вот так выглядела бы запись для моего блога, существуй он в сети лет так двадцать пять — тридцать назад:

109.120.169.66 ktonanovenkogo.ru

Любой браузер (что это такое?) на любом компьютере (даже сейчас) при вводе в адресную строку УРЛа (что это такое?) прежде всего обращается к файлу Hosts на предмет поиска там введенного доменного имени, и лишь не найдя там нужной записи обращается за этой информацией к ближайшему DNS-серверу (как правило, это сервак вашего интернет-провайдера).

Сейчас файл Hosts стал рудиментом (пережитком прошлого) и там обычно есть только одна запись (127.0.0.1 localhost) означающая, что локальным хостом нужно считать данный компьютер.

Правда иногда его используют вирусы и другие зловреды, чтобы вместо одного сайта вы попадали на другой (про фишинг слышали?) — ведь для этого достаточно добавить всего одну строчку в файл Hosts (можете сами прописать в нем, например, «109.120.169.66 yandex.ru» и вместо Яндекса браузер вам будет упорно открывать мой блог). Вот именно поэтому его целостность охраняют большинство антивирусов.

Как ДНС-сервера помогают браузеру ориентироваться в сети?

То есть сейчас всеми делами с адресацией в сети рулят именно ДНС-сервера, хотя по своей сути они очень похожи на файл Hosts, но только хранятся на них данные о многих миллионах адресов, да и размещены они удаленно.

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

Еще раз поясню цепочку «метаний» браузера при вводе в него Урл адреса сайта. Итак, сначала он обращается к файлу Hosts, потом к ближайшему ДНС-серваку. Он же в ответ передает нужную информацию (о том, какой именно IP адрес соответствует данному домену) нашему браузеру или запрашивает ее у вышестоящего NS-сервера, если такой информации у себя он не находит.

Dns что это такое

И лишь только после этого браузер обращается к самому сайту по только что узнанному IP адресу. Долго, правда? Но что делать? Иначе никак.

Правда браузер «хитрит» и сохраняет всю полученную от ДНС серверов информацию в свой кеш, чтобы потом не терять время на эти запросы по поводу IP адреса сайта. Естественно, что кеш хранится не вечно, но часто посещаемые пользователем сайты благодаря этому в браузере будут открываться быстрее (кэш — это вообще вещь!).

Какую роль играют NS-сервера хостинга в DNS системе?

На приведенном выше рисунке показана сильно упрощенная схема, по которой не очень понятна роль отдельных уровней ДНС-серверов. Чуть ниже приведена более развернутая схема (хотя и опять же очень упрощенная).

Dns что это такое

Если вы владелец сайта, то знаете, что при покупке хостинга (или получении его бесплатно) вам выдают адреса NS-серверов (обычно их два), которые нужно будет прописать у вашего регистратора доменных (как это сделать описано чуть ниже). Например, мой хостер Инфобокс выдал мне два адреса (ns1.pa.infobox.ru и ns2.pa.infobox.ru).

Вопрос, как эти адреса NS участвуют в схеме определения IP-адреса по имени домена. Собственно, это показано на приведенном выше рисунке, но я все же поясню:

  1. Как я уже писал выше, ваш компьютер при вводе в адресной строке Урла типа «ktonanovenkogo.ru» в первую очередь связывается с DNS-серверами вашего интернет-провайдера. Если в их кэше имеется IP адрес соответствующий данному домену, то он незамедлительно будет выдан браузеру и все на этом закончится. В смысле, браузер используя полученный АйПи обратится к моему блогу и откроет запрашиваемую вами страницу.
  2. Если у вашего интернет-провайдера этой информации не найдется, то он обратится к одному из корневых ДНС-серваков (их не так уж и много и информация на них обновляется не часто — от одного до нескольких раз в сутки).
  3. Корневые серваки не могут дать вам сразу пару «домен — IP», но зато могут сказать, где эту информацию наверняка можно найти. Т.е. они выдают интернет-провайдеру адреса тех ДНС-серверов, в которых прописана искомая информация об интересующем домене. В нашем случае это будут как раз те самые адреса NS хостера, где физически в данный момент расположены файлы сайта (ns1.pa.infobox.ru и ns2.pa.infobox.ru в моем случае).
  4. Получив эту информацию ваш интернет-провайдер обратится по одному из полученных NS-адресов и найдет там информацию о том, какой АйПи-адрес на данный момент соответствует домену «ktonanovenkogo.ru».
  5. ДНС-server вашего интернет-провайдера запомнит эту информацию в свой кэш (чтобы при следующих обращения не повторять всю приведенную выше цепочку запросов) и незамедлительно передаст искомый IP вашему браузеру.
  6. И только после этого браузер сможет обратиться к виртуальному серваку моего хостинга, где расположен блог https://ktonanovenkogo.ru. В результате на экране вашего компьютера откроется одна из страниц моего сайта.

ktonanovenkogo.ru

Почему у домена pikabu.ru четыре DNS-сервера? Это тоже вопрос отказоустойчивости. Если у одного из серверов возникают какие-то проблемы, то три оставшихся его подстраховывают. По этой же причине у любого домена в сети должно быть как минимум два DNS-сервера второго уровня.

Зачем всё так сложно? На самом деле ничего сложного. Всё просто, если экстраполировать DNS на реальную жизнь, например, на армию:

1. Есть несколько полковников, каждый из которых лично знаком с некоторым количеством подполковников.

2. Каждый подполковник — специалист в своей области, имеет в подчинении большое количество майоров.

3. Каждый майор имеет в подчинении различных специалистов-исполнителей абсолютно разных званий и направлений деятельности.

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

Таким образом, в случае потери кого-либо из цепочки, всегда найдётся замещающий потерю специалист.

P.S.:

Прошу прощения за очень длинный пост. Я редактировал его несколько раз, убирая избыточную информацию, но шибко в этом не преуспел. Благодарю за терпение. Если что-то непонятно — спрашивайте отвечу в комментариях.

pikabu.ru

Для чего нужна система ДНС и что это такое?

Итак, для начала определимся с терминами. Аббревиатура DNS расшифровывается как «Domain Name System», что в переводе на русский означает «система доменных имён».

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

Каждому узлу для соединения с ним присваивается уникальный IP, представленной набором цифр (в случае версии IPv4) либо символьной комбинацией (IPv6), с помощью коих идентифицируется тот или иной веб-ресурс в интернете. Как в реальной жизни каждого человека можно найти по его адресу (город, улица, номер дома и квартиры), так и айпи позволяет определить, где «живет» любой веб-ресурс в сети. Например, вот как выглядит IP-адрес сайта Одноклассники:

217.20.155.13

Согласитесь, числовой набор малоинформативен и трудно запоминается людьми, а ведь Мировая Паутина создана для живых пользователей. Другое дело, доменное имя (здесь все о доменах и их классификации) ok.ru (в старой редакции «odnoklassniki.ru»), которое гораздо больше говорит об этой популярной социальной сети рунета. Поэтому и была внедрена ДНС, где для облегчения восприятия айпишнику каждого веб-ресурса введено соответствие в виде доменного имени.

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

Но вернемся к нашим баранам. Мы разобрались что ДНС реализует такую систему адресации, которая дает возможность сопоставить IP сайта с его доменным именем.

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

В нем содержалась как раз информация о том, какой домен (или хост) соответствует тому или иному ай-пи. Если взять тот же пример с Одноклассниками, приведенный чуть выше, то пара «IP — domen» в файле hosts была бы записана примерно так:

217.20.155.13 ok.ru

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

Это заключается в следующем. Когда вы вводите в адресную строку браузера (по-другому, веб-обозревателя) URL-адрес (что это такое?) какого-нибудь сайта, в котором содержится название его домена, то браузер как раз и обращается перво-наперво к файлу hosts. В современном варианте по умолчанию там присутствует лишь одна строчка, а именно: 127.0.0.1 localhost.

Но этот файлик вы можете сами отредактировать и, в зависимости от характера изменений, добиться ускорения доступа к определенным ресурсам либо блокировки некоторых сайтов.

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

Как работают DNS-серверы?

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

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

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

В ответ на запрос сервак передает необходимую информацию браузеру, а поскольку ДНС имеет иерархическую структуру, то при ее отсутствии запрашивается следующий по значимости Domain Name server. В упрощенном виде данную схему работы можно представить так:

«>

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

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

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

Теперь надо выделить один существенный нюанс, который касается понятий «IP сервера» и «IP сайта». Исходя из означенной на скриншоте выше схемы вполне логично считать, что каждому доменному имени должен соответствовать уникальный айпи. Для крупных ресурсов, каждый из которых расположен на выделенном сервере, такое утверждение вполне справедливо.

Но так бывает далеко не всегда. Я скажу больше, в интернете сотни тысяч сайтов, львиная доля которых «живет» на разделенных виртуальных серверах (shared servers). А это означает, что все сайты, которые расположены на одном сервере, будут иметь одинаковый ай-пи.

Один IP-адрес может соответствовать нескольким сайтам, имеющим разные домены.

Работа системы ДНС никоим образом не дает сбой при использовании разделенного сервера. Ведь запрос от браузера по протоколу HTTP (что это такое?) приходит с указанием доменного имени сайта и его страницы, которую необходимо отобразить.

А следовательно, место нахождения нужных фалов, принадлежащих конкретному проекту, будет немедленно определено с помощью серверного программного обеспечения, и они оперативно будут переданы в браузер пользователя:

«>

Если помните, IP я сравнил выше с адресом местожительства человека. Так вот, если выделенный сервер, на котором находится единственный веб-ресурс, можно сопоставить с частным жилищем, когда в составе адреса актуален лишь его номер (IP), то shared server вполне сопоставим с каким-либо многоквартирным строением, где в качестве номера дома выступает айпи, а роль номера той или квартиры выполняет доменное имя сайта.

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

Сайт с конкретным доменом может иметь сразу несколько IP-адресов.

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

NS-серверы хостинга для сайта и их роль в ДНС

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

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

«>

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

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

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

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

3. Корневой server не может сразу выдать соответствие «доменное имя — IP», но зато передаст адреса как раз тех NS-серверов, которые принадлежат хостеру, где и расположен искомый сайт (к примеру для Спринтхоста, клиентом которого я являюсь, эти адреса таковы: ns1.sprinthost.ru и ns2.sprinthost.ru). Чтобы это было возможным, владелец сайта должен связать домен и хостинг. Поэтому, ежели вы начинающий вебмастер, то обязательно почитайте об этом, перейдя по предоставленной только что ссылке.

4. Далее интернет-провайдер пошлет запрос к одному из этих NS-серверов для получения IP того сервера, где находится сайт с заданным ДИ.

5. В результате искомый ай-пи будет передан по цепочке «NS-сервер хостинга» — «DNS-сервер интернет-провайдера» — «компьютер пользователя».

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

goldbusinessnet.com


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.