06 - Máscara de Sub-Rede e Notação CIDR
video: https://youtu.be/... no frontmatter da nota.Máscara de Sub-Rede e Notação CIDR
1. Definição Integrada
A máscara de sub-rede (subnet mask) e a notação CIDR (Classless Inter-Domain Routing) são duas representações equivalentes do mesmo conceito: um valor de 32 bits que separa o endereço IP em duas partes — a porção de rede e a porção de host. A máscara usa notação decimal pontilhada (255.255.255.0), enquanto o CIDR usa um prefixo compacto (/24). Ambas as formas coexistem em configurações de rede modernas: a forma decimal aparece em interfaces de roteadores Cisco e em Windows; a forma CIDR domina Linux, BGP, firewalls e documentação técnica.
A notação CIDR foi formalizada pela RFC 1519 (1993) e tornou-se o padrão de fato para descrever blocos de endereços IP, eliminando a rigidez do modelo classful. Esse arquivo consolida o funcionamento das duas representações, suas conversões e aplicações práticas.
2. Como a Máscara Funciona: AND Bit a Bit
A máscara é aplicada ao endereço IP via operação lógica AND bit a bit. Os bits de rede da máscara são 1; os bits de host são 0. O resultado identifica a sub-rede à qual o IP pertence.
IP: 192.168.10.150 = 11000000.10101000.00001010.10010110
Máscara: 255.255.255.0 = 11111111.11111111.11111111.00000000
----------------------------------- AND
Rede: 192.168.10.0 = 11000000.10101000.00001010.00000000
Regra de AND: 1 AND X = X (preserva o bit do IP); 0 AND X = 0 (zera o bit do IP). Logo, os bits onde a máscara é 1 preservam o IP (parte de rede) e os bits onde é 0 são zerados (parte de host).
3. Tabela Completa de Máscaras CIDR (/0 a /32)
| CIDR | Máscara Decimal | Endereços | Hosts | Wildcard (Cisco) |
|---|---|---|---|---|
| /0 | 0.0.0.0 | 4.294.967.296 | 4.294.967.294 | 255.255.255.255 |
| /1 | 128.0.0.0 | 2.147.483.648 | 2.147.483.646 | 127.255.255.255 |
| /8 | 255.0.0.0 | 16.777.216 | 16.777.214 | 0.255.255.255 |
| /12 | 255.240.0.0 | 1.048.576 | 1.048.574 | 0.15.255.255 |
| /16 | 255.255.0.0 | 65.536 | 65.534 | 0.0.255.255 |
| /20 | 255.255.240.0 | 4.096 | 4.094 | 0.0.15.255 |
| /22 | 255.255.252.0 | 1.024 | 1.022 | 0.0.3.255 |
| /23 | 255.255.254.0 | 512 | 510 | 0.0.1.255 |
| /24 | 255.255.255.0 | 256 | 254 | 0.0.0.255 |
| /25 | 255.255.255.128 | 128 | 126 | 0.0.0.127 |
| /26 | 255.255.255.192 | 64 | 62 | 0.0.0.63 |
| /27 | 255.255.255.224 | 32 | 30 | 0.0.0.31 |
| /28 | 255.255.255.240 | 16 | 14 | 0.0.0.15 |
| /29 | 255.255.255.248 | 8 | 6 | 0.0.0.7 |
| /30 | 255.255.255.252 | 4 | 2 | 0.0.0.3 |
| /31 | 255.255.255.254 | 2 | 2 (RFC 3021) | 0.0.0.1 |
| /32 | 255.255.255.255 | 1 | 1 (host) | 0.0.0.0 |
Apenas prefixos completos foram exibidos acima para brevidade; a progressão segue o mesmo padrão em todos os octetos.
4. Notação Decimal Pontilhada vs CIDR
A correspondência é direta: cada octeto da máscara decimal representa 8 bits. Quando todos os 8 bits são 1, vale 255; quando são 0, vale 0. Os valores intermediários seguem a sequência binária:
| Bits ligados no octeto | Valor decimal |
|---|---|
| 0 | 0 |
| 1 | 128 |
| 2 | 192 |
| 3 | 224 |
| 4 | 240 |
| 5 | 248 |
| 6 | 252 |
| 7 | 254 |
| 8 | 255 |
Logo, /26 significa 3 octetos completos (24 bits) + 2 bits no quarto octeto: 255.255.255.192. Importante: uma máscara válida é sempre uma sequência contínua de 1s seguida de 0s — 255.255.0.255 não é uma máscara contígua e é rejeitada pela maioria dos sistemas (embora tecnicamente possível em alguns contextos antigos).
5. Wildcard Masks (Cisco)
Em ACLs e OSPF no Cisco IOS, usa-se a wildcard mask, que é o complemento bitwise da máscara de sub-rede: onde a máscara tem 1, a wildcard tem 0, e vice-versa.
- Máscara
/24=255.255.255.0→ wildcard0.0.0.255. - Máscara
/26=255.255.255.192→ wildcard0.0.0.63. - Máscara
/30=255.255.255.252→ wildcard0.0.0.3.
Regra prática: wildcard = 255.255.255.255 − máscara (octeto a octeto). Em ACLs, a wildcard indica quais bits do endereço devem ser considerados: 0 = match exato; 1 = não importa.
! Permite apenas 192.168.10.0/24
access-list 10 permit 192.168.10.0 0.0.0.255
! Permite 192.168.10.128/25
access-list 10 permit 192.168.10.128 0.0.0.127
6. Cálculo Mental: Tamanho do Bloco
A técnica mais útil para cálculo rápido é: tamanho do bloco = 256 − último octeto não-zero da máscara.
/24→255.255.255.0→ 256 − 0 = 256 endereços (254 hosts)./25→255.255.255.128→ 256 − 128 = 128 endereços./26→255.255.255.192→ 256 − 192 = 64 endereços./27→255.255.255.224→ 256 − 224 = 32 endereços.
Esse tamanho de bloco é também o "salto" entre sub-redes consecutivas. Para /26 começando em 192.168.10.0, as sub-redes são 0, 64, 128, 192 — basta somar 64.
Para máscaras que afetam o terceiro octeto (ex.: /22 = 255.255.252.0), o cálculo é 256 − 252 = 4 no terceiro octeto: sub-redes em 0.0, 0.4, 0.8, ..., 0.252 e depois 4.0, 4.4, ....
7. Diferenças: Classful vs CIDR
| Aspecto | Classful (pré-1993) | CIDR |
|---|---|---|
| Máscara | Implícita pela classe (A=8, B=16, C=24) | Explícita em cada anúncio |
| Sub-redes | Mesmo tamanho (FLSM) | Variável (VLSM) |
| Agregação | Não suportada | Route summarization nativa |
| RFC | 790 | 1518/1519 |
| Protocolos | RIPv1, IGRP, BGP-1/2/3 | RIPv2, OSPF, EIGRP, BGP-4 |
Em redes classful, um pacote para 192.168.5.0 e outro para 192.168.6.0 eram considerados redes distintas (Classe C), não permitindo sumarização automática. Em CIDR, podem ser anunciados como 192.168.4.0/22, englobando 4 sub-redes.
8. Aplicações em Roteamento e ACLs
- OSPF:
network 10.0.0.0 0.255.255.255 area 0habilita OSPF em qualquer interface dentro de 10/8. A wildcard representa a flexibilidade do match. - BGP: anúncios usam prefixo CIDR (
network 203.0.113.0/24); agregação viaaggregate-address 203.0.113.0 255.255.255.0 summary-only. - ACLs Cisco: wildcard
0.0.0.255empermit 10.10.10.0 0.0.0.255permite qualquer host de 10.10.10.0/24. - iptables/nftables (Linux): usa-se CIDR nativamente (
-s 10.10.10.0/24 -j ACCEPT), sem wildcard. - Firewall policies: a máscara define o escopo de origem/destino nas regras.
9. Conversões Rápidas (Tabela Mental)
| Operação | Truque |
|---|---|
| CIDR → decimal | contar bits por octeto; valores 0, 128, 192, 224, 240, 248, 252, 254, 255. |
| Decimal → CIDR | contar bits 1; cada octeto "cheio" (255) adiciona 8. |
| Hosts utilizáveis | 2^h − 2, onde h = 32 − prefixo. |
| Número de sub-redes em /N divididas em /M | 2^(M−N). |
| Wildcard a partir da máscara | subtrair octeto a octeto de 255. |
10. Ferramentas
# Linux
ipcalc 192.168.10.140/26
sipcalc 172.16.0.0/12
whatmask 10.0.0.0/8
import ipaddress
net = ipaddress.ip_network('192.168.10.0/26', strict=False)
net.netmask # IPv4Address('255.255.255.192')
net.hostmask # IPv4Address('0.0.0.63') # wildcard
net.prefixlen # 26
net.network_address, net.broadcast_address
! Cisco IOS
show ip interface GigabitEthernet0/0 # exibe máscara e wildcard
show ip route 192.168.10.0 255.255.255.0 longer-prefixes
11. Erros Comuns
- Confundir
/24com255.255.255.255: a primeira é máscara de rede (8 bits de host); a segunda é/32, máscara de host único. - Máscara errada em ACLs: escrever
access-list 10 permit 192.168.10.0 255.255.255.0(sem wildcard) causa match apenas no IP exato 192.168.10.0, não na rede inteira. O correto é0.0.0.255. - Inverter bits de wildcard: escrever
255.255.255.0onde deveria ser0.0.0.255é um erro clássico que inverte completamente a semântica. - Máscara não contígua: usar
255.255.0.255em rede IP — inválida para subnetting (embora possível em alguns usos de ACL, gera confusão). - Esquecer do −2 em hosts: /24 tem 254 utilizáveis, não 256.
- Misturar notações: Windows exige decimal pontuado (
255.255.255.0); tentar/24emnetsh interface ipfalha. - Confundir máscara com gateway: o gateway é um IP dentro da sub-rede, não a máscara.
12. Boas Práticas de Documentação em IPAM
- Padronizar notação: usar CIDR (
/26) em toda documentação e em ferramentas modernas (NetBox, Terraform, Ansible). - Registrar máscara em formato decimal ao lado do CIDR, para referência de operadores Cisco/Windows.
- Versionar o plano de IP em Git (YAML/Terraform), com wildcard documentado quando aplicável.
- Incluir wildcard em runbooks de ACL, para evitar erros de conversão em horário de manutenção.
- Manter a regra "right-sizing": usar o prefixo que serve à necessidade atual com margem, não padronizar tudo como /24.
- Validar sobreposição com
python ipaddressou NetBox antes de alocar qualquer sub-rede nova. - Documentar MTU e VLAN junto com a máscara — a tríade completa define o segmento L2/L3.
13. Resumo
A máscara de sub-rede e o prefixo CIDR são a mesma informação em duas roupagens. Dominar a conversão entre decimal pontuado, CIDR e wildcard é pré-requisito para ler configurações de roteadores, escrever ACLs, documentar redes em IPAM e projetar arquiteturas escaláveis. Os arquivos anteriores desta pasta (01 - Máscara de Sub-Rede, 02 - Notação CIDR, 03 - Wildcard Masks, 04 - Conversões) aprofundam cada formato isoladamente; este arquivo consolida a visão integrada e os atalhos mentais que aceleram o trabalho do engenheiro de redes no dia a dia.