O Protocolo IP (Internet Protocol), definido originalmente na RFC 791 para a sua versão 4 (IPv4) e na RFC 2460 para a versão 6 (IPv6), é o protocolo fundamental da Camada de Rede e o elemento central da suíte de protocolos TCP/IP. Ele pode ser definido como o “sistema nervoso” da Internet, responsável por definir o formato dos pacotes e o esquema de endereçamento que permite o roteamento de informações através de múltiplas redes interconectadas.

A função primordial do IP é fornecer um sistema de entrega de datagramas que seja independente do hardware subjacente e da topologia física da rede. Ele atua como uma camada de abstração que esconde a complexidade das redes físicas subjacentes (Ethernet, Wi-Fi, Fibra, SDH, etc.) das camadas superiores, oferecendo um serviço de comunicação uniforme.

1. O Conceito de Inter-Rede (Internetworking)

A maior contribuição do Protocolo IP é a criação do conceito de Internetwork (inter-rede). Sem o IP, redes diferentes seriam ilhas isoladas que não conseguiriam se comunicar.

  • Virtualização da Rede: O IP cria uma rede lógica virtual sobre as redes físicas reais. Para o protocolo IP, não importa se os dados estão atravessando um cabo coaxial, uma fibra óptica ou uma onda de rádio; tudo é tratado como um “link” na grande rede IP.
  • Universalidade: O IP é independente da tecnologia de transporte. Ele pode ser encapsulado em praticamente qualquer protocolo da Camada de Enlace (ex: Ethernet, Frame Relay, PPP) e pode carregar praticamente qualquer protocolo da Camada de Transporte (ex: TCP, UDP, SCTP).

2. Endereçamento Lógico e Hierárquico

O protocolo define o sistema de endereçamento lógico (Endereços IP). Diferente dos endereços físicos (MAC), que são planos e atribuídos na fabricação, os endereços IP possuem uma estrutura hierárquica composta por duas partes lógicas:

  1. Identificador de Rede (Net ID): Indica a qual rede lógica o dispositivo pertence. Esta parte é usada pelos roteadores para tomar decisões de encaminhamento globais.
  2. Identificador de Host (Host ID): Identifica univocamente a interface do dispositivo dentro daquela rede específica.

Essa hierarquia é o que permite que tabelas de roteamento na Internet sejam compactas e gerenciáveis. Os roteadores precisam saber apenas como chegar a uma rede de destino, e não o endereço específico de cada bilhão de dispositivos individuais conectados a ela.

3. Unidade de Transferência: O Datagrama

O IP opera através da transmissão de unidades de dados chamadas Datagramas IP. O protocolo é orientado a datagramas, o que implica:

  • Não Orientado à Conexão: Não há estabelecimento de caminho virtual antes do envio. Cada datagrama contém informações suficientes (endereços de origem e destino) para viajar independentemente de qualquer outro.
  • Independência dos Caminhos: Diferentes datagramas pertencentes à mesma mensagem podem percorrer rotas diferentes para chegar ao destino, dependendo das condições de tráfego e das tabelas de roteamento no momento do envio.
  • Fragmentação e Reassembly: O IP possui mecanismos para dividir (fragmentar) datagramas grandes em pedaços menores para que possam atravessar redes com limitações de tamanho de unidade máxima de transmissão (MTU). A remontagem (reassembly) é realizada no host final de destino.

4. Serviço de Melhor Esforço (Best-Effort)

O Protocolo IP oferece um serviço não confiável e sem conexão. O termo “não confiável” significa que o protocolo não garante a entrega. Ele não implementa:

  • Handshakes (Apertos de Mão): A comunicação é unidirecional em termos de fluxo de dados (envio).
  • Confirmações (ACKs): O receptor não avisa o remetente que recebeu o pacote.
  • Controle de Erros: Não há recuperação automática de dados corrompidos.
  • Controle de Fluxo: A rede não pede ao remetente para diminuir a velocidade.

Essa simplicidade é proposital. Ao transferir a responsabilidade pela confiabilidade para a Camada de Transporte (como o TCP), o IP torna o núcleo da rede extremamente rápido e escalável, focando-se exclusivamente na tarefa de endereçar e rotear o tráfego o mais rápido possível.

5. Multiplexação e Demultiplexação

Embora o IP entregue dados a um host, ele deve saber qual processo (aplicação) deve receber esses dados no destino. Para isso, o cabeçalho IP contém um campo chamado Protocol (ou Next Header no IPv6).

  • Esse campo identifica qual protocolo da Camada de Transporte está encapsulado no payload do datagrama IP.
  • Por exemplo, um valor de 6 indica TCP, 17 indica UDP, e 1 indica ICMP.
  • Isso permite que o IP transporte diversos tipos de tráfego simultaneamente na mesma infraestrutura de rede.