Sub-redes e CIDR explicados: prefixos, máscaras e hosts utilizáveis
Um endereço de rede, sozinho, não diz qual é o tamanho da rede. A notação CIDR acrescenta essa informação: 192.168.1.0/24 significa “a rede que começa em 192.168.1.0, na qual os primeiros 24 bits identificam a rede e os demais numeram os dispositivos dentro dela”. Depois que você aprende a ler esse número, máscaras de sub-rede, contagem de hosts e planos de endereçamento deixam de ser adivinhação. Este guia explica a notação, os tamanhos mais comuns e como dividir uma rede em várias.
O que significa o número depois da barra
Um endereço IPv4 tem 32 bits. O comprimento do prefixo — o número depois da barra — diz quantos desses bits, contados da esquerda, identificam a rede. Os bits restantes identificam um dispositivo dentro dela.
/2424 bits de rede, 8 bits de host: 2⁸ = 256 endereços./2626 bits de rede, 6 bits de host: 2⁶ = 64 endereços./1616 bits de rede, 16 bits de host: 65.536 endereços.
Cada unidade a mais ou a menos no prefixo divide a rede pela metade ou a dobra: um /25 é metade de um /24, e um /23 são dois /24 lado a lado.
Antes do CIDR, as redes vinham em três tamanhos fixos — as classes A, B e C, equivalentes a /8, /16 e /24. O CIDR substituiu essas classes em 1993 para que as redes pudessem ter qualquer tamanho. Isso retardou o esgotamento dos endereços IPv4 e permitiu que os provedores anunciassem muitas redes pequenas ao resto da internet como um único bloco maior.
Máscaras de sub-rede: a mesma coisa, por extenso
A máscara de sub-rede é o comprimento do prefixo escrito como um endereço: bits 1 na parte da rede, bits 0 na parte do host. Um /24 são 24 uns seguidos de 8 zeros, o que dá 255.255.255.0. Equipamentos mais antigos e muitas configurações de sistemas operacionais pedem a máscara; os mais novos aceitam o prefixo. As duas formas significam exatamente a mesma coisa.
Algumas configurações de roteadores e firewalls usam no lugar dela uma máscara curinga (wildcard), que é a máscara invertida: 0.0.0.255 para um /24.
Os tamanhos mais comuns
| Prefixo | Máscara de sub-rede | Endereços | Hosts utilizáveis |
|---|---|---|---|
/8 | 255.0.0.0 | 16.777.216 | 16.777.214 |
/16 | 255.255.0.0 | 65.536 | 65.534 |
/20 | 255.255.240.0 | 4.096 | 4.094 |
/22 | 255.255.252.0 | 1.024 | 1.022 |
/23 | 255.255.254.0 | 512 | 510 |
/24 | 255.255.255.0 | 256 | 254 |
/25 | 255.255.255.128 | 128 | 126 |
/26 | 255.255.255.192 | 64 | 62 |
/27 | 255.255.255.224 | 32 | 30 |
/28 | 255.255.255.240 | 16 | 14 |
/29 | 255.255.255.248 | 8 | 6 |
/30 | 255.255.255.252 | 4 | 2 |
/31 | 255.255.255.254 | 2 | 2 (só enlaces ponto a ponto) |
/32 | 255.255.255.255 | 1 | 1 (um único host) |
Por que faltam dois endereços
Em toda sub-rede IPv4 até /30, dois endereços não podem ser atribuídos a um dispositivo. O primeiro, com todos os bits de host em zero, é o endereço de rede: o nome da própria sub-rede. O último, com todos os bits de host em um, é o endereço de broadcast: um pacote enviado a ele chega a todos os dispositivos da sub-rede.
Tome como exemplo 192.168.10.34/26. O /26 deixa 6 bits de host, então a sub-rede tem 64 endereços:
192.168.10.0Endereço de rede.192.168.10.1Primeiro host utilizável.192.168.10.62Último host utilizável.192.168.10.63Endereço de broadcast.
Dois tamanhos são exceções. Um /31 tem só dois endereços, e em um enlace entre dois roteadores os dois podem ser usados, porque esse tipo de enlace não precisa nem de endereço de rede nem de broadcast. Um /32 é um único endereço, usado em uma rota para um só host ou em uma regra de firewall que corresponde exatamente a uma máquina.
Como dividir uma rede em sub-redes
Para dividir uma rede, desloque o prefixo para a direita. Cada bit que você toma emprestado da parte de host dobra o número de sub-redes e reduz o tamanho de cada uma pela metade.
Digamos que você tenha 192.168.0.0/24 e precise de oito redes separadas. Oito é 2³, então tome três bits emprestados: 24 + 3 = /27. Cada /27 tem 32 endereços, dos quais 30 são utilizáveis, e uma nova sub-rede começa a cada 32 endereços:
192.168.0.0/27Hosts .1 a .30.192.168.0.32/27Hosts .33 a .62.192.168.0.64/27Hosts .65 a .94 — e assim por diante, até 192.168.0.224/27.
No sentido inverso: para acomodar 50 dispositivos, você precisa de pelo menos 52 endereços — os 50 mais os endereços de rede e de broadcast. A menor potência de dois que cobre isso é 64, um /26, com 62 hosts utilizáveis. Deixe espaço para crescer: uma rede que está exatamente cheia hoje será pequena demais no ano que vem.
A calculadora faz as duas coisas: divide uma rede base em um número de sub-redes ou encontra o prefixo que comporta um número de hosts.
CIDR no IPv6
O IPv6 usa a mesma notação com barra, mas na prática os tamanhos são outros. O tamanho padrão de uma única rede é /64: 64 bits para a rede e 64 para os dispositivos dentro dela — cerca de 18 quintilhões de endereços. A configuração automática de endereços depende dessa divisão, por isso as redes IPv6 não são reduzidas para economizar espaço.
Os provedores entregam a cada cliente um bloco com vários /64 para dividir. Um /56, comum em residências, tem 256 deles; um /48, comum em empresas, tem 65.536. O IPv6 não tem broadcast, então nenhum endereço é reservado para isso.
Perguntas frequentes
192.168.1.0/24 é o mesmo que 192.168.1.0 com a máscara 255.255.255.0?
Sim. O prefixo e a máscara são duas formas de escrever o mesmo tamanho.
Por que não posso usar 192.168.1.0 ou 192.168.1.255 para um dispositivo em um /24?
São os endereços de rede e de broadcast dessa sub-rede. Alguns dispositivos os aceitam mesmo assim, mas o tráfego de e para eles se comporta de forma imprevisível.
O que significa 0.0.0.0/0?
Todos os endereços IPv4: um prefixo de zero bits corresponde a tudo. É assim que se escrevem a rota padrão e as regras de firewall do tipo “permitir de qualquer lugar”. O equivalente no IPv6 é ::/0.
Um número de prefixo maior significa uma rede maior?
Não, é o contrário. Um /28 é bem menor do que um /24: quanto maior o prefixo, menos bits sobram para os hosts.