sexta-feira, fevereiro 09, 2007

Para entender sub-redes e máscaras...

Bom, como tinha prometido à vocês, vou tentar explicar de maneira beeeem detalhada como e quando fazer o que para criar sub-redes e verificar se dois computadores estão na mesma sub-rede.

Bom, em primeiro lugar, o que vai criar os sub-grupos é o conjunto endereço IP e máscara de rede. Somente a máscara ou somente o endereço IP não fornecem dados suficientes para dizer se uma máquina está em uma determinada rede nem quantos equipamentos fazem parte do grupo.

Em segundo lugar, a RFC 950 (vejam o que são RFC´s no google) estipula que, quando estamos criando sub-redes, quando queremos identificar sub-redes devemos usar bits 1 (um) e quando queremos identificar equipamentos devemos usar bits 0 (zero).

Dito isso, vamos à uma receita de bolo para criarmos sub-redes, e para isto, vamos trabalhar com um exemplo:

Digamos que queiramos criar grupos (sub-redes) com 80 equipamentos em cada grupo.

Passo 1: transformar o número 80 em binário para determinarmos o número de bits necessários para podermos numerar esses 80 equipamentos, e para isso usaremos a tabela a seguir:

128 64 32 16 8 4 2 1
0 1 0 1 0 0 0 0
Notamos que precisamos de 7 bits (contamos os que estão em zero também, menos o da esquerda) para construirmos o número 80 (lembrem-se, zero à esquerda não vale nada nem é considerado neste caso).

Passo 2: Lembrando do que diz a RFC 950, para identificarmos os números dos equipamentos na máscara, devemos usar o bit 0, então colocamos 7 (sete) bits 0 (zero) no final da máscara e o restante colocamos como bit 1 (um), liberando estes bits 1 (um) para criarmos os grupos de equipamentos:

11111111.11111111.11111111.10000000

Passo 3: Transformamos o número binário do passo 2 para decimal (podemos usar a tabela):

255.255.255.128

Chegamos à conclusão que para criarmos grupos com 80 equipamentos devemos usar a máscara acima (255.255.255.128).

Um detalhe, porém precisa ser dito: Não conseguimos criar grupos com EXATAMENTE 80 equipamentos. Existe nessa máscara encontrada uma “sobra” de números, ou seja, podemos acrescentar mais equipamentos e os mesmos ainda farão parte do grupo. No nosso caso, o grupo pode conter 127 equipamentos. Como chegamos à este número?

Sabendo que o número máximo da máscara pode ser 255, basta (neste caso) subtrairmos 128 (a máscara) de 255. Chegamos ao número 127. Destes 127, somente 80 são ocupados no nosso exemplo, “sobrando” 47 endereços.

Dito de outra forma, se colocarmos o endereço 10.0.0.1 e o endereço 10.0.0.80, ambos fazem parte do mesmo grupo. Se colocarmos um equipamento com o endereço 10.0.0.120, o mesmo ainda faz parte do grupo do equipamento com IP 10.0.0.1, porque o grupo suporta 127 equipamentos no mesmo grupo.

Por outro lado, se colocarmos o IP 10.0.0.128, o mesmo irá fazer parte de outro grupo, não mais vendo os equipamentos com IP até 10.0.0.127.

PS: quando estamos montando a máscara, devemos ter em mente que zeros e uns não se misturam, ou seja, NUNCA, JAMAIS, poderemos ter a máscara 11111111.11111111.11101111.00100000

Espero que esta parte tenha ficado clara, qualquer coisa, email-me ou comentem aí no final do post..

A segunda coisa que fiquei de clarear para vocês, foi a questão de como o roteador ou o switch faz para saber se dois equipamentos estão na mesma sub-rede.

Para saber isso, o switch ou roteador faz uma operação lógica “E” entre a máscara e o endereço IP.

Abrindo um parêntesis, vamos relembrar rapidamente a operação lógica “E”:
1 E 1 = 1
1 E 0 = 0
0 E 0 = 0
Fecha parêntesis.

Vamos então, determinar se os endereços 10.0.0.40 e 10.0.1.130 estão na mesma sub-rede se usarmos a máscara 255.255.255.0

Vamos em primeiro lugar, fazer um “E” lógico entre o IP 10.0.0.40 e a máscara:

00001010 00000000 00000000 00101000 E
11111111 11111111 11111111 00000000
00001010 00000000 00000000 00000000 RESULTADO

Vamos agora, fazer um “E” lógico entre o IP 10.0.1.130 e a máscara:
00001010 00000000 00000001 10000010 E
11111111 11111111 11111111 00000000
00001010 00000000 00000001 00000000 RESULTADO

Percebemos que chegamos à resultados diferentes, portanto, os dois endereços estão em sub-redes diferentes.

Vamos alterar a máscara para ver o que acontece. Vamos usar a máscara 255.255.254.0:

“E” lógico entre 10.0.0.40 e a nova máscara:
00001010 00000000 00000000 00101000 E
11111111 11111111 11111110 00000000
00001010 00000000 00000000 00000000 RESULTADO

“E” lógico entre 10.0.1.130 e a nova máscara:
00001010 00000000 00000001 10000010 E
11111111 11111111 11111110 00000000
00001010 00000000 00000000 00000000 RESULTADO

Percebemos que os dois resultados são iguais, portanto, agora os dois endereços IP fazem parte da mesma sub-rede.

Espero que tenha esclarecido as dúvidas, e novamente, qualquer coisa comentem aí no final do post ou email-me.

2 comentários:

Anônimo disse...

Parece facil....mas é dificil....
Pare uma semana de fazer este calculo e esquecera!

Anônimo disse...

Tocar violão, falar um idioma, tudo requer prática.

Claro que se parar a gente esquece. Ao menos essa é uma maneira bem fácil de memorizar, frente às outras que existem por aí...