O que é máscara de sub-rede? Binário, cálculo e tabela

Uma máscara de sub-rede é um número de 32 bits que divide um endereço IPv4 em uma parte de rede e uma parte de host. Os bits em 1 marcam a rede, e os bits em 0 marcam o host. A máscara mais comum, 255.255.255.0, começa com 24 uns, por isso também é escrita /24 e deixa 254 endereços de host utilizáveis.

Experimente grátis: Calculadora de Sub-rede IPv4 Gratuito e sem necessidade de conta.

Então, o que é máscara de sub-rede na prática? Cada dispositivo compara o próprio endereço com um destino por meio da máscara para decidir se o destino está na rede local ou precisa ser alcançado pelo roteador. Este guia mostra o binário por trás disso, como calcular uma máscara, um exemplo de sub-redes, as máscaras curinga e uma tabela completa. Para conferir qualquer exemplo enquanto lê, digite-o na Calculadora de Sub-rede IPv4 gratuita.

O que é máscara de sub-rede em binário?

Um endereço IPv4 são quatro números de 8 bits (octetos), e uma máscara de sub-rede também. Em binário, 255.255.255.0 é:

11111111.11111111.11111111.00000000

Os uns sempre vêm primeiro e em sequência contínua: uma máscara válida é uma sequência de uns seguida de uma sequência de zeros, nunca uma mistura. Por isso uma máscara pode ser descrita por um único número, a quantidade de uns. Essa forma curta é o comprimento de prefixo da notação CIDR: 192.168.1.10/24 significa o endereço 192.168.1.10 com a máscara 255.255.255.0. Para se aprofundar em blocos CIDR, veja como calcular um bloco CIDR.

Apenas oito valores podem aparecer em um octeto de uma máscara válida:

Uns no octeto 1 2 3 4 5 6 7 8
Valor do octeto 128 192 224 240 248 252 254 255

Um octeto zerado (0) é a nona opção; qualquer outro número, como 255.255.255.100, torna a máscara inválida.

Como a máscara encontra a rede: um exemplo de AND passo a passo

Um dispositivo encontra o endereço de rede combinando o endereço IP e a máscara com um AND bit a bit: cada bit do resultado é 1 somente quando os dois bits de entrada são 1. Veja 192.168.10.37/26. Uma máscara /26 tem 26 uns, ou seja, 255.255.255.192:

Endereço IP  192.168.10.37    11000000.10101000.00001010.00100101
Máscara      255.255.255.192  11111111.11111111.11111111.11000000
AND          192.168.10.0     11000000.10101000.00001010.00000000

Os três primeiros octetos passam sem alteração. No último, 37 é 00100101 e a máscara é 11000000, então só os dois bits mais altos sobram, e ambos são 0. O endereço de rede é 192.168.10.0.

O endereço de broadcast é o endereço de rede com todos os bits de host em 1: 00111111 no último octeto, que é 63. Isso completa o quadro:

Item Valor
Endereço de rede 192.168.10.0
Primeiro host utilizável 192.168.10.1
Último host utilizável 192.168.10.62
Endereço de broadcast 192.168.10.63
Total de endereços 64
Hosts utilizáveis 62

Um dispositivo em 192.168.10.37/26 envia o tráfego para 192.168.10.50 diretamente, porque esse endereço está no mesmo /26. O tráfego para 192.168.10.70 vai para o gateway padrão, porque .70 pertence ao bloco seguinte.

Como calcular a máscara de sub-rede

Há dois pontos de partida comuns: você sabe o comprimento do prefixo ou sabe quantos hosts a rede precisa comportar.

A partir do comprimento do prefixo

Escreva tantos uns quanto o prefixo indica, complete com zeros até 32 bits e converta cada octeto para decimal. Para /20:

11111111.11111111.11110000.00000000  =  255.255.240.0

O terceiro octeto tem quatro uns, e a tabela acima dá 240 para quatro uns. Um atalho: o prefixo diz quantos octetos inteiros de 255 existem (20 ÷ 8 = 2, resto 4), e o resto define o valor do octeto seguinte.

A partir do número de hosts necessários

Cada sub-rede perde dois endereços, o de rede e o de broadcast, então a regra é:

hosts utilizáveis = 2^h − 2, em que h é o número de bits de host (zeros da máscara).

Encontre o menor h para o qual 2^h − 2 seja pelo menos o número de hosts necessários e calcule prefixo = 32 − h.

Deixe folga para crescer, porque renumerar depois dá muito mais trabalho do que escolher agora um bloco um pouco maior. Você pode confirmar o resultado na calculadora de máscara de sub-rede digitando, por exemplo, 10.0.0.0/23 e lendo o primeiro e o último endereço.

O que é subnetting? Dividindo um /24 em quatro redes /26

Fazer subnetting (divisão em sub-redes) significa dividir uma rede em redes menores, deslocando para a direita o limite entre os bits de rede e os de host. Cada bit emprestado da parte de host dobra o número de sub-redes e reduz o tamanho delas pela metade.

Suponha que você tenha 192.168.10.0/24 (256 endereços) e precise de quatro redes separadas, por exemplo para funcionários, visitantes, servidores e câmeras. Quatro sub-redes exigem 2 bits emprestados (2^2 = 4), então o prefixo passa de /24 para /26 e a máscara fica 255.255.255.192. Cada sub-rede tem 2^6 = 64 endereços, 62 deles utilizáveis:

Sub-rede Endereço de rede Faixa de hosts utilizáveis Endereço de broadcast
1 192.168.10.0/26 192.168.10.1 – 192.168.10.62 192.168.10.63
2 192.168.10.64/26 192.168.10.65 – 192.168.10.126 192.168.10.127
3 192.168.10.128/26 192.168.10.129 – 192.168.10.190 192.168.10.191
4 192.168.10.192/26 192.168.10.193 – 192.168.10.254 192.168.10.255

Os endereços de rede sobem de 64 em 64, que é o tamanho do bloco. Um jeito rápido de achá-lo é 256 menos o octeto relevante da máscara: 256 − 192 = 64. Juntas, as quatro sub-redes oferecem 248 hosts utilizáveis em vez de 254, porque cada uma gasta dois endereços com o próprio endereço de rede e de broadcast.

Máscaras curinga: o inverso da máscara de sub-rede

Uma máscara curinga (wildcard) inverte cada bit da máscara de sub-rede: os zeros marcam bits que precisam coincidir, e os uns, bits que podem variar. Para calculá-la, subtraia cada octeto de 255: 255.255.255.192 vira 0.0.0.63.

Roteadores Cisco usam máscaras curinga em listas de controle de acesso (ACLs) e nas instruções network do OSPF:

access-list 10 permit 192.168.10.0 0.0.0.63
router ospf 1
 network 192.168.10.0 0.0.0.63 area 0

As duas linhas se referem ao mesmo /26 do exemplo. Ao contrário das máscaras de sub-rede, as máscaras curinga em ACLs não precisam ser contínuas, mas para sub-redes comuns elas são simplesmente o inverso.

Redes classful e máscaras padrão

Antes de 1993, o IPv4 usava classes fixas, e o primeiro octeto de um endereço definia sua máscara:

Classe Primeiro octeto Máscara padrão Prefixo
A 1–126 255.0.0.0 /8
B 128–191 255.255.0.0 /16
C 192–223 255.255.255.0 /24

A classe D (224–239) é reservada para multicast e a classe E (240–255) para uso experimental, e o 127 fica reservado para loopback. Como as organizações só podiam receber blocos de 256, 65.536 ou 16.777.216 endereços, o sistema desperdiçava espaço. O roteamento entre domínios sem classes (CIDR) o substituiu por prefixos de qualquer comprimento, e sua especificação atual é a RFC 4632. Hoje a classe de um endereço não tem significado técnico, embora as antigas máscaras padrão ainda apareçam como sugestão em muitas telas de configuração.

Faixas de endereços privados e suas máscaras

A RFC 1918 reserva três blocos para redes privadas, que não são roteadas na internet pública:

Faixa privada Prefixo Máscara de sub-rede Total de endereços
10.0.0.0 – 10.255.255.255 10.0.0.0/8 255.0.0.0 16.777.216
172.16.0.0 – 172.31.255.255 172.16.0.0/12 255.240.0.0 1.048.576
192.168.0.0 – 192.168.255.255 192.168.0.0/16 255.255.0.0 65.536

Raramente se usa um bloco inteiro como uma única rede. Um roteador doméstico típico, por exemplo, usa um único 192.168.1.0/24 ou 192.168.0.0/24 com a máscara de sub-rede 255.255.255.0.

Máscaras de sub-rede no IPv6

O IPv6 não tem máscaras de sub-rede com pontos. As redes são escritas só com um comprimento de prefixo, como 2001:db8:1234:5678::/64, e /64 é o tamanho padrão para um segmento de LAN, porque a autoconfiguração sem estado (SLAAC) precisa de um identificador de interface de 64 bits. O IPv6 também não tem endereço de broadcast, então a regra do "menos dois" não se aplica.

Erros comuns com máscaras de sub-rede

Tabela de máscaras de sub-rede: de /8 a /32

Esta tabela lista todos os prefixos de /8 a /32. Os hosts utilizáveis são 2^(32 − prefixo) − 2, com duas exceções: um /31 tem 2 endereços utilizáveis em um enlace ponto a ponto (RFC 3021), e um /32 é um único host.

Prefixo Máscara de sub-rede Máscara curinga Total de endereços Hosts utilizáveis
/8 255.0.0.0 0.255.255.255 16.777.216 16.777.214
/9 255.128.0.0 0.127.255.255 8.388.608 8.388.606
/10 255.192.0.0 0.63.255.255 4.194.304 4.194.302
/11 255.224.0.0 0.31.255.255 2.097.152 2.097.150
/12 255.240.0.0 0.15.255.255 1.048.576 1.048.574
/13 255.248.0.0 0.7.255.255 524.288 524.286
/14 255.252.0.0 0.3.255.255 262.144 262.142
/15 255.254.0.0 0.1.255.255 131.072 131.070
/16 255.255.0.0 0.0.255.255 65.536 65.534
/17 255.255.128.0 0.0.127.255 32.768 32.766
/18 255.255.192.0 0.0.63.255 16.384 16.382
/19 255.255.224.0 0.0.31.255 8.192 8.190
/20 255.255.240.0 0.0.15.255 4.096 4.094
/21 255.255.248.0 0.0.7.255 2.048 2.046
/22 255.255.252.0 0.0.3.255 1.024 1.022
/23 255.255.254.0 0.0.1.255 512 510
/24 255.255.255.0 0.0.0.255 256 254
/25 255.255.255.128 0.0.0.127 128 126
/26 255.255.255.192 0.0.0.63 64 62
/27 255.255.255.224 0.0.0.31 32 30
/28 255.255.255.240 0.0.0.15 16 14
/29 255.255.255.248 0.0.0.7 8 6
/30 255.255.255.252 0.0.0.3 4 2
/31 255.255.255.254 0.0.0.1 2 2 (ponto a ponto)
/32 255.255.255.255 0.0.0.0 1 1 (host único)

Confira o resultado com a calculadora de sub-rede

A Calculadora de Sub-rede IPv4 gratuita roda inteiramente no seu navegador. Digite um endereço com prefixo, como 192.168.10.37/26, ou com uma máscara com pontos depois da barra, como 10.0.0.0/255.255.0.0, e ela mostra:

Para um /31, ela mostra os dois endereços como utilizáveis e nenhum broadcast, e um endereço sem máscara é tratado como um único host (/32). Os botões "Bloco anterior" e "Próximo bloco" pulam para a sub-rede vizinha do mesmo tamanho, o que ajuda a percorrer as quatro redes /26 acima. A ferramenta só trabalha com IPv4, rejeita máscaras não contínuas, não aceita uma máscara separada por espaço e não calcula o prefixo a partir de um número de hosts; para essa etapa, use a fórmula acima.

Perguntas frequentes

O que significa a máscara de sub-rede 255.255.255.0?

É a máscara /24: os três primeiros octetos identificam a rede, e o último identifica o host. Uma rede /24 tem 256 endereços, dos quais 254 podem ser atribuídos a dispositivos, por exemplo de 192.168.1.1 a 192.168.1.254 em 192.168.1.0/24.

Como descubro a máscara de sub-rede do meu computador?

No Windows, execute ipconfig e procure a linha "Máscara de Sub-rede". No Linux, ip addr mostra o endereço com o prefixo, como 192.168.1.20/24. No macOS, ipconfig getoption en0 subnet_mask exibe a máscara da interface en0, e as configurações de rede também a mostram.

Por que um /31 tem dois endereços utilizáveis?

Depois de descontar os endereços de rede e de broadcast, um bloco de dois endereços não teria nenhum host. A RFC 3021 permite redes /31 em enlaces ponto a ponto, onde não é preciso broadcast, de modo que as duas pontas do enlace podem usar os dois endereços.

A máscara de sub-rede é a mesma coisa que o gateway padrão?

Não. A máscara de sub-rede define quais endereços estão na rede local, enquanto o gateway padrão é o endereço do roteador que cuida de todo o resto. Um dispositivo usa primeiro a máscara para decidir se um destino é local e só envia o tráfego ao gateway quando não é.

Experimente grátis: Calculadora de Sub-rede IPv4 Gratuito e sem necessidade de conta.