Minha maneira de calcular o número da máscara de rede do host, por exemplo: quero saber o número de hosts da máscara de rede 255.255.255.192 (prefixo 26)
255.255.255.192 11111111.11111111.11111111.11000000 26 128+64=192
o 192 é 128+64 dos dois bits "1" do último octeto, o número do host é o número de 0 bits (parte do host) do último octeto, então 000000 são 6, então 2^6-2 é 62 , e o ipcalc confirma que está ok
ipcalc 10.2.0.1/26
Address: 10.2.0.1 00001010.00000010.00000000.00 000001
Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111
=>
Network: 10.2.0.0/26 00001010.00000010.00000000.00 000000
HostMin: 10.2.0.1 00001010.00000010.00000000.00 000001
HostMax: 10.2.0.62 00001010.00000010.00000000.00 111110
Broadcast: 10.2.0.63 00001010.00000010.00000000.00 111111
Hosts/Net: 62 Class A, Private Internet
Minha dúvida é: como saber/calcular o número de sub-redes com prefixo..por exemplo 26 ou 27? Eu tenho que fazer a parte líquida (26 "1" bit^2=)?
Encontrei a solução para calcular sub-redes, por exemplo, para máscara de rede com prefixo 29
temos no último octeto
então, o número de host é 6
o número de sub-redes é 32
Dessa forma está ok para classe C de ip, para classe A e B é um pouco difícil, mas uma boa e boa ajuda está aqui
Como você já sabe ao calcular hosts, se você tiver
n
bits, poderá ter diferentes combinações desses bits. Você também pode usar exatamente o mesmo cálculo para sub-redes – pelo menos quando todas as sub-redes tiverem o mesmo tamanho.2n
Por exemplo, se você tiver uma rede /24 (também conhecida como "classe C") e quiser dividi-la em sub-redes /29 de tamanho igual, usará 29-24 = 5 bits de sub-rede e, portanto, terá 2 (29- 24) = 2 5 = 32 sub-redes.
Isso funciona independentemente do tamanho da rede; qualquer diferença de 'classes' é irrelevante. Como outro exemplo, se você tiver uma rede /16 e quiser dividi-la em /27 , será 2 (27−16) = 2 11 = 2048 sub-redes.
(E se você dividir uma rede em /32, obterá o número de hosts da mesma forma!)