RFC-952 (última oración del punto 1 bajo Suposiciones) prohíbe los nombres de host de un solo carácter y he tenido experiencias (hace más de 7 años en el verano de 2002) en que algunos servicios se negarían a trabajar con nombres de host de un solo carácter (porque tales nombres eran no compatible con los estándares), pero he visto varios nombres de host de un solo carácter en uso en los últimos años. ¿Los nombres de host de un solo carácter ahora son válidos? (Si es así, ¿cuál es la referencia de validación adecuada?)
editar (para consolidar cierta información de las respuestas): varios aspectos del DNS parecen estar definidos en varios RFC, incluidos 1035 , 1123 y 2181 . De RFC-2181 sección 11 :
Note however, that the various applications that make use of DNS data
can have restrictions imposed on what particular values are
acceptable in their environment. For example, that any binary label
can have an MX record does not imply that any binary name can be used
as the host part of an e-mail address.
[ ... ]
See also [RFC1123] section 6.1.3.5.
The DNS defines domain name syntax very generally -- a
string of labels each containing up to 63 8-bit octets,
separated by dots, and with a maximum total of 255
octets. Particular applications of the DNS are
permitted to further constrain the syntax of the domain
names they use, although the DNS deployment has led to
some applications allowing more general names. In
particular, Section 2.1 of this document liberalizes
slightly the syntax of a legal Internet host name that
was defined in RFC-952 [DNS:4].
De RFC-1123 sección 2.1 :
The syntax of a legal Internet host name was specified in RFC-952
[DNS:4]. One aspect of host name syntax is hereby changed: the
restriction on the first character is relaxed to allow either a
letter or a digit. Host software MUST support this more liberal
syntax.
Y finalmente, como se hizo referencia originalmente, de RFC-952 :
1. A "name" (Net, Host, Gateway, or Domain name) is a text string up
to 24 characters drawn from the alphabet (A-Z), digits (0-9), minus
sign (-), and period (.). Note that periods are only allowed when
they serve to delimit components of "domain style names". (See
RFC-921, "Domain Name System Implementation Schedule", for
background). No blank or space characters are permitted as part of a
name. No distinction is made between upper and lower case. The first
character must be an alpha character. The last character must not be
a minus sign or period.
[ ... ]
Single character names or nicknames are not allowed.
Es a partir de seguir esta cadena que originalmente llegué a decir que RFC-952 prohíbe los nombres de host de un solo carácter.
fuente
There is a difference between 'valid' and 'it works'.
En última instancia, creo que esa es la respuesta más razonable, aunque aprecié mucho toda la discusión generada. La conclusión que sacaría es que los nombres de host de un carácter siguen siendo técnicamente inválidos, pero funcionan bastante universalmente en este punto. (Del mismo modo, los guiones bajos están prohibidos, pero funcionan en su mayor parte).Pensaría que son válidos porque los servidores de nombres raíz son todos hosts de una sola letra (a.root-servers.net), y la especificación DNS no crea una excepción específica para ellos. El RFC en cuestión es específicamente para el formato de archivo host, no DNS. El DNS se definió en un RFC posterior ( RFC 1035 lo inicia). RFC 1123 (1989) lo declara claramente.
Por lo tanto, los nombres de host de una sola letra son válidos en sistemas basados en DNS, y lo han sido desde antes de que se inventara el spam. Los sistemas que no lo hacen no son compatibles con RFC y pueden ser burlados. A menos que no usen DNS en absoluto y solo usen archivos de host, en ese momento la pena es una mejor opción.
fuente
Como los nombres de host existían antes de que alguien siquiera pensara en escribir un RFC sobre ellos, no veo ninguna razón por la que los nombres de host de un solo carácter de repente se vuelvan "ilegales". Ese RFC en particular me perdió cuando decía
porque un RFC NO es un estándar. Ni siquiera cerca.
A pesar de lo anterior, debe tenerse en cuenta que el RFC en cuestión fue creado para aplicar a un grupo relativamente pequeño, a saber, el Departamento de Defensa (presumiblemente de los Estados Unidos).
fuente
Creo que los nombres de host actuales dependen más de las especificaciones de DNS ya que DNS es lo que la mayoría de las personas usará dentro de una red o en Internet. Dicho esto, me vienen a la mente tres RFC (1034 - conceptos, 1035 - implementación y 2181 - aclaraciones sobre DNS).
La Sección 3 de RFC 1034 dice:
Y en la Sección 11 de RFC 2181 tenemos una aclaración sobre cómo nombrar cada nodo de la dirección:
Entonces, a la luz de las especificaciones de DNS, puede tener a.domain.tld
fuente
Note however, that the various applications that make use of DNS data can have restrictions imposed on what particular values are acceptable in their environment. For example, that any binary label can have an MX record does not imply that any binary name can be used as the host part of an e-mail address.
Básicamente, porque a.domain.tld es válido en DNS no lo convierte en un nombre de host válido. El final de la Sección 11 hace referencia a la Sección 6.1.3.5 de RFC-1123, que cita la Sección 2.1 de sí misma y RFC-952, como se discutió en la respuesta de sysadmin1138.Como ha determinado, RFC 1123 no está completamente claro sobre este problema de longitud.
La sección 2.1 dice:
Dado que este texto anula completamente el texto del RFC 952, también se debe considerar que implica que cualquier longitud de hasta 255 caracteres es legal.
Desafortunadamente, en 1989, Internet Drafts no recibió la revisión increíblemente rigurosa que reciben ahora, por lo que la ambigüedad probablemente simplemente no se detectó.
fuente
The syntax of a legal Internet host name was specified in RFC-952 [DNS:4]. One aspect of host name syntax is hereby changed: the restriction on the first character is relaxed to allow either a letter or a digit.
¿No es razonable interpretar esto como que su cita no anula por completo el texto del RFC-952?