Определение Полного доменного имени


8

Я попытался найти в Интернете определение полного доменного имени. Википедия говорит, полное доменное имя

указывает его точное местоположение в древовидной иерархии системы доменных имен (DNS). Я бы сказал, что это однозначно разрешимо (в DNS).

В примере на WP (хотя я не хочу использовать это в качестве ссылки) говорится об использовании hostname.example.com.

RFC, которые я обнаружил ( RFC 1035 был единственным, не относящимся к протоколу, который я обнаружил), не были информативными в отношении того, что соответствует FQDN.

Я думал, что только такой идентификатор, как hostname.example.com, является действительным полным доменным именем (включая все имя хоста, домен и TLD в отдельности), но это, похоже, неверно.
Необходимо ли, чтобы полное доменное имя всегда включало имя хоста рядом с доменом, даже если домен состоит только из одного хоста? Или единственное определение, что полное доменное имя должно быть разрешено через DNS? Например, домен .tk однозначно разрешим, это полное доменное имя?


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

2
Ну, я думаю, что я Пол Викси, поэтому я постараюсь ответить на это ниже.
Пол Викси

Ответы:


6

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

RFC1535 обсуждает важный момент:

Абсолютное «корневое» полное доменное имя имеет формат {имя} {.} Не «корневое» доменное имя имеет формат {имя}

В приведенном выше примере вы бы решили, .tkчто tk.это однозначно. Интересно, что это действительно имеет действительную запись.

$ dig tk.
; <<>> DiG 9.8.3-P1 <<>> tk.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 812
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;tk.                IN  A

;; ANSWER SECTION:
tk.         20  IN  A   217.119.57.22

РЕДАКТИРОВАТЬ: RFC1535 имеет еще одну интересную цитату:

Далее, в любом случае, где "." существует в указанном имени, его следует считать полностью определенным доменным именем (FQDN), и СЛЕДУЕТ сначала использовать его как корневое имя.


4

В очереди ACM я определил полное доменное имя следующим образом:

Пространство имен DNS имеет древовидную структуру, где у каждого узла есть родитель, кроме корневого узла, который является его собственным родителем. Узлы имеют метки длиной от 1 до 63 символов, за исключением корневого узла, метка которого пуста. Домен - это узел в контексте, и полное доменное имя имеет форму представления, которая представляет собой просто имена узлов снизу вверх, за каждым из которых следует точка (.). Например, www.google.com - это полное имя узла, имя которого - www, чей родитель - google, дедушка - com, а прадедушка - root DNS.

Каждый раз, когда вы используете такие термины, как «имя хоста» или «часть хоста» или «часть домена», вы отключаетесь от сорняков и обнаруживаете, что ни одно определение FQDN не соответствует вашим целям. Смысл, а не определение FQDN можно прояснить, рассмотрев его антоним: неполное доменное имя. Быть полностью квалифицированным означает, что вы указываете все доменные метки до верхнего уровня, и в этом случае вы можете добавить последнюю точку (.), Чтобы указать, что вы сделали это. Быть менее квалифицированным означает, что имя, на которое вы смотрите, имеет смысл только в контексте списка поиска или домена по умолчанию.

RFC 1535 был интересен, потому что многие из нас до этого времени использовали локальные имена с несколькими метками и все еще ожидали поведения в списке поиска - и это сломало слишком много других вещей, поэтому было объявлено вне закона. Но когда я был postmaster@dec.com в 1988-1993 годах, можно было отправлять почту с vixie@cognition.pa на matt @ decvax и расширять его до vixie@cognition.pa.dec.com и matt@decvax.dec .com и все это просто работает. Оказалось, мы должны были отказаться от этого. В наши дни, если в имени уровня презентации есть точка (то есть вы набрали ее или программа отобразила ее), все программное обеспечение в мире считается полным доменным именем.

В моей книге Sendmail (в соавторстве с Фредом Аволио после того, как мы оба покинули DEC.COM) также есть глава на эту тему, которую интересно читать, поскольку она была написана в то же время, что и RFC 1535.


0

Мои 2 цента:

В самом строгом смысле полное доменное имя - это то, что вы написали в своем примере.

то есть hostname.example.com.

в том числе точка в конце.

Я не думаю, что это должно быть разрешено через DNS, это просто синтаксическое определение.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.