Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

06 - Máscara de Sub-Rede e Notação CIDR

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione 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 → wildcard 0.0.0.255.
  • Máscara /26 = 255.255.255.192 → wildcard 0.0.0.63.
  • Máscara /30 = 255.255.255.252 → wildcard 0.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 0 habilita 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 via aggregate-address 203.0.113.0 255.255.255.0 summary-only.
  • ACLs Cisco: wildcard 0.0.0.255 em permit 10.10.10.0 0.0.0.255 permite 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 /24 com 255.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.0 onde deveria ser 0.0.0.255 é um erro clássico que inverte completamente a semântica.
  • Máscara não contígua: usar 255.255.0.255 em 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 /24 em netsh interface ip falha.
  • 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

  1. Padronizar notação: usar CIDR (/26) em toda documentação e em ferramentas modernas (NetBox, Terraform, Ansible).
  2. Registrar máscara em formato decimal ao lado do CIDR, para referência de operadores Cisco/Windows.
  3. Versionar o plano de IP em Git (YAML/Terraform), com wildcard documentado quando aplicável.
  4. Incluir wildcard em runbooks de ACL, para evitar erros de conversão em horário de manutenção.
  5. Manter a regra "right-sizing": usar o prefixo que serve à necessidade atual com margem, não padronizar tudo como /24.
  6. Validar sobreposição com python ipaddress ou NetBox antes de alocar qualquer sub-rede nova.
  7. 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.