ATHEDSX
Voltar
•16 min de leitura

Sub-rede sem mistério

O que é sub-rede, como calcular na mão e uma calculadora pra conferir as contas.

#redes#IP#sub-rede#CIDR

Sub-rede é aquele assunto que todo mundo decora pra prova e esquece na semana seguinte. Só que no dia a dia ele aparece toda hora: configurar roteador, separar a rede das câmeras, entregar bloco de IP pra cliente.

Este post explica do zero. Tem uma calculadora no meio pra você brincar e conferir as contas. Se já é da área, os blocos Pro pessoal técnico são pra você.

O que é um IP

Pensa num endereço de casa: tem a rua e o número.

IP é igual. Em 192.168.1.10, uma parte diz qual é a rede (a rua) e o resto diz qual é o aparelho (o número da casa).

Quem diz onde termina a rua e começa o número é a máscara. É isso. Sub-rede é só decidir o tamanho da rua.

Binário em 2 minutos

Computador não entende 192 ou 168. Ele entende 0 e 1: desligado e ligado.

Cada pedaço do IP é uma fileira de 8 interruptores, os bits. Cada um tem um valor fixo:

128 · 64 · 32 · 16 · 8 · 4 · 2 · 1

Pra escrever um número, liga os que somam ele. Só isso.

Oito interruptores com os valores 128, 64, 32, 16, 8, 4, 2 e 1. Para 192, ficam ligados o 128 e o 64. Para 10, ficam ligados o 8 e o 2. 128 64 32 16 8 4 2 1 192 1 1 0 0 0 0 0 0 128 + 64 = 192 10 0 0 0 0 1 0 1 0 8 + 2 = 10
Cada pedaço do IP é uma fileira de 8 interruptores. Liga os que somam o número.

Mais alguns:

  • 255 = tudo ligado: 11111111
  • 0 = tudo desligado: 00000000
  • 168 = 128 + 32 + 8: 10101000

Por isso cada pedaço vai de 0 a 255. Com os 8 ligados, a soma dá 255, não tem como passar disso.

O IP tem 4 pedaços de 8 bits. 32 bits no total. Guarda esse número, ele volta já já.

Pro pessoal técnico: 32 bits dão 2³² ≈ 4,29 bilhões de endereços IPv4. Parece muito, mas acabou: o estoque central da IANA esgotou em 2011, e por isso existe CGNAT e IPv6. Pra converter rápido de cabeça, pensa a partir do 256: 192 = 256 − 64, 224 = 256 − 32, 240 = 256 − 16. Isso vai ser a base do cálculo de sub-rede.

Máscara e o tal do /24

Lembra da rua e do número? Dos 32 bits do IP, a máscara diz quantos são rua (a rede). O que sobra é número (o aparelho).

Ela aparece escrita de dois jeitos, e os dois dizem a mesma coisa:

  • 255.255.255.0: a máscara por extenso.
  • /24: o atalho. É só a contagem de quantos bits são de rede.

255 é tudo ligado, 8 bits. Então 255.255.255.0 são 8 + 8 + 8 = 24 bits de rede e 8 bits pros aparelhos. Por isso /24.

Os 32 bits do IP 192.168.1.10. Com /24, os primeiros 24 bits são da rede e os últimos 8 são do aparelho. Com /26, a rede passa a ter 26 bits e sobram 6 para o aparelho, então a divisão cai no meio do último pedaço. 192.168.1.10/24 192 168 1 10 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 rede · 24 bits aparelho · 8 192.168.1.10/26 192 168 1 10 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 rede · 26 bits aparelho · 6
Azul é a rua (rede), verde é o número (aparelho). No /26 a divisão cai no meio do último pedaço.

A divisão não precisa cair no ponto. No /26 a rede pega 2 bits do último pedaço. A máscara fica 255.255.255.192. Reconhece o 192? É o 11000000 lá de cima: os 2 primeiros ligados.

Quanto maior o número, menor a rede

Cada bit que vai pra rede é um bit a menos pros aparelhos. E cada bit a menos corta a rede pela metade:

  • /24: 8 bits pros aparelhos = 256 endereços
  • /25: 7 bits = 128 endereços
  • /26: 6 bits = 64 endereços
  • /27: 5 bits = 32 endereços

A conta é sempre 2 elevado aos bits que sobram. /26 sobram 6, 2⁶ = 64.

Parece invertido no começo: /30 é uma rede pequena, /16 é uma rede grande. O número conta os bits da rua. Quanto mais bits pra rua, menos sobra pras casas.

Pro pessoal técnico: a máscara é sempre uma sequência contínua de 1 seguida de 0. Não existe 255.0.255.0. Por isso só 9 valores aparecem num octeto de máscara: 0, 128, 192, 224, 240, 248, 252, 254 e 255. As antigas classes A, B e C (/8, /16, /24 fixos) morreram com o CIDR (RFC 4632), que deixa o prefixo ter qualquer tamanho. A wildcard usada em ACL e OSPF é a máscara invertida: /24 vira 0.0.0.255.

Por que dividir a rede

Dá pra colocar tudo numa rede só. Funciona, até parar de funcionar.

Pensa num escritório sem paredes: todo mundo no mesmo salão. Com 5 pessoas, tranquilo. Com 500, é barulho, ninguém sabe quem é de qual setor e qualquer um chega na mesa do financeiro.

Sub-rede é botar parede.

À esquerda, câmeras, computadores do escritório e celulares de visitantes misturados numa rede só, 192.168.0.0/24. À direita, a mesma rede dividida em três sub-redes /26, uma para câmeras, uma para o escritório e uma para visitantes, ligadas por um roteador que decide quem fala com quem. Tudo numa rede só 192.168.0.0/24 Dividido em sub-redes roteador Câmeras 192.168.0.0/26 Escritório 192.168.0.64/26 Visitantes 192.168.0.128/26 o roteador decide quem fala com quem
Os três pedaços são /26 tirados do mesmo /24. Ainda sobra um, o 192.168.0.192/26, pra crescer.

Menos barulho. Tem mensagem que vai pra todo mundo da rede ao mesmo tempo, o broadcast. Tipo alguém gritando no salão "quem é o 192.168.0.1?". Com poucos aparelhos, ninguém sente. Com mil, é todo mundo gritando o tempo todo. Rede menor, menos gente ouvindo cada grito.

Mais segurança. Câmera, escritório e Wi-Fi de visitante em redes separadas. Se o celular de um visitante tiver vírus, ele não enxerga os computadores do escritório. Pra passar de uma rede pra outra tem que passar pelo roteador, e lá você decide o que pode.

Mais organização. Bateu o olho no IP, sabe o que é. Tá entre 192.168.0.1 e 192.168.0.62? É câmera. Deu problema numa câmera, já sabe onde procurar.

IP público é caro. Esse é o lado do provedor. IPv4 acabou, e quem precisa compra de quem tem sobrando, a dezenas de dólares cada IP. Cliente empresarial que precisa de 5 IPs fixos não ganha 256. Ganha uma sub-rede do tamanho certo, e o resto do bloco vai pra outros clientes.

Pro pessoal técnico: na prática uma VLAN = uma sub-rede = um domínio de broadcast. ARP, DHCP, mDNS e afins inundam tudo dentro dele, então rede de usuário raramente passa de um /23. A segmentação de verdade vem do roteamento entre VLANs com ACL ou firewall no meio. Sub-rede sozinha, sem filtro no gateway, só organiza. No ISP, o bloco público é recortado em pedaços pequenos pros links e pros clientes que precisam de IP fixo. Pra base residencial entra o CGNAT com 100.64.0.0/10, justamente pra economizar IPv4.

A conta na mão

Agora a parte que cai na prova. Parece difícil, mas é uma subtração e uma contagem.

Por que sempre tem um "menos 2"

Toda rede guarda 2 endereços que não vão em aparelho nenhum:

  • O primeiro é o endereço de rede. É a placa com o nome da rua, não é uma casa.
  • O último é o broadcast. É o alto-falante: mandou pra ele, chega em todo mundo da rede.

Então a conta de IPs utilizáveis (os que dá pra colocar em aparelho) é 2 elevado aos bits que sobram, menos 2.

  • /24: 256 − 2 = 254 IPs utilizáveis
  • /26: 64 − 2 = 62 IPs utilizáveis

O número mágico

Quatro passos:

  1. Acha o pedaço da máscara que não é 255 nem 0. É ali que a rede divide.
  2. Pulo = 256 − esse pedaço. Esse é o número mágico.
  3. Conta de pulo em pulo a partir do 0: são os começos de cada sub-rede.
  4. Vê em qual bloco o seu IP cai. O começo do bloco é a rede. O fim do bloco é o broadcast. O que tá no meio é aparelho.
Primeiro exemplo: o último pedaço de 192.168.1.10/26 dividido em blocos de 64: 0 a 63, 64 a 127, 128 a 191 e 192 a 255. O 10 cai no primeiro bloco. Segundo exemplo: o terceiro pedaço de 172.16.45.200/20 dividido em 16 blocos de 16. O 45 cai no bloco que começa em 32 e vai até 47. 192.168.1.10/26 · 4º pedaço · pulo de 64 10 .0 a .63 .64 a .127 .128 a .191 .192 a .255 rede 192.168.1.0 · broadcast 192.168.1.63 172.16.45.200/20 · 3º pedaço · pulo de 16 45 0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 rede 172.16.32.0 · broadcast 172.16.47.255
O pedaço vai de 0 a 255 e é fatiado em blocos do tamanho do pulo. O bloco onde o IP cai é a rede dele.

Exemplo 1: 192.168.1.10/26

  • Máscara: 255.255.255.192. O pedaço que interessa é o 4º.
  • Pulo: 256 − 192 = 64.
  • Blocos: 0, 64, 128, 192.
  • O 10 cai no bloco que começa no 0 e vai até o 63.

Resultado:

  • Rede: 192.168.1.0
  • Broadcast: 192.168.1.63
  • IPs utilizáveis: 192.168.1.1 até 192.168.1.62, são 62

Exemplo 2: 172.16.45.200/20

Esse assusta mais, mas é a mesma coisa.

  • /20 = 8 + 8 + 4. Máscara: 255.255.240.0. O pedaço que interessa é o 3º.
  • Pulo: 256 − 240 = 16.
  • Blocos no 3º pedaço: 0, 16, 32, 48…
  • O 45 cai no bloco que começa no 32 e vai até o 47.

O 4º pedaço (o 200) você ignora. Depois do pedaço que interessa, na rede é tudo 0, no broadcast é tudo 255.

  • Rede: 172.16.32.0
  • Broadcast: 172.16.47.255
  • IPs utilizáveis: 172.16.32.1 até 172.16.47.254. Sobram 12 bits, 2¹² − 2 = 4.094

Pode conferir os dois na calculadora lá embaixo.

Pro pessoal técnico: o que o número mágico faz é um AND bit a bit entre IP e máscara. No exemplo 2, o 3º pedaço: 45 = 00101101, máscara 240 = 11110000, AND = 00100000 = 32. Broadcast é a rede OR wildcard: 172.16.32.0 OR 0.0.15.255 = 172.16.47.255. O pulo é sempre potência de 2 (128, 64, 32, 16, 8, 4, 2, 1), e é exatamente o valor do último bit ligado da máscara naquele pedaço.

O caminho contrário

Na vida real a pergunta costuma vir ao contrário: "tenho 50 aparelhos, qual máscara eu uso?"

Três passos:

  1. Soma 2 (a rede e o broadcast): 50 + 2 = 52.
  2. Acha a primeira potência de 2 que cabe: 2, 4, 8, 16, 32, 64, 128, 256… O 52 não cabe no 32, cabe no 64.
  3. 64 = 2⁶. São 6 bits pros aparelhos. 32 − 6 = /26.

Resposta: /26, máscara 255.255.255.192. São 62 IPs utilizáveis.

Mais alguns:

  • 10 câmeras: 12 → cabe no 16 → 4 bits → /28 (14 utilizáveis)
  • 100 computadores: 102 → cabe no 128 → 7 bits → /25 (126 utilizáveis)
  • 2 roteadores ligados entre si: 4 → cabe no 4 → 2 bits → /30 (2 utilizáveis)
  • 300 aparelhos: 302 → cabe no 512 → 9 bits → /23 (510 utilizáveis). Passou de 254, não cabe mais num /24.

Dois erros clássicos

Esquecer do roteador. Ele também usa um IP da rede. 62 aparelhos num /26 parece que cabe certinho, mas com o roteador são 63. Não cabe.

Planejar só pro hoje. Tem 55 aparelhos e escolheu /26? Ano que vem chega mais gente e você vai ter que trocar o IP de todo mundo. Deixa folga, igual margem de potência na fibra. Na dúvida, pega o próximo tamanho.

A calculadora faz essa conta no campo "Preciso de".

Pro pessoal técnico: a fórmula fechada é prefixo = 32 − ⌈log₂(n + 2)⌉. No DHCP, separa um pedaço da faixa pra IP fixo (gateway, servidor, impressora, AP) e deixa o pool só com o resto. Assim o DHCP não entrega um IP que já tá em uso.

Tabela de cola

Pra não fazer conta toda hora. Do /24 ao /32 é o que mais aparece no dia a dia.

PrefixoIPs utilizáveisMáscaraEndereçosUso comum
/24254255.255.255.0256Rede de casa
/25126255.255.255.128128
/2662255.255.255.19264Setor de uma empresa
/2730255.255.255.22432
/2814255.255.255.24016Câmeras, servidores
/296255.255.255.2488Bloco pequeno de IP fixo
/302255.255.255.2524Link entre 2 roteadores
/312255.255.255.2542O mesmo, sem desperdício
/321255.255.255.2551Um IP só

Repara em três coisas:

  • Cada linha é metade da de cima. Um bit a mais na rede, metade dos endereços.
  • O fim da máscara segue sempre a mesma sequência: 0, 128, 192, 224, 240, 248, 252, 254, 255. Decorou, a tabela sai sozinha.
  • A coluna "Endereços" também é o pulo da conta na mão. /27? Pula de 32 em 32.

O /31 e o /32 fogem da regra do "menos 2". Explico já já.

Pro pessoal técnico: acima do /24 é a mesma tabela, só que no 3º pedaço. /23 = 255.255.254.0 (512), /22 = 252 (1.024), /21 = 248 (2.048), /20 = 240 (4.096), até /16 = 255.255.0.0 (65.536). Atalho: cada bit a menos dobra, então /22 = 4 × /24, e /20 = 16 × /24.

Casos especiais

A regra do "menos 2" vale pra quase tudo. Quase.

/30 e /31: link entre dois roteadores

Entre dois roteadores ligados direto, só tem 2 aparelhos. Um /30 resolve: 4 endereços, tira a rede e o broadcast, sobram 2.

Só que metade foi pro lixo. Com IP público, isso dói.

O /31 corta o desperdício: 2 endereços, os 2 vão pros roteadores. Num link ponto a ponto não tem pra quem fazer broadcast, do outro lado só tem um. Então a regra do "menos 2" não faz sentido ali.

Num /30 são 4 endereços: o primeiro é a rede, os dois do meio vão para os roteadores A e B, e o último é o broadcast. Num /31 são só 2 endereços e os dois vão para os roteadores. /30 · 4 endereços, 2 jogados fora 10.0.0.0 rede 10.0.0.1 roteador A 10.0.0.2 roteador B 10.0.0.3 broadcast /31 · 2 endereços, nenhum desperdício 10.0.0.0 roteador A 10.0.0.1 roteador B
Num link entre dois roteadores não tem pra quem fazer broadcast. O /31 aproveita isso.

Equipamento atual quase todo aceita /31. Os mais antigos, nem sempre. Testa antes de sair padronizando.

/32: um IP só

/32 não é uma rede, é um endereço sozinho. Aparece em lugares como:

  • Loopback do roteador: um IP que nunca cai, usado como identidade do equipamento.
  • Rota pra um destino específico: "pra esse IP aqui, vai por ali".
  • IP de um equipamento só: quando a rede inteira é um único endereço.

IPs privados

Esses três blocos são reservados pra uso interno. Não andam na internet:

  • 10.0.0.0/8
  • 172.16.0.0/12 (de 172.16 até 172.31)
  • 192.168.0.0/16

Qualquer um pode usar dentro de casa ou da empresa. Na saída pra internet, o roteador troca pelo IP público. Isso é o NAT. Por isso a sua casa e a do vizinho podem ter um 192.168.1.10 ao mesmo tempo, sem briga.

Pegadinha clássica: 172.32.0.1 é público. O bloco privado do 172 vai só até o 31.

CGNAT: 100.64.0.0/10

Não tem IP público pra todo mundo. Então o provedor coloca vários clientes atrás de um IP público só, e usa a faixa 100.64.0.0 até 100.127.255.255 no meio do caminho.

Como saber se você tá atrás de CGNAT: olha o IP da WAN do seu roteador. Começou com 100.64 até 100.127? Tá.

Na prática: dá pra navegar normal, mas não dá pra abrir porta pra acessar câmera ou servidor de fora. Pra isso, só com IP público (geralmente pago à parte) ou IPv6.

Outros que você vai esbarrar

  • 127.0.0.1: o próprio computador. Mandou pra ele, não sai da máquina.
  • 169.254.x.x: o aparelho não achou DHCP e se deu um IP sozinho. Viu isso, o problema é cabo ou DHCP.
  • 0.0.0.0/0: "qualquer lugar". É a rota padrão: o que não tem rota específica vai por ela.

A calculadora reconhece esses tipos no campo "Tipo do endereço".

Pro pessoal técnico: /31 em ponto a ponto é a RFC 3021. Privados são a RFC 1918. 100.64.0.0/10 é a RFC 6598 (shared address space): foi feito pro CGNAT e não deve ser usado como rede privada na LAN de cliente, senão conflita com o CGNAT do provedor. 169.254.0.0/16 é link-local, RFC 3927. No CGNAT, só o IP público não identifica o cliente: o provedor precisa guardar IP + porta + horário nos logs. Muita gente usa alocação em blocos de portas pra deixar esse log menor.

Calculadora

Agora é com você. Testa os exemplos do post, ou o IP da sua casa.

  • Digita o IP e arrasta a barra da máscara. Pode colar direto no formato 192.168.1.10/26.
  • Em binário, azul é a rua e verde é o número. Arrasta a barra e vê a divisão andar.
  • Quebrar em pedaços lista as sub-redes menores e destaca a do seu IP.
  • Preciso de faz o caminho contrário: diz a máscara pra quantidade de aparelhos.

Não sabe o IP da sua casa? No Windows, abre o prompt e digita ipconfig. No celular, fica nos detalhes da rede Wi-Fi. Quase sempre é um 192.168 alguma coisa, com /24.

Sub-rede IPv4

Digita um IP e escolhe a máscara. Pode colar direto no formato 10.0.0.1/24.

máscara 255.255.255.192
Rede
192.168.1.0/26
O nome da rua. Não vai em nenhum aparelho.
Broadcast
192.168.1.63
O alto-falante: fala com todo mundo da rede.
Primeiro IP utilizável
192.168.1.1
Último IP utilizável
192.168.1.62
IPs utilizáveis
62
64 endereços no total
Máscara / wildcard
255.255.255.192
wildcard 0.0.0.63
Tipo do endereço
Privado (RFC 1918)
Bits
26 de rede · 6 de aparelho
Em binário
11000000
192
10101000
168
00000001
1
00001010
10
rede (a rua) aparelho (o número)

Dá 4 sub-redes de 16 endereços, pulando de 16 em 16.

#RedeFaixa utilizávelBroadcast
1192.168.1.0/28192.168.1.1 – 192.168.1.14192.168.1.15
2192.168.1.16/28192.168.1.17 – 192.168.1.30192.168.1.31
3192.168.1.32/28192.168.1.33 – 192.168.1.46192.168.1.47
4192.168.1.48/28192.168.1.49 – 192.168.1.62192.168.1.63
Usa /26 (255.255.255.192): são 62 IPs utilizáveis.

Indo além

Três assuntos que aparecem depois que o básico entra na cabeça. Aqui vai só o resumo: cada um vai ganhar post próprio. Se você é leigo, o começo de cada um já basta.

VLSM: cada rede do tamanho certo

Ninguém obriga a dividir em pedaços iguais. Dá pra pegar um /24 e cortar do tamanho de cada necessidade.

Exemplo: uma empresa com 100 computadores, 50 câmeras, 20 no Wi-Fi de visitante e um link entre dois roteadores. Tudo dentro de 192.168.10.0/24:

  • 100 computadores → /25: 192.168.10.0 até .127
  • 50 câmeras → /26: 192.168.10.128 até .191
  • 20 visitantes → /27: 192.168.10.192 até .223
  • Link → /30: 192.168.10.224 até .227

Sobra de .228 até .255 pra crescer.

O último pedaço de 192.168.10.0/24, de 0 a 255, dividido em redes de tamanhos diferentes: escritório de 0 a 127 (/25), câmeras de 128 a 191 (/26), Wi-Fi de visitante de 192 a 223 (/27), link entre roteadores de 224 a 227 (/30) e o resto, de 228 a 255, livre. 192.168.10.0/24 cortado em tamanhos diferentes Escritório /25 · 126 Câmeras /26 · 62 Visitantes /27 · 30 livre 0 128 192 224 228 255 link entre roteadores · /30
Maior primeiro. Cada pedaço começa num múltiplo do próprio tamanho.

A regra é uma só: do maior pro menor. Cada sub-rede tem que começar num múltiplo do próprio tamanho: um /26 começa em 0, 64, 128 ou 192. Se você encaixa os pequenos primeiro, eles ficam no meio do caminho e o grande não cabe mais.

Sumarização: juntar em vez de dividir

É o caminho contrário. Quatro redes seguidas:

  • 192.168.0.0/24
  • 192.168.1.0/24
  • 192.168.2.0/24
  • 192.168.3.0/24

Viram uma só: 192.168.0.0/22. O roteador lá na frente guarda 1 rota em vez de 4. Numa rede grande, isso é a diferença entre uma tabela de rotas organizada e uma bagunça.

Só funciona se as redes forem seguidas e alinhadas. 192.168.1.0 até 192.168.4.0 também são 4 redes seguidas, mas não começam num múltiplo de 4. Não viram um /22.

IPv6: mesma ideia, conta mais fácil

IPv6 tem 128 bits em vez de 32 e é escrito em hexadecimal: 2001:db8:abcd:12::1. Assusta, mas a conta de sub-rede fica mais fácil, porque endereço sobra:

  • Rede local é sempre /64. Não tem o que calcular.
  • Não existe broadcast, então acabou o "menos 2".
  • O cliente recebe do provedor um bloco maior e quebra em várias /64.

Pra dividir, é só contar em hexadecimal no pedaço certo. Um /56, por exemplo, dá 256 redes /64: de 2001:db8:abcd:1200::/64 até 2001:db8:abcd:12ff::/64.

A calculadora deste post é só IPv4.

Pro pessoal técnico: VLSM exige protocolo de roteamento classless: OSPF, IS-IS, BGP, EIGRP. RIPv1 não leva máscara no anúncio e quebra tudo. Na sumarização, cria a rota resumida apontando pra null0 (ou blackhole), senão tráfego pra um pedaço que não existe fica em loop. No OSPF ela é feita na ABR, com area range. No BGP, o menor prefixo IPv4 aceito na internet é /24: mais específico que isso costuma ser filtrado. Em IPv6, o /64 é obrigatório pro SLAAC. Em link ponto a ponto usa-se /127 (RFC 6164), o primo do /31. O bloco do cliente chega por DHCPv6-PD.

Fechamento

Sub-rede é rua e número. A máscara diz onde um termina e o outro começa. O resto é contar de pulo em pulo.

Pra levar:

  • IPs utilizáveis = 2 elevado aos bits que sobram, menos 2.
  • Pulo = 256 − o pedaço da máscara que não é 255 nem 0.
  • Rede é o começo do bloco, broadcast é o fim.
  • Dividindo em tamanhos diferentes, maior primeiro. E sempre com folga.

Faz na mão, confere na calculadora. Depois de umas três vezes, sai de cabeça.