terça-feira, 18 de fevereiro de 2014

Cálculo de Sub-rede IP


Para que seja possível a comunicação entre maquinas em uma mesma rede é necessário que cada uma possua um endereço IP exclusivo naquela rede.

Um endereço IP é um numero binário de 32 bits escrito em notação decimal. O endereço IP é dividido em quatro partes denominadas octetos, pois cada parte é composta por 8 bits.

Para fazermos a conversão da notação decimal para a binária devemos utilizar a tabela abaixo.

BIT
8º bit
7º bit
6º bit
5º bit
4º bit
3º bit
2º bit
1º bit
Cálculo
27
26
25
24
23
22
21
20
Valor Decimal
128
64
32
16
8
4
2
1

Lembre que:
-A base é 2x, pois o bit pode assumir dois valores: ligado ou desligado.

-23 é exatamente o dobro que 22, assim como 25 é o dobro que 24 e assim por diante. Isto será útil para depois fazermos os cálculos todos de cabeça, sem que seja necessário rascunhar no papel.

Existem diversas redes conectadas umas as outras no mundo, de maneira que cada rede precisa ter uma “faixa” exclusiva de endereços IP. Esta faixa é constituída por diversos endereços IP’s. O tamanho de cada rede em quantidade de endereços é determinado pela máscara de rede.

Esta exclusividade no endereçamento de cada rede é o que viabiliza a comunicação entre uma rede e outra, pois desta forma é possível traçar uma rota para que seja possível alcançar redes distantes da sua.

Aliado a máscara de rede, um endereço IP nos fornece duas informações. A rede a qual pertence e a identificação do host (máquina) nesta rede. É como se você escrevesse uma carta e nela inserisse o seu endereço onde consta o numero do prédio e seu apartamento.

Para que um roteador seja capaz de entregar informações em redes remotas, é necessário que forneçamos a ele os endereços de origem e destino, bem como as respectivas máscaras de rede. Através dessas informações, o roteador terá condições de analisar de onde vem e para onde vai à informação, calculando o caminho (rota) mais eficiente para alcançar o destino.

Concluímos então que o endereço serve como referencia para localização, ou seja, permite encontrar e traçar um caminho eficiente para se chegar a determinado local. O mesmo vale para as redes, através dos endereços IP (de origem e destino) e suas respectivas máscaras são possíveis localizar e traçar rotas para alcançar hosts em redes remotas, mesmo que esteja no outro lado do mundo.

Uma máscara de rede é um numero binário escrito em notação decimal, das 256 combinações possíveis, não podemos utilizar a primeira (0), pois é a que identifica a rede, nem a ultima (255), pois representa o endereço de broadcast desta rede.

Assim, reescrevemos a formula como 28-2=254. Esta é a quantidade de endereços IP disponíveis para endereçar hosts na rede 10.5.1.254. Portanto esta rede não suportará mais do que 254 equipamentos que utilizam endereços IP.

Considerando que:
Com a máscara /24 (255.255.255.0) podemos abrigar até 254 (28-2) hosts em uma única rede;

Com a máscara /16 (255.255.0.0) podemos abrigar até 65534 (216-2) hosts em uma única rede;

Com a máscara /8 (255.0.0.0) podemos abrigar até 16.777.214 (224-2)hosts em uma única rede. Isto é possível, pois nesta máscara (11111111.00000000.00000000.00000000) temos 24 zeros (0) disponíveis para combina-los criando identificações de hosts nesta rede.

Imaginemos agora que em nossa empresa temos duas redes distintas, uma delas com 53 máquinas e a outra com 31, totalizando 84 hosts em toda a empresa. Portanto serão necessários 84 IP’s divididos em duas sub-redes para atender a necessidade de endereçamento da nossa empresa.

Qualquer uma das máscaras padrão (/8, /16 ou /24) possui uma quantidade muito maior de IP’s do que precisamos. Se utilizássemos qualquer uma dessas máscaras, estaríamos desperdiçando os IP’s restantes conforme a tabela abaixo.


Quantidade de hosts
Máscara utilizada
Total de IP’s/rede
IP’s Despediçados/rede
Sub-rede 01
53
255.255.255.0
254
201
Sub-rede 02
31
255.255.255.0
254
223
Totais
84


424

Está havendo um desperdício de 424 IP’s, pois temos apenas 84 hosts e a máscara que escolhemos comporta 254 IP’s por rede. E neste caso estamos utilizando duas redes classe C.

Para resolvermos definitivamente este problema, precisamos empregar uma máscara de rede que permita menos de 254 hosts por rede, e é aqui onde se encaixa o conceito de sub-rede.

Se uma máscara classe C padrão (/24 = 255.255.255.0) permite 256 combinações numéricas (254 endereços efetivamente, devido ao calculo 28-2), então meia (1/2) classe C permitirá 128 combinações e um quarto (1/4) de classe C permitirá 64 combinações numéricas.

Tudo o que precisamos fazer então é dividir uma classe C nas chamadas sub-redes. Para compreendermos como ocorre esta divisão, será necessário trabalharmos com a notação binária.

Na classe C temos 8 bits desligados (0) representando a porção do endereço que identificará os hosts. Podemos utilizar o primeiro bit da esquerda para criarmos uma sub-rede. Para que isso seja possível basta que liguemos este bit:

Note o primeiro bit do ultimo octeto ligado:
11111111.11111111.11111111.1000000

Isto gera outra máscara de rede, se antes tínhamos uma /24, agora temos um /25, pois estamos utilizando 25 bits ligados (1) para compor a máscara de rede.

Nova máscara: 255.255.255.128
Notação CIDR: /25
Notação Binária: 11111111.11111111.11111111.1000000
Quantidade de hosts/rede: 27-2 = 126 hosts.

Com a nova máscara, devemos recalcular a quantidade de hosts que esta nova rede (sub-rede neste caso, pois deriva de uma rede classe C) comportará:


Quantidade de hosts
Máscara utilizada
Total de IP’s/rede
IP’s Despediçados/rede
Sub-rede 01
53
255.255.255.128
126
73
Sub-rede 02
31
255.255.255.128
126
95
Totais
84


168

Neste caso as duas sub-redes ficaram assim:

10.5.1.0 até 10.5.1.127
10.5.1.128 até 10.5.1.255

As máscaras possíveis para sub-redes são:

Máscara
Máscara em binário
Quantidade de sub-redes
Quantidade de Hosts
255.255.255.128
11111111.11111111.11111111.10000000
2
126
255.255.255.192
11111111.11111111.11111111.11000000
4
62
255.255.255.224
11111111.11111111.11111111.11100000
8
30
255.255.255.240
11111111.11111111.11111111.11110000
16
14
255.255.255.248
11111111.11111111.11111111.11111000
32
6
255.255.255.252
11111111.11111111.11111111.11111100
64
2

Outro exemplo é se dividirmos uma rede em quatro sub-redes
As faixas de rede ficarão assim:

10.1.1.0 a 10.1.1.63
10.1.1.64 a 10.1.1.127
10.1.1.128 a 10.1.1.191
10.1.1.192 a 10.1.1.255


Podemos ter ainda sub-redes derivadas das classes A e B, seguindo as mesmas regras.