Definición de nombre de dominio completo

8

Intenté buscar en Internet una definición de FQDN. Wikipedia dice, un FQDN

especifica su ubicación exacta en la jerarquía de árbol del Sistema de nombres de dominio (DNS). Interpretaría esto, que es inequívocamente resoluble (en DNS).

El ejemplo en WP (difícil, no quiero usar esto como referencia) establece el uso de hostname.example.com.

Los RFC que encontré ( RFC 1035 fue el único no específico de protocolo que encontré) no eran informativos sobre qué califica un FQDN.

Pensé que solo un identificador como hostname.example.com es un FQDN válido (incluidos todos los nombres de host, dominios y TLD por separado), pero esto parece estar mal.
¿Es necesario que un FQDN siempre incluya un nombre de host al lado del dominio, incluso si el dominio consta de un solo host? ¿O es la única definición de que un FQDN debe resolverse a través de DNS? Por ejemplo, el dominio .tk es inequívocamente resoluble, ¿es este un FQDN?

sebix
fuente
Me parece una pregunta interesante, pero si usted está pensando en responder a ella, tenga en cuenta que había mucho prefiero ver las respuestas que se hace referencia. A menos que seas Paul Vixie, no estoy muy interesado en una simple declaración de tus opiniones sobre el tema.
MadHatter
2
Bueno, supongo que soy Paul Vixie, así que intentaré responder esto a continuación.
Paul Vixie

Respuestas:

6

Consideraría que un nombre está completamente calificado si no tiene que agregar ningún identificador adicional para resolver sin ambigüedad el host. Si esto no es cierto, entonces el nombre se consideraría relativo.

RFC1535 discute un punto importante:

Un FQDN "rooteado" absoluto tiene el formato {nombre} {.} Un nombre de dominio no "rooteado" tiene el formato {nombre}

En el ejemplo anterior, podría resolver .tkcomo tk.para asegurar que es inequívoca. Curiosamente, esto realmente tiene un registro A válido.

$ 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

EDITAR: RFC1535 tiene otra cita interesante:

Además, en cualquier caso donde un "." existe en un nombre especificado, se debe suponer que es un nombre de dominio completo (FQDN) y DEBE probarse primero como un nombre rooteado.

GeekyDeaks
fuente
4

En ACM Queue , definí FQDN de la siguiente manera:

El espacio de nombres DNS tiene una estructura de árbol, donde cada nodo tiene un padre, excepto el nodo raíz, que es su propio padre. Los nodos tienen etiquetas que tienen de 1 a 63 caracteres de largo, excepto el nodo raíz cuya etiqueta está vacía. Un dominio es un nodo en contexto, y un nombre de dominio totalmente calificado tiene un formulario de presentación que son solo los nombres de nodo, de abajo hacia arriba, cada uno seguido de un punto (.). Por ejemplo, www.google.com es el nombre completo de un nodo cuyo nombre es www, cuyo padre es google, cuyo abuelo es com y cuyo bisabuelo es la raíz DNS.

Cada vez que use términos como "nombre de host" o "parte de host" o "parte de dominio", estará fuera de la maleza y encontrará que ninguna definición de FQDN se ajusta a su propósito. El significado, en lugar de la definición, de FQDN se puede aclarar considerando su antónimo: el nombre de dominio no totalmente calificado. Estar completamente calificado significa que está especificando todas las etiquetas de dominio hasta el nivel superior, y en ese caso podría agregar un punto final (.) Para indicar que lo ha hecho. Estar menos que calificado significa que el nombre que está viendo solo tiene sentido dentro del contexto de una lista de búsqueda o dominio predeterminado.

RFC 1535 fue interesante porque muchos de nosotros hasta ese momento habíamos usado nombres locales de múltiples etiquetas y todavía esperábamos un comportamiento en la lista de búsqueda, y esto rompió muchas otras cosas, por lo que estaba prohibido. Pero cuando estaba [email protected] en 1988-1993, era posible enviar un correo desde [email protected] a matt @ decvax y expandirlo a [email protected] y [email protected] .com y todo simplemente funcionó. Resultó que teníamos que renunciar a eso. En la actualidad, si hay un punto en el nombre de su nivel de presentación (es decir, si lo escribió o si un programa lo mostró), todo el software del mundo presume que es un FQDN.

Mi libro Sendmail (en coautoría con Fred Avolio después de que ambos salimos de DEC.COM) también tiene un capítulo sobre este tema, que es una lectura interesante ya que fue escrito al mismo tiempo que RFC 1535.

Paul Vixie
fuente
0

Mis 2 centavos:

En el sentido más estricto, un FQDN es lo que escribió en su ejemplo.

es decir, hostname.example.com.

incluyendo el punto al final.

No creo que deba resolverse a través de DNS, es solo una definición sintáctica.

Aditya K
fuente