sexta-feira, 3 de agosto de 2012

Calcular Sub-redes (Exemplos)

Este tutorial é simples: trataremos apenas do procedimento necessário para realizar os cálculos de sub-rede. Mas porque criar um tutorial só pra isso? Seguinte, várias vezes me encontrei em situações que exigiam cálculos de sub-rede, porém, não me recordava o procedimento. Criei esse material com o intuito de relembrar o conceito e também recorrer caso a memória falhe (opsss!).
 
Well, let's go rock!
Primeiramente, devemos recordar que o endereço de rede é composto por 32 bits. Esses bits são usados para definir ao mesmo tempo a "rede" e o "computador" (um termo mais apropriado seria HOST), ou seja, parte do endereço é para NetID e a outra parte para HostID.
Quantos bits são destinados à Rede e quantos são associados ao Host?
Depende! Quem define como o Host e a Net são definidos dentro do endereço IP é a "Máscara". Ou seja, que determina a divisão do conteúdo do endereço IP é a máscara.
Como ela faz isso (máscara determina o Host/Net)?
O endereço é dividido em 4 octetos de 8 bits cada (cada elemento só pode assumir os valores 0 ou 1). A máscara trata dos octetos completamente definidos como 0 ou 1. Ou seja, temos os 8 bits do primeiro octeto como 1, e todos os bits do segundo, terceiro e quarto octetos como 0:
 
    11111111.00000000.00000000.00000000
 
Lembrando que um Byte é equivalente a 8 bits, poderíamos considerar essa máscara como:
 
    255.0.0.0
 
Essa máscara indica que, os primeiros 8 bits do endereço (primeiro octeto) são utilizados para a definição da rede. Os bits restantes servem para identificar o Host. Ou seja, o valor
 
    10.1.0.0
 
indicaria o Host "1.0.0" na rede "10", e
 
    10.0.1.0
 
indicaria outro micro da rede "10", neste caso, o "0.1.0". Outro exemplo de máscara seria
 
    255.255.255.0
 
que permitiria identificar os micros com o último octeto e a rede com os três primeiros octetos. Lembre-se que para utilizar as possibilidades existentes nos octetos para a identificação do Host, devemos ignorar o primeiro elemento (no caso, 0), pois este servirá para identificar a rede:
 
    192.168.1.0
 
Ou seja, como o último elemento é 0 (zero), esse endereço identifica a rede, que é "192.168.1.0". O último valor deste elemento também deverá ser desconsiderado (255). Ele serve para identificar o endereço "broadcast" que indica o destinatário como todos os micros da rede. Ou seja, o endereço de "broadcast" abaixo
 
    192.168.1.255
 
serve para determinar como destinatário do pacote todos os endereços da rede
 
    192.168.1.0
 
Isso significa que todos os micros dessa rede receberão esse pacote.
 
Então, o que é exatamente uma sub-rede?
Uma sub-rede permite quebrar esses 254 endereços (no caso do exemplo da rede anterior, 256 elementos menos o elemento da rede 0 e o elemento do broadcast 255) em segmentos menores, para a criação de outras redes independentes. Como? Bom, é o seguinte, ao invés de utilizarmos o elemento 0 no último octeto (255.255.255.0), que permitira a utilização deste campo de forma exclusiva para a identificação dos Hosts, colocaremos outro valor na máscara. Para facilitar, entende que o endereço de máscara abaixo (associado ao 255.255.255.0, porém, em bits)
 
    11111111.11111111.11111111.00000000
 
Permitiria todos os elementos finais para HostId. Entretanto, agora observe abaixo:
 
    11111111.11111111.11111111.11110000
 
Isso representa
 
    255.255.255.240
 
Ou seja, os quatro primeiros bits do último octeto servem para identificar a rede, e os quatro últimos números para identificar o Host. O endereço "255.255.255.240" representa o último endereço de rede das sub-redes. Para compreender quais sub-redes podem ser criadas, vamos obter o tamanho da faixa com
 
    256 - 240 = 16
 
Que, respectivamente, representam o "Total de possibilidades no octeto" menos "valor do último octeto da máscara" é igual a 16, que é faixa de elementos para cada sub-rede existente. Lembre-se que as regras do endereço de rede (primeiro elemento) e do broadcast (último elemento) também devem ser respeitadas dentro de cada uma das faixas. Isso significa que na prática teremos sub-redes com 14 Hosts cada.
 
Como identificamos as sub-redes?
Seguindo a idéia apresentada, vamos montar as sub-redes para a máscara "255.255.255.192", onde o último octeto seria "11000000". Neste caso, teríamos 64 endereços em cada sub-rede. Veja as sub-redes possíveis (para esse caso) abaixo:
 
Primeira sub-rede:
    192.168.1.0 - Endereço de rede
    192.168.1.1 - Endereço do primeiro Host
    192.168.1.62 - Endereço do último Host
    192.168.1.63 - Endereço de Broadcast
 
Segunda sub-rede:
    192.168.1.64 - Endereço de rede
    192.168.1.65 - Endereço do primeiro Host
    192.168.1.126 - Endereço do último Host
    192.168.1.127 - Endereço de Broadcast
 
Terceira sub-rede:
    192.168.1.128 - Endereço de rede
    192.168.1.129 - Endereço do primeiro Host
    192.168.1.254 - Endereço do último Host
    192.168.1.255 - Endereço de Broadcast

Como identificar os Hosts?
Basta compará-lo com a máscara! Ou seja, qual é a rede do host "192.168.1.100"? Ao compararmos esse endereço com a máscara "255.255.255.192", teríamos:
 
    Identif.    Endereço IP em Bits (4 octais)        Endereço IP    
 
    Host        11000000.10101000.00000001.00110111    192.168.1.100
 
    Mask        11111111.11111111.11111111.11000000    255.255.255.192
 
    AND         11000000.10101000.00000001.01000000    192.168.1.64
 
Isso indica que esse micro estaria na "Segunda sub-rede". Esse procedimento tornou-se comum na Internet para que os provedores pudessem obter um maior número de redes (no caso, sub-redes) com poucos endereços IPs disponíveis.
 

"As pessoas não sabem o que querem até você mostrar a elas." Steve Jobs
Espero ter ajudado!
Guilherme Pontes

Nenhum comentário:

Postar um comentário