Entendendo o CIDR (máscaras de tamanho variável)

Os endereços IP identificam cada host (ou seja, cada estação) na rede. A regra básica é que cada host deve ter um endereço IP diferente e devem ser utilizados endereços dentro da mesma faixa.

Um endereço IP é composto de uma seqüência de 32 bits, divididos em 4 grupos de 8 bits cada, chamados de octetos e cada octeto permite o uso de 256 combinações diferentes (dois elevado à oitava potência).

Para facilitar a configuração dos endereços, usamos números de 0 a 255 para representar cada octeto, formando endereços como 220.45.100.222 ou 131.175.34.7. Isso torna a tarefa de configurar e memorizar os endereços bem mais fácil do que seria se precisássemos decorar seqüências de números binários.

O endereço IP é dividido em duas partes. A primeira identifica a rede à qual o host está conectado (necessário, pois, em uma rede TCP/IP, podemos ter várias redes conectadas entre si, como no caso da Internet) e a segunda identifica o host propriamente dito dentro da rede.

Obrigatoriamente, os primeiros bits do endereço servirão para identificar a rede e os últimos servirão para identificar o computador em si. Como temos apenas 4 octetos, qualquer divisão fixa limitaria bastante o número de endereços possíveis, o que seria uma grande limitação no caso da Internet, onde existe um número muito grande de redes diferentes, muitas delas com um número muito grande de micros conectados, como no caso dos grandes provedores de acesso.

Se fosse reservado apenas o primeiro octeto do endereço, teríamos um grande número de hosts (micros conectados a cada rede), mas em compensação poderíamos ter apenas 256 redes diferentes, o que seria muito complicado, considerando o tamanho do mundo.

Mesmo se reservássemos dois octetos para a identificação da rede e dois para a identificação do host, os endereços possíveis seriam insuficientes, pois existem muito mais de 65 mil redes diferentes no mundo, conectadas entre si através da Internet, e existem muitas redes com mais de 65 mil hosts.

A primeira solução para o impasse foi a divisão dos endereços em três classes, onde cada classe reserva um número diferente de octetos para o endereçamento da rede. Atualmente, esta designação não é inteiramente válida, pois é cada vez mais usado o sistema CIDR, onde são usadas máscaras variáveis para criar faixas de endereços de diversos tamanhos (como veremos em detalhes no capítulo 4). Mas, por enquanto, vamos entender a divisão tradicional:

Na classe A, apenas o primeiro octeto identifica a rede, na classe B são usados os dois primeiros octetos e na classe C (a mais comum) temos os três primeiros octetos reservados para a rede e apenas o último reservado para a identificação dos hosts.

O que diferencia uma classe de endereços da outra é o valor do primeiro octeto. Se for um número entre 1 e 126 (como em 113.221.34.57), temos um endereço de classe A. Se o valor do primeiro octeto for um número entre 128 e 191, então temos um endereço de classe B (como em 167.27.135.203) e, finalmente, caso o primeiro octeto seja um número entre 192 e 223, teremos um endereço de classe C, como em 212.23.187.98.

Esta é a designação tradicional, abordada nos livros e manuais. O grande problema é que esta divisão tradicional fazia com que um grande número de endereços fossem desperdiçados. Um provedor de acesso que precisasse de 10.000 endereços IP, por exemplo, precisaria ou utilizar uma faixa de endereços classe B inteira (65 mil endereços), o que geraria um grande desperdício, ou utilizar 40 faixas de endereços classe C separadas, o que complicaria a configuração. Existia ainda o problema com as faixas de endereços classe A, que geravam um brutal desperdício de endereços, já que nenhuma empresa ou organização sozinha chega a utilizar 16 milhões de endereços IP.

A solução para o problema foi a implantação do sistema CIDR (abreviação de “Classless Inter-Domain Routing”, que pronunciamos como “cider”), a partir de 1993 (leia o RCF no http://tools.ietf.org/html/rfc1519).

Entender as classes de endereços A, B e C é importante para compreender o uso das máscaras de sub-rede e por isso elas ainda são muito estudadas, mas é importante ter em mente que, na prática, elas são uma designação obsoleta. Naturalmente, ainda existem muitas redes que utilizam faixas de endereços de classe A, B e C (já que as faixas alocadas no passado não podem ser simplesmente revogadas de uma hora para a outra), mas as faixas alocadas atualmente utilizam quase sempre o novo sistema.

No CIDR são utilizadas máscaras de tamanho variável (o termo em inglês é VLSM, ou Variable-Length Subnet Mask), que permitem uma flexibilidade muito maior na criação das faixas de endereços. Se são necessários apenas 1000 endereços, por exemplo, poderia ser usada uma máscara /22 (que permite o uso de 1022 endereços), em vez de uma faixa de classe B inteira, como seria necessário antigamente.

Outra mudança é que as faixas de endereços não precisam mais iniciar com determinados números. Uma faixa com máscara /24 (equivalente a uma faixa de endereços de classe C) pode começar com qualquer dígito e não apenas com de 192 a 223.

O CIDR permite também que várias faixas de endereços contínuas sejam agrupadas em faixas maiores, de forma a simplificar a configuração. É possível agrupar 8 faixas de endereços com máscara 255.255.255.0 (classe C) contínuas em uma única faixa com máscara /21, por exemplo, que oferece um total de 2045 endereços utilizáveis (descontando o endereço da rede, endereço de broadcast e o endereço do gateway).

As faixas de endereços são originalmente atribuídas pela IANA às entidades regionais. Elas dividem os endereços em faixas menores e as atribuem aos carriers (as operadoras responsáveis pelos links), empresas de hospedagem, provedores de acesso e outras instituições. Estas, por sua vez, quebram os endereços em faixas ainda menores, que são atribuídas aos consumidores finais.

Revisando, a máscara de subrede determina qual parte do endereço IP é usada para endereçar a rede e qual é usada para endereçar os hosts dentro dela. No endereço 200.232.211.54, com máscara 255.255.255.0 (/24), por exemplo, os primeiros 24 bits (200.232.211.) endereçam a rede e os 8 últimos (54) endereçam o host.

Quando usamos máscaras simples, podemos trabalhar com os endereços em decimais, pois são sempre reservados 1, 2 ou 3 octetos inteiros para a rede e o que sobra fica reservado ao host. Esta é a idéia usada nas faixas de endereços classe A, B e C.

Quando falamos em máscaras de tamanho variável, entretanto, precisamos começar a trabalhar com endereços binários, pois a divisão pode ser feita em qualquer ponto. Imagine, por exemplo, o endereço “72.232.35.108”. Originalmente, ele seria um endereço de classe A e utilizaria máscara “255.0.0.0”. Mas, utilizando máscaras de tamanho variável, ele poderia utilizar a máscara “255.255.255.248”, por exemplo.

Nesse caso, teríamos 29 bits do endereço dedicados à endereçar a rede e apenas os 3 últimos bits destinados ao host. Convertendo o endereço para binário teríamos o endereço “01001000.11101000.01100000.01101100”, onde o “01001000.11101000.01100000.01101” é o endereço da rede e o “100” é o endereço do host dentro dela. Como temos 29 bits dedicados à rede, é comum o uso de um “/29” como máscara, no lugar de “255.255.255.248”.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X