Qual é o tamanho máximo de um nome DNS

Eu vi várias menções de que o comprimento máximo da string de um nome DNS (nome de domínio) é de 253 caracteres. A Wikipedia parece estar se referindo a este post antigo:

https://en.wikipedia.org/wiki/Hostname http://blogs.msdn.com/b/oldnewthing/archive/2012/04/12/10292868.aspx

Por outro lado, se eu entendi a RFC, este artigo está errado. O comprimento máximo da string do nome DNS deve ter 250 caracteres ASCII em vez de 253, com base na seguinte sequência de bytes, conformeRFC1035 é máximo para 255 bytes:

Para simplificar as implementações, o comprimento total de um nome de domínio (ou seja, octetos de rótulo e octetos de tamanho de rótulo) é restrito a 255 octetos ou menos.

Conforme RFC1035, os nomes de domínio são compostos da seguinte maneira:

um nome de domínio representado como uma sequência de rótulos, em que cada rótulo consiste em um octeto de comprimento seguido por esse número de octetos. O nome do domínio termina com o octeto de comprimento zero para o rótulo nulo da raiz. Observe que esse campo pode ser um número ímpar de octetos; nenhum preenchimento é usado.

O que significa que os seguintes campos compõem nomes de domínio:

Comprimento da etiqueta (LL): 1 byteNome do rótulo (LN): 63 bytes (máximo) porque o valor máximo do tamanho da etiqueta pode ser apenas 00111111 (já que os dois primeiros bits são reservados para funcionalidades especiais, como ponteiros)Etiqueta nula (NL): 1 byte (representando o domínio raiz)

O formato deve sempre ser (diferente da postagem do blog):

LL + LN [ LL + LN ...] +NL

O que significa que o comprimento máximo deve ser (1 byte = 1 caractere = 1 octeto):

LL (1) +LN (63) +LL (1) +LN (63) +LL (1) +LN (63)LL (1) +LN (61) +NL (1) = 255 bytes

Portanto, se calcularmos apenas a parte da string (LNs), obtemos:

63 + 63 + 63 + 61 = máximo de 250 caracteres.

Perdi alguma coisa ou deveríamos estar atualizando algumas referências da Wikipedia? A única parte que não tenho certeza é sobre o rótulo nulo fazer parte dos 255 bytes.

questionAnswers(2)

yourAnswerToTheQuestion