14 votos

¿Son válidos los nombres de host de una sola letra?

RFC-952 (última frase del punto 1 en Supuestos) prohíbe los nombres de host de un solo carácter y he tenido experiencias ( hace más de 7 años verano de 2002) donde algunos servicios se negaban a trabajar con nombres de host de un solo carácter (porque dichos nombres no cumplían con los estándares), pero he visto varios nombres de host de un solo carácter en uso en los últimos años. ¿Son válidos ahora los nombres de host de un solo carácter? (Si es así, ¿cuál es la referencia de validación adecuada?)

editar (para consolidar alguna información de las respuestas): varios aspectos del DNS parecen estar definidos en varios RFC, entre ellos 1035 , 1123 y 2181 . Desde 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.

Desde RFC-1123 sección 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].

Desde 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 por último, como ya se ha referenciado, 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 por seguir esta cadena que originalmente llegué a decir que el RFC-952 prohíbe los nombres de host de un solo carácter.

11voto

sysadmin1138 Puntos 86362

Se podría pensar que son válidos porque los servidores de nombres root 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. La RFC en cuestión es específicamente para el formato de archivo de host, no para DNS. DNS se definió en una RFC posterior ( RFC 1035 lo pone en marcha). RFC 1123 (1989) lo dice claramente.

 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.

Por lo tanto, los nombres de host de una sola letra son válidos en los sistemas basados en DNS, y lo han sido desde antes de que se inventara el spam. Los sistemas que no lo hacen no cumplen con el RFC, y pueden ser objeto de burla. A menos que no usen DNS en absoluto y sólo usen archivos de hosts, en cuyo caso la pena es una mejor opción.

2voto

John Gardeniers Puntos 22554

Como los nombres de host ya existían antes de que a alguien se le ocurriera escribir una RFC sobre ellos, no veo ninguna razón para que los nombres de host de un solo carácter se conviertan de repente en "ilegales". Esa RFC en particular me perdió cuando declaró

Esta RFC es la especificación oficial

porque una RFC NO es una norma. Ni siquiera se acerca.

A pesar de lo anterior, hay que señalar que el RFC en cuestión fue creado para aplicarse a un grupo relativamente pequeño, a saber, el Departamento de Defensa (presumiblemente de EE.UU.).

2voto

sysadmin1138 Puntos 86362

Hay una diferencia entre "válido" y "funciona". Es perfectamente posible que los nombres de host no se consideren válidos si son de un solo carácter (a pesar de mi anterior post). Sin embargo, muchos sistemas los permiten. Un sistema importante, el sistema AD/DNS de Microsoft, tiene una razón de legado para permitir nombres de un solo carácter.

Los nombres NetBIOS de la vieja escuela pueden tener de 1 a 15 caracteres de longitud. Esta especificación fue desarrollada independientemente de RFC952, se basa en un archivo diferente llamado lmhosts, por lo que funciona. El problema vino cuando Microsoft dejó de usar NetBEUI (en realidad NBF, NetBIOS Frame Protocol) y pasó a usar TCP/IP (en realidad NBT), y Microsoft tuvo que permitir la resolución de nombres en redes TCP/IP. MS optó por mantener el estilo de resolución de NetBIOS con servidores WINS, obviando la necesidad de hosts compatibles con RFC952.

Luego llegó Active Directory y sus dependencias de DNS. El DNS dinámico era la norma, por lo que los clientes tenían que registrar su ComputerName (cuyos primeros 15 caracteres son también su nombre NetBIOS) en el dominio DNS. Dado que MS permite que los nombres NetBIOS de un solo carácter se registren en DNS, esto entraba en conflicto con el RFC952. Decidieron codificar sus sistemas para permitir esto, ya que esto emulaba cómo solía funcionar en los días de WINS.

BIND DNS también permite nombres de host de un solo carácter. Pero la RFC2181 establece de forma rotunda que las aplicaciones deben investigar sus propios datos, y no el DNS. Lo que nos deja con una gran población de dispositivos y software para los que los nombres de host de un solo carácter están bien, y unos pocos valores atípicos que son RFC952-estrictos que no lo permiten.

1voto

coredump Puntos 9198

Creo que los nombres de host actuales dependen más de las especificaciones del DNS, ya que el DNS es lo que la mayoría de la gente utilizará dentro de una red o en Internet. Dicho esto, me vienen a la mente tres RFCs (1034 - conceptos, 1035 - implementación y 2181 - aclaraciones sobre DNS).

Sección 3 del RFC 1034 dice:

El espacio de nombres de dominio es una estructura de árbol estructura de árbol. Cada nodo y hoja del árbol corresponde a un conjunto de recursos (que puede estar vacío). El dominio no hace distinciones entre los usos de los nodos interiores y hojas, y esta nota utiliza el término "nodo" para referirse a ambos.

Cada nodo tiene una etiqueta, que tiene una longitud de cero a 63 octetos de longitud. Los nodos hermanos no pueden tener la misma etiqueta, aunque la misma etiqueta puede ser usada para nodos que no son hermanos. Una etiqueta está reservada, y es la etiqueta nula (es decir de longitud cero) utilizada para root.

Y en Sección 11 del RFC 2181 tenemos una aclaración sobre la denominación de cada nodo de la dirección:

El propio DNS sólo impone una restricción sobre las etiquetas particulares
que pueden utilizarse para identificar los recursos de recursos. Esta restricción
se refiere a la longitud de la etiqueta y el nombre completo. La longitud de cualquier etiqueta está limitada a entre 1 y 63 octetos. Un nombre de dominio completo está limitado a 255 octetos (incluyendo los separadores)

Así que, a la luz de las especificaciones del DNS, puedes tener a.dominio.tld

1voto

Joey deVilla Puntos 4487

Como has determinado, el RFC 1123 no es completamente claro en este tema de la longitud.

La sección 2.1 sí dice:

El software del host DEBE manejar nombres de host de hasta 63 caracteres y DEBERÍA manejar nombres de host de hasta 255 caracteres

Dado que este texto anula por completo el texto de la RFC 952, también debe considerarse que implica que cualquier longitud de hasta 255 caracteres es legal.

Lamentablemente, en 1989 los borradores de Internet no se revisaban con el mismo rigor que ahora, por lo que es probable que la ambigüedad no se detectara.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: