Olá Pessoal.
Poucas horas depois que publiquei o último artigo sobre a matemática por trás das
Wildcard Masks (veja o artigo
aqui) um ex-aluno me pediu para escrever no blog um artigo sobre
VLSM (
Variable Length Subnet Masks), um dos assuntos mais comuns no exame
CCNA da Cisco e que traz grande dificuldade para os estudantes no primeiro momento.
Aqueles que estão estudando VLSM certamente já estudaram cálculo de sub-redes de tamanho fixo, portanto estou partindo do princípio de que o leitor tem esse conhecimento como pré-requisito. Antes de entrar na discussão de VLSM, façamos uma revisão "relâmpago" do conceito de sub-redes.
Quando se estuda cálculo de sub-redes pela primeira vez, é explicado que o endereço IP está associado a uma máscara de rede que é um número de 32 bits composto por uma sequência de 1s (prefixo que representa a rede) + 0s (sufixo que representa um host na rede), nessa ordem, da esquerda para a direita. Além disso, os valores padrões das máscaras de rede podem ser modificados para atender às necessidades de determinados ambientes que possuem redes mais complexas, criando diversas sub-redes. Ou seja, é possível "emprestar" bits que identificam hosts para identificar e criar sub-redes. Basicamente, no cálculo de sub-redes há duas regras básicas para seguir:
- 1a. Regra: Em relação aos bits "emprestados" para criar sub-redes, temos que:
2bits = Quantidade de Sub-Redes
- 2a. Regra: Em relação aos bits remanescentes que identificam hosts, temos que:
2bits-2 = Quantidade de Hosts
Por exemplo, 160.30.0.0/16 é um endereço de Classe B que permite 65.534 hosts (216-2) em uma única rede, o que seria ruim do ponto de vista de desempenho por causa do tamanho do domínio de
broadcast. Ao invés de ter uma única rede com muitos hosts, seria mais interessante ter mais redes com menos hosts, conforme figura abaixo onde emprestamos 8 bits do sufixo de host para identificar sub-redes menores (/24). Então passamos a ter 256 sub-redes (
28) com 254 hosts cada uma (
28-2).
No cálculo de sub-redes de tamanho variável os requisitos irão variar e teremos que criar novas sub-redes com tamanhos diferentes. Deve-se começar o processo de cálculo das sub-redes a partir dos segmentos com maior quantidade de hosts. Para isso, primeiro deve ser verificada a quantidade de hosts necessários por sub-rede usando a fórmula:
2bits-2 ≥ Quantidade de Hosts no Segmento
Obs.: Reparem que esse processo é inverso ao do cálculo de sub-redes de tamanho fixo. No cálculo tradicional de sub-redes de tamanho fixo a primeira coisa a fazer é determinar a quantidade de sub-redes necessárias.
Para praticar e entender melhor esses conceitos, vamos resolver um exercício juntos. Considerando a topologia apresentada na figura abaixo, através de uma
Rede Classe C 192.168.2.0 (/24) você deve criar um plano de endereçamento para acomodar suas sub-redes que possuem requisitos distintos.
|
Fonte: CCNA Study Guide. Richard Deal. Editora McGraw Hill. 2008. |
Nesse tipo de exercício a primeira coisa a ser feita é uma leitura da topologia para identificar quais são os requisitos exigidos pelo exercício, afinal temos que saber o que precisamos fazer antes de calcular qualquer coisa. Observando a figura é possível identificar uma topologia
hub-and-spoke em que existe uma matriz conectada com outras 7 filiais através de links ponto-a-ponto (/30). Além disso, cada segmento de rede local nas filiais deve acomodar 30 hosts. Assim sendo, já temos nossos requisitos:
- 7 Sub-Redes de 02 Hosts (Links P2P)
- 7 Sub-Redes de 30 Hosts (LANs das Filiais)
Se temos mais de um requisito, ou seja, precisamos criar sub-redes com tamanhos diferentes, pode ter certeza de que o exercício é sobre VLSM. Se tivéssemos um único requisito com redes de mesmo tamanho, qualquer que fosse a quantidade de redes solicitadas, seria um exercício de sub-redes de tamanho fixo. Primeiramente vamos escrever a rede que temos e sua respectiva máscara de rede:
Endereço de Rede : 192.168.2.0
Máscara em Decimal: 255.255.255.0 (/24)
Máscara em Binário: 11111111.11111111.11111111.00000000
Lembrem-se, então, que devemos começar o processo de cálculo VLSM a partir dos segmentos com maior quantidade de hosts. No nosso caso, tratam-se das sub-redes com 30 hosts, então devemos aplicar a seguinte fórmula para determinar quantos bits devemos usar para garantir 30 hosts:
2bits-2 ≥ 30 => Bits = 5 (já que 25 = 32)
Como tínhamos 8 bits para hosts e precisamos de 5 para assegurar segmentos de 30, sobraram 3 bits que utilizamos no novo prefixo para ter o máximo possível de sub-redes. Assim nossa nova máscara de rede passa a ser /27, veja abaixo os bits emprestados com destaque em amarelo:
Nova Máscara em Binário: 11111111.11111111.11111111.11100000
Nesse momento a antiga rede 192.168.2.0/24 não existe mais e temos 8 novas sub-redes (
23) com 30 hosts (
25-2). Abaixo relacionamos todas essas 8 novas sub-redes e já reservamos as 7 primeiras para atender o requisito das LANs das filiais:
- 192.168.2.0 /27 OK
- 192.168.2.32 /27 OK
- 192.168.2.64 /27 OK
- 192.168.2.96 /27 OK
- 192.168.2.128 /27 OK
- 192.168.2.160 /27 OK
- 192.168.2.192 /27 OK
- 192.168.2.224 /27 **
A essência do VLSM consiste em trabalhar com as "sobras" refazendo sucessivamente os cálculos. Reparem que originalmente tínhamos 1 rede /24 (uma pizza completa) que dividimos em 8 pedaços menores. Da pizza total, consumimos 7 pedaços, mas ainda sobrou um. Ou seja, tudo que nos resta agora é uma sub-rede 192.168.2.224 /27, então vamos a partir dela tentar atender o próximo requisito. Novamente, primeiramente vamos escrever a rede que temos e sua respectiva máscara de rede:
Endereço de Rede : 192.168.2.224
Máscara em Decimal: 255.255.255.224 (/27)
Máscara em Binário: 11111111.11111111.11111111.11100000
Nosso próximo requisito é criar sub-redes com 2 hosts para os links ponto-a-ponto entre a matriz e as filiais, então devemos reaplicar a seguinte fórmula para determinar quantos bits devemos usar para garantir 2 hosts:
2bits-2 ≥ 2 => Bits = 2 (já que 22 = 4)
Como tínhamos 5 bits para hosts e precisamos de 2 para assegurar segmentos de 2, sobraram 3 bits que utilizamos no novo prefixo para ter o máximo possível de sub-redes. Assim, nossa nova máscara de rede passa a ser /30, veja abaixo os bits emprestados com destaque em amarelo:
Nova Máscara em Binário: 11111111.11111111.11111111.11111100
Nesse momento a antiga sub-rede 192.168.2.224/27 não existe mais e temos 8 (
23) novas sub-redes com 2 hosts (
22-2). Abaixo relacionamos todas essas 8 novas sub-redes e já reservamos as 7 primeiras para atender o requisito dos links ponto-a-ponto:
- 192.168.2.224 /30 OK
- 192.168.2.228 /30 OK
- 192.168.2.232 /30 OK
- 192.168.2.236 /30 OK
- 192.168.2.240 /30 OK
- 192.168.2.244 /30 OK
- 192.168.2.248 /30 OK
- 192.168.2.252 /30 **
Agora sim atendemos os requisitos do exercício e criamos 7 sub-redes /30 para os links ponto-a-ponto entre a matriz e as filiais, além de 7 sub-redes /27 para as LANs das filiais (vide figura). Pensem que da pizza toda que anteriormente foi dividida em oito pedaços havia sobrado um único pedaço que, por sua vez, foi dividido em novos 8 pedaços menores. Ainda nos sobrou um "pedacinho" bem pequeno que permite uma nova sub-rede /30.
|
Fonte: CCNA Study Guide. Richard Deal. Editora McGraw Hill. 2008. |
Por fim, aproveito para deixar um exercício extra e na sequência trago o plano de endereçamento da topologia com sua resposta, assim vocês podem verificar se acertaram. Para dominar esse tópico é crucial praticar, bons estudos!
Samuel.
Exercício Extra: Considerando a topologia apresentada na figura abaixo, através de uma Rede Classe C 192.168.3.0 (/24) você deve criar um plano de endereçamento para acomodar as seguintes sub-redes que possuem requisitos distintos.
|
Fonte: CCNA Study Guide. Richard Deal. Editora McGraw Hill. 2008. |
Resposta:
|
Fonte: CCNA Study Guide. Richard Deal. Editora McGraw Hill. 2008. |