Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

04 - Protocolo IP

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione video: https://youtu.be/... no frontmatter da nota.

Protocolo IP (Internet Protocol)

1. Definição e Função

O Protocolo IP é o protocolo central da Camada de Rede (Layer 3 OSI) responsável por fornecer um sistema de endereçamento lógico e hierárquico para identificar dispositivos em uma rede. Ele é o responsável por rotear pacotes de dados da origem ao destino através de redes interconectadas (internetworking), sendo a pedra fundamental sobre a qual a Internet é construída.

O IP é um protocolo não orientado à conexão (connectionless) e de melhor esforço (Best-Effort). Isso significa que ele não gasta recursos verificando se o destino está pronto, não estabelece circuitos virtuais antes da transmissão e não confirma se o pacote chegou — ele simplesmente "despacha" a informação e confia que a Camada de Transporte (TCP) ou a aplicação lidem com possíveis perdas, duplicatas ou reordenações.

Características Operacionais

Atributo Comportamento IP
Estabelecimento de conexão Não (connectionless)
Garantia de entrega Não (best-effort)
Ordem de entrega Não garantida
Controle de congestionamento Não (delegado ao TCP)
Controle de fluxo Não (delegado ao TCP)
Verificação de integridade Apenas do cabeçalho (Header Checksum, no IPv4)
Endereçamento Lógico e hierárquico (32 bits no IPv4, 128 bits no IPv6)

2. RFCs de Referência

RFC Ano Conteúdo
RFC 760 1980 IPv4 predecessor (Internet Protocol)
RFC 791 1981 IPv4 (versão atual, base da Internet)
RFC 894 1984 IP sobre Ethernet
RFC 2460 1998 IPv6 (revogado pela 8200)
RFC 8200 2017 IPv6 (versão atual)
RFC 1812 1995 Requisitos para roteadores IPv4
RFC 1918 1996 Endereços privados IPv4

3. As Duas Versões do Protocolo

Atualmente, convivemos com duas gerações do protocolo IP em produção simultânea:

A. IPv4 (Internet Protocol version 4)

  • Endereçamento: 32 bits, representados em 4 octetos decimais separados por pontos (ex: 192.168.1.1).
  • Capacidade: Aproximadamente 4,29 bilhões de endereços teóricos (2^32), dos quais parte é reservada (privada, loopback, multicast).
  • Cabeçalho: Variável, mínimo 20 bytes (sem opções), máximo 60 bytes.
  • Limitação: Esgotamento de endereços públicos devido à explosão de dispositivos (resolvido paliativamente com técnicas como o NAT — Network Address Translation, RFC 1631).
  • Status: Ainda transporta a maior parte do tráfego da Internet, mas em declínio gradual.

B. IPv6 (Internet Protocol version 6)

  • Endereçamento: 128 bits, representados em 8 grupos hexadecimais de 16 bits separados por dois-pontos (ex: 2001:0db8:85a3::8a2e:370:7334).
  • Capacidade: 3,4 × 1038 endereços (2^128) — virtualmente infinitos (cerca de 5 × 1028 endereços por pessoa na Terra).
  • Cabeçalho: Fixo de 40 bytes, mais eficiente para roteadores processarem.
  • Vantagens: Segurança nativa (IPsec mandatório), autoconfiguração sem estado (SLAAC), cabeçalhos de extensão flexíveis, ausência de broadcasts (usa multicast).
  • Status: Adoção crescente (~45% do tráfego no Google em 2024, segundo Google IPv6 Statistics).

4. O Cabeçalho IP (IP Header)

Todo pacote IP carrega um "rótulo" com informações vitais para o roteamento. Os campos mais importantes do cabeçalho IPv4 incluem:

  • Version (4 bits): Identifica a versão do protocolo (4 para IPv4, 6 para IPv6).
  • IHL (Internet Header Length, 4 bits): Tamanho do cabeçalho em palavras de 32 bits (mínimo 5 = 20 bytes).
  • Total Length (16 bits): Tamanho total do datagrama em bytes (cabeçalho + payload).
  • Identification (16 bits): Identifica unicamente o datagrama para fins de fragmentação.
  • Flags (3 bits): Controla fragmentação (DF — Don't Fragment; MF — More Fragments).
  • Fragment Offset (13 bits): Posição do fragmento no datagrama original.
  • TTL (Time to Live, 8 bits): Contador que diminui em cada roteador. Se chegar a zero, o pacote é descartado. Evita que pacotes fiquem "presos" em loops infinitos na rede. Valor típico inicial: 64 (Linux/macOS), 128 (Windows).
  • Protocol (8 bits): Indica qual protocolo de camada superior está dentro do pacote. Valores comuns: TCP=6, UDP=17, ICMP=1, IGMP=2, OSPF=89, ESP=50, AH=51.
  • Header Checksum (16 bits): Verifica integridade apenas do cabeçalho (não do payload).
  • Source Address (32 bits): Endereço IP de origem.
  • Destination Address (32 bits): Endereço IP de destino.
  • Options (variável): Campos opcionais (raramente usados na prática atual).

5. Endereçamento e Sub-redes

O endereço IP é dividido em duas partes lógicas:

  1. Parte de Rede (Network): Identifica a qual "vizinhança" lógica o dispositivo pertence.
  2. Parte de Host: Identifica o dispositivo específico dentro daquela vizinhança.

Essa divisão é feita pela Máscara de Sub-rede (ex: 255.255.255.0 ou /24 em notação CIDR). Entender essa divisão é fundamental para o roteamento:

  • Se o IP de destino pertence à mesma rede (mesma máscara aplicada), o dispositivo entrega diretamente via Camada 2 (usando ARP para descobrir o MAC do destino).
  • Se for uma rede diferente, o host envia o pacote para o Gateway Padrão (roteador), que decide o próximo salto.

Exemplo de Cálculo

Host:         192.168.1.100
Máscara:      255.255.255.0 (/24)
Rede:         192.168.1.0 (192.168.1.100 AND 255.255.255.0)
Broadcast:    192.168.1.255
Hosts úteis:  192.168.1.1 a 192.168.1.254 (254 = 2^8 - 2)

6. Funcionamento do Roteamento IP

O roteamento IP é um processo hop-by-hop: cada roteador ao longo do caminho decide apenas o próximo salto, sem conhecimento do caminho completo. Isso torna o IP robusto a falhas (rotas podem mudar dinamicamente) e escalável.

Tabela de Roteamento (Linux)

$ ip route
default via 192.168.1.1 dev eth0           # Rota padrão (gateway)
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
10.0.0.0/8 via 192.168.1.254 dev eth0      # Rota estática

A decisão de roteamento segue a regra da Longest Prefix Match (Correspondência de Prefixo Mais Longa): a entrada mais específica na tabela vence.

7. Fragmentação IP

Quando um datagrama IP é maior que a MTU (Maximum Transmission Unit) do enlace físico, ele precisa ser fragmentado. A MTU padrão Ethernet é 1500 bytes.

MTU Comum Tecnologia
1500 bytes Ethernet
1492 bytes PPPoE (ADSL)
1452 bytes VPN (IPsec over TCP)
1280 bytes IPv6 mínimo obrigatório
68 bytes MTU mínima IPv4 (sem fragmentação)

No IPv6, roteadores intermediários não fragmentam pacotes — a fragmentação é responsabilidade apenas das pontas (origem deve descobrir o Path MTU via PMTUD).

8. Tipos de Endereço IPv4

Tipo Faixa Uso
Classe A Pública 1.0.0.0 a 126.255.255.255 Grandes organizações
Classe B Pública 128.0.0.0 a 191.255.255.255 Médias organizações
Classe C Pública 192.0.0.0 a 223.255.255.255 Pequenas organizações
Privada (RFC 1918) 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 Redes internas
Loopback 127.0.0.0/8 Testes locais (localhost)
Link-Local (APIPA) 169.254.0.0/16 Autoatribuição sem DHCP
Multicast (Classe D) 224.0.0.0 a 239.255.255.255 Entrega para grupos

9. Comandos Práticos de Diagnóstico

# Visualizar configurações IP
ip addr show                       # Linux moderno
ifconfig                           # BSD/legacy Linux
ipconfig /all                      # Windows

# Testar conectividade IP (ICMP)
ping 8.8.8.8                       # Testa alcance
ping6 2001:4860:4860::8888         # Testa IPv6
traceroute 8.8.8.8                 # Mapeia rota
mtr 8.8.8.8                        # Traceroute contínuo

# Inspecionar tabela de rotas
ip route show
netstat -rn

# Capturar pacotes IP
tcpdump -n -i eth0 ip              # Captura todo tráfego IP
tcpdump -n -i eth0 'ip host 8.8.8.8'

10. Resumo Técnico

Atributo IPv4 IPv6
Tamanho do endereço 32 bits 128 bits
Cabeçalho Variável (20-60 bytes) Fixo (40 bytes)
Checksum de cabeçalho Sim Não (delegado a L2/L4)
Fragmentação Roteadores intermediários Apenas origem (PMTUD)
Broadcast Sim Não (apenas multicast)
Configuração automática DHCPv4 SLAAC + DHCPv6
IPsec Opcional Mandatório (RFC 8200)
Campo de QoS ToS (8 bits) Traffic Class (8 bits)

11. Conclusão

O Protocolo IP é o coração da Internet moderna. Sua simplicidade filosófica — best-effort, connectionless, sem garantias — é paradoxalmente o que tornou possível sua escalabilidade para bilhões de dispositivos. Ao delegar confiabilidade, ordem e controle de fluxo para o TCP (Camada 4), o IP mantém os roteadores do núcleo da Internet enxutos e rápidos, processando bilhões de pacotes por segundo. A transição em curso do IPv4 para o IPv6 é a maior mudança estrutural na história da Internet, motivada principalmente pelo esgotamento do espaço de endereçamento de 32 bits.