DNS – Definition and Importance of Fully Qualified Domain Name (FQDN)

domain-name-systemfqdnhostname

I tried to search to Internet for a definition of a FQDN. Wikipedia says, a FQDN

specifies its exact location in the tree hierarchy of the Domain Name System (DNS)
I would interpret this, that it's unambiguously resolvable (in DNS).

The example at WP (tough I don't want to use this as reference) states the use of hostname.example.com.

The RFCs I found (RFC 1035 was the only not-protocol-specific I found) were not informative on what does a FQDN qualify.

I thought that only an identifier like hostname.example.com is a valid FQDN (including all hostname, domain and TLD in separate), but this seems to be wrong.
Is it needed that a FQDN should always include a hostname beside the domain, even if the domain consists of only one host? Or is the only definition that a FQDN should be resolvable via DNS? E.g. the domain .tk is unambiguously resolvable, is this a FQDN?

Best Answer

I would consider a name to be fully qualified if you do not have to append any further identifiers to unambiguously resolve the host. If this is not true, then the name would be considered relative.

RFC1535 discusses an important point:

An absolute "rooted" FQDN is of the format {name}{.} A non "rooted" domain name is of the format {name}

In your example above, you would resolve .tk as tk. to ensure it's unambiguous. Interestingly this actually does have a valid A record.

$ 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

EDIT: RFC1535 has another interesting quote:

Further, in any event where a "." exists in a specified name it should be assumed to be a fully qualified domain name (FQDN) and SHOULD be tried as a rooted name first.

Related Topic