Conceitos sobre TCP/IP 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. É nesse 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, podese 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 Identificador do Máscara de rede computador 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. IPv4 e IPv6 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
Protocolo DHCP Introdução Existem alguns recursos relacionados a redes que muitos sabem que existem, mas nem todos sabem para que servem. O protocolo DHCP é um deles. Este artigo visa mostrar no que consiste essa tecnologia e como ela funciona. Espera-se que o leitor saiba o que é IP. É importante frisar que este texto faz uma abordagem teórica e, portanto, não ensinará a configurar o protocolo DHCP em seu sistema. O que é DHCP DHCP é a sigla para Dynamic Host Configuration Protocol. Trata-se de um protocolo utilizado em redes de computadores que permite a estes obterem um endereço IP automaticamente. Caso tenha que administrar uma rede pequena - por exemplo, com 5 computadores - você não terá muito trabalho para atribuir um número IP a cada máquina. E se sua rede possuir 300 computadores? Ou mil? Certamente, o trabalho vai ser imenso e, neste caso, é mais fácil cometer o erro de dar o mesmo número IP a duas máquinas diferentes, fazendo com que estas entrem em conflito e não consigam utilizar a rede. O protocolo DHCP é uma eficiente solução para esse problema, já que, por meio dele, um servidor distribui endereços IP na medida em que as máquinas solicitam conexão à rede. Quando um computador desconecta, seu IP fica livre para uso de outra máquina. Para isso, o servidor geralmente é configurado para fazer uma checagem da rede em intervalos prédefinidos. É importante frisar que, além do endereço IP, também é necessário atribuir outros parâmetros a cada computador (host) que passa a fazer parte da rede. Com o DHCP isso também é possível. Pode-se passar à máquina-cliente máscara de rede, endereços de servidores DNS (Domain Name Server), nome que o computador deverá assumir na rede (por exemplo, infowester, infowester1 e assim por diante), rotas, etc. Um exemplo importante sobre o uso de DHCP é o caso dos provedores de internet. Na maioria dos casos, a máquina do usuário recebe um endereço IP diferente para cada conexão à internet. Isso é possível graças à combinação do DHCP com outros protocolos, o PPP (Point to Point Protocol), por exemplo. Funcionamento do DHCP Quando um computador se conecta a uma rede, ele geralmente não sabe quem é o servidor DHCP e, então, envia uma solicitação à rede para que o servidor DHCP "veja" que uma máquina-cliente está querendo fazer parte da rede e, portanto, deverá receber os parâmetros necessários. O servidor DHCP responde informando os dados cabíveis, principalmente um número IP livre até então. Caso o cliente aceite, esse número ficará indisponível a outros computadores que se conectarem à rede, já que um endereço IP só pode ser utilizado por uma única máquina por vez. O administrador da rede pode configurar o protocolo DCHP para funcionar nas seguintes formas: automática, dinâmica e manual: Automática: neste modo, uma determinada quantidade de endereços IP é definida para ser usada na rede, por exemplo, de 192.168.0.1 a 192.168.0.50. Assim, quando um computador fizer uma solicitação de inclusão na rede, um dos endereços IPs em desuso é oferecido a ele;
Dinâmica: este modo é muito semelhante ao automático, exceto no fato de que a conexão à rede é feita por um tempo pré-determinado. Por exemplo, uma máquina só poderá ficar conectada por no máximo duas horas; Manual: este modo funciona da seguinte forma: cada placa de rede possui um parâmetro exclusivo conhecido por MAC (Medium Access Control). Trata-se de uma seqüência numérica que funciona como um recurso para identificar placas de rede. Como esse valor é único, o administrador pode reservar um endereço IP para o computador que possui um determinado valor de MAC. Assim, só este computador utilizará o IP em questão. Esse recurso é interessante para quando é necessário que o computador tenha um endereço IP fixo, ou seja, que não muda a cada conexão. Em redes muito grandes, é possível que o servidor DHCP não esteja fisicamente na mesma rede que determinadas máquinas estão. Mesmo assim, ainda é possível que o servidor encontre-as. Isso é feito por meio de um roteador que envia e recebe pacotes DHCP: o Relay DHCP. Breve histórico do DHCP O protocolo DHCP é tido como uma espécie de evolução de um antigo protocolo chamado BOOTP. Muito utilizado em sistemas Unix, o BOOTP permitia a configuração automática de impressoras e máquinas clientes em uma rede. Esse processo era feito associando um número MAC - já explicado acima - a um endereço IP (ou a outro parâmetro). Com o passar do tempo, o BOOTP se mostrava cada vez mais limitado, principalmente porque não era muito eficiente na configuração de redes grandes. Devido a isso, no início da década de 1990, o grupo IETF (Internet Engineering Task Force) trabalhou no desenvolvimento de um protocolo substituto, que fosse capaz de superar as limitações do BOOTP e que adicionasse recursos novos. Surgia então o DHCP. Finalizando Administradores de rede que queiram tirar proveito dos recursos do DHCP devem estudar o assunto a fundo, principalmente para lidar com questões de segurança. Imagine, por exemplo, que alguém conseguiu entrar em uma empresa e conectou seu notebook em um ponto livre da rede. Se a máquina estiver configurada para trabalhar com DHCP, o invasor poderá acessar informações restritas à companhia e ninguém perceberá. O protocolo DHCP possui muita utilidade, inclusive por ser suportado por uma série de plataformas, fazendo com que na mesma rede existam computadores com diferentes sistemas operacionais. Sabendo-se usar o DHCP, é possível poupar muito trabalho na configuração de redes. Por fim, caso queira mais informações sobre a especificação do DHCP: (http://www.ietf.org/rfc/rfc2131.txt?number=2131 - página em inglês). Escrito por Emerson Alecrim - Publicado em 23/03/2005 - Atualizado em 23/03/2005, disponível em: http://www.infowester.com/internetprotocol.php