Caríssimos seguidores, o presente tutorial tem definido como principal meta, a transmissão de conhecimento sobre o VLSM. No final do tutorial espero que a questão: “-Como dividir uma sub-rede sem desperdiçar um grande número de IP’s“, seja clara.
Introdução
VLSM (Variable Lenght Subnet Mask) é um método de cálculo de sub-redes mais eficiente que o tradicional, pois é possível alocar somente os bits necessários da sub-rede utilizando máscaras de tamanho variáveis.
No cálculo de sub-redes tradicional é utilizada uma máscara de sub-rede única para todos os blocos, o que não é muito eficiente quando se tem uma topologia de rede com uma quantidade variável de hosts por sub-rede.
Três vantagens da utilização de VLSMs:
1. Menos desperdício de endereços IPs. É possível fazer uso mais eficiente da divisão de sub-redes alocando mascaras de sub-redes diferentes a cada bloco;
2. Maior flexibilidade na distribuição de endereços. É possível redimensionar sub-redes dentro de uma sub-rede calculada. Quando houver uma alteração na topologia da rede não é necessário alterar o endereçamento de toda a rede;
3. Possibilidade de sumarização de rotas (agregação de rotas): É possível sumarizar diversas rotas em um único endereço de rede com máscara específica, diminuindo assim o tamanho das tabelas de roteamento.
Cenário: Possuímos um IP de rede e desejamos efectuar a melhor divisão possível consoante o número de hosts em cada sub-rede.
Sem o uso de VLSM, a primeira e única pergunta que o projectista deverá fazer é a seguinte:
“-Qual é o número máximo de hosts em cada sub-rede?” – A que tiver o número maior de hosts ganha.
Observando o esquema de rede acima, conseguimos extrair a seguinte informação:
1. IP de rede: 172.16.0.0/16
2. Existem 6 Sub-redes. (As 3 redes entre routers e as restantes identificadas pela sua cor.)
3. Primeira sub-rede (126 hosts), segunda sub-rede (62 hosts) e terceira sub-rede (30 hosts).
Apenas temos de nos preocupar com estas três questões. Portanto temos um IP de rede com máscara de 16 bits. Isto quer dizer que, 16 bits pertencem à rede e os restantes estão disponíveis para ser usados em hosts.
Os cálculos são fáceis de efectuar.
11111111 . 11111111 . 11111111 . 11111111
A negrito estão assinalados os 16 bits pertencentes à rede, os restantes são para hosts (32-16=16). Temos 16 bits para hosts, é metade.
Não usando o VLSM apenas temos de saber o máximo de hosts de uma rede (a rede maior), verificar quantos bits necessitamos para obter esse número de hosts e dividir “estaticamente” a rede.
-Qual a rede maior? 127 hosts.
2^7=128 (necessitamos de 7 bits, o expoente de base 2.)
Se necessitamos de 7 bits para a maior rede temos então de decrementar estes bits na máscara inicial.
172.16.0.0/16
32-7=25 -> 172.16.0.0/25
Na topologia de rede acima foi realizado um cálculo de sub-rede sem uso de VLSM, o endereço de rede 172.16.0.0/16 foi dividido em 05 (cinco) sub-redes com 126 hosts cada. Nesta divisão utilizou-se a máscara /25 (255.255.255.128) em todos os blocos.
Iniciando com a Sub-Rede 0.0, 0.128 até 2.0 conforme tabela abaixo:
Nesta distribuição todos os blocos têm 126 hosts, pois a maior sub-rede (Azul) precisa de 126 hosts. Se o cálculo fosse realizado utilizando os 62 hosts (necessários para a sub-rede Verde) não iríamos conseguir atender a sub-rede Azul pois faltaria endereços de hosts.
Vejamos quantos endereços foram desperdiçados utilizando o cálculo de sub-rede acima sem o uso de VLSM:
Sub-rede Amarela
Endereços IPs necessários: 30
Endereços IPs alocados: 126
Endereços IPs desperdiçados: 126-30 = 96
Sub-rede Verde
Endereços IPs necessários: 62
Endereços IPs alocados: 126
Endereços IPs desperdiçados: 126-62 = 64
Sub-rede Azul
Endereços IPs necessários: 126
Endereços IPs alocados: 126
Endereços IPs desperdiçados: 126-126 =0 (Aqui não houve desperdício)
Links Ponto-a-Ponto (total de 03)
Endereços IPs necessários: 02
Endereços IPs alocados: 126
Endereços IPs desperdiçados: (126-2)*3=372
Total de endereços desperdiçados: 96+64+0+372= 532
Houve um desperdício total de 532 endereços IPs. Nos links Ponto-a-Ponto como a necessidade é somente 02 endereços o desperdício foi maior: 372 endereços, onde o ideal era utilizar uma sub-rede /30 em vez de /25.
Vamos então ver como ficaria a distribuição de endereços da rede acima utilizando VLSM.
No caso de VLSM, é aconselhável fazer o calculo das redes maiores para as menores, para não haver subscrição de sub-redes.
Então vamos começar pela maior sub-rede que é a Azul com 126, depois a Verde com 62, Amarela com 30 a por fim as sub-redes com links Ponto-a-Ponto que precisam de apenas 02 IPs cada.
A primeira sub-rede sempre é a sub-rede “0”, como neste caso temos uma rede classe “B” a primeira sub-rede então é “0.0” (dois octetos calculados). Como vamos calcular sub-redes da maior sub-redes para a menor, então a sub-rede Azul será a nossa primeira sub-rede.
Vamos tentar realizar o cálculo respondendo algumas perguntas:
Sub-rede Azul: “0.0”
Quantos endereços IPs são necessários: 126
Qual é a mascara para alocar 126 hosts: 255.255.255.128 ou /25
Diminua o 128 de 256 para obter o intervalo da sub-rede: 256-128=128
Some o resultado com o valor do octeto correspondente: 0.0+ 0.128= 0.128 (endereço da próxima sub-rede)
Sub-rede Verde: “0.128”
Quantos endereços IPs são necessários: 62
Qual é a mascara necessária para alocar 62 hosts: 255.255.255.192 ou /26
Diminua o 192 de 256 para obter o intervalo da sub-rede: 256-192=64
Some o resultado com o valor do octeto correspondente: 0.128 + 0.64= 0.192 (endereço da próxima sub-rede)
Sub-rede Amarela: “0.192”
Quantos endereços IPs são necessários: 30
Qual é a mascara necessária para alocar 30 hosts: 255.255.255.224 ou /27
Diminua o 224 de 256 para obter o intervalo da sub-rede: 256-224=32
Some o resultado com o valor do octeto correspondente: 0.192 + 0.32= 0.224 (endereço da próxima sub-rede)
Sub-rede Ponto-a-Ponto 1: “0.224”
Quantos endereços IPs são necessários: 2
Qual é a mascara necessária para alocar 30 hosts: 255.255.255.252 ou /30
Diminua o 252 de 256 para obter o intervalo da sub-rede: 256-252=4
Some o resultado com o valor do octeto correspondente: 0.224 + 0.4= 0.228 (endereço da próxima sub-rede)
Sub-rede Ponto-a-Ponto 2: “0.228”
Quantos endereços IPs são necessários: 2
Qual é a mascara necessária para alocar 30 hosts: 255.255.255.252 ou /30
Diminua o 252 de 256 para obter o intervalo da sub-rede: 256-252=4
Some o resultado com o valor do octeto correspondente: 0.228 + 0.4= 0.232 (endereço da próxima sub-rede)
Sub-rede Ponto-a-Ponto 3: “0.232”
Quantos endereços IPs são necessários: 2
Qual é a mascara necessária para alocar 30 hosts: 255.255.255.252 ou /30
Diminua o 252 de 256 para obter o intervalo da sub-rede: 256-252=4
Some o resultado com o valor do octeto correspondente: 0.232 + 0.4= 0.236 (endereço da próxima sub-rede)
Agora vamos colocar estes valores na tabela de cálculo de sub-redes para entender melhor como ficou esta divisão:
Neste caso não houve desperdício de Ips. Olhando a topologia.
Espero que tenha sido claro na explicação do VLSM.
Alguma dúvida, comente.
Boa Continuação!
————
O porquê de tutoriais em português?
Na sua maior parte, a internet está cansada de partilhar tutoriais em inglês.
Pedro Tavares is a professional in the field of information security, working as an Ethical Hacker, Malware Analyst, Cybersecurity Analyst and also a Security Evangelist. He is also a founding member at CSIRT.UBI and Editor-in-Chief of the security computer blog seguranca-informatica.pt.
In recent years he has invested in the field of information security, exploring and analyzing a wide range of topics, such as pentesting (Kali Linux), malware, hacking, cybersecurity, IoT and security in computer networks. He is also Freelance Writer.
Read more here.