Resumo

  • A RFC 791 impede que roteadores fragmentem um datagrama com DF, mas permite descartá-lo.
  • A RFC 1191 acrescenta significado ao descarte com ICMP tipo 3, código 4 e Next-Hop MTU.
  • A RFC 2923 documenta o buraco negro de PMTUD quando o aviso não chega.

Quando a recusa virou evidência

No campo Flags do IPv4, DF significa Don't Fragment. Com DF zero, a fragmentação é permitida; com DF um, o roteador não pode dividir o datagrama. Se o próximo enlace for menor, o pacote pode ser descartado. O bit não garante entrega e não descobre sozinho uma MTU adequada.

A RFC 1191 usa essa falha como sondagem. A origem começa com uma estimativa, envia datagramas com DF e aguarda o resultado. Se um roteador intermediário não puder encaminhar um datagrama intacto, ele o descarta e devolve ICMP Destination Unreachable, tipo 3, código 4: fragmentação necessária e DF ativado.

O campo Next-Hop MTU transforma a mensagem em um limite numérico. Seus 16 bits inferiores informam o maior datagrama IP que o roteador teria encaminhado sem fragmentar, contando cabeçalho e dados IP, mas não a sobrecarga da camada inferior. A origem reduz sua estimativa e ajusta o tamanho dos próximos envios.

A convergência é responsabilidade do host. Ele deve reduzir os datagramas ou deixar de usar DF para evitar novos erros imediatos. Tentativas de aumentar a estimativa precisam ser espaçadas: pelo menos cinco minutos depois de uma mensagem de tamanho excessivo e um minuto depois de uma tentativa de aumento bem-sucedida; a RFC 1191 recomenda o dobro.

Roteadores antigos podem devolver zero em Next-Hop MTU. O host precisa aceitar esse caso e procurar entre valores conhecidos ou usar outra estratégia limitada. A informação é menos precisa, mas a compatibilidade permanece.

O buraco negro

A RFC 2923 descreve o problema quando um roteador não envia ICMP ou um filtro o bloqueia. A origem continua emitindo datagramas DF grandes, sem aprender por que eles desaparecem. Pings, estabelecimento TCP e pequenas escritas podem funcionar; uma transferência grande para e expira.

Detecção e fallback podem reduzir o tamanho, mas acrescentam atraso e escondem a falha do caminho. A correção preferível é restaurar o retorno ICMP. PMTUD depende da cooperação entre a origem, o roteador limitante, o caminho de retorno e a camada de envio que adapta o tamanho.

Fontes