Capítulo 3: Entendendo o endereçamento IP

Como já vimos, dentro de uma rede TCP/IP, cada micro recebe um endereço IP único que o identifica na rede. Um endereço IP é composto de uma seqüência de 32 bits, divididos em 4 grupos de 8 bits cada. Cada grupo de 8 bits recebe o nome de octeto.

O endereço IP é dividido em duas partes. A primeira identifica a rede à qual o computador está conectado e a segunda identifica o host dentro da rede. Para melhorar o aproveitamento dos endereços disponíveis, os desenvolvedores do TPC/IP dividiram o endereçamento IP em cinco classes, denominadas A, B, C, D, e E, sendo as três primeiras são usadas para fins de endereçamento e as duas últimas são reservadas para expansões futuras. Cada classe reserva um número diferente de octetos para o endereçamento da rede.

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

O que diferencia uma classe de endereços da outra é o valor do primeiro octeto. Se for um número entre 1 e 126 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 e, finalmente, caso o primeiro octeto seja um número entre 192 e 223, teremos um endereço de classe C.

Ao configurar uma rede local, você pode escolher a classe de endereços mais adequada. Para uma pequena rede, uma faixa de endereços de classe C é a mais apropriada, pois você precisa se preocupar em configurar apenas o último octeto do endereço ao atribuir os endereços. Em uma rede de maior porte, com mais de 254 micros, passa a ser necessário usar um endereço de classe B, onde podemos usar diferentes combinações de números nos dois últimos octetos, permitindo um total de 65.534 endereços.

É muito difícil encontrar uma situação onde seja necessário usar uma faixa de endereços de classe A, pois redes muito grandes acabam sendo divididas em vários segmentos diferentes, interligados por roteadores. Neste caso, cada segmento é endereçado como se fosse uma rede separada, usando faixas de classe C ou B.

Na internet, todos os endereços IP disponíveis já possuem dono. Ao contratar algum tipo de conexão você recebe um único endereço (como numa linha ADSL) ou uma faixa de classe C inteira (ao alugar um backbone por exemplo). Os endereços de classe B são reservados às grandes empresas e provedores de acesso, enquanto os endereços de classe A são praticamente impossíveis de se conseguir, mesmo para grandes corporações.

Ao alugar um backbone vinculado a uma faixa de endereços classe C, por exemplo, você recebe uma faixa de endereços como “203.107.171.x”, onde o “203.107.171” é o endereço de sua rede dentro da internet, e o “x” é a faixa de 254 endereços que você pode usar para identificar seus servidores. Na ilustração temos um resumo das regras para endereços TCP/IP válidos:

Como você pode notar no diagrama, nem todas as combinações de endereços são permitidas, pois o primeiro endereço (0) é reservado à identificação da rede, enquanto o último (255) é reservado ao endereço de broadcast, que é usado quando alguma estação precisa enviar um pacote simultaneamente para todos os demais micros da rede.

Os pacotes de broadcast são usados para, por exemplo, configurar a rede via DHCP e localizar os compartilhamentos de arquivos dentro de uma rede Windows. Mesmo os switches e hub-switches detectam os pacotes de broadcast e os transmitem simultaneamente para todas as portas. A desvantagem é que, se usados extensivamente, eles prejudicam a velocidade da rede.

Veja alguns exemplos de endereços inválidos:

0.xxx.xxx.xxx: Nenhum endereço IP pode começar com zero, pois ele é usado para o endereço da rede. A única situação em que um endereço começado com zero é usado, é quando um servidor DHCP responde à requisição da estação. Como ela ainda não possui um endereço definido, o pacote do servidor é endereçado ao endereço MAC da estação e ao endereço IP “0.0.0.0”, o que faz com que o switch o envie para todos os micros da rede.

127.xxx.xxx.xxx: Nenhum endereço IP pode começar com o número 127, pois este número é reservado para a interface de loopback, ou seja, são destinados à própria máquina que enviou o pacote. Se por exemplo você tiver um servidor de SMTP e configurar seu programa de e-mail para usar o servidor 127.0.0.1, ele acabará usando o servidor instalado na sua própria máquina. O mesmo acontece ao tentar acessar o endereço 127.0.0.1 no navegador: você vai cair em um servidor web habilitado na sua máquina. Além de testes em geral, a interface de loopback é usada para comunicação entre diversos programas, sobretudo no Linux e outros sistemas Unix.

255.xxx.xxx.xxx, xxx.255.255.255, xxx.xxx.255.255: Nenhum identificador de rede pode ser 255 e nenhum identificador de host pode ser composto apenas de endereços 255, seja qual for a classe do endereço, pois estes endereços são usados para enviar pacotes de broadcast.
Outras combinações são permitidas, como em 65.34.255.197 (em um endereço de classe A) ou em 165.32.255.78 (endereço de classe B).

xxx.0.0.0, xxx.xxx.0.0: Nenhum identificador de host pode ser composto apenas de zeros, seja qual for a classe do endereço, pois estes endereços são reservados para o endereço da rede. Como no exemplo anterior, são permitidas outras combinações como 69.89.0.129 (classe A) ou 149.34.0.95 (classe B).

xxx.xxx.xxx.255, xxx.xxx.xxx.0: Nenhum endereço de classe C pode terminar com 0 ou com 255, pois, como já vimos, um host não pode ser representado apenas por valores 0 ou 255, já que eles são usados para o envio de pacotes de broadcast.

Se você não pretende conectar sua rede à internet, pode utilizar qualquer faixa de endereços IP válidos e tudo irá funcionar sem problemas. Mas, a partir do momento em que você resolver conectá-los à web, os endereços da sua rede poderão entrar em conflito com endereços já usados na web.

Na prática isto não acontece, pois os roteadores do provedor de acesso perceberão que estão sendo usados endereços inválidos e se recusarão a rotear pacotes provenientes da sua rede, mas, de qualquer forma, não é elegante depender dos outros para corrigir seus erros de configuração.

Para resolver este problema, basta utilizar uma das faixas de endereços reservados que vimos no capítulo 2. Estas faixas são reservadas justamente ao uso em redes internas, por isso não são roteadas na internet. As faixas de endereços reservados mais comuns são 10.x.x.x e 192.168.x.x, onde respectivamente o 10 e o 192.168 indicam o endereço da rede e o endereço do host pode ser configurado da forma que você desejar.

O ICS (o recurso de compartilhamento de conexão, presente no Windows 98 SE em diante) usa a faixa de endereços 192.168.0.x. Ao compartilhar a conexão com a web utilizando este recurso, você simplesmente não terá escolha. O servidor de conexão passa a usar o endereço 192.168.0.1, e todos os demais micros que forem ter acesso à web devem usar endereços de 192.168.0.2 a 192.168.0.254, já que o ICS permite compartilhar a conexão entre apenas 254 PCs.

Ao compartilhar a conexão usando um servidor Linux (como veremos no capítulo 5), você pode escolher qualquer faixa de endereços e também configurar uma “zona” para os endereços do servidor DHCP, permitindo que você tenha micros com IPs fixos e IPs dinâmicos, fornecidos pelo servidor DHCP, na mesma rede.

Veja que usar uma destas faixas de endereços reservados não impede que os PCs da sua rede possam acessar a internet, todos podem acessar através de uma conexão compartilhada via NAT ou de um servidor proxy.

O uso dos endereços de rede local tem aliviado muito o problema da falta de endereços IP válidos, pois uma quantidade enorme de empresas e usuários domésticos, que originalmente precisariam de uma faixa de endereços de classe C para colocar todos os seus micros na internet, pode sobreviver com um único IP válido, compartilhado via NAT entre todos. Em muitos casos, mesmo provedores de acesso chegam a vender conexões com endereços de rede interna nos planos mais baratos, como, por exemplo, alguns planos de acesso via rádio, onde um roteador com um IP válido distribui endereço de rede interna (conexão compartilhada) para os assinantes.

Embora seja possível, pelo menos em teoria, ter redes com até 24 milhões de PCs, usando a faixa de endereços 10.x.x.x, na prática é raro encontrar segmentos de rede com mais de 100 ou 200 micros. Conforme a rede cresce, o desempenho acaba caindo, pois, mesmo ao utilizar um switch, sempre são transmitidos alguns pacotes de broadcast (que são retransmitidos a todos os micros da rede), sem falar nas colisões.

A solução nesse caso é dividir a rede em diversos segmentos, interligados entre si por um roteador. Imagine o caso de uma escola com 5 laboratórios, cada um com 40 micros. Não seria muito prático, nem eficiente, tentar interligar todos os micros diretamente. Ao invés disso, você poderia dividir a rede em pequenos segmentos, onde os 40 micros de cada laboratório são ligados a um pequeno servidor e estes são ligados a um roteador central, que compartilha a conexão com a web e pode acumular funções de firewall, proxy, servidor de arquivos, etc.

Quando falo em “roteador”, tenha em mente que você pode perfeitamente usar um servidor Linux com diversas placas de rede, configurado com as dicas do restante do livro.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X