VLSM é um problema de alocação
Antes do CIDR, uma rede usava uma máscara única para todas as suas sub-redes, comprimento fixo. Isso significa que um enlace entre dois roteadores, que precisa de 2 endereços, recebe o mesmo bloco de um departamento com 50 máquinas. Se a máscara comum for /26, cada enlace ponto a ponto queima 64 endereços para usar 2, desperdiçando 62. Em um único /24 (256 endereços) isso estoura em poucos enlaces. VLSM (Variable Length Subnet Masking) resolve o problema deixando cada sub-rede ter a sua própria máscara: o departamento fica com um /26, o enlace fica com um /31, e ninguém rouba espaço de ninguém.
Máscara fixa (sem VLSM)
- Uma máscara para toda a rede: você dimensiona pela MAIOR sub-rede e aplica a todas.
- Um enlace de 2 hosts com um /26: 62 endereços jogados fora por enlace.
- Simples de configurar, caro em endereços, impraticável em IPv4 escasso.
VLSM
- Cada sub-rede recebe a menor máscara que a comporta.
- O enlace de 2 hosts vira um /31; o desperdício some.
- Exige planejamento e ordem de alocação, o assunto deste guia.
Dimensionar cada sub-rede
Um prefixo /n reserva n bits para a rede e deixa 32 − n bits para os hosts. O número de endereços é 2 elevado aos bits de host, e os utilizáveis são esse total menos 2, o primeiro endereço identifica a rede e o último é o broadcast, e nenhum dos dois vai numa placa de rede. Para planejar, você faz o caminho inverso: parte do número de hosts e acha o prefixo.
H = 2^(32 - n) - 2- H
- hosts utilizáveis na sub-rede
- n
- prefixo (bits de rede)
- 32 - n
- bits de host
- - 2
- endereço de rede e broadcast, não atribuíveis
n = 32 - ceil( log2( N + 2 ) )- N
- hosts de que você precisa
- + 2
- reserva rede + broadcast
- ceil
- arredonda para cima (não dá para pedir meio bit)
Na prática você raramente calcula o logaritmo: decora o tamanho do bloco de cada máscara e anda por ele. O “tamanho do bloco” é de quantos em quantos endereços as sub-redes começam. Um /26 tem bloco 64, então as redes ficam em .0, .64, .128 e .192; um /28 tem bloco 16 e começa em .0, .16, .32 e assim por diante. Saber o tamanho do bloco é o que deixa você listar rede, primeiro host, último host e broadcast de cabeça.
| Prefixo | Tamanho do bloco | Hosts utilizáveis | Onde as redes começam (último octeto) |
|---|---|---|---|
| /25 | 128 | 126 | .0, .128 |
| /26 | 64 | 62 | .0, .64, .128, .192 |
| /27 | 32 | 30 | .0, .32, .64, … |
| /28 | 16 | 14 | .0, .16, .32, … |
| /29 | 8 | 6 | múltiplos de 8 |
| /30 | 4 | 2 | múltiplos de 4 |
| /31 | 2 | 2 (RFC 3021) | múltiplos de 2 |
Um plano completo, endereço a endereço
Vamos levar um caso do começo ao fim. Uma empresa recebeu o bloco privado 192.168.1.0/24 (espaço da RFC 1918) e precisa endereçar quatro departamentos e três enlaces ponto a ponto entre roteadores: Vendas com 50 hosts, Engenharia com 20, Suporte com 10, Financeiro com 5, e três enlaces de 2 endereços cada. Tudo dentro dos 256 endereços de um único /24. O algoritmo do VLSM é sempre o mesmo.
- Liste e ordeneAnote cada segmento com o número de hosts e ordene do maior para o menor: Vendas 50, Engenharia 20, Suporte 10, Financeiro 5, e os três enlaces de 2.
- Arredonde para a potência de 2Para cada um, ache o menor bloco que cabe: 50 → /26 (bloco 64), 20 → /27 (32), 10 → /28 (16), 5 → /29 (8), 2 → /31 (2, pela RFC 3021).
- Aloque em sequênciaComece no início do /24 (.0) e ande o tamanho do bloco a cada alocação: .0 (Vendas), .64 (Engenharia), .96 (Suporte), .112 (Financeiro), depois .120, .122 e .124 para os enlaces.
- Alinhe cada blocoToda rede começa num múltiplo do seu tamanho de bloco. Se o cursor cair no meio de uma fronteira, pule para a próxima, é aqui que alocar fora de ordem abre buracos.
- Repita e confiraRepita até o último segmento e confira que nenhuma faixa se sobrepõe e que tudo cabe. No caso, o último endereço usado é .125, sobram .126 a .255 para crescer.
| Sub-rede | Hosts nec. | Prefixo | Rede | Faixa útil | Broadcast |
|---|---|---|---|---|---|
| Vendas | 50 | /26 | 192.168.1.0 | .1 – .62 | 192.168.1.63 |
| Engenharia | 20 | /27 | 192.168.1.64 | .65 – .94 | 192.168.1.95 |
| Suporte | 10 | /28 | 192.168.1.96 | .97 – .110 | 192.168.1.111 |
| Financeiro | 5 | /29 | 192.168.1.112 | .113 – .118 | 192.168.1.119 |
| Enlace R1–R2 | 2 | /31 | 192.168.1.120 | .120 – .121 | — |
| Enlace R2–R3 | 2 | /31 | 192.168.1.122 | .122 – .123 | — |
| Enlace R3–R4 | 2 | /31 | 192.168.1.124 | .124 – .125 | — |
Repare em como o encaixe fecha: Vendas ocupa .0–.63, então Engenharia começa em .64; ela vai até .95, então Suporte começa em .96; e assim por diante, sem um único endereço perdido entre as faixas. O total consumido é 64 + 32 + 16 + 8 + 2 + 2 + 2 = 126 endereços, deixando 130 livres (.126 a .255). É exatamente esse encaixe que o modo VLSM da calculadora de sub-rede automatiza, inclusive somando quantos endereços cada faixa desperdiça. Cole o /24 e as sete demandas no bloco abaixo e compare com a tabela.
Ver os dados
| Categoria | Valor |
|---|---|
| Vendas /26 | 12 |
| Engenharia /27 | 10 |
| Suporte /28 | 4 |
| Financeiro /29 | 1 |
| R1–R2 /31 | 0 |
| R2–R3 /31 | 0 |
| R3–R4 /31 | 0 |
Sumarização: o caminho de volta
Subnetting divide um bloco em pedaços menores; a sumarização (ou agregação de rotas, ou supernetting) faz o oposto: junta vários blocos vizinhos numa única rota mais curta. É isso que impede a tabela de roteamento da internet de listar cada rede individualmente. Um provedor que recebeu um /16 pode anunciar aos vizinhos uma única rota /16 em vez das 256 rotas /24 que existem dentro dele. Menos entradas, menos memória no roteador, convergência mais rápida. A RFC 4632, a especificação do CIDR, foi escrita justamente em torno dessa alocação hierárquica: distribuir endereços em blocos que possam ser agregados sobe a hierarquia.
- Sumarização / agregação
- Representar um conjunto de sub-redes contíguas por um único prefixo mais curto que as cobre todas.
- Supernet
- O prefixo agregado, mais curto que as sub-redes que engloba (o oposto de uma sub-rede).
- Prefixo comum mais longo
- A quantidade de bits iniciais idênticos em todos os blocos; é ele que vira o prefixo do agregado.
- 1993CIDR (RFC 1519)
O prefixo de comprimento variável substitui as classes A/B/C e introduz a agregação como remédio para o crescimento da tabela de rotas.
- 1995Tabela VLSM (RFC 1878)
Publica a tabela de máscaras de sub-rede que virou referência de bolso. É Informacional e hoje está classificada como Histórica, útil como referência, sem valor normativo.
- 1996Espaço privado (RFC 1918)
Reserva 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16 para redes internas, o espaço onde a maioria dos planos VLSM acontece.
- 2000/31 em enlaces (RFC 3021)
Autoriza o /31 em enlaces ponto a ponto: os dois endereços viram host, sem rede nem broadcast, economizando 2 endereços por enlace.
- 2006CIDR consolidado (RFC 4632)
Substitui a RFC 1519 e vira a Prática Corrente (BCP 122) que ainda rege alocação e agregação de endereços na internet.
Agregando quatro /26 num /24
Achar o agregado é um exercício de olhar os endereços em binário e ver até onde os bits coincidem. Pegue as quatro sub-redes /26 do mesmo /24: 192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26 e 192.168.1.192/26. Elas são contíguas e juntas cobrem de .0 a .255. Escreva as redes em binário e alinhe os prefixos:
192.168.1.0/26 11000000.10101000.00000001.00000000
192.168.1.64/26 11000000.10101000.00000001.01000000
192.168.1.128/26 11000000.10101000.00000001.10000000
192.168.1.192/26 11000000.10101000.00000001.11000000
└──────── 24 bits ───────┘ ↑↑
estes 2 bits variam: 00 01 10 11
192.168.1.0/24 11000000.10101000.00000001.00000000
atalho: 2^2 = 4 blocos contiguos e alinhados -> 26 - 2 = /24Duas condições precisam valer para o agregado ser honesto. Primeiro, os blocos têm de ser contíguos e não deixar buracos, as quatro /26 preenchem o /24 inteiro. Segundo, o agregado tem de estar alinhado: um /24 começa em .0, e é lá que a primeira /26 começa. Se você só tivesse três das quatro /26 (digamos, sem a .192/26), anunciar um /24 seria mentira, porque incluiria .192–.255, que não são suas. O melhor possível ali seria agregar as duas primeiras num /25 (192.168.1.0/25 cobre .0–.127) e deixar a .128/26 sozinha, duas rotas em vez de uma. Blocos não contíguos, ou que cruzam uma fronteira de potência de dois, simplesmente não agregam.
Quando o mesmo destino casa com mais de uma rota, o roteador não fica em dúvida: ele encaminha pela rota de prefixo mais longo, a mais específica. A RFC 1812 (Requisitos para roteadores IPv4) exige esse comportamento, o longest prefix match. É por isso que uma rota /24 mais específica vence a supernet /16 que a contém, e que anunciar um bloco mais específico atrai o tráfego daquela faixa mesmo com uma rota agregada existindo. Agregação encolhe a tabela; more-specifics a incham de novo, e essa é a tensão permanente do roteamento global. Em janeiro de 2026, a tabela BGP IPv4 já rondava 1,05 milhão de rotas, com prefixos /24, /23 e /22 respondendo por 84% do total, sinal de quanta desagregação existe. O número cresce e deve ser lido como ordem de grandeza, não como um valor fixo.
Conferência e casos-limite
- Ordenou da maior sub-rede para a menor antes de alocar.
- Cada rede começa num múltiplo do seu tamanho de bloco (fronteira correta).
- Aplicou o −2 nos blocos /30 ou maiores; usou /31 nos enlaces ponto a ponto.
- Nenhuma faixa se sobrepõe e tudo cabe no bloco de origem.
- O gateway não caiu no endereço de rede nem no de broadcast.
- Para agregar: blocos contíguos, em número potência de 2, alinhados na fronteira do agregado.
/31 em enlaces ponto a ponto: por que economiza 2 endereços
Um enlace entre dois roteadores tem exatamente dois pontos. Com um /30 clássico, o bloco de 4 endereços gasta 1 com a rede, 1 com o broadcast e sobram 2 para os roteadores, metade jogada fora. A RFC 3021 observou que um enlace ponto a ponto não precisa de broadcast (só há um outro lado para falar) nem de um endereço de rede separado, e autorizou o /31: os 2 endereços do bloco viram, ambos, endereços de host. Resultado: 2 endereços usados de 2 alocados, desperdício zero, contra 2 de 4 no /30.
No caso deste guia, os três enlaces em /31 gastam 6 endereços no total. Em /30 gastariam 12, o dobro. A economia de 2 por enlace parece pequena, mas em uma rede com centenas de enlaces WAN ela devolve blocos inteiros. O único cuidado é que equipamentos muito antigos podem não suportar /31; nesse caso, o /30 continua sendo o recuo seguro.
Longest prefix match: como o roteador escolhe
A tabela de roteamento pode ter várias rotas que casam com o mesmo destino: uma rota default 0.0.0.0/0, uma supernet /16, uma /24 específica e até uma /32 de host. O roteador não soma nem sorteia, ele escolhe a de prefixo mais longo, isto é, a que combina mais bits com o destino. Uma /24 (24 bits combinando) vence uma /16 (16 bits); uma /32 vence todas. É esse critério, exigido pela RFC 1812, que faz agregação e anúncios mais específicos conviverem: a supernet cobre o geral, e uma rota mais específica desvia exatamente a faixa que precisa de tratamento diferente.
Quando VLSM não vale a pena
VLSM troca endereços por complexidade. Em IPv4 privado, onde você tem um /8 inteiro (16 milhões de endereços) para brincar, muitas equipes deliberadamente padronizam tudo em /24: cada VLAN vira um /24, o terceiro octeto vira o número da VLAN, e a leitura do plano fica trivial. Desperdiça endereços que ninguém sente falta e elimina erros de fronteira. Reserve o VLSM apinhado para onde o espaço é escasso de verdade, blocos públicos, um /24 único como no exemplo, ou enlaces WAN, e não para uma rede interna folgada.
Em IPv6 a conta muda por completo: a recomendação é dar um /64 a cada sub-rede independentemente do número de hosts, então não existe “dimensionar pelo host”. O que sobrevive do VLSM lá é a hierarquia de prefixos e a agregação; a sumarização, aliás, importa ainda mais em IPv6.
Com o plano fechado, o guia de IP público e privado ajuda a decidir quais dessas faixas saem para a internet via NAT e quais ficam só na LAN. E se a teoria do prefixo e da máscara ainda parece nebulosa, volte ao guia irmão de CIDR, sub-rede IPv4 e IPv6 antes de configurar em produção.
Perguntas frequentes
Por que alocar da maior sub-rede para a menor?
Qual a diferença entre subnetting e sumarização?
Devo usar /30 ou /31 em um enlace ponto a ponto?
Como sei se um conjunto de sub-redes pode ser agregado?
O que é longest prefix match?
VLSM existe em IPv6?
VLSM é alocação: ordene do maior para o menor, dimensione cada sub-rede com prefixo = 32 − ceil(log2(N + 2)), aloque em sequência respeitando o tamanho do bloco e use /31 nos enlaces ponto a ponto (RFC 3021). O caminho de volta é a sumarização: 2^k blocos contíguos e alinhados viram um prefixo k bits mais curto, achado pelo prefixo comum mais longo em binário. Só agregue o que é contíguo e alinhado, e lembre que o roteador sempre encaminha pela rota mais específica (longest prefix match).
Fontes e referências
- RFC 4632, CIDR: The Internet Address Assignment and Aggregation Plan (BCP 122)
- RFC 3021, Using 31-Bit Prefixes on IPv4 Point-to-Point Links
- RFC 1918, Address Allocation for Private Internets (BCP 5)
- RFC 1812, Requirements for IP Version 4 Routers (longest prefix match)
- RFC 1878, Variable Length Subnet Table For IPv4 (Informacional, Histórica)
- G. Huston (APNIC), BGP in 2025 (tamanho da tabela BGP, jan/2026)