Tutorial VLSM (Variable Lenght Subnet Masks)

Caríssimos leitores! Vou retomar as postagens no blog iniciando 2008 com um pequeno tutorial sobre VLSM. Creio que este seja um tópico de  bastante interesse, já que é um dos assuntos cobrados no exame CCNA (e também nos exames CCNP e CCIP) e, me parece, muitos ainda têm dificuldade em compreende-lo com clareza.

O pré-requisito para este tutorial é compreender relativamente bem o conceito de subnetting. Se você ainda tem dificuldades com subredes, este post não irá ajuda-lo muito, creio. Aconselho, neste caso, a buscar e ler o que já foi postado sobre o tópico “subredes” (http://blog.ccna.com.br/?s=subredes). Pode ser de grande ajuda.

VLSM nada mais é do que a segmentação lógica de subredes. Ou seja, para criar subredes, você segmentou uma determinada  rede. VLSM consiste em segmentar as subredes criadas, em blocos não necessariamente do mesmo tamanho. Daí o nome “subredes de tamanho variável”.

Exemplo:

Suponha a Rede sem segmentação abaixo:

192.168.10.0 /24 (como é sem segmentação, a máscara DEVE ser /24, já que falamos aqui de um endereço de rede classe “C”)

Vamos supor agora que esta rede foi segmentada em 2 subredes distintas:

192.168.10.64 /26 
 e
192.168.10.128 /26

OBS: Aqui foi aplicada a regra 2 ^ x – 2. Se eta regra não fosse aplicada, teríamos as subredes 192.168.10.0 /25 e 192.168.10.128 /25. Lembrando que o exame CCNA considera a regra 2 ^ x – 2 para o cálculo de subredes (a não ser quando EXPLICITAMENTE mencionado na questão).

Retornando… temos então as 2 subredes acima denotadas, cada uma delas com capacidade para endereçar 62 hosts:

Subrede: 192.168.10.64
hosts: 65 à 126
Broadcast: 127

Subrede: 192.168.10.128
hosts: 129 à 190
Broadcast: 191

Agora, suponha que você, tendo em mãos este pequeno plano de endereçamento, tenha uma rede com a seguinte topologia para endereçar:

Quantas redes esta topologia apresenta? Resposta: 6 redes! 3 redes WAN interconectando os routers A, B e C, e 3 redes locais, para cada uma das localidades. Como você, com apenas 2 redes disponíveis, consegue suprir suas necessidades de endereçamento? Resposta: VLSM! Vamos pegar as 2 redes que já temos e dividi-las ainda mais, obtendo assim o número de redes que precisamos. Vamos lá então!

Comecemos pelas 3 redes WAN. Observe que todas são do tipo ponto-a-ponto, ou seja, precisam de apenas 2 endereços de host (um para cada interface de cada um dos 2 routers). Por exemplo, a rede que interliga o router A com o router B necessita de apenas 2 endereços IP: um para cada router. Assim sendo, precisamos de 3 redes /30, que têm esta característica (entregam apenas 2 endereços de host por subrede).

Vamos usar a rede 64 para obter as 3 redes /30 que precisamos:

192.168.010.064
255.255.255.192 ==> 11111111.1111111.11111111.11000000

Os “zeros” em vermelho mostram até que ponto temos de avançar na máscara /26 para obtermos as redes /30. Quantas redes /30 conseguiríamos? Resposta: 2 ^ 4 = 16. Notem que aqui não se aplica a regra do “-2”. Esta regra não é aplicada para cálculo de subredes VLSM. Portanto, a subrede 192.168.10.64 /26, quando subdividida conforme acima, nos fornece 16 subredes /30, cada uma podendo endereçar até 2 hosts (ou interfaces de roteadores, no caso). Estas redes ocorrem de 4 em 4, e seriam:

192.168.10.64, 68, 72, 76. 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120 e 124, todas com máscara /30.

Para o nosso exercício, vamos reservar as 3 primeiras: 192.168.10.64 /30, 192.168.10.68 /30 e 192.168.10.72 /30.

Notem que ainda temos 13 subredes /30 que não serão usadas. O que poderíamos ter feito, para evitar este desperdício, é dividir a subrede 192.168.10.64 /26 em 2 subredes /27 (192.168.10.64 /27 e 192.168.10.96 /27), e subdividir a primeira (192.168.10.64 /27) em 8 subredes /30. Desta forma, desperdiçaríamos um menor número de endereços e ainda teríamos uma subrede /27, com capacidade para endereçar até 30 hosts sobrando, para uso futuro. Mas para efeitos didáticos, o exemplo inicial é mais fácil de ser compreendido.

Bom, resolvemos o problema do endereçamento das redes WAN. Mas agora nos sobrou apenas 1 subrede /26 para endereçamento das 3 localidades,  sendo que cada localidade tem a sua necessidade de hosts. A dica aqui é fazer o cálculo usando a localidade com maior necessidade de IPs (20  hosts, no caso). Eu preciso, portanto, de pelo menos 3 subredes que me entreguem, ao menos 20 hosts. Vamos lá!

192.168.010.128
255.255.255.192 ==> 11111111.1111111.11111111.11000000

Notem que eu tenho 6 “zeros” para manipulação. O algoritmo que temos que usar é:

2 ^ x – 2 >= 20, sendo que o resultado (x) é o número de “zeros” da direita para a esquerda que teremos que preservar.

Notem que a regra do “-2” deve ser observada neste cálculo, já que estamos falando de hosts (temos que eliminar os endereços de rede e de broadcast).

Portanto, x = 5, já que 2 ^ 5 – 2 = 30, e 30 >= 20. Se x fosse 4,  o resultado seria 14, e 14 não é >= 20. Portanto, devemos reservar 5 zeros para o endereçamento dos hosts:

11111111.1111111.11111111.11100000

Opa! Temos um problema! Se fizermos isso, restará apenas 1 zero na máscara para a criação das subredes. E apenas 1 zero nos possibilita a criação de apenas 2 subredes (2 ^ 1). Precisamos de 3 subredes, e não 2! O que fazer? Resposta: Criamos as 2 novas subredes, cada uma com capacidade para endereçar até 30 hosts e, posteriormente, dividimos novamente uma destas 2:

As 2 novas subredes ocorrem de 32 em 32, portanto:

192.168.10.128 /27
e
192.168.10.160 /27

Vamos pegar a segunda e dividi-la novamente:

192.168.010.160
255.255.255.224 ==> 11111111.1111111.11111111.11100000

O “zero” assinalado em vermelho é o dígito que alteraremos na máscara para criarmos 2 novas subredes com máscara /28 (observem que, conforme se adiciona um dígito à máscara original, criamos 2 novas subredes. Ex: de /26 para /27 criamos 2 subredes. De /27 para /28, criamos 2 subredes, e assim por diante).

As 2 novas subredes /28 ocorrem de 16 em 16 (/28 = 255.255.255.240 | 256 – 240 = 16, para quem não se lembra das regras do cálculo de subredes), portanto:

192.168.10.160 /28
e
192.168.10.176 /28

Resta saber se qual a capacidade de endereçamento de hosts cada uma destas subredes possui: Temos 4 “zeros” restantes na máscara  /28. Assim sendo: 2 ^ 4 – 2 = 14. Portanto, atendemos aos requisitos. Vamos ao resumo do endereçamento:

Conexão WAN A – B: 192.168.10.64 /30
Conexão WAN A – C: 192.168.10.68 /30
Conexão WAN C – B: 192.168.10.72 /30

Localidade ligada ao router C: 192.168.10.192.168.10.128 /27 (até 30 hosts)
Localidade ligada ao router A: 192.168.10.192.168.10.160 /28 (até 14 hosts) 
Localidade ligada ao router B: 192.168.10.192.168.10.176 /28 (até 14 hosts)

OBS IMPORTANTE: Algumas palavras usadas para denotar o não uso da regra do “-2” para subredes em questões do exame:

  • How many usable subnets (ou utilizáveis ou algo do gênero se for em Português)
  • Se aparecer “ip subnet-zero” em algum ponto da questão
  • Lembrem-se que para VLSM e CIDR, a regra do “-2” para cálculo de subredes NUNCA se aplica.

Seria basicamente isso. Pode não parecer simples à princípio, mas com prática pega-se o jeito da coisa e tudo fica tão claro quanto o cálculo de subredes 😉

Posso ter errado aqui! Então, se algum de vocês refizerem os cálculos e encontrarem algum erro, por favor, postem nos comments. Aliás, este é um excelente exercício. Procurem refazer os cálculos e compreender o que foi feito, e procurem por falhas. Qualquer dúvida, postem nos comments e respondo-as com prazer!

Seguindo este tutorial, mais adiante publicarei um tutorial sobre CIDR e sumarização de rotas, para então entrarmos em uma série de tutoriais mais avançados sobre EIGRP, OSPF e BGP.

Um abraço para todos!

Marco Filippetti

12 comentários

Pular para o formulário de comentário

  1. Parabéns pelo tutorial Marcos. Simples e objetivo.

  2. Marco, vc escreveu:

    ” Aqui foi aplicada a regra 2 ^ x – 2. Se eta regra não fosse aplicada, teríamos as subredes 192.168.10.0 /25 e 192.168.10.128 /25.”

    Pode ser que eu tenha entendido errado (grande chance hehe) mas não seria : 192.168.10.0/26 e 192.168.10.192/26 ?

    Se eu estiver errado, poderia explicar mais detalhadamente esta parte ?

    Obrigado.

    David Morais.

  3. Oi David! Boa observação! Mas no caso específico deste exercício, como o objetivo inicialmente era quebrar uma rede /24 em duas, se a regra do “-2” não for usada, teríamos 2 subredes /25. No seu comentário, as redes mencionadas apareceriam se a regra do “-2” não fosse aplicada, porém, teríamos então 4 subredes /26. Entendeu?

    Abs! E obrigado pelo comment! Mostrou que você está “ligado” 😉

  4. Entendi agora.

    Para poder satisfazer a regra do -2, vc usou /26 e não /25, já que esta ultima lhe renderia apenas duas subredes impossibilitando a aplicação da regra.

    Obrigado Marco, eu tinha entendido a frase de outra maneira.

    Valeu pela atenção.

    Um abraço

    David Morais.

  5. Obrigado Marcos pelo tutorial, muito bom.

  6. Marco,

    No exemplo acima:

    “Notem que ainda temos 13 subredes /30 que não serão usadas. O que poderíamos ter feito, para evitar este desperdício, é dividir a subrede 192.168.10.64 /26 em 2 subredes /27 (192.168.10.64 /27 e 192.168.10.96 /27), e subdividir a primeira (192.168.10.64 /27) em 8 subredes /30. Desta forma, desperdiçaríamos um menor número de endereços e ainda teríamos uma subrede /27, com capacidade para endereçar até 30 hosts sobrando, para uso futuro. Mas para efeitos didáticos, o exemplo inicial é mais fácil de ser compreendido.”

    O correto não seria alocar primeiro as redes maiores e depois as menores? no caso acredito que ficaria primeiro a rede 192.168.10.64/27 posteriormente fariamos a divisão da subrede 192.168.10.96/27 em redes /30.

    Se eu estiver errado me esclareça por favor.

    att
    Colen

  7. Olá

    Uma outra forma de explicar a duvida do david é:

    Nao pode haver apenas 1 bit para definicao de sub-redes. Em uma rede classe C, a primeira mascara de rede comeca em 192 e a ultima é a 252(sao necessarios 2 bits(pelo menos) para definir hosts).

    Abraco
    Anderson

  8. Olá, aprendi essa tecnica faz 2 dias e estou tendo um pouco de dificuldade para dominala.
    A duvida é a seguinte:

    Meus professores disseram que para calcular o número de rede teriamos que pegar os bits empretados dos hosts e fariamos o seguinte calculo: 2^X =R .. isso sem utilizar a regra -2. Mas aqui essa regra é utilizada logo na primeira divisão de redes, ele divide em duas redes distintas e usando o /26 teriamos o total de 4 redes mas ele nao usa nem a primeira rede nem a ultima.. isso está um pouco dificil de entender.

    Porque só usou usou duas redes? A primeira rede e a ultima não podem ser usadas? pelo que eu saiba a primeira rede nao é aconselhaveu utilizar pois alguns equipamentos não tem suporte. Mas mesmo assim.. não sei se é o meu professor que nao sabe explicar ou eu que sou tapado.

    Fico grato para uma explicação e agradeço a atenção de todo..

    Att
    Emerson

  9. Gostaria de saber se eu poderia dividir as redes da seguinte forma:

    Localidade ligada ao router C: 192.168.10.0 192.168.10.31 /27 (até 30 hosts)
    Localidade ligada ao router A: 192.168.10.32 192.168.10.47 /28 (até 14 hosts)
    Localidade ligada ao router B: 192.168.10.48 192.168.10.63 /28(até 14 hosts)

    Conexão WAN A – B: 192.168.10.64 /30
    Conexão WAN A – C: 192.168.10.68 /30
    Conexão WAN C – B: 192.168.10.72 /30

  10. Olá pessoal, meu primeiro post e, justo, num tópico que me desconcentra nesses últimos dias. Num sei se vou receber uma resposta logo, mas em todo caso qualquer resposta já é apreciada!

    Seguinte, estou em dúvida sobre a regra “-2” pra rede, pelo que entendi no tópico ela só é utilizada na primeira vez que se faz a sub-rede (ou seja quando se faz sub-rede da rede principal) e quando se faz sub-rede de sub-rede não se utiliza o “-2”.

    No entanto, num exercício “brabo” do netacademy, não vi como fazer dessa forma, tive de usar a primeira rede e desprezar essa regra do “-2” pra rede.

    Pelo que entendi no post não posso pegar nenhuma faixa de IPs não utilizados para colocar nas interfaces WANs, o que me faria usar a última faixa de IPs (“11” 192 – 255).

    “00” 0 – 63
    “01” 64 – 127
    “10” 128 – 191
    “11” 192 – 255

    ???
    ???Gostaria de saber se realmente fiz certo de usar a primeira faixa da primeira sub-rede???
    ???

    O IP 172.16.0.0/16 deve ser divido pra três localidades maiores, sendo que a soma dos hosts sem incluir os endereços WAN deu 37750, dividindo em três faixas de até 14000 hosts.

    “00” 0 – 63 para rede leste, 11750 endereços necessários; a faixa não utilizada fica de 47 a 63
    Faixa principal: 172.16.0.1 a 172.16.63.254/18

    ##172.16.0.1 – 172.16.15.254/20##
    ##172.16.16.1 – 172.16.31.254/20##
    ##172.16.32.1 – 172.16.35.254/22##
    ##172.16.36.1 – 172.16.39.254/22##
    ##172.16.40.1 – 172.16.41.254/23##
    ##172.16.42.1 – 172.16.43.254/23##
    ##172.16.44.1 – 172.16.44.254/24##
    ##172.16.45.1 – 172.16.45.254/24##
    ##172.16.46.1 – 172.16.46.127/25##
    ##172.16.46.128 – 172.16.46.254/25##

    “01” 64 – 127 para rede oeste, 14000 endereços necessários; a faixa não utilizada fica de 120 a 127
    Faixa principal: 172.16.64.1 a 172.16.127.254/18

    ##172.16.64.1 – 172.16.79.254/20##
    ##172.16.80.1 – 172.16.95.254/20##
    ##172.16.96.1 – 172.16.103.254/21##
    ##172.16.104.1 – 172.16.111.254/21##
    ##172.16.112.1 – 172.16.115.254/22##
    ##172.16.116.1 – 172.16.119.254/22##

    “10” 128 – 191 para rede central, 12000 endereços necessários; a faixa não utilizada fica de 176 a 191
    Faixa principal: 172.16.128.1 a 172.16.191.254/18

    ##172.16.128.1 – 172.16.159.254/19##
    ##172.16.160.1 – 172.16.175.254/20##

    “11” 192 – 255 (para as redes WAN???)
    Faixa principal: 172.16.192.1 a 172.16.255.254/18

    A descrição do cenário é esta:

    Seção da rede do leste
    • A rede local1 N-EAST (nordeste) exigirá 4.000 endereços IP de host.
    • A rede local2 N-EAST (nordeste) exigirá 4.000 endereços IP de host.
    • A rede local1 SE-BR1 (Filial1 do sudeste) exigirá 1.000 endereços IP de host.
    • A rede local2 SE-BR1 (Filial1 do sudeste) exigirá 1.000 endereços IP de host.
    • A rede local1 SE-BR2 (Filial2 do sudeste) exigirá 500 endereços IP de host.
    • A rede local2 SE-BR2 (Filial2 do sudeste) exigirá 500 endereços IP de host.
    • A rede local1 SE-ST1 (Satellite1 do sudeste) exigirá 250 endereços IP de host.
    • A rede local2 SE-ST1 (Satellite1 do sudeste) exigirá 250 endereços IP de host.
    • A rede local1 SE-ST2 (Satellite2 do sudeste) exigirá 125 endereços IP de host.
    • A rede local2 SE-ST2 (Satellite2 do sudeste) exigirá 125 endereços IP de host.
    • Seção da rede do oeste
    • A rede local1 S-WEST (sudoeste) exigirá 4.000 endereços IP de host.
    • A rede local2 S-WEST (sudoeste) exigirá 4.000 endereços IP de host.
    • A rede local1 NW-BR1 (Filial1 do noroeste) exigirá 2.000 endereços IP de host.
    • A rede local2 NW-BR1 (Filial1 do noroeste) exigirá 2.000 endereços IP de host.
    • A rede local1 NW-BR2 (Filial2 do noroeste) exigirá 1.000 endereços IP de host.
    • A rede local2 NW-BR2 (Filial2 do noroeste) exigirá 1.000 endereços IP de host.
    • Seção da rede central
    • A rede local1 Central 1 exige 8.000 endereços IP de host.
    • A rede local2 Central exigirá 4.000 endereços IP de host.
    • Os links de WAN entre os roteadores exigirão um endereço IP para cada extremidade do link.

  11. A regra -2 para a criação de sub-redes, deve eliminar a primeira e a ultima sub-rede que seria isso

    192.168.10.0 1 – 62 63 eliminar

    192.168.10.64 65 – 126 127
    192.168.10.128. 129 -190 191

    192.168.10.192 193 – 254 255 eliminar

    Mas com a verão 12.0 do ios a cisco passou a encontra se habilitado o comando ip subnet-zero no routers que pode ser usado a primeira e a ultima rede.

  12. Muito bom, obrigado.

Deixe um comentário