Ideia central
A máscara de subrede define qual parte de um endereço IP identifica a rede e qual parte identifica o host. A notação CIDR (Classless Inter-Domain Routing) simplifica essa informação usando um número após a barra, indicando quantos bits pertencem à parte de rede.
O que é uma máscara de subrede
Um endereço IPv4 tem 32 bits. A máscara de subrede é também um valor de 32 bits onde os bits 1 marcam a parte de rede e os bits 0 marcam a parte de host.
Exemplo com o endereço 192.168.1.10/24:
Endereço IP: 192 . 168 . 1 . 10
Em binário: 11000000.10101000.00000001.00001010
Máscara /24: 255 . 255 . 255 . 0
Em binário: 11111111.11111111.11111111.00000000
^
Os 8 zeros finais = 8 bits de host
A operação AND bit a bit entre o endereço e a máscara revela o endereço de rede:
11000000.10101000.00000001.00001010 (192.168.1.10)
11111111.11111111.11111111.00000000 (255.255.255.0)
AND -----------------------------------
11000000.10101000.00000001.00000000 (192.168.1.0) = endereço de rede
Notação CIDR
O CIDR representa a máscara como um sufixo após o endereço IP, indicando o número de bits 1 da máscara. É mais conciso que escrever a máscara completa.
192.168.1.10/24 equivale a 192.168.1.10 com máscara 255.255.255.0
Tabela de prefixos comuns
| Notação CIDR | Máscara decimal | Bits de host | Total de endereços | Hosts utilizáveis |
|---|---|---|---|---|
| /8 | 255.0.0.0 | 24 | 16.777.216 | 16.777.214 |
| /16 | 255.255.0.0 | 16 | 65.536 | 65.534 |
| /24 | 255.255.255.0 | 8 | 256 | 254 |
| /25 | 255.255.255.128 | 7 | 128 | 126 |
| /26 | 255.255.255.192 | 6 | 64 | 62 |
| /27 | 255.255.255.224 | 5 | 32 | 30 |
| /28 | 255.255.255.240 | 4 | 16 | 14 |
| /29 | 255.255.255.248 | 3 | 8 | 6 |
| /30 | 255.255.255.252 | 2 | 4 | 2 |
| /31 | 255.255.255.254 | 1 | 2 | 2 (ponto a ponto) |
| /32 | 255.255.255.255 | 0 | 1 | 1 (host único) |
O total de hosts utilizáveis é (2^bits_de_host) - 2. Os dois endereços subtraídos são o endereço de rede (todos os bits de host em 0) e o endereço de broadcast (todos os bits de host em 1).
Explicando /24
O /24 é a máscara mais comum em redes domésticas e pequenos escritórios. Com 24 bits de rede e 8 bits de host:
- Total de endereços: 2^8 = 256
- Endereço de rede: o primeiro (ex:
192.168.1.0) - Broadcast: o último (ex:
192.168.1.255) - Hosts utilizáveis: 254 (de
192.168.1.1a192.168.1.254)
Rede 192.168.1.0/24
192.168.1.0 = endereço de rede (não atribuível)
192.168.1.1 = primeiro host utilizável (geralmente o roteador/gateway)
192.168.1.2 = segundo host
...
192.168.1.254 = último host utilizável
192.168.1.255 = broadcast (não atribuível)
Explicando /32
O /32 representa um único host. Com 32 bits de rede e 0 bits de host, não há divisão: o endereço inteiro identifica apenas um dispositivo.
Usos comuns:
- Regras de firewall direcionadas a um IP específico
- Rotas de host no roteamento (força o tráfego para um IP exato)
- Interfaces loopback
- Endereços em VPNs ponto a ponto
10.0.0.5/32 representa apenas o host 10.0.0.5
Sem rede, sem broadcast: é um endereço de host puro
Explicando /16
Com 16 bits de rede e 16 bits de host, o /16 suporta até 65.534 hosts. Comum em redes corporativas maiores.
Rede 172.16.0.0/16
Hosts de 172.16.0.1 a 172.16.255.254
Total: 65.534 hosts utilizáveis
Explicando /30 e /31
O /30 é usado para links ponto a ponto entre dois roteadores, pois oferece apenas 2 hosts utilizáveis e desperdiça poucos endereços.
Rede 10.0.0.0/30
10.0.0.0 = rede
10.0.0.1 = roteador A
10.0.0.2 = roteador B
10.0.0.3 = broadcast
O /31 (RFC 3021) também é válido para links ponto a ponto e não possui endereço de rede nem broadcast separados. Os dois endereços são usados diretamente pelos hosts.
Como calcular uma subrede manualmente
Dado o endereço 192.168.10.50/26, encontre a rede, o broadcast e o intervalo de hosts.
Passo 1: Identifique a máscara. /26 = 26 bits 1 = 255.255.255.192
Passo 2: Calcule o tamanho do bloco. Bits de host = 32 - 26 = 6. Tamanho = 2^6 = 64.
Passo 3: Encontre o endereço de rede. Divida 50 por 64: quociente 0, então a rede começa em 192.168.10.0.
Passo 4: Derive os demais valores.
Rede: 192.168.10.0
Primeiro host: 192.168.10.1
Último host: 192.168.10.62
Broadcast: 192.168.10.63
Divisão de uma rede em sub-redes (subnetting)
Subnetting é o processo de dividir uma rede maior em redes menores, aumentando o prefixo CIDR.
Exemplo: dividir 192.168.1.0/24 em quatro sub-redes iguais.
Aumentar o prefixo em 2 bits (2^2 = 4 sub-redes) resulta em /26:
| Sub-rede | Endereço de rede | Broadcast | Hosts utilizáveis |
|---|---|---|---|
| 1 | 192.168.1.0/26 | 192.168.1.63 | .1 a .62 |
| 2 | 192.168.1.64/26 | 192.168.1.127 | .65 a .126 |
| 3 | 192.168.1.128/26 | 192.168.1.191 | .129 a .190 |
| 4 | 192.168.1.192/26 | 192.168.1.255 | .193 a .254 |
Ferramentas úteis
# Linux: ver endereço e máscara de cada interface
ip addr show
ip a
# Linux: ver tabela de roteamento
ip route show
# Windows: ver configuração de rede
ipconfig /all
# Calcular sub-redes na linha de comando (Linux)
ipcalc 192.168.10.50/26
# Verificar se dois IPs estão na mesma rede
# 192.168.1.10/24 e 192.168.1.50/24 -> mesma rede (192.168.1.0)
# 192.168.1.10/24 e 192.168.2.50/24 -> redes diferentesConexões
- redes - Visão geral de redes
- redes-enderecamento-ip - Estrutura dos endereços IP
- redes-modelo-osi - Máscara de subrede opera na camada 3
- docker-redes - Como o Docker usa sub-redes para isolar containers