完全限定域名的定义

seb*_*bix 8 domain-name-system hostname fqdn

我试图在 Internet 上搜索 FQDN 的定义。维基百科说,一个 FQDN

指定它在域名系统 (DNS) 的树层次结构中的确切位置我会解释这一点,它是明确可解析的(在 DNS 中)。

WP 的示例(我不想将其用作参考)说明了使用 hostname.example.com.

我发现的 RFC(RFC 1035是我发现的唯一非特定于协议的)没有提供关于 FQDN 有什么资格的信息。

我认为只有像 hostname.example.com 这样的标识符才是有效的 FQDN(包括单独的所有主机名、域和 TLD),但这似乎是错误的。
是否需要 FQDN 始终在域旁边包含一个主机名,即使域仅包含一台主机?或者是 FQDN 应该可以通过 DNS 解析的唯一定义?例如,域 .tk 是明确可解析的,这是 FQDN 吗?

Gee*_*aks 6

如果您不必附加任何其他标识符来明确解析主机,我会认为一个名称是完全限定的。如果这不是真的,那么这个名字将被认为是相对的。

RFC1535讨论了一个重点:

绝对“根” FQDN 的格式为 {name}{.} 非“根”域名的格式为 {name}

在你上面的例子,你会解决.tktk.,以确保它是明确的。有趣的是,这实际上确实有一个有效的 A 记录。

$ 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
Run Code Online (Sandbox Code Playgroud)

编辑:RFC1535 有另一个有趣的引用:

此外,在任何情况下,“。” 存在于指定名称中,应假定为完全限定域名 (FQDN),并且应首先尝试作为根名称。


Pau*_*xie 5

ACM Queue中,我定义 FQDN 如下:

DNS 命名空间具有树形结构,其中每个节点都有一个父节点,但根节点除外,根节点是其自己的父节点。节点的标签长度​​为 1 到 63 个字符,但标签为空的根节点除外。域是上下文中的一个节点,完全限定的域名具有一种表示形式,即自下而上的节点名称,每个节点名称后跟一个句点 (.)。例如,www.google.com 是节点的完全限定名称,该节点的名称为 www,其父节点为 google,其祖父母为 com,其曾祖父母为 DNS 根。

每当您使用“主机名”或“主机部分”或“域部分”等术语时,您都会陷入困境,并且您会发现没有一个 FQDN 定义完全符合您的目的。FQDN 的含义(而不是定义)可以通过考虑其反义词来明确:非完全限定域名。完全限定意味着您要指定最高级别的所有域标签,在这种情况下,您可以附加最后一个点 (.) 以表明您已这样做。不完全限定意味着您正在查看的名称仅在搜索列表或默认域的上下文中有意义。

RFC 1535 很有趣,因为直到那时我们很多人都使用多标签本地名称,并且仍然期望搜索列表行为 - 这破坏了太多其他东西,因此被取缔。但是当我在 1988-1993 年担任 postmaster@dec.com 时,可以将邮件从 vixie@cognition.pa 发送到 matt@decvax 并将其扩展为 vixie@cognition.pa.dec.com 和 matt@decvax.dec .com 一切都正常了。结果我们不得不放弃。如今,如果您的演示级名称中有一个点(即您键入的名称或程序显示的名称),世界上所有的软件都会假定它是 FQDN。

我的Sendmail 书(在我们离开 DEC.COM 后与 Fred Avolio 合着)也有一个关于这个主题的章节,读起来很有趣,因为它是与 RFC 1535 同时编写的。