Por que o 127.0.0.1 é usado para o host local? alguém sabe por que esse número foi escolhido?

Embora não esteja documentado em nenhum lugar (pelo menos até onde eu saiba), mas existem algumas explicações lógicas. Mas, antes de examinar a explicação, vamos primeiro fornecer uma breve descrição do que são os endereços de host local e para que é usado.

Qual é o endereço do host local "127.0.0.0/8"?

Nas redes de computadores, localhost é um nome de host que significa este computador. É usado para acessar os serviços de rede em execução no host por meio da interface de rede de loopback. O uso da interface de loopback ignora qualquer hardware da interface de rede local.

O mecanismo de loopback local pode ser usado para executar um serviço de rede em um host sem exigir uma interface de rede física ou sem tornar o serviço acessível a partir das redes às quais o computador pode estar conectado. Por exemplo, um site instalado localmente pode ser acessado de um navegador da Web pelo URL http: // localhost para exibir sua página inicial.

Os padrões de rede IPv4 reservam todo o bloco de endereços 127.0.0.0/8 para fins de loopback. Isso significa que qualquer pacote enviado para qualquer um desses endereços (127.0.0.1 a 127.255.255.255) é retornado em loop. O endereço 127.0.0.1 é o endereço padrão normalmente usado para o tráfego de loopback IPv4; o resto raramente é usado na prática. O padrão IPv6 atribui apenas um único endereço para loopback: :: 1.

Localhost - Wikipedia

Então, basicamente, o endereço do host local usado no teste de software / aplicativos. É um serviço fornecido internamente pelo sistema operacional. Você pode executar ping no endereço do host local, mesmo que não tenha uma placa de interface de rede funcional "NIC". Você pode testá-lo facilmente. Vá agora e desative sua NIC e tente executar ping em 127.0.0.1 "127.xxx".

  • 0 = Isso
  1. O endereço zero deve ser interpretado como significando "isto", como em "esta rede". Por exemplo, o endereço 0.0.0.37 pode ser interpretado como significando host 37 nesta rede. O endereço de todos deve ser interpretado como significando "todos", como em "todos os hosts". Por exemplo, o endereço 128.9.255.255 pode ser interpretado como significando todos os hosts na rede 128.9. A um número de rede classe A 127 é atribuída a função "loopback", isto é, um datagrama enviado por um protocolo de nível superior a um endereço de rede 127 deve retornar dentro do host. Nenhum datagrama "enviado" para um endereço de rede 127 deve aparecer em qualquer rede em qualquer lugar.

RFC 990 - Números atribuídos

  • Padrão / Esquema “Primeiro e Último IP”

Podemos ver facilmente que o primeiro e o último número de qualquer faixa de IP são quase sempre especiais. Por exemplo, o primeiro IP da classe A "0.xxx" é reservado; para qualquer rede, o primeiro IP é reservado, pois representa toda a rede e o último IP é reservado para transmissão. Então, você pode ver que há algum tipo de esquema ou padrão. Então eles decidiram usar a última rede classful A para o propósito do host local. O que é algo que parece tão estranho hoje, por que desperdiçar uma rede classe A inteira enquanto usamos apenas um endereço IP? Naquela época, eles não tinham idéia de que haveria necessidade de todos os endereços IPv4 possíveis, eles simplesmente não se preocupavam com todos os endereços IP desperdiçados.

  1. 127.rrr.rrr.rrr Reservado [JBP] Redes Classe B Nome do endereço Internet Referências de rede ---------------- ---- ------- ---- ------ 128.000.rrr.rrr Reservado [JBP] 128.001.rrr.rrr-128.254.rrr.rrr Não atribuído [JBP] 191.255.rrr.rrr Reservado [JBP] Rede de Classe C Nome de Endereço na Internet Referências de Rede --- ------------- ---- ------- ---------- 192.000.001.rrr Reservado [JBP] 192.000.001.rrr-223.255 .254.rrr Não atribuído [JBP] 223.255.255.rrr reservado [JBP] Outros endereços reservados na Internet Nome do endereço na Internet Referências de rede ---------------- ---- ---- --- ---------- 224.000.000.000-255.255.255.255 Reservado [JBP]

RFC 790 - Números atribuídos

- dez 1980

Como você pode ver, em 1980 eles apenas reservavam redes de classe inteiras sem um bom motivo.

  • Implementação de baixo nível em mente.

Os designers da Internet realmente sabiam como o hardware funcionava e os projetaram com a implementação de baixo nível em mente.

Os valores 0, 127 e 255 são especiais na montagem de 8 bits e na programação de linguagem de máquina, pois existem "truques" que você pode usar para testar esses valores e ramificar para código diferente usando instruções menores que são executadas mais rapidamente do que para outros números inteiros. 127 é o número inteiro de 8 bits mais alto e assinado, portanto, incrementá-lo em 1 causará um estouro assinado. Da mesma forma, incrementar 255 causará um estouro sem sinal. Simplesmente carregar o valor 0 em um registrador normalmente definirá um sinalizador zero no chip. Imagine que o programa de rede se parece com isso no pseudocódigo:

if (value == 0) doLocal (); if (value == 127) doLoopback (); if (valor == 255) doNetwork ();

Embora dependa do chip, naqueles dias a maioria dos chips podia codificar esses testes com 2 palavras, 3 palavras e 3 palavras, respectivamente (total de 8 palavras) e, além disso, esses testes específicos provavelmente eram executados em 1 ciclo de clock cada. Usar qualquer outro valor provavelmente exigiria 4 palavras cada (total de 12 palavras), um aumento de 50% no tamanho do código e provavelmente um aumento de 50% no tempo de execução.

Por que o localhost IP 127.0.0.1?

Algumas pessoas sugerem que isso está relacionado à limitação do processador dos computadores antigos. Foi escolhido para garantir os cálculos mais simples pelo processador.

Outras pessoas pensam que o intervalo reservado foi escolhido aleatoriamente, mas eu não gosto dessa teoria. Embora quando a internet foi criada, eles não imaginavam como a internet seria nos próximos anos, o que é completamente compreensivo, mas essas pessoas eram gênios, trabalhadores esforçados, etc., para escolher as coisas aleatoriamente.

Para pessoas por aí estudando CompTIA Network + ou CCNA, verifique

AlphaPrep.net

para materiais de estudo de alta qualidade e testes práticos.

  • Voto positivo se você achar isso útil.
  • Comente se você tem uma pergunta ou algo para compartilhar.
  • Siga se você estiver interessado em ler mais sobre computadores e redes.

Tenha um bom dia : )

Perguntas relacionadas:

  • Ethernet: o que acontece se dois dispositivos conectados à Internet tiverem o mesmo endereço MAC? Eles funcionam bem?
  • Qual é a maneira mais fácil de conectar dois computadores?
  • Qual é a melhor maneira de obter um IP público estático gratuitamente?
  • Para que é usada a porta 443?
  • O que é o processo do DORA no DHCP? -

Questão do dia:

  • CompTIA A +: Qual dos seguintes sistemas operacionais as tabelas da Apple usam?
  • Rede +: Qual identificador localmente significativo é usado por uma rede Frame Relay para fazer referência a um circuito virtual?
  • Segurança +: Qual das opções a seguir provavelmente permitirá que um invasor force uma opção a funcionar como um hub?
  • CCNA: Qual das alternativas a seguir foi uma solução de curto prazo para o problema de exaustão de endereços IPv4?
  • CCNP: Supondo que R4 e R5 foram configurados com o comando redistribuir ospf 10, qual seria a métrica da rota para 10.100.100.0/24 do R8?