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:
- 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.
- 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
6indica TCP,17indica UDP, e1indica ICMP. - Isso permite que o IP transporte diversos tipos de tráfego simultaneamente na mesma infraestrutura de rede.