18 fevereiro, 2009

Endereços IP (Internet Protocol)

Introdução
O uso de computadores em rede e, claro, a internet, requer que cada máquina tenha um identificador que a diferencie das demais. Para isso, é necessário, entre outras coisas, que cada computador tenha um endereço, alguma forma de ser encontrado. É necesse ponto que entra em cena o endereço IP, cujo conceito básico é explicado nas próximas linhas.


Endereço IP
Se você usa a internet ou trabalha em um escritório onde todos os computadores são interligados, já deve ter ouvido falar de endereço IP (Internet Protocol). Trata-se de uma especificação que permite a comunicação consistente entre computadores, mesmo que estes sejam de plataformas diferentes ou estejam distantes.


A comunicação entre computadores é feita através do uso de padrões, isto é, uma espécie de "idioma" que permite que todas as máquinas se entendam. Em outras palavras, é necessário fazer uso de um protocolo que indique como os computadores devem se comunicar. No caso do IP, o protocolo aplicado é o TCP/IP (Transmission Control Protocol/Internet Protocol). Existem outros, mas o TCP/IP é o mais conhecido, além de ser o protocolo básico usado na internet.

O uso do protocolo TCP/IP não é completo se um endereço IP não for utilizado. Se, por exemplo, dados são enviados de um computador para outro, o primeiro precisa saber o endereço IP do destinatário e este precisa saber o IP do emissor, caso a comunicação exija uma resposta. Sem o endereço IP, os computadores não conseguem ser localizados em uma rede, e isso se aplica à própria internet, já que ela funciona como uma "grande rede".

Analisando o endereço IP
O endereço IP (ou somente IP) é uma seqüência de números composta de 32 bits. Esse valor consiste em um conjunto de quatro grupos de 8 bits. Cada conjunto é separado por um ponto e recebe o nome de octeto ou simplesmente byte, já que um byte é formado por 8 bits. O número 172.31.110.10 é um exemplo. Repare que cada octeto é formado por, no máximo, 3 caracteres, sendo que cada um pode ir de 0 a 255.


Os dois primeiros octetos de um endereço IP geralmente são usados para identificar a rede, mas isso não é regra fixa, como será visto mais adiante. Em lugares com várias redes, pode-se ter, por exemplo, 172.31 para uma rede e 172.32 para outra. Quanto aos últimos dois octetos, eles são usados na identificação de computadores dentro da rede. Por exemplo, em uma rede com 400 PCs, pode-se usar as faixas de 172.31.100.1 a 172.31.100.255 e 172.31.101.0 a 172.31.101.255. Novamente, esta não é uma regra fixa.


Como os endereços IP usados em redes locais são semelhantes aos IPs da internet, usa-se um padrão conhecido como IANA (Internet Assigned Numbers Authority) para a distribuição de endereços nestas redes. Assim, determinadas faixas de IP são usadas para redes locais, enquanto que outras são usadas na internet. Como uma rede local em um prédio não se comunica a uma rede local em outro lugar (a não ser que ambas sejam interconectadas) não há problemas de um mesmo endereço IP ser utilizado nas duas redes. Já na internet, isso não pode acontecer. Nela, cada computador precisa de um IP exclusivo.


O padrão IANA divide a utilização de IPs para redes em, basicamente, 3 classes principais e duas que podem ser consideradas secundárias. Esse divisão foi feita de forma a evitar ao máximo o desperdício de endereços IPs que podem ser utilizados em uma rede:

Classe A: 1.0.0.0 até 126.0.0.0 - Permite até 16.777.216 de computadores em cada rede (máximo de 126 redes);
Classe B: 128.0.0.0 até 191.255.0.0 - Permite até 65.536 computadores em uma rede (máximo de 16.384 redes);
Classe C: 192.0.0.0 até 223.255.255.254 - Permite até 256 computadores em uma rede (máximo de 2.097.150 redes);
Classe D: 224.0.0.0 até 239.255.255.255 - multicast
Classe E: 240.0.0.0 até 255.255.255.255 multicast reservado

As três primeiras classes são assim divididas para atender as seguintes necessidades:
- os endereços IP da classe A são usados em locais onde é necessário poucas redes, mas uma grande quantidade de máquinas nelas. Para isso, o primeiro byte é usado como identificador da rede e os demais servem como identificador dos computadores;
- os endereços IP da classe B são usados nos casos onde a quantidade de redes é equivalente ou semelhante à quantidade de computadores. Para isso, usa-se os dois primeiros bytes do endereço IP para identificar a rede e os restantes para identificar os computadores;
- os endereços IP da classe C são usados em locais que requerem grande quantidade de redes, mas com poucas máquinas em cada uma. Assim, os três primeiros bytes são usados para identificar a rede e o último é utilizado para identificar as máquinas.

Quanto às classes D e E, elas existem por motivos especiais: a primeira é usada para a propagação de pacotes especiais para a comunicação entre os computadores, enquanto que a segunda está reservada para aplicações futuras ou experimentais.

Vale frisar que há vários outros blocos de endereços reservados para fins especiais. Por exemplo, o endereço 127.0.0.1 sempre se refere à própria máquina, isto é, ao próprio host, razão esta que o leva a ser chamado de localhost.

Máscara de sub-rede
Para identificar a classe IP que está sendo utilizada em uma rede ou para se especificar uma dada configuração de rede, usa-se um conceito conhecido como máscara de sub-rede. Se, por exemplo, um byte é usado para identificação da rede, tal byte na máscara de sub-rede será 255.


Mas, se um byte é usado para identificação de um computador e não de uma rede, seu valor na máscara de sub-rede é 0 (zero). A tabela a seguir mostra um exemplo dessa relação. É importante frisar, no entanto, que o conceito de máscara de sub-rede é mais complexo (aqui é mostrado apenas a utilização mais comum), de forma que os números que a envolvem podem ser diferentes de 255 e de 0, já que a quantidade de classes é maior.

Classe Endereço IP Identificador da rede Identificador do computador Máscara de sub-rede
A 10.2.68.12 10 2.68.12 255.0.0.0
B 172.31.101.25 172.31 101.25 255.255.0.0
C 192.168.0.10 192.168.0 10 255.255.255.0

IP estático e IP dinâmico

IP estático (ou fixo) é um número IP dado permanentemente a um computador, ou seja, seu IP não muda, exceto se tal ação for feita manualmente. Como exemplo, há casos de assinaturas de acesso à internet via ADSL, onde alguns provedores atribuem um IP estático aos seus assinantes. Assim, sempre que um cliente se conectar, usará o mesmo IP. Essa prática é cada vez mais rara entre os provedores de acesso, por uma série de fatores, que inclui problemas de segurança.


O IP dinâmico, por sua vez, é um número que é dado a um computador quando este se conecta à rede, mas que muda toda vez que há conexão. Por exemplo, suponha que você conectou seu computador à internet hoje. Quando você conectá-lo amanhã, lhe será dado outro IP. Para entender melhor, imagine a seguinte situação: uma empresa tem 80 computadores ligados em rede. Usando IPs dinâmicos, a empresa disponibilizou 90 endereços IP para tais máquinas. Como nenhum IP é fixo, quando um computador "entra" na rede, lhe é atribuído um IP destes 90 que não esteja sendo usado por nenhum outro computador. É mais ou menos assim que os provedores de internet trabalham. Toda vez que você se conecta à internet, seu provedor dá ao seu computador um IP dela que esteja livre.


O método mais usado para a distribuição de IPs dinâmicos é a protocolo DHCP (Dynamic Host Configuration Protocol).


Domínio
Todos os sites da internet também possuem IP. Neste caso, é usado IP estático. Mas você pode estar se perguntando: como isso ocorre, se eu digito www.nomedosite.com.br em vez de um endereço IP? Através do domínio, que consiste numa forma mais fácil de acessar sites do que pelo seu IP. Esse recurso é como um "nome" dado ao IP. Sendo assim, quando você digita em seu navegador "www.nomedosite.com.br", um servidor na internet do seu provedor chamado DNS (Domain Name System - Sistema de Nomes de Domínios), descobre qual o IP está relacionado ao site que você digitou e direciona seu computador a ele. O sistema DNS possui uma hierarquia interessante, semelhante a uma árvore (termo conhecido por programadores). Se, por exemplo, o site www.infowester.com é requisitado, o sistema envia a solicitação a um servidor responsável por terminações ".com". Esse servidor vai localizar qual o IP do endereço e responder à solicitação. Se o site solicitado termina com ".br", um servidor responsável por essa terminação é consultado. Assim, fica mais ágil a tarefa de localização de sites e dessa forma, sua máquina consegue acessar praticamente qualquer site da internet.


O esquema de IPs visto neste artigo é conhecido como IPv4. Como dito antes, consiste num sistema de 32 bits, cujos endereços IP são divididos em quatro octetos (ou bytes) separados por pontos. Fazendo um cálculo, descobre-se que há disponível 4.294.967.296 de possibilidades para endereços IP. Esse número, apesar de grande, tende a ser cada vez mais limitado, uma vez que o uso de endereços IP aumenta constantemente. Por causa disso, uma nova versão do IP foi desenvolvida e está sendo aprimorada: o IPv6. Esse padrão promete expandir bastante o número de IPs disponíveis, já que usa 128 bits. O IPv6 já é suportado pela maioria dos sistemas operacionais recentes, como o Windows Vista, o Mac OS X e as distribuições atuais do Linux.

Finalizando
Este artigo fez uma abordagem básica sobre endereços IPs. O assunto, na verdade, é mais complexo e os detalhes certamente são interessantes aos profissionais que trabalham na área ou a quem deseja se especializar no ramo. Assim, caso queira ter conhecimentos aprofundados sobre IPs e, conseqüentemente, sobre tudo o que envolve redes, estude o protocolo TCP/IP e Modelo OSI. É a melhor maneira de se começar ;-)


Escrito por Emerson Alecrim - Publicado em 30/06/2003 - Atualizado em 22/09/2007

Nenhum comentário: