Calculadora CIDR: aritmética de bits, e a exceção do /31 que a maioria esquece
Um endereço IPv4 é, por baixo da notação decimal com pontos, um único
número de 32 bits. A notação CIDR (/24, /16
etc.) especifica quantos desses 32 bits pertencem à porção de
rede — os demais bits formam a porção de
host, o espaço de endereços disponível dentro daquela
sub-rede. Esta calculadora converte o IP para um inteiro de 32 bits,
constrói a máscara de sub-rede deslocando bits (0xFFFFFFFF <<
(32 - prefixo) — todos os bits 1 na porção de rede, todos 0 na
porção de host), e a partir daí calcula endereço de rede (IP
AND máscara), broadcast (rede OR a máscara
invertida) e a faixa de hosts utilizáveis por operações bit a bit
puras — a mesma aritmética que qualquer roteador ou sistema operacional
executa internamente para decidir se dois endereços estão na mesma
sub-rede.
Por que hosts utilizáveis é "total menos 2" — exceto quando não é
A regra comum — endereços utilizáveis numa sub-rede é o total de
endereços menos 2 (o primeiro é o endereço de rede, o último é o
broadcast, nenhum dos dois atribuível a um host) — vale para a maioria
dos prefixos, mas quebra em dois casos específicos que esta calculadora
trata separadamente: um prefixo /32 representa um único
host isolado (nenhum bit sobra para a porção de host, então não há
conceito de rede/broadcast separados — é 1 endereço, 1 host
utilizável), e um prefixo /31, pela RFC 3021, é uma
exceção deliberada criada especificamente para links ponto-a-ponto
(enlaces diretos entre dois roteadores): nesse caso, os 2 endereços
disponíveis são ambos utilizáveis, sem reservar um
para rede e outro para broadcast — economia de endereços relevante em
IPv4, onde cada endereço importa.
Uso em planejamento de sub-rede e depuração de conectividade
Calcular manualmente se dois IPs estão na mesma sub-rede, ou determinar
quantos hosts uma sub-rede específica comporta antes de dividir uma
rede maior em sub-redes menores (subnetting), é uma tarefa propensa a
erro de aritmética binária feita de cabeça — especialmente em
prefixos que não caem em byte completo (/27,
/29, por exemplo, onde a máscara corta no meio de um
octeto). Uma calculadora dedicada elimina esse erro exatamente no tipo
de tarefa (configuração de firewall, planejamento de VLAN, depuração
de "por que esses dois servidores não se enxergam na rede") onde um
bit calculado errado tem consequência operacional real.