ENDEREÇAMENTO IP E MÁSCARAS DE REDE
8 pág.

ENDEREÇAMENTO IP E MÁSCARAS DE REDE

Disciplina:REDES DE COMPUTADORES4.689 materiais121.190 seguidores
Pré-visualização3 páginas
entrei nos detalhes das subnets ou criação de subredes. Suponhamos que pretendessemos alocar apenas algumas redes utilizando-se o endereço privativo contido no bloco 10.0.0.0/8, e que somente para 200 hosts por rede. Como faríamos? A solução seria raciocinar em..... números binários! Para isto, você deverá saber como calcular números binários, utilizando a cabeça ou então uma tabela específica para tal finalidade, ou ainda uma calculadora (software):

	Ainda utilizando o endereço IP 10.1.1.1 e máscara de subrede 255.0.0.0 como modelos, temos aí o resultado que nos aponta o endereço da subrede (no caso acima, não temos uma subrede, mas sim o endereço da rede propriamente dito) e o endereço broadcast da referida rede. Descobrimos o endereço de rede deste IP através do chamado "AND", onde fazemos a soma dos bits representando o endereço IP do host e a máscara de rede utilizada por este. Ao configurar um endereço IP em um roteador ou computador, certifique-se de que o produto não seja "All 0's" ou "All 1's". Por exemplo, se ajustássemos a máscara para 255.255.255.0 para este endereço IP, teríamos o "All 0's" no octeto que representaria a subrede (máscara 255.255.255.0 para um endereço Classe A, à partir do segundo octeto teríamos a representação da subrede), e o endereço só seria aceito por um roteador Cisco caso utilizássemos o comando "ip subnet-zero". Antes que você fique confuso com esta história de "octeto", permita-me lembrar-lhe algo: um endereço IP possui 32 bits de comprimento, e o mesmo é dividido em 4 blocos de 8 bits cada. Isto seria equivalente à 4 bytes, certo? Contamos os octetos ou bytes da esquerda para a direita algo tipo 1º_byte.2º_byte.3º_byte.4º_byte.

	
Observando melhor a dotação binária de um endereço IP, percebemos que não é possível sair adicionado números quaisquer quando trabalhando com ele em números decimais. Qual seria a máscara de subrede da primeira subnet de 10.0.0.0/8 ? Eu poderia adicionar qualquer número logo após o primeiro "255" (ex: 255.1.0.0.0 ?) Claro que não! Você deve trabalhar em números binários, e depois convertê-los para decimal. Quando trabalhando com máscaras de redes, não se esqueça de três regras importantes:

"1" representa redes, "0" representa hosts.

Começamos da esquerda para a direita.

O conceito de subredes está em: pegar bits emprestados da porção host, e alocá-los para a porção rede, criando-se assim a subrede. Obviamente ao fazer isto estaremos diminuindo a quantidade de hosts disponíveis em uma rede, mas em compensação teremos a possibilidade de criarmos as subredes.

	Mostrarei agora como este procedimento funciona, sem nos preocuparmos com a questão "quantidade de subredes" x "quantidade de hosts por subrede", pois o objetivo agora e mostrar como este conceito é aplicado. Observe atentamente a "tabela" ilustrada acima: você notará que temos uma sequência de bits, em múltiplos de 2, na ordem decrescente (da esqueda para a direita). Eles são: 128, 64, 32, 16, 8, 4, 2, 1. É assim que cálculo de números binários funciona. E, como já foi dito anteriormente, manipulamos os bits em uma máscara de subrede da ESQUERDA para a DIREITA, quando criando subnets. Considerando a máscara de subnet 255.0.0.0 (binário = 11111111.00000000.00000000.00000000), qual seria o próximo BIT que deveríamos trabalhar? Não seria, em binário, 11111111.10000000.00000000.00000000 ? Convertendo esta máscara para decimal, utilizando-se a mesma tabela acima, teríamos 255.128.0.0, correto? Associando esta máscara com o endereço IP 10.1.1.1 e executando o AND para determinarmos qual seria os endereços de subrede e broadcast para este endereço, descobriríamos que......

....... o endereço IP 10.1.1.1 com a máscara 255.128.0.0 seria um IP atingido pelo regra "All 0's". Como isto é possível? Some 1 com 1, o resultado será sempre "1". Qualquer outra combinação resultará em "0". Observe o segundo octeto, e começe a matemática da esquerda para direita: 0 + 1 = 0, 0 + 0 = 0, ......, e assim será até o último bit, localizado à direita. Você terá problemas em utilizar endereços IP desta rede, exceto se o seu equipamento ou software permitir a utilização de endereços "All 0's". Na subrede que acabamos de "criar", teríamos a seguinte oferta de endereços IP:

A máscara 255.128.0.0 possui 7 (8) bits representando a rede, 1 bit representando a subrede, e 23 bits para a porção host. 2 ^ 23 - 2 = 8.388.606 hosts. Note que este este endereço classe A não pode ser "subnettado" com uma máscara 255.128.0.0, devido ao caso com o All 0's.

	Passemos para o próximo bit. 11111111.11000000.00000000.00000000, ou 255.192.0.0 em decimal. Esta é, na verdade, a primeira máscara de subrede legítima para a rede 10.0.0.0/8. Faremos uma conta rápida:

0 0 0 0 1 0 1 0 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 1 = IP 10.1.1.1
+
1 1 1 1 1 1 1 1 . 1 1 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 = Máscara 255.192.0.0
=
0 0 0 0 1 0 1 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 = Subrede 10.0.0.0
-----
0 0 0 0 1 0 1 0 . 0 0 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 = Broadcast 10.63.255.255

	Observe atentamente: se fizermos novamente este cálculo, considerando o endereço IP 10.1.1.1, teríamos novamente um All 0's. Portanto, QUAL seria o primeiro endereço de subrede válido para a rede 10.0.0.0/8 ? A nossa meta agora é achar uma subrede válida, e sabemos que não será possível utilizar o host 10.1.1.1, pois a sua subnet é All 0's. Prosseguindo, é só olhar para o segundo bit (bit "64") do segundo octeto, que a resposta estará por la. Utilizando o endereço IP 10.64.1.1 seria possível termos o nosso primeiro endereço IP "utilizável" em uma subnet válida, dentro da rede 10.0.0.0/8:

0 0 0 0 1 0 1 0 . 0 1 0 0 0 0 0 0 . 0 0 0 0 0 0 0 1 . 0 0 0 0 0 0 0 1 = IP 10.64.1.1
+
1 1 1 1 1 1 1 1 . 1 1 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 = Máscara 255.192.0.0
=
0 0 0 0 1 0 1 0 . 0 1 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 = Subrede 10.64.0.0
-----
0 0 0 0 1 0 1 0 . 0 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 = Broadcast 10.127.255.255

	Pronto! A partir do momento em que encontramos o nosso endereço de subrede e também o endereço de broadcast, e que a rede não está incidindo nas regras All 0's e All 1's, sabemos exatamente por onde começar:

2 bits para a porção subrede: temos 2 ^ 2 - 2 = 2 subredes disponíveis. 10.0.0.0 é All 0's, portanto descarte-a. Depois temos 10.64.0.0, que é a nossa primeira subrede disponível para a alocação de endereços IP. Além desta, temos ainda 10.128.0.0, que também é possível alocar endereços IP. Já a subrede 10.192.0.0 teria o mesmo problema da 10.0.0.0, não sendo possível utilizá-las pois haverá o problema do All 1's..

22 bits para a porção host: temos 2 ^ 22 - 2 = 4.194.302 de hosts por subrede. A quite large number....

	O que importa é que pude mostrar como encontrar o endereço de rede e broadcast, através do fornecimento de um endereço IP qualquer. E, claro, fizemos isto da forma mais difícil. Observe atentamente como o bit "0" foi parar ali no endereço de broadcast: toda a vez que adicionamos um bit para a porção rede (na verdade, pegando 1 bit da porção host e emprestando-o para a porção subrede), um "0" é acrescentado. Além disto, caso o bit da mesma posição (no endereço de subrede) for "1", este bit, no endereço de broadcast, também será "1". Farei mais uma demonstração, só que agora utilizando um endereço classe B.

IP: 172.16.64.1
Máscara: 255.255.192.0

	Fazendo a conta, já sei que a máscara 255.255.128.0 e qualquer endereço IP para esta máscara retornaria um All 0's ou All 1's, então utilizarei a máscara 255.255.192.0. Com esta máscara, qualquer endereço IP entre 172.16.0.0 à 172.16.63.0 retornará um All 0's, então sabemos o primeiro endereço IP "utilizável" começa com 172.16.64.*.  Fácil de conferir:

1 0 1 0 1 1 0 0 . 0 0 0 1 0 0 0 0 . 0 1 0 0 0 0 0 0 . 0 0 0 0 0 0 0 1 = IP 172.16.64.1
+
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 = Máscara 255.255.192.0
=
1 0 1 0 1 1 0 0 . 0 0 0 1 0 0 0 0 .