Resumo

  • RFC 2003 mantém o datagrama IPv4 original intacto sob um novo cabeçalho: os endereços externos pertencem à entrada e à saída do túnel; os internos continuam sendo os extremos originais.
  • A entrada que encaminha reduz o TTL interno antes de encapsular e escolhe outro TTL para a viagem externa; desencapsular não consome o relógio interno.
  • A herança de DF, a descoberta de MTU, a remontagem externa e a tradução ICMP criam obrigações separadas que uma observação de protocolo 4 não resolve sozinha.

O destinatário do erro não é o remetente da carta

RFC 2003 acrescenta um cabeçalho IPv4 à frente de um datagrama IPv4 completo. A origem externa é um endereço do encapsulador; o destino externo é o desencapsulador. Os endereços internos preservam o remetente e o destinatário originais. Até a saída, a rede lê o destino externo. Depois que o envelope é removido, volta a ler o interno.

O valor 4 no campo Protocol informa que a carga começa com outro cabeçalho IPv4. RFC 1853 destaca que não existe cabeçalho intermediário especial. Essa economia é sintática: protocolo 4 não autentica o remetente interno, não prova a política de admissão da saída e não confirma entrega.

ICMP precisa ser interpretado, não apenas repassado

Um erro Protocol Unreachable no trajeto externo vira rede ou host inalcançável, porque a origem interna nunca escolheu o protocolo 4. Port Unreachable não deve ser repassado: o cabeçalho externo não possui porta. Datagram Too Big deve atravessar a fronteira. Um Time Exceeded do túnel é comunicado como Host Unreachable. Parameter Problem só pode ser atribuído ao original quando aponta para um campo copiado do pacote interno.

A citação mínima de RFC 792 devolvia o cabeçalho IP e os oito primeiros octetos seguintes. Num pacote IP-dentro-de-IP, isso pode não alcançar o cabeçalho interno. O encapsulador aprende que o caminho mudou, mas pode não saber qual datagrama interno sofreu. RFC 2003 admite, por isso, erros gerados a partir de estado recente sem correspondência individual com cada falha interior.

Esse estado flexível deve cobrir pelo menos MTU, comprimento ou TTL do caminho e alcançabilidade da saída. É memória operacional, sujeita a idade e revisão. Não é um recibo forense.

DF escolhe o ponto de congestionamento operacional

Se Don't Fragment está ativo no pacote interno, deve estar ativo externamente. Se está inativo por dentro, a entrada ainda pode ativá-lo por fora para descobrir o MTU do túnel. Ela não pode desfazer a restrição do remetente, mas pode adotar uma política mais rígida para seu próprio trecho.

RFC 1191 exige que o roteador que não consegue encaminhar um pacote DF devolva Destination Unreachable, código 4, com o MTU do próximo salto. No túnel, a resposta chega ao encapsulador. O MTU útil comunicado ao remetente original desconta o cabeçalho acrescido.

Se o remetente permitiu fragmentação e foi a entrada que impôs DF externo, o padrão reconhece que talvez não exista uma mensagem sensata para o remetente sobre aquela falha. A entrada pode guardar uma cópia durante uma sonda, fragmentar e reenviar quando recebe o erro, ou não ativar DF para certos tipos de tráfego. Essa escolha pertence ao dono do túnel e precisa de registro próprio.

Quando o envelope fragmenta, a saída deve remontá-lo antes de expor o interior. Buffers e temporizadores externos terminam ali. Quando um datagrama interno elegível é fragmentado antes, cada fragmento ganha um envelope e o destino final faz a remontagem interna. Dizer apenas “houve fragmentação” omite quem assumiu o custo.

Os dois TTLs não podem ser consolidados

Se a entrada encaminha o datagrama, reduz o TTL interno antes de encapsular. Se o valor chega a zero, descarta e normalmente retorna Time Exceeded; nunca encapsula TTL zero. Se a entrada originou o datagrama, a encapsulação sozinha não representa um salto interno.

O TTL externo é escolhido independentemente para chegar à saída. A desencapsulação não reduz o TTL interno; o encaminhamento seguinte reduz. Uma captura externa só observa o orçamento da viagem entre os extremos do túnel. Para reconstruir responsabilidade, são necessários o TTL interno antes e depois da entrada, o TTL externo inicial e observado e o evento de encaminhamento depois da saída.

A norma vigente não é uma fotografia de 1996

O texto original copiava o TOS interno para fora. RFC 3168 atualizou o tratamento de ECN: o túnel de funcionalidade completa conserva sinais de congestionamento; o limitado desativa ECN externamente. Ignorar a marca externa na saída apaga informação destinada aos extremos.

RFC 6864 revisou o Identification IPv4 externo. A exigência de unicidade depende da possibilidade ou ocorrência de fragmentação, e não fornece um número de série universal. O registro no Datatracker mostra RFC 2003 como Proposed Standard e lista as duas atualizações; isso comprova histórico documental, não a conduta de uma caixa observada.

Uma cadeia de evidências com degraus

O aviso de segurança da RFC é direto: o envelope esconde das posições habituais os endereços, protocolo e portas originais. Confiar na origem externa não autentica a interna. Um filtro pode precisar examinar ambas as camadas e uma relação explícita de admissão.

RFC 791 define os campos básicos; RFC 4459 mostra que MTU e fragmentação em túneis continuaram difíceis. A especificação prova a regra, a configuração prova a intenção, a captura de entrada vincula impressões interna e externa, a remontagem prova o envelope, a captura após a saída prova outro encaminhamento e a confirmação da aplicação prova um resultado posterior.

A primazia do código em execução evita que publicação seja tratada como execução. A especificação inicial mínima mantém decisões locais abertas. As camadas da realidade separam símbolo, intenção, observação e efeito. O protocolo 4 diz qual envelope abrir; a entrega exige evidência correlacionada depois dele.

Fontes