domingo, 24 de maio de 2009

Tudo sobre TCP/IP - parte3

Endereçamento IP Sem Classe

Subredes

As subredes surgiram pelo mesmo motivo do endereçamento IP com classes: evitar o disperdício de números IP. Com a internet crescendo, poucos endereços da classe A tinham sido distribuídos (poucos necessitavam de todos os hosts que esta classe permite), a classe B era freqüentemente solicitada e a classe C, como permitia poucos hosts por rede, geralmente era distribuída em blocos causando entradas desnecessárias nas tabelas de roteamento da Internet. Para contornar este problema, a subrede permite que um endereço IP seja dividido em várias redes menores: desta maneira um endereço classe A pode ser dividido em quantas subredes forem necessárias. Mas, novamente, pergunta-se: como o computador consegue descobrir qual a porção pertencente ao número de rede e qual a que identifica um host?

A resposta para esta pergunta é "Máscaras de Subrede": as máscaras de subrede definem como um endereço de certa classe será dividido. "Binariamente" falando, a máscara deve ser composta de números 1 contíguos (representando a parte que será utilizada para identificar a rede) e completada com zeros. Exemplo: 255.255.248.0 (11111111.11111111.11111000.00000000). O computador faz uma operação de E lógico (AND) entre o número IP e a máscara de subrede para identificar a qual rede o computador pertence.

Uma operação de E lógico (AND) trabalha com números binários. A seguinte tabela pode ser montada com os possíveis valores para as duas parcelas da operação e o respectivo resultado:

*1 AND 1 = 1
*0 AND 0 = 0
*1 AND 0 = 0

Exemplo de Subredes

Agora iremos explicar o processo de identificação da rede à qual um host pertence. Por este processo, o computador pode saber se o destino dos dados a serem enviados é local (mesma subrede) ou remoto (o destino encontra-se em uma subrede diferente). Caso for remoto (a identificação calculada para o destino não é igual à sua própria identificação), o computador enviará os dados para o seu roteador padrão e este se encarregará de rotear o datagrama. Vamos tomar, para este exemplo, o IP 172.36.224.53 e aplicá-lo a máscara de subrede 255.255.248.0:

IP: 10101100.00100100.11100000.00110101
Máscara: 11111111.11111111.11111000.00000000
----------------------------------------------
10101100.00100100.11100000.00000000


A identificação de rede calculada para este exemplo é 172.36.224.0. A parte destacada em amarelo no endereço acima representa os bits usados para identificação de rede e a parte com fundo azul representa os bits disponíveis para números de host. No exemplo, o primeiro host da subrede teria o endereço 172.36.224.1 (dois últimos bytes: 11100000.00000001) e o último host, o endereço 172.36.231.254 (dois últimos bytes: 11100111.11111110).

Máscaras de Subrede Padrão

Cada classe de IP (com exceção das reservadas) tem sua máscara de subrede padrão. É fácil de fazer a associação entre elas:


Classe A: 255.0.0.0, indicando que o primeiro byte é utilizado para identificação de rede.
Classe B: 255.255.0.0, indicando que os dois primeiros bytes identificam a rede.
Classe C: 255.255.255.0, indicando que somente o último byte representa a identificação de host.

Super-redes e Classless Inter-Domain Routing (CIDR)

O conceito de super-redes é exatamente o contrário do conceito de subredes: em vez de especificar uma máscara de subrede que divida um espaço de endereço definido por uma classe de IPs, a máscara é utilizada de tal forma a expandir este espaço de endereços. Tomemos um endereço de classe C qualquer: especificando uma máscara de subrede de 20 bits (255.255.240.0), estaremos dando mais espaço de endereço que normalmente a classe C suporta. Aliás, foi justamente para isso que o conceito de super-redes foi criado: combinar várias redes classe C em um bloco para que os roteadores a tratem como uma única grande rede, diminuindo assim o tamanho das tabelas de roteamento.

A notação CIDR também é utilizada para reduzir a quantidade de rotas necessárias em uma tabela de roteamento: ela é composta de um número IP mais uma barra seguida de um número representando o número de bits definidos como 1 na máscara de subrede. Ex: 200.236.60.87/16 (no caso, a máscara de subrede seria 255.255.0.0 ou 11111111.11111111.00000000.00000000). Uma rota só é adicionada à tabela de roteamento (200.236.0.0/16, representando todos os endereços no intervalo de 200.236.0.1 à 200.236.255.254).

Nenhum comentário:

Postar um comentário