Máscara de rede é um daqueles assuntos que parecem difíceis porque quase sempre são explicados de trás para frente, começando por tabela decorada em vez da ideia. A ideia é simples: um endereço IP carrega duas informações grudadas, em qual rede o aparelho está e qual aparelho ele é, e a máscara é a régua que separa uma da outra. Depois que isso fica claro, o resto é aritmética. Este guia mostra como ler a máscara, converter para CIDR, descobrir quantos hosts cabem, achar rede e broadcast, e por que um /24 tem 254 endereços e não 256. Para fazer a conta na hora, use a calculadora de sub-rede IPv4.
Resposta rápida
- A máscara separa a parte de rede da parte de host dentro do endereço IP.
- /24 = 255.255.255.0. O número depois da barra é quantos bits pertencem à rede.
- Hosts utilizáveis = 2 elevado a (32 menos o prefixo), menos 2. Um /24 dá 254, um /28 dá 14, um /30 dá 2.
- Os 2 que somem são o endereço de rede (primeiro) e o de broadcast (último).
O que a máscara faz de verdade
Todo endereço IPv4 tem 32 bits, escritos como quatro números de 0 a 255 para ficarem legíveis. Esses 32 bits não são todos iguais em função: uma parte identifica a rede, a outra identifica o aparelho dentro dela. O problema é que, olhando só o endereço, não dá para saber onde termina uma e começa a outra. A máscara resolve isso.
Quando o seu computador quer falar com 192.168.1.50, ele faz uma pergunta antes de qualquer coisa: esse destino está na minha rede ou não? Se estiver, ele entrega direto. Se não estiver, ele manda para o roteador, e o roteador que se vire. Essa decisão, tomada milhares de vezes por segundo, é feita comparando o endereço de destino com o próprio endereço, usando a máscara como filtro. É a operação mais básica de rede, e sem ela nada funciona.
Como ler a máscara em binário
A máscara é sempre uma sequência de bits 1 seguida de uma sequência de bits 0, sem mistura. Os bits 1 marcam a parte de rede e os bits 0 marcam a parte de host. Isso não é convenção estética: o hardware usa isso para fazer a comparação com uma única operação lógica, e por isso máscaras picotadas como 255.0.255.0 são inválidas.
A máscara 255.255.255.0 em binário é 11111111.11111111.11111111.00000000. Contando os bits 1, são 24, e é daí que vem o /24. A conversão dos valores que aparecem na prática é curta o suficiente para memorizar:
- 255 = 11111111, oito bits de rede.
- 254 = 11111110, sete bits.
- 252 = 11111100, seis bits.
- 248 = 11111000, cinco bits.
- 240 = 11110000, quatro bits.
- 224 = 11100000, três bits.
- 192 = 11000000, dois bits.
- 128 = 10000000, um bit.
- 0 = 00000000, nenhum.
Repare que só esses nove valores podem aparecer numa máscara. Se você vir um 255.255.255.100, a máscara está errada. Para converter qualquer número e conferir o binário, o conversor de bases numéricas resolve na hora.
A notação CIDR
Escrever 192.168.1.10 com máscara 255.255.255.0 é verboso. O CIDR (Classless Inter-Domain Routing, definido na RFC 4632) encurta isso para 192.168.1.10/24, em que o número depois da barra é a quantidade de bits de rede. As duas formas dizem exatamente a mesma coisa, e você vai encontrar as duas no dia a dia: equipamento antigo e Windows costumam mostrar a máscara decimal, enquanto documentação, nuvem e Linux preferem o CIDR.
A equivalência das mais usadas:
- /8 = 255.0.0.0, cerca de 16,7 milhões de endereços.
- /16 = 255.255.0.0, 65.536 endereços.
- /24 = 255.255.255.0, 256 endereços, 254 utilizáveis.
- /25 = 255.255.255.128, 128 endereços, 126 utilizáveis.
- /26 = 255.255.255.192, 64 endereços, 62 utilizáveis.
- /27 = 255.255.255.224, 32 endereços, 30 utilizáveis.
- /28 = 255.255.255.240, 16 endereços, 14 utilizáveis.
- /29 = 255.255.255.248, 8 endereços, 6 utilizáveis.
- /30 = 255.255.255.252, 4 endereços, 2 utilizáveis.
A conta dos hosts, e por que somem dois
Subtraia o prefixo de 32 e você tem quantos bits sobraram para host. Eleve 2 a esse número e terá o total de endereços do bloco. Subtraia 2 e terá quantos aparelhos cabem de verdade.
Num /26 sobram 6 bits de host. Dois elevado a 6 é 64, então o bloco tem 64 endereços e 62 utilizáveis. Num /28 sobram 4 bits: 16 endereços, 14 utilizáveis. Num /22 sobram 10 bits: 1.024 endereços, 1.022 utilizáveis.
Os dois que somem têm nome e função. O primeiro endereço do bloco, com todos os bits de host em zero, é o endereço de rede: ele nomeia a rede inteira e não pode ser atribuído a um aparelho. O último endereço, com todos os bits de host em um, é o broadcast: um pacote enviado para ele chega a todos os aparelhos daquela rede ao mesmo tempo. Em 192.168.1.0/24, a rede é 192.168.1.0, o broadcast é 192.168.1.255, e os aparelhos vivem entre 192.168.1.1 e 192.168.1.254.
Existe uma exceção que confunde muita gente: o /31. Pela conta, ele teria 2 endereços e nenhum utilizável, o que seria inútil. A RFC 3021 abriu essa exceção para enlaces ponto a ponto entre dois roteadores, onde broadcast não faz sentido, e ali os 2 endereços são usados. Já o /32 é um endereço único, usado para identificar um host específico em rota ou em regra de firewall.
Achando a rede e o broadcast na mão
Para saber a qual rede um endereço pertence, aplique a máscara sobre ele: onde a máscara tem 1, o endereço passa; onde tem 0, vira zero. É a operação lógica E, bit a bit.
Com 192.168.1.200/26, a máscara é 255.255.255.192. Os três primeiros octetos passam inteiros. No último, 200 em binário é 11001000 e 192 é 11000000. O E bit a bit devolve 11000000, que é 192. Então a rede é 192.168.1.192, o broadcast é 192.168.1.255, e a faixa utilizável vai de 192.168.1.193 a 192.168.1.254.
Existe um atalho que dispensa binário. Num /26, o bloco tem 64 endereços, então as redes começam de 64 em 64: .0, .64, .128 e .192. Basta ver em qual intervalo o endereço cai. O 200 está entre 192 e 255, logo a rede é a .192. Esse tamanho de bloco (256 menos o valor do último octeto da máscara) é o truque que resolve a maioria das questões de prova de cabeça. Para conferir o resultado, a calculadora de sub-rede mostra rede, broadcast, curinga e faixa utilizável de uma vez.
A máscara curinga
A máscara curinga é o inverso bit a bit da máscara de rede. Se a máscara é 255.255.255.0, o curinga é 0.0.0.255. Ela aparece principalmente em listas de acesso de equipamentos Cisco e em algumas regras de firewall e de roteamento.
A leitura é oposta e é aí que mora o erro: na máscara, bit 1 significa "esse bit precisa bater"; no curinga, bit 1 significa "ignore esse bit". Trocar uma pela outra numa regra de acesso costuma liberar tráfego que deveria ser bloqueado, e o pior é que a regra continua válida e o equipamento não reclama. Vale conferir sempre, e é por isso que a calculadora mostra as duas lado a lado.
Dividir uma rede: sub-rede e VLSM
Dividir uma rede é pegar bits emprestados da parte de host e passá-los para a parte de rede. Cada bit emprestado dobra o número de sub-redes e reduz pela metade o tamanho de cada uma.
Pegue um /24 com 254 hosts. Emprestando 1 bit, você tem dois /25 de 126 hosts cada. Emprestando 2, tem quatro /26 de 62. Emprestando 3, oito /27 de 30. A soma nunca é a mesma: quanto mais você divide, mais endereços vão embora em rede e broadcast, porque cada pedaço gasta os seus dois.
O erro clássico é dividir tudo em pedaços iguais. Se um setor tem 100 máquinas e o enlace com a filial precisa de 2 endereços, dar um /26 para cada um desperdiça de um lado e falta do outro. O jeito certo é o VLSM, que permite máscaras de tamanhos diferentes dentro da mesma rede: um /25 para o setor grande, um /30 para o enlace, e o que sobrar fica disponível. Comece sempre pela maior necessidade e vá descendo, senão você fragmenta o espaço e não consegue mais alocar os blocos grandes.
As classes A, B e C, e por que elas acabaram
Antes de 1993, o prefixo era determinado pelo primeiro número do endereço. Endereços começando de 1 a 126 eram classe A e tinham /8. De 128 a 191, classe B com /16. De 192 a 223, classe C com /24. O prefixo não era escolhido, era consequência.
O desperdício era enorme. Quem precisava de 300 endereços não cabia numa classe C de 254, então recebia uma classe B com 65.534, e jogava fora mais de 65 mil. Com a internet crescendo, o IPv4 ia acabar muito antes do previsto. O CIDR resolveu desacoplando o prefixo do endereço: hoje o tamanho do bloco é escolhido pela necessidade real.
O conceito ainda aparece em concurso, em certificação e em documentação antiga, então vale saber ler. Mas nenhuma rede é dimensionada por classe hoje, e insistir nisso é a origem de boa parte da confusão de quem está aprendendo agora.
As faixas privadas e o que não vale a pena usar
Nem todo endereço pode ser usado dentro de casa ou da empresa. A RFC 1918 reserva três faixas para uso privado, e é delas que devem sair os endereços da sua rede interna:
- 10.0.0.0/8, com 16,7 milhões de endereços. É a escolha natural de rede corporativa grande, porque permite dividir com folga.
- 172.16.0.0/12, que cobre de 172.16 a 172.31. A que mais gera erro, porque 172.15 e 172.32 estão fora e muita gente supõe que 172.x inteiro é privado.
- 192.168.0.0/16, o padrão de roteador doméstico.
Duas faixas costumam causar dor de cabeça quando usadas por engano. A 169.254.0.0/16 é link-local: se um aparelho aparece com endereço assim, ele não conseguiu falar com o servidor DHCP e se autoconfigurou, o que quase sempre indica cabo solto, Wi-Fi sem autenticação concluída ou DHCP fora do ar. E a 100.64.0.0/10, reservada pela RFC 6598 para o CGNAT das operadoras, não deve ser usada em rede interna, porque colide com o endereçamento que a operadora já usa e cria conflito difícil de diagnosticar. A diferença entre esses endereços e o que a internet enxerga está detalhada no guia IP público e IP privado, e você pode ver o seu endereço agora em Meu IP.
Os erros que mais aparecem
Máscara diferente nos dois lados. Dois aparelhos na mesma rede física com máscaras diferentes enxergam fronteiras diferentes. Um acha que o outro está na mesma rede e entrega direto; o outro acha que não e manda pelo roteador. O sintoma é comunicação que funciona em um sentido e falha no outro, e é dos defeitos mais difíceis de achar sem olhar a configuração dos dois lados.
Gateway fora da faixa. O endereço do roteador precisa estar dentro da sub-rede do aparelho. Com 192.168.1.200/26, a faixa vai de .193 a .254, então um gateway em 192.168.1.1 é inalcançável, mesmo estando no mesmo cabo. Esse é o erro que mais aparece quando alguém divide uma rede pela primeira vez.
Blocos sobrepostos. 192.168.1.0/24 e 192.168.1.128/25 se sobrepõem, e o roteamento passa a depender da regra de prefixo mais específico, com resultado imprevisível para quem não esperava. Ao dividir, confira que os blocos são disjuntos.
Confundir máscara com curinga em lista de acesso, como já mencionado, e esquecer os dois endereços reservados ao dimensionar. Se o setor tem 62 máquinas, um /26 com 62 utilizáveis não deixa margem nenhuma para crescer nem para o próprio gateway, que também ocupa um endereço.
E no IPv6?
O IPv6 mantém a ideia de prefixo, mas simplifica bastante o resto. Não existe endereço de broadcast, então não se perdem dois endereços por bloco. O tamanho padrão de uma rede local é /64, que é gigantesco de propósito, e um cliente costuma receber um /56 ou /48 da operadora para dividir internamente. A aritmética de "quantos hosts cabem" simplesmente deixa de ser um problema, porque a resposta é sempre "muito mais do que você precisa". O que continua valendo é a leitura do prefixo e a noção de que ele separa rede de host.
Como usar a ferramenta do ValorFinal
A calculadora de sub-rede IPv4 aceita um endereço com prefixo CIDR ou com máscara decimal e devolve o endereço de rede, o broadcast, a máscara curinga, o primeiro e o último IP utilizável e o total de hosts, com o binário ao lado para você conferir a conta. Ela cobre de /0 a /32 e roda inteiramente no navegador. Para ver o endereço público da sua conexão, use Meu IP; para converter valores entre binário, decimal e hexadecimal, o conversor de bases; e para permissões de arquivo e ARN da AWS, as ferramentas DevOps. Conheça as demais ferramentas de tecnologia.
Quem cuida de rede costuma esbarrar nos mesmos vizinhos de assunto: as permissões de arquivo no Linux, que definem quem acessa o que no servidor que você acabou de endereçar; o ARN da AWS, que identifica recursos quando a rede vira nuvem; e a verificação de integridade com SHA-256, que confere se o arquivo que atravessou a rede chegou inteiro.
Fontes oficiais
- RFC 4632 (IETF): define o CIDR e substitui o endereçamento por classes.
- RFC 1918 (IETF): reserva as faixas de endereço para redes privadas.
- RFC 3021 (IETF): permite o uso de /31 em enlaces ponto a ponto.
- RFC 6598 (IETF): reserva a faixa 100.64.0.0/10 para o CGNAT das operadoras.
Conclusão
A máscara separa rede de host, e o número depois da barra diz quantos bits ficam com a rede. Os hosts utilizáveis saem de 2 elevado aos bits restantes, menos os 2 endereços que a rede e o broadcast consomem. Sabendo isso e conhecendo o tamanho do bloco de cada prefixo, dá para resolver de cabeça a maior parte das situações do dia a dia e das questões de prova. O resto é cuidado com o que costuma quebrar: máscara diferente nos dois lados, gateway fora da faixa e curinga trocado. Para conferir qualquer conta, use a calculadora de sub-rede IPv4 e veja as demais ferramentas de tecnologia.