Versão 1.6 — PMTUD iterativo fim a fim · fragmentação realista · remontagem exclusivamente no destino final
Baseado em RFC 791, RFC 8200, RFC 1191, RFC 4821 e RFC 8899
Este simulador interativo foi desenvolvido para demonstrar, de forma visual e passo a passo:
- Fragmentação de pacotes no IPv4
- Descoberta de MTU de caminho (PMTUD) em IPv4 e IPv6
- Funcionamento real do PMTUD iterativo
- Problema de Black Hole PMTUD
- Regras fundamentais de rede frequentemente mal compreendidas
🔴 Regra central do simulador (e das RFCs):
Roteadores nunca remontam fragmentos. A remontagem ocorre exclusivamente no host destino final.
No IPv4, a fragmentação pode ocorrer em qualquer roteador ao longo do caminho.
Quando um pacote é maior que o MTU do enlace:
- O roteador divide o pacote em fragmentos
- Cada fragmento recebe seu próprio cabeçalho IP
- Os fragmentos seguem independentemente
- Nenhum roteador remonta
- Identification (16 bits) → identifica o datagrama original
- Flags
- DF (Don't Fragment)
- MF (More Fragments)
- Fragment Offset (13 bits) → unidade de 8 bytes
maxData = floor((MTU - header_IP) / 8) * 8
overhead = (N - 1) × 20 bytes
O IPv6 remove completamente a fragmentação nos roteadores.
Se o pacote não cabe:
- Roteador descarta
- Envia ICMPv6 "Packet Too Big"
- A fonte ajusta o tamanho
- (Opcional) Fonte fragmenta usando Fragment Extension Header (8B)
Roteadores IPv6 NUNCA fragmentam e NUNCA remontam
Funciona com o bit DF=1:
- Pacote maior que MTU → descartado
- Roteador envia:
- ICMP Tipo 3 Código 4 (Fragmentation Needed)
A fonte:
- Atualiza cache PMTU
- Reenvia pacote menor
O simulador implementa corretamente:
✔ Múltiplas sondagens
✔ Descoberta progressiva de gargalos
✔ Ajuste incremental de MTU
Fonte envia pacote grande
↓
Roteador bloqueia → ICMPv6 PTB
↓
Fonte reduz tamanho
↓
Nova sondagem
↓
Repete até atravessar todo o caminho
👉 Só após isso:
- A fonte conhece o Path MTU real
- E então pode fragmentar corretamente
Ocorre quando ICMP é bloqueado:
- Pacotes são descartados silenciosamente
- Fonte nunca descobre o problema
- TCP entra em loop de retransmissão
✔ Conexão abre
❌ Dados não fluem
- MSS Clamping
- DPLPMTUD (RFC 8899)
- PLPMTUD (RFC 4821)
- Roteadores fragmentam
- Pode haver refragmentação
- Fragmentos seguem até o destino
- Remontagem apenas no Host B
✔ Sondagens múltiplas
✔ ICMPv6 PTB
✔ Ajuste progressivo
✔ Fragmentação apenas na fonte
- Sem fragmentação na rede
- Uso de ICMP para ajuste
- Simula também black hole
- 100B até 4000B
- Inclui cabeçalho IP
| Cenário | Descrição |
|---|---|
| Básico | Ethernet → PPPoE → ADSL → Fibra |
| Túnel GRE | Overhead de encapsulamento |
| Misto | Ethernet + PPPoE + ATM |
| DF Black Hole | ICMP bloqueado |
- 5 nós:
- Host A (origem)
- 3 roteadores
- Host B (destino)
- 🟢 Verde → pacote cabe
- 🟡 Amarelo → próximo do limite
- 🔴 Vermelho → excede MTU
- 🔵 Azul → pacote normal
- 🟠 Laranja → fragmentos
- 🔴 Vermelho → ICMP
- 🟢 Verde → sucesso
Mostra:
- Cabeçalhos
- Payload
- Flags (MF)
- Offsets
- Número de fragmentos
- Overhead total
- Path MTU
- Drops / ICMPs
Fragmentos podem ser fragmentados novamente:
Pacote → Fragmento → Refragmentação
✔ múltiplas tentativas
✔ descoberta incremental
✔ atravessa todos os enlaces
❌ nunca em roteadores
- Fragmentação vs MTU mínimo
- PMTUD iterativo (IPv6)
- GRE e overhead
- Black Hole
- Refragmentação
- ❌ Roteadores remontam pacotes
- ❌ IPv6 fragmenta no caminho
- ❌ PMTUD ocorre em uma única tentativa
- RFC 791
- RFC 8200
- RFC 1191
- RFC 4821
- RFC 8899
- RFC 2923
- Ensino de redes
- Visualização didática
- Correção de conceitos
👉 PMTUD é um processo iterativo — não instantâneo