Exatamente quantos endereços IPv4 válidos existem?

6

Questão aparentemente simples, com casos de borda e canto suficientes para os quais não confio em minha capacidade de calculá-la. Qual é o número exato de endereços IPv4 válidos que poderiam ser usados como destinos individuais? Em outras palavras, 2 ^ 32 menos blocos reservados, endereços multicast, redes privadas, etc.

Atualização: a resposta de MK é excelente, mas ... como sobre um limite superior, assumindo o uso eficiente máximo de CIDRs?

    
por Foo Bar 25.05.2014 / 15:46

1 resposta

17

Isso teria sido mais fácil de responder vinte anos atrás, antes que o CIDR se tornasse comum.

Eu assumo que por "válido" você quer dizer algo que com a configuração de roteador comum na Internet representará um host de endpoint válido. É perfeitamente possível executar uma rede IPv4 que não tenha absolutamente nada a ver com a Internet, caso em que muitas suposições sobre a alocação de espaço de endereço feitas na Internet pública não serão válidas.

Algumas partes do espaço de endereço são fáceis. Temos 2 ^ 32 possíveis endereços e, a partir disso, podemos subtrair coisas como o antigo espaço da Classe E (primeiro octeto 240-255), RFC 1918 (10/8, 172.16 / 12, 192.168 / 16 ), intervalos reservados para vários propósitos ( 100.64 / 10 , 127/8, 169.254 / 16, ...) e assim em. Também existem netblocks que é extremamente improvável que você encontre na Internet pública, como o AMPRNET (netblock 44/8), mas que não são reservados por si só.

No entanto, isso realmente não nos traz uma resposta. A alocação de IPv4 atualmente é feita usando o CIDR, o que significa que dois netblocks adjacentes podem ter máscaras de rede completamente diferentes. É perfeitamente possível ter sub-redes como 10.0.127.240/28 e 10.0.128.0/17 sentadas uma ao lado da outra e pertencentes à mesma alocação upstream, digamos, 10.0 / 9. (Sim, esse é o espaço da RFC 1918, mas isso é apenas para que eu não nomeie acidentalmente a rede real de alguém.)

Idealmente empacotados, 16 adjacentes / 28 blocos exigem um total de 24/24 de espaço de endereço, então você pode pensar que ele permitiria o mesmo número de hosts que um único / 24. Mas eles não fazem; cada / 28 tem sua própria rede e endereço de broadcast, enquanto o / 24 tem apenas um desses conjuntos. Então você está, de certo modo, "desperdiçando" 30 endereços IP adicionais (16 endereços de rede e 16 de transmissão, em vez de um de cada). O conjunto de / 28 blocos permite endereçar um total geral de 16 × 14 = 224 hosts, enquanto o single / 24 permite endereçar 254 hosts. (Para simplificar, considero o roteador de perímetro de sub-rede como um host na sub-rede, mas na vida real, é outra atribuição obrigatória para cada sub-rede.) Esse efeito se torna mais pronunciado quanto menores as alocações de sub-rede feitas. A escolha de dividir um / 29, / 28, / 24 ou mesmo um / 20 é uma opção de negócio feita pelo provedor, com base nas necessidades demonstradas pelo cliente e provavelmente também na capacidade e disposição do cliente de pagar pelo espaço de endereçamento. . Enviei um pedido de alocação de IPv4 para uma empresa que trabalhei há pouco mais de dez anos e, mesmo assim, obter algo maior que um / 28 não era trivial

.

O que tudo isso significa é que não há como calcular um número máximo exato de hosts endereçáveis na Internet, porque, mesmo que enumeremos e levemos em conta todos os intervalos de endereços IP reservados, ainda precisaríamos saber os tamanhos de alocação de sub-rede para contabilizar a quantidade variável de perdas em endereços de rede e transmissão. Antes do CIDR, isso era cognoscível; a classe A era a / 8, a classe B era a / 16 e a classe C era a / 24. Com o CIDR, essas suposições não podem ser feitas.

    
por 25.05.2014 / 16:14

Tags