Por que o Localhost é IP 127.0.0.1?
Geeks de todo o mundo conhecem seu host local como 127.0.0.1, mas por que esse endereço específico, de todos os endereços disponíveis, está reservado para o host local? Continue lendo para se aprofundar na história dos hosts locais.
Imagem de GMPhoenix; disponível como papel de parede aqui.
A sessão de perguntas e respostas de hoje chega até nós como cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas voltado para a comunidade.
A questão
A leitora de superusuário Roee Adler, curiosa sobre o IP localhost padrão, fez a seguinte pergunta à comunidade:
Eu me perguntei qual é a origem da decisão de tomarlocalhost
Endereço IP127.0.0.1
. Qual é o significado de127
? qual é o significado de0.0.1
?
Qual é o significado, de fato? Embora seja possível viver toda a sua existência geek sem saber a resposta a essas perguntas, estamos prontos para nos aprofundar.
As respostas
Vários colaboradores contribuíram para responder à pergunta de Roee, cada uma de suas contribuições ajuda a esclarecer como 127.0.0.1 é o lugar que todos chamamos de lar. John T escreve:
127 é o último número de rede em uma rede classe A com uma máscara de sub-rede de255.0.0.0
. 127.0.0.1
é o primeiro endereço atribuível na sub-rede.127.0.0.0
não pode ser usado porque esse seria o número do fio. Mas usar quaisquer outros números para a parte do host deve funcionar bem e voltar a usar127.0.0.1
. Você pode tentar fazer o ping127.1.1.1
se você quiser. Por que eles esperaram até o último número de rede para implementar isso? Eu não acho que esteja documentado.
O Hyperslug faz algumas investigações de arquivo vasculhando antigos memorandos sobre o assunto:
A menção anterior que posso encontrar sobre a atribuição de 127 como loopback é RFC 990 de novembro de 1986, de autoria de Reynolds e Postel:
O endereço zero deve ser interpretado como significando “esta”, como em “esta rede”.
Por exemplo, o endereço 0.0.0.37 pode ser interpretado como significando o host 37 nesta rede.
…
A rede de classe A número 127 é atribuída à função “loopback”, ou seja, um datagrama enviado por um protocolo de nível superior para um endereço de rede 127 deve fazer um loop de volta dentro do host. Nenhum datagrama “enviado” para um endereço de rede 127 deve aparecer em qualquer rede em qualquer lugar.
Já em setembro de 1981, RFC 790, 0 e 127 já estavam reservados:
000.rrr.rrr.rrr Reservado [JBP] ... 127.rrr.rrr.rrr Reservado [JBP]
0 e 127 eram as únicas redes reservadas de Classe A em 1981. 0 era usado para apontar para um host específico, de modo que deixava 127 para loopback.
Eu sei que isso não responde à pergunta, mas isso é o mais antigo que eu poderia cavar. Pode ter feito mais sentido escolher 1.0.0.0 para loopback, mas isso já foi fornecido à BBN Packet Radio Network.
Embora todos nós conheçamos e amemos 127.0.0.1 como o localhost, é importante notar que não será o localhost para sempre. 127.0.0.1 é como o host local é designado nas comunicações IPv4 e, à medida que o IPv6 assume lentamente, será designado por um número muito mais intuitivo: 0: 0: 0: 0: 0: 0: 0: 1.
Tem algo a acrescentar à explicação? Som off nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira os tópicos de discussão completos aqui.