VLSM — Sub-redes de Tamanho Variável
O que é
VLSM (Variable Length Subnet Masks) é a técnica de dividir um bloco de endereços IP em sub-redes com prefixos de comprimentos diferentes — cada sub-rede recebe exatamente o tamanho que precisa, nem mais, nem menos.
O oposto é o FLSM (Fixed Length Subnet Masks): todas as sub-redes usam o mesmo prefixo. Com FLSM, o tamanho é determinado pela maior rede, o que gera desperdício brutal nas menores. Se a maior filial tem 200 hosts, todas as sub-redes recebem um /24 — incluindo o link ponto-a-ponto entre dois roteadores, que só precisa de 2 endereços e acaba com 252 endereços inutilizáveis.
Com VLSM, cada segmento ganha o prefixo certo:
- Filial com 200 hosts → /24 (254 endereços utilizáveis)
- Filial com 50 hosts → /26 (62 endereços utilizáveis)
- Filial com 10 hosts → /28 (14 endereços utilizáveis)
- Link entre roteadores → /30 (2 endereços utilizáveis)
Como funciona
A regra de ouro do VLSM é alocar sempre do maior para o menor. Isso evita fragmentação do espaço de endereçamento e garante que sub-redes maiores comecem em endereços alinhados ao bloco.
Passos:
- Liste todos os segmentos em ordem decrescente de hosts necessários.
- Comece pelo primeiro endereço disponível do bloco principal.
- Para cada segmento, escolha o menor prefixo que acomoda o número de hosts (lembre: 2ⁿ − 2 endereços utilizáveis).
- O endereço de rede da próxima sub-rede é o broadcast da anterior + 1.
- Repita até esgotar a lista.
Exemplo completo com o bloco 192.168.1.0/24 e cinco segmentos:
| Segmento | Hosts necessários | Prefixo | Endereço de rede | Broadcast | Utilizáveis |
|---|---|---|---|---|---|
| Filial A | 110 | /25 | 192.168.1.0 | 192.168.1.127 | 126 |
| Filial B | 45 | /26 | 192.168.1.128 | 192.168.1.191 | 62 |
| Filial C | 29 | /27 | 192.168.1.192 | 192.168.1.223 | 30 |
| Filial D | 8 | /28 | 192.168.1.224 | 192.168.1.239 | 14 |
| Link P2P | 2 | /30 | 192.168.1.240 | 192.168.1.243 | 2 |
O bloco /24 inteiro tem 256 endereços. Ao final, sobraram apenas 192.168.1.244–255 (12 endereços) sem uso — um aproveitamento muito superior ao que o FLSM permitiria.
Por que não /29 para 8 hosts? Um /29 tem 8 endereços totais, mas 2 são reservados (rede e broadcast), sobrando apenas 6 utilizáveis. Para 8 hosts é preciso /28 (14 utilizáveis).
Na prática
Cenário real: uma empresa brasileira com sede em São Paulo e duas filiais (Campinas e Ribeirão Preto) recebe o bloco 10.20.0.0/24 do provedor.
- Sede SP: 100 hosts → /25 → 10.20.0.0/25 (hosts: .1–.126)
- Filial Campinas: 50 hosts → /26 → 10.20.0.128/26 (hosts: .129–.190)
- Filial Ribeirão: 20 hosts → /27 → 10.20.0.192/27 (hosts: .193–.222)
- Link SP→Campinas: 2 hosts → /30 → 10.20.0.224/30 (hosts: .225–.226)
- Link SP→Ribeirão: 2 hosts → /30 → 10.20.0.228/30 (hosts: .229–.230)
Sem VLSM, usando /25 para tudo, seriam necessários cinco blocos /25 — um /24 inteiro não bastaria.
Links ponto-a-ponto: use /30 (2 hosts utilizáveis) ou /31 (RFC 3021, sem endereço de rede nem broadcast — os dois IPs são utilizáveis). O /31 é aceito pelos equipamentos Cisco modernos e pelo exame CCNA 200-301 atual; economiza dois endereços por link, o que faz diferença em redes com dezenas de links WAN.
Por que cai no exame
O CCNA cobra VLSM em pelo menos uma questão de cálculo, geralmente pedindo:
- O prefixo correto para um segmento com N hosts.
- O endereço de broadcast de uma sub-rede específica dentro do esquema VLSM.
- Identificação de sobreposição entre sub-redes (overlap) — erro clássico de quem não respeita a ordem maior→menor.
- Qual prefixo usar para um link ponto-a-ponto (/30 vs /31).
O erro mais frequente dos candidatos é calcular o prefixo de um segmento com 8 hosts como /29 (esquecendo de subtrair rede e broadcast) e causar sobreposição na sub-rede seguinte.
Memorize: para N hosts, você precisa de pelo menos ⌈log₂(N + 2)⌉ bits de host. Na prática: 2 hosts → /30, 6 → /29, 14 → /28, 30 → /27, 62 → /26, 126 → /25, 254 → /24.
Resumo em uma linha
VLSM elimina o desperdício de endereços ao atribuir a cada sub-rede exatamente o tamanho que ela precisa — sempre alocando do maior segmento para o menor dentro do bloco disponível.