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

14

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

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

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

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

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

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

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

Asciiom
источник

Ответы:

15

На вашем компьютере есть список 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-серверов, которые предоставляют эту информацию другим серверам.

Ghoti
источник
-1

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

Адриенна Хансен
источник
1
Прошу прощения сказать это, но ваш пост очень трудно понять. Не могли бы вы попытаться перефразировать его и уделить больше внимания значению слов? Тогда кто-то может помочь отшлифовать текст, исправив мелкие ошибки.
pabouk