O que é IP? Saiba para que serve e como funciona

Introdução

Você já parou para pensar sobre como o seu computador ou smartphone consegue acessar páginas na web? Ou, na empresa que você trabalha, como o seu PC se comunica com a máquina de alguém em outro andar? Isso é possível porque, tanto em redes locais quanto na internet, cada dispositivo conectado tem um endereço único: o IP, sigla para Internet Protocol.

Nas próximas linhas, eu, Emerson Alecrim, explico para você o que é endereço IP e abordo conceitos relacionados, como classes IP e máscaras de sub-rede.

Antes de começarmos, devo destacar que este texto aborda o IPv4. Se você procura informações sobre a versão mais recente do protocolo, abordo o assunto no texto o que é IPv6.

Se preferir, você pode acessar diretamente um dos tópicos a seguir:

- Antes, o TCP/IP;
- O que é endereço IP?;
- Classes de endereços IP;
- Endereços IP privados;
- Máscara de sub-rede;
- Qual a diferença entre IP fixo e IP dinâmico?;
- IP nos sites;
- IPv4 versus IPv6.

Antes, o TCP/IP

Há várias formas de estabelecer comunicação entre computadores. No entanto, os protocolos TCP/IP (sigla para Transmission Control Protocol/Internet Protocol) são a base para internet e para a grande maioria das redes locais (dentro de um prédio, por exemplo).

Em poucas palavras, o TCP/IP é um conjunto de protocolos, isto é, de padrões de comunicação. Grossamente falando, é como se fosse uma linguagem: se todos os computadores "falam" esse idioma e respeitam as suas regras, conseguem se comunicar e trocar informações.

Apesar de a sigla TCP/IP fazer referência a dois protocolos — Transmission Control Protocol e Internet Protocol —, o conjunto conta com vários outros padrões, com cada um sendo responsável por determinada tarefa.

Para facilitar a compreensão, a estrutura do TCP/IP foi organizada em camadas. Essencialmente, há cinco delas:

Camadas TCP/IP

5. Camada Aplicação: onde estão as aplicações (programas, sistemas, etc.) que fazem uso da rede. Contém protocolos como HTTP (Hypertext Transfer Protocol), DNS (Domain Name System) e FTP (File transfer Protocol);

4. Camada Transporte: onde estão os protocolos responsáveis pelo envio e recebimento de dados, como o TCP em si e o UDP (User Datagram Protocol);

3. Camada Rede: onde há o estabelecimento da rede em si, com endereçamento dos dispositivos conectados e tarefas de roteamento. É nessa camada que encontramos o Internet Protocol;

2. Camada Link: onde estão tecnologias de rede (como Ethernet e 802.11 para Wi-Fi) e os drivers que permitem que os dispositivos conectados se comuniquem;

1. Camada Física: onde estão os componentes físicos, como modems, roteadores e cabos de rede.

Vale frisar que, dependendo da literatura, é possível encontrar quatro camadas em vez de cinco. Além disso, há um esquema alternativo chamado Modelo OSI (Open Systems Interconnection), que é organizado em sete camadas e também tem a função de descrever um conjunto de protocolos, mas o faz de maneira um pouco mais abrangente.

Como você já sabe, cada protocolo tem uma função específica. O HTTP, por exemplo, faz a comunicação entre um computador cliente (como o seu) e um servidor na internet para que você possa visualizar páginas de sites. Já o FTP especifica um padrão para transferências de arquivos de uma máquina para outra.

Mas, neste texto, vamos conhecer detalhes do Internet Protocol, mais precisamente, do endereço IP.


O que é endereço IP?

Quando você deseja enviar uma carta a alguém... Ok, você não envia mais cartas; prefere WhatsApp ou deixar recado no Facebook. Vamos então melhorar o exemplo: quando você quer enviar um presente a alguém, basta contratar os Corrreios ou uma transportadora para fazer a entrega no endereço informado.

Graças ao endereço, é possível encontrar exatamente a pessoa a ser presenteada. Também é graças ao seu endereço — único para cada residência ou estabelecimento — que você recebe contas de energia, boletos, aquele produto que você comprou em uma loja on-line, enfim.

Na internet, o princípio é parecido. Para que seja encontrado, o seu computador precisa ter um endereço único. O mesmo vale para qualquer site, como o InfoWester: este fica hospedado em um servidor, que por sua vez precisa ter um endereço para ser localizado na internet. Isso é feito via endereço IP (IP Address), recurso também utilizado para redes locais, como a rede Wi-Fi da sua casa: o seu roteador atribui um IP a cada dispositivo conectado a ele.

O endereço IP é uma sequência de números composta por 32 bits. Esse valor consiste em um conjunto de quatro sequências de 8 bits. Cada uma é separada por um ponto e recebe o nome de octeto ou simplesmente byte, pois um byte é formado por 8 bits. O número 172.31.110.10 é um exemplo. Repare que cada octeto é formado por números que podem ir de 0 a 255, não mais do que isso.

Endereço IP

A divisão de um IP em quatro partes facilita a organização da rede, da mesma forma que a divisão do seu endereço em cidade, bairro, CEP, número, etc, torna possível a organização das casas da região onde você mora.

Nesse sentido, os dois primeiros octetos de um endereço IP podem ser usados para identificar a rede, por exemplo. Em uma escola que tem, vamos imaginar, uma rede para alunos e outra para professores, pode-se ter 172.31.x.x para a primeira rede e 172.32.x.x para a segunda, sendo que os dois últimos octetos são utilizados na identificação dos computadores.


Classes de endereços IP

Você já sabe que os endereços IP podem ser utilizados tanto para identificar o seu computador ou celular (ou qualquer outro dispositvo) dentro de uma rede quanto para identificá-lo na internet.

Se na rede do trabalho o seu computador tem, como exemplo, o IP 172.31.100.10, uma máquina em outra rede pode ter o mesmo número, afinal, ambas as redes são distintas e não se comunicam — uma nem sabe da existência da outra.

Mas, como a internet é uma rede global, cada dispositivo conectado nela precisa ter um endereço único. O mesmo vale para uma rede local: nesta, cada dispositivo conectado deve receber um endereço exclusivo. Se duas ou mais máquinas tiverem o mesmo IP, tem-se então um problema chamado "conflito de IP", que dificulta ou impede a comunicação desses dispositivos e pode inclusive atrapalhar toda a rede.

Para que seja possível termos IPs para uso em redes locais e IPs para utilização na internet, contamos com um esquema de distribuição estabelecido pelas entidades IANA (Internet Assigned Numbers Authority) e ICANN (Internet Corporation for Assigned Names and Numbers) que, basicamente, divide os endereços em três classes principais e mais duas complementares. São elas:

Classe A: 0.0.0.0 até 127.255.255.255 — permite até 128 redes, cada uma com até 16.777.214 dispositivos conectados;

Classe B: 128.0.0.0 até 191.255.255.255 — permite até 16.384 redes, cada uma com até 65.536 dispositivos;

Classe C: 192.0.0.0 até 223.255.255.255 — permite até 2.097.152 redes, cada uma com até 254 dispositivos;

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 às seguintes necessidades:

- Os endereços IP da classe A são usados em locais onde são necessárias poucas redes, mas uma grande quantidade de máquinas nelas. Para isso, o primeiro byte é utilizado como identificador da rede e os demais servem como identificador dos dispositivos conectados (notebooks, smartphones, impressoras, etc);

- Os IPs da classe B são usados nos casos em que a quantidade de redes é equivalente ou semelhante ao número de dispositivos. Para isso, usam-se os dois primeiros bytes do endereço IP para identificar a rede e os restantes para identificar os dispositivos;

- Os endereços IP da classe C são usados em locais que requerem grande quantidade de redes, mas com poucos dispositivos 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 dispositivos, enquanto que a segunda está reservada para aplicações futuras ou experimentais.

Vale frisar que há vários blocos de endereços reservados para fins especiais. Por exemplo, quando o endereço começa com 127, geralmente indica uma rede "falsa", isto é, utilizada apenas para testes. No caso do endereço 127.0.0.1, este normalmente se refere ao próprio dispositivo, ou seja, ao próprio host, o que o faz ser chamado de localhost. Já o endereço 255.255.255.255 é utilizado para propagar mensagens para todos os hosts de uma rede de maneira simultânea.


Endereços IP privados

Há conjuntos de endereços das classes A, B e C que são privados. Isso significa que eles não podem ser usados na internet, pois foram reservados para aplicações locais. São, essencialmente, estes:

- Classe A: 10.0.0.0 à 10.255.255.255;
- Classe B: 172.16.0.0 à 172.31.255.255;
- Classe C: 192.168.0.0 à 192.168.255.255.

Suponha então que você tenha que gerenciar uma rede com cerca de 50 computadores. Você pode destinar a essas máquinas endereços de 192.168.0.1 até 192.168.0.50, por exemplo. Todas elas precisam de acesso à internet. O que fazer? Adicionar mais um IP para cada uma delas?

Não. Na verdade, basta conectá-las a um servidor ou equipamento de rede — como um roteador Wi-Fi — que recebe a conexão à internet e a compartilha com todos os dispositivos conectados a ele. Com isso, somente este equipamento precisará de um endereço IP para acesso à internet.


Máscara de sub-rede

As classes IP ajudam na organização do endereçamento, mas também podem representar desperdício. Uma solução bastante interessante para isso atende pelo nome de máscara de sub-rede, recurso em que parte dos números de um octeto destinado a identificar dispositivos conectados (hosts) é "trocada" para aumentar a capacidade da rede.

Para compreendermos, vamos enxergar as classes A, B e C da seguinte forma:

- A: N.H.H.H;
- B: N.N.H.H;
- C: N.N.N.H.

N significa Network (rede) e H indica Host. Com o uso de máscaras, podemos fazer uma rede do N.N.H.H se "transformar" em N.N.N.H. Em outras palavras, as máscaras de sub-rede permitem determinar quantos octetos e bits são destinados para a identificação da rede e quantos são utilizados para identificar os dispositivos.

Para isso, utiliza-se o seguinte esquema, basicamente: se um octeto é usado para identificação da rede, este receberá a máscara de sub-rede 255; se um octeto é aplicado para os dispositivos, seu valor na máscara de sub-rede será 0 (zero). A tabela a seguir mostra um exemplo dessa relação:

Classe
Endereço IP
Identificador da rede
Identificador do dispositivo
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

Perceba que podemos ter então redes com máscara 255.0.0.0, 255.255.0.0 e 255.255.255.0, cada uma indicando uma classe. Mas, como já dito, ainda pode haver situações de desperdício.

Suponha que uma faculdade tenha que criar uma rede para cada um de seus cinco cursos. Cada curso possui 20 computadores. A solução seria então criar cinco redes classe C? Pode ser melhor do que utilizar classes B, mas ainda haverá desperdício. Uma forma de contornar o problema é criar uma rede classe C dividida em cinco sub-redes. Para isso, as máscaras novamente entram em ação.

Nós utilizamos números de 0 a 255 nos octetos, mas estes, na verdade, representam bytes (linguagem binária). 255 em binário é 11111111. O número zero, por sua vez, é 00000000. Assim, a máscara de um endereço classe C, 255.255.255.0, é:

11111111.11111111.11111111.00000000

Note então que temos aqui uma máscara formada por 24 bits 1: 11111111 + 11111111 + 11111111 (se estiver confuso, leia este artigo sobre bits e bytes). Para criarmos as nossas sub-redes, temos que ter um esquema com 25, 26 ou mais bits, conforme a necessidade e as possibilidades. Em outras palavras, precisamos trocar alguns zeros do último octeto por 1.

Suponha que trocamos os três primeiros bits do último octeto (sempre trocamos da esquerda para a direita), resultando em:

11111111.11111111.11111111.11100000

Se fizermos o número 2 elevado pela quantidade de bits "trocados", teremos a quantidade possível de sub-redes. Em nosso caso, temos 2^3 = 8. Podemos então criar até oito sub-redes. Sobrou cinco bits para o endereçamento dos hosts. Fazemos a mesma conta: 2^5 = 32. Assim, temos 32 dispositivos em cada sub-rede (estamos fazendo esses cálculos sem considerar limitações que possam impedir o uso de todos os hosts e sub-redes).

11100000 corresponde a 224, logo, a máscara resultante é 255.255.255.224.

Saiba que esse esquema de "trocar" bits pode ser empregado também em endereços classes A e B, conforme a necessidade. Vale ressaltar ainda que não é possível usar 0.0.0.0 ou 255.255.255.255 como máscara.


Qual a diferença entre IP fixo e IP dinâmico?

Você já deve ter ouvido falar desses termos. A explicação é mais simples do que você imagina. O IP fixo (ou IP estático) é um endereço atribuído permanentemente a um dispositivo. Assim, esse equipamento vai sempre ter esse IP, mesmo que ele seja desconectado e volte à rede mais tarde. O IP só deixa de ser fixo se for mudado manualmente ou em algum procedimento específico.

Já o IP dinâmico é um endereço atribuído a um dispositivo no momento de conexão à rede. Cada vez que houver uma nova conexão, o roteador ou o equipamento que controla a rede irá atribuir ao dispositivo qualquer IP que estiver disponível, ou seja, não reservará a ele um endereço exclusivo.

Para facilitar a compreensão, imagine que uma empresa tem 80 computadores ligados em rede. Usando IPs dinâmicos, a empresa disponibiliza 100 endereços IP para essas máquinas. Como nenhum IP é fixo, um computador que acaba de ser ligado receberá um endereço IP que estiver livre entre os 100 existentes.

É mais ou menos assim que os provedores de internet trabalham. Na maioria deles, o endereço IP do seu acesso à internet mudará cada vez que uma nova conexão for estabelecida.

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


IP nos sites

Você já sabe que os sites na web também necessitam de um IP. Mas, se você digitar em seu navegador www.infowester.com, por exemplo, como é que o seu computador sabe qual o IP do site ao ponto de conseguir encontrá-lo?

Quando você digita um endereço qualquer de um site, um servidor de DNS (Domain Name System) é consultado. Ele é que informa qual IP está associado a cada site.

O DNS possui uma hierarquia bem definida. 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 localizará qual o IP correspondente e responderá à solicitação. Se o site solicitado termina com ".br", um servidor responsável por esta terminação é consultado e assim por diante.

Se por alguma razão você precisar descobrir o IP de um site — do Google, por exemplo — pode fazê-lo de várias maneiras. Supondo que você use o Windows 10, basta digitar o comando cmd no campo de pesquisa da Barra de Tarefas e, na sequência, a instrução ping www.google.com.br.

Ping para descobrir IP


IPv4 versus IPv6

O padrão de IP abordado aqui é chamado de IPv4. Há um formato mais recente, conhecido como IPv6, que é muito mais promissor e ganha cada vez mais espaço. Você já vai entender o porquê.

Até um passado recente, a gente só conectava notebooks ou desktops às redes de nossas casas. Hoje, conectamos também smartphones, smartwatches (relógios inteligentes), tablets, TVs e por aí vai. A tendência é a de que, nos próximos anos, praticamente todos os dispositivos do lar estejam on-line: geladeira, cafeteira, luminárias e assim por diante.

Esse cenário em que tudo é conectado corresponde ao conceito de Internet das Coisas. Mas há um problema: o número de IPs disponíveis não dá conta de tantas conexões. A solução está no IPv6, uma especificação capaz de suportar até — respire fundo — 340.282.366.920.938.463.463.374.607.431.768.211.456 endereços, um número absurdamente alto!

IPv4 x IPv6

O IPv6 não consiste, necessariamente, apenas no aumento da quantidade de octetos. Um endereço do tipo pode ser, por exemplo:

FEDC:2D9D:DC28:7654:3210:FC57:D4C8:1FFF

Para compreender o que isso significa e saber mais detalhes, acesse o texto o que é IPv6.


Conclusão

Com o surgimento do IPv6, tem-se a impressão de que a especificação tratada neste texto, o IPv4, vai sumir do mapa. Isso até pode acontecer, mas vai demorar bastante. Enquanto isso, o que veremos é a "convivência" entre ambos os padrões. Não por menos, praticamente todos os sistemas operacionais atuais e a maioria dos equipamentos de rede estão aptos a lidar tanto com um quanto com o outro.

Por isso, se você é ou pretende ser um profissional que trabalha com redes ou simplesmente quer conhecer mais o assunto, procure se aprofundar nas duas especificações.

A essa altura, você também deve estar querendo descobrir qual o IP da sua conexão. Cada sistema operacional tem uma forma de mostrar isso. Se você é usuário do Windows 10, pode fazê-lo digitando cmd no campo de pesquisa da Barra de Tarefas e, na janela que surgir, informar o comando ipconfig /all. Em ambientes Linux, o comando é ifconfig.

Obtendo o IP no Windows

Se você estiver conectado a partir de uma rede local, como o Wi-Fi da sua casa, o IP será fornecido pelo roteador. Para sabe o endereço IP da conexão à internet em si, você pode consultar a página de configuração do seu equipamento de rede ou pesquisar por "qual o meu IP" no Google. Os resultados mostrarão várias páginas que dão essa informação.

Publicado em 21_08_2011. Atualizado em 08_05_2018.

Emerson Alecrim Autor: Emerson Alecrim
Graduado em ciência da computação, produz conteúdo sobre tecnologia desde 2001. É aficionado por TI, comunicação, ciência e cultura geek.
TwitterInstagramFlickrLinkedIn