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

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

  • Чтобы мой компьютер попросил службу DNS разрешить домен, DNS-сервер должен быть известен моему компьютеру. Я никогда не рассказывал на своем компьютере ни о каких DNS-серверах, так как он знает, какой DNS-сервер он должен использовать? Это ISP, который как-то толкает эту информацию на мой компьютер?

  • В этом случае, где расположены эти DNS-серверы? У моего интернет-провайдера работают какие-то DNS-серверы, которые используются всеми его клиентами (ISP)?

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

  • Существует ли какая-то центральная сущность / реестр / …, которая передает изменения DNS-сервера, которые произошли?

  • Если я где-то заказываю доменное имя, продавец должен установить соединение между IP-адресом и именем домена, которое он мне продал. Как все DNS-серверы обновлены, чтобы узнать об этой ссылке? Так, другими словами, какие действия предпринимает продавец, чтобы сообщить «Интернет», на котором теперь указывает этот домен?

Я знаю, что это похоже на кучу вопросов, но я думаю, что это просто разные аспекты одной и той же истории. Может ли кто-нибудь сказать мне, как все это работает вместе?

2 Solutions collect form web for “Как работают DNS-серверы?”

На вашем компьютере есть список DNS-серверов, на которые он может запросить дополнительную информацию. В системе unix или linux это сохраняется в файле /etc/resolv.conf . В Windows он настраивается в ваших сетевых настройках. Часто ваш DNS-сервер будет поставляться вашим DHCP-сервером, возможно, вместе с другими настройками, такими как домен по умолчанию, прокси-серверы и т. Д.

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

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

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

Каждый домен TLD (домен верхнего уровня), такой как COM, NET, ORG, CA, UK и т. Д., Поддерживает собственный реестр субдоменов. («Поддомен» – это любой домен в другом домене, поэтому «example.com» является поддоменом внутри «com», а «com» ​​- это даже поддомен внутри «.», «Root».) Правила для каждого реестра Применяются только к TLD, которым он управляет, то есть существует совершенно другой набор критериев для каждого домена TLD с национальным кодом, а «общие» TLD управляются различными организациями с различными политиками. Но все они поддерживают DNS-серверы для своего TLD, которые из командной строки вы можете увидеть с помощью основных инструментов запросов DNS:

 [ghoti@pc ~]$ host -t ns ca. ca name server c.ca-servers.ca. ca name server e.ca-servers.ca. ca name server z.ca-servers.ca. ca name server a.ca-servers.ca. ca name server f.ca-servers.ca. ca name server sns-pb.isc.org. ca name server j.ca-servers.ca. ca name server k.ca-servers.ca. ca name server tld.isc-sns.net. ca name server l.ca-servers.ca. [ghoti@pc ~]$ host -t ns info info name server c0.info.afilias-nst.info. info name server d0.info.afilias-nst.org. info name server b2.info.afilias-nst.org. info name server b0.info.afilias-nst.org. info name server a2.info.afilias-nst.info. info name server a0.info.afilias-nst.info. [ghoti@pc ~]$ 

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

DNS-сервер работает как протокол – это набор правил для обмена данными в Интернете в частной сети, например, в протоколе TCP / IP. Он просто превращает удобный пользовательский домен в интернет-протокол. Это может быть любое доменное имя, приобретенное владельцем сайта у любого надежного поставщика домена, такого как domainia или другое. Давайте возьмем пример домена как «myweb.com», который, в свою очередь, будет преобразован в IP, например, 71.12.252.1, который будет распознаваться компьютером по сети.

  • Ошибка FTP FileZilla «Соединение отказано сервером»
  • Могу ли я запустить минималистский веб-сервер на моем маршрутизаторе без перезаписи прошивки с DD-WRT?
  • Bugzilla, нет логина для просмотра ошибок
  • PID: 4 с использованием порта 80
  • Принимайте свой собственный веб-сайт и DNS-сервер
  • Как я могу настроить «локальный» домен, чтобы каждый из моих локальных сетей мог просматривать локально размещенный сайт?
  • Как правильно настроить мой веб-сервер в локальной сети?
  • Ubuntu 10 на виртуальном поле в качестве сервера для хоста Windows 7
  • Неизвестный веб-сервер, прослушивающий порт 80
  • Interesting Posts

    Dell Vostro 1000 с новой установкой XP Pro работает очень медленно

    7zip: как извлечь в вывод std?

    pandas loc против iloc против ix против vs. iat?

    Написание BMP-изображения в чистом c / c ++ без других библиотек

    Обработка ошибок в коде C

    Флип или обратная линия в Notepad ++

    Использование streamов для создания запросов к базе данных

    Является ли хорошей практикой NULL указатель после его удаления?

    Остановить программы от автоматического запуска при загрузке в Windows

    C ++ обрабатывает очень большие целые числа

    Как изменить шрифты в Windows 8

    Почему лямбды лучше оптимизируются компилятором, чем простые функции?

    Нельзя ссылаться на не конечную переменную внутри внутреннего classа, определенного другим методом

    Как распределять приоритеты между домашними и рабочими сетевыми соединениями

    Могу ли я печатать специальную бумагу по размеру стенда в слове?

    Давайте будем гением компьютера.