AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1725375
Accepted
Mojtaba Rezaeian
Mojtaba Rezaeian
Asked: 2022-06-09 04:48:24 +0800 CST2022-06-09 04:48:24 +0800 CST 2022-06-09 04:48:24 +0800 CST

Por que não temos um endereço IP utilizável em 127.0.0.0?

  • 772

Da teoria, cada parte de um endereço IP é um número entre 0 e 255 (256 slots utilizáveis ​​no total).

Mas por que 0não é usado em nenhum endereço IP em sua 4ª parte e eles sempre começam em 1 nos cálculos de endereços IP?

Por exemplo:

127.0.0.1 <=== logically this should start from 0 as the first usable IP address.
192.168.0.1 <=== for example even default router IP address is set to 1 rather than to be 0
10.10.0.1
.
.

Por que o 0slot é sempre ignorado na última parte?

networking ip
  • 6 6 respostas
  • 6465 Views

6 respostas

  • Voted
  1. user1686
    2022-06-09T04:58:08+08:002022-06-09T04:58:08+08:00

    No IPv4, o primeiro endereço de uma sub-rede é reservado por motivos pouco claros, na verdade, mas provavelmente porque há muito tempo costumava ser o endereço de "transmissão". (Mais tarde, o último endereço tornou-se o endereço de broadcast padrão.)

    Então, hoje em dia, pode ser possível usar o primeiro endereço, tecnicamente, mas a maioria das pilhas de rede existentes ainda o trata como "reservado" (mais ou menos como todo o espaço ex-"Class E" 240.0.0.0/4 se tornou acidentalmente inutilizável).

    Observe que é especificamente o primeiro endereço de uma sub-rede e nem sempre o 0endereço. Esses só correspondem no caso de uma sub-rede /24. Mas, por exemplo, uma sub-rede /16 terá .0.0reservado, mas não .1.0 ou .47.0– esses estão no meio do /16, então são endereços de host perfeitamente válidos.

    (E, por outro lado, uma sub-rede /27 menor poderia começar não apenas em, .0mas também em .32ou .192– essas seriam novamente reservadas em /27, mesmo que não fossem reservadas em /24.)

    Observe também que isso se aplica apenas a sub-redes de transmissão (por exemplo, ethernet). Esses endereços ainda podem ser usados ​​em links ponto a ponto ou roteados individualmente como /32's.

    • 34
  2. penguin359
    2022-06-11T12:16:16+08:002022-06-11T12:16:16+08:00

    Nas especificações IPv4, o endereço mais baixo em qualquer rede IPv4 é reservado como o endereço de rede que tem uma finalidade distinta do endereço de transmissão que normalmente é o endereço mais alto da rede (embora possa ser configurado de maneira diferente se você estiver procurando diversão) . A ideia de um endereço de rede faz mais sentido antes das redes sem classe e das máscaras de sub-rede. O conceito por trás de sub-redes e máscaras de sub-rede era um complemento ao IPv4 não presente na especificação original.

    Atualização: Não há nada de mágico sobre ele terminar em ".0", mas simplesmente que é o endereço mais baixo em uma sub-rede (que nem sempre pode ser .0).

    Originalmente, o IPv4 era classful e dividido em 5 classes; A, B, C, D e E. Redes classe A são todos IPs que têm o bit significativo mais alto como 0 ou, em outras palavras, IPs de 0.0.0.0 a 127.255.255.255. Os endereços IPv4 cujos dois bits superiores são 10 são da classe B que corresponde aos endereços 128.0.0.0 a 191.255.255.255. A classe C começa 110xxxxx em seu primeiro octeto ou endereços 192.0.0.0 a 223.255.255.255. A classe D tem um primeiro octeto correspondente a 1110xxxx, fornecendo os IPs 224.0.0.0 a 239.0.0.0. Finalmente, a Classe E é 1111xxxx ou IPs 240.0.0.0 a 255.255.255.255. Os endereços classe E são considerados reservados e não têm uso definido, com exceção especial de 255.255.255.255. Classe D são endereços multicast usados ​​para enviar pacotes para grupos de computadores juntos. As classes AC são seus IPs unicast normais, onde os dispositivos individuais obtêm um IP em alguma rede.

    Com isso dito, o que define o tamanho de cada rede é sua classe. As redes de classe A são definidas para ter os primeiros 8 bits ou o primeiro octeto como parte da rede do endereço e os 24 bits restantes são a parte específica do host do endereço em uma única rede IPv4. A classe B dividiu em 16 bits e 16 bits ou 2 octetos cada. As redes de classe C usaram os primeiros 24 bits como parte da rede e os últimos 8 bits como parte do host. Em termos modernos, uma rede de classe A tem uma sub-rede /8, a classe B é uma /16 e a classe C é uma sub-rede /24. A separação entre a parte da rede e do host do endereço IPv4 é importante para o roteamento de pacotes e é como qualquer dispositivo decide se pode enviá-lo diretamente para o sistema na rede local ou se deve enviá-lo a um roteador para encaminhá-lo para outro lugar . Antes das pilhas e protocolos de rede IPv4 implementarem a sub-rede,

    Você pode ver resquícios disso em protocolos como o protocolo de roteamento RIPv1. Ele apenas anuncia IPs, não máscaras de sub-rede, portanto, a distinção entre um endereço de host e um endereço de rede foi fundamental. Se um endereço RIPv1 anunciou um endereço de 192.0.0.0, esse é o endereço mais baixo em uma rede de classe B, portanto, é o endereço de rede para toda a rede. Ele informaria a outros dispositivos que todos os sistemas de 192.0.0.0 a 192.0.255.255 estavam disponíveis nessa rota (já que a classe B usa os dois primeiros octetos para rede, 192.0 neste exemplo). No entanto, se ele anunciou 192.0.0.1, esse não é o endereço mais baixo nessa rede, portanto, é um endereço de host. Isso significa que o RIPv1 está anunciando uma rota para um único host específico, não para uma rede inteira. Talvez seja um modem dial-up ou tenha algum outro motivo para obter uma rota exclusiva,

    Agora que as sub-redes são comuns e os protocolos mais novos, como o RIPv2, enviam a máscara de sub-rede junto com o IP, todo o conceito de endereço de rede é um pouco redundante, mas estamos presos a ele por motivos históricos. Uma rota específica do host pode ser anunciada com uma máscara de sub-rede de 255.255.255.255, mas ainda temos que manter a compatibilidade com o software que assume que um endereço de rede está presente na parte inferior do intervalo de rede.

    Atualizar:Para esclarecer melhor, aqui estão alguns exemplos. Se você dividir o intervalo de endereços IP 10.xxx em /26 sub-redes, isso dará a cada sub-rede 64 endereços totais (62 utilizáveis ​​para hosts), já que apenas 6 bits do IP de 32 bits permanecem para a parte do host. Os primeiros cinco endereços de rede de sub-rede seriam 10.0.0.0, 10.0.0.64, 10.0.0.128, 10.0.0.192 e 10.0.1.0. Os endereços de broadcast padrão seriam o endereço mais alto na sub-rede e corresponderiam a 10.0.0.63, 10.0.0.127, 10.0.0.191 e 10.0.1.63, respectivamente. Se, em vez disso, fosse usada uma sub-rede /23, cada rede teria 512 endereços (510 utilizáveis). As primeiras cinco sub-redes são 10.0.0.0, 10.0.2.0, 10.0.4.0 e 10.0.6.0. Os endereços de broadcast correspondentes são 10.0.1.255, 10.0.3.255, 10.5.255 e 10.7.255. Observe que, neste último exemplo, 10.0.1.0, 10.0.3.0 e assim por diante não são endereços de rede. Eles são perfeitamente utilizáveis ​​como IPs regulares para hosts porque estão no meio do intervalo de sub-rede. Apenas os primeiros e últimos endereços são especiais. 10.0.0.255 também pode ser usado de forma semelhante como um host regular.

    • 6
  3. Best Answer
    larsks
    2022-06-11T10:17:07+08:002022-06-11T10:17:07+08:00

    Mas por que 0 não é usado em nenhum endereço IP em sua 4ª parte e eles sempre começam em 1 nos cálculos de endereços IP?

    Com relação ao título da sua pergunta, pelo menos no Linux, 127.0.0.0é um endereço perfeitamente útil (que, como qualquer outro 127.*endereço, mapeia para a interface de loopback).

    Por exemplo, posso iniciar um servidor web em 127.0.0.0:8080:

    docker run -d --rm --hostname node1 --name node1 -p 127.0.0.0:8080:8080 alpine \
      sh -c "apk add --update darkhttpd; mkdir /srv; hostname > /srv/index.html; darkhttpd /srv --port 8080"
    

    E então inicie outro vinculado a 127.0.0.1:8080:

    docker run -d --rm --hostname node2 --name node2 -p 127.0.0.1:8080:8080 alpine \
      sh -c "apk add --update darkhttpd; mkdir /srv; hostname > /srv/index.html; darkhttpd /srv --port 8080"
    

    E agora posso acessar esses servidores em seus respectivos endereços:

    $ curl 127.0.0.0:8080
    node1
    $ curl 127.0.0.1:8080
    node2
    
    • 2
  4. cybernard
    2022-06-11T10:55:56+08:002022-06-11T10:55:56+08:00

    Muitas décadas atrás, o endereço 127.0.0.0/8 foi designado como um endereço de loopback interno. Adequado apenas para tráfego local com o PC local.

    Desde que a decisão foi tomada anos atrás, todos os fabricantes de roteadores designaram esse endereço como não roteável. Muitos roteadores antigos podem ser codificados e não removíveis. Alguns exigiriam um novo firmware, e o fabricante os designou como fim de linha para que nunca recebam um novo firmware. Isso exigiria que muitas centenas, senão milhares de roteadores fossem substituídos. Alguns existem que você pode reprogramar.

    Portanto, cada roteador na Internet descartará qualquer destino de tráfego para o endereço 127.0.0.0/8. O tráfego nunca passará pela internet devido a isso.

    Literalmente dezenas de milhares de roteadores teriam que ser reprogramados para permitir que esse endereço fosse roteado. Um único roteador não compatível entre você e seu destino e o pacote nunca chegará até você.

    Mesmo que a mudança fosse feita agora, levaria anos para que os pacotes chegassem a ela de forma confiável.

    • 2
  5. linux-coding649
    2022-06-11T11:41:02+08:002022-06-11T11:41:02+08:00

    No IPv4, qualquer IP que termine em .0 significa que é um endereço de rede (padrão) quando você usa o prefixo /24. Você não pode usar este endereço e atribuí-lo a um computador. Os IPs 'permitidos' a serem atribuídos são de .1 a .254. Você também não pode usar .255 porque ele é usado como endereço de 'difusão' para a rede.

    • 1
  6. Remember Monica
    2022-06-10T17:39:40+08:002022-06-10T17:39:40+08:00

    A pergunta está carregada - endereços IPv4 não são o que você afirma, mas podem ser representados como quatro números entre 0 e 255 (mas muitas outras representações são possíveis, usadas e válidas, como 10.5, 0x7f.0 e assim por diante).

    O que você está se perguntando é por que o primeiro endereço em uma sub-rede geralmente não é usado. Mas isso não tem nada a ver com um octeto ser zero, pois os exemplos a seguir mostram que são todos os primeiros endereços dentro de sua sub-rede: 10.0.0.248, 127.1.0.160, 192.168.101.2.

    A razão pela qual o primeiro endereço é frequentemente reservado tem razões históricas e de compatibilidade - se você puder desperdiçar o primeiro endereço, pode ser prudente melhorar a compatibilidade com dispositivos antigos e quebrados. Como os endereços IPv4 são premium hoje em dia, isso se torna menos comum.

    • -2

relate perguntas

  • A conexão do usuário ao servidor SFTP usando o FileZilla se recusa a conectar

  • É possível usar FTP sem sistema de arquivos no cliente?

  • Como funciona um NAT atrás de um NAT (NAT do roteador e NAT do ISP)?

  • Win10 1803: Como tornar o ponto de acesso móvel uma rede privada?

  • Como o nc identifica nomes de serviço

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve