Resumo

  • O BTPU permite enviar cópias exatas de uma mensagem por PDUs diferentes quando o enlace de ida não oferece caminho para pedir retransmissão.
  • O Transfer End informa o índice do último segmento. A transferência só fica completa no receptor que possui todos os índices de 0..N, e o protocolo não devolve essa conclusão ao emissor.

Uma estação transmite um fragmento, repete o fragmento e continua sem ouvir resposta. A repetição pode ser a melhor decisão disponível, mas ainda descreve a conduta da estação, não o estado no outro extremo. Essa é a fronteira operacional do draft-ietf-dtn-btpu-04, versão de 7 de setembro de 2026 do mecanismo para transportar objetos binários grandes — em geral bundles BPv7 — por enlaces unidirecionais, enquadrados e sujeitos a perda.

O receptor recebe uma regra objetiva de remontagem. Segmentos de uma transferência compartilham um Transfer number de 32 bits e usam Segment Index crescente. A mensagem Transfer End carrega o segmento final e seu índice N. Somente quando o receptor conserva todos os segmentos de zero a N ele pode concatenar os bytes e entregar o objeto remontado à camada superior.

Essa precisão não deve ser estendida além do observador. Emitir Transfer End não prova que ele atravessou o enlace. Receber o fim não repõe um segmento anterior perdido. Remontar todos os bytes não prova que a análise BPv7, o CRC ou o processamento BPSec foram aceitos. E a aceitação do bundle ainda não equivale a encaminhamento, entrega ao endpoint ou confirmação da aplicação.

O BTPU responde à ausência de feedback com repetição configurável. Qualquer mensagem pode reaparecer em outro PDU da camada de enlace, desde que a cópia seja exata. Segmentos e transferências podem ter contagens distintas. Uma análise prévia do enlace, uma classe local de importância ou um sinal de perda obtido fora de banda podem orientar a política. A especificação não afirma que três, dez ou cem cópias sejam garantia universal.

A Transfer Window deslizante resolve outro problema: delimita os números que ainda participam da sessão, ajuda a distinguir valores novos e antigos após a volta do contador e permite descartar estado ultrapassado. Seu tamanho é combinado fora de banda. O texto recomenda 16, mas registra que o valor ainda está em discussão. Um estado descartado por ficar atrás da janela fala sobre a memória do receptor; não liquida a obrigação do emissor.

Também convém não misturar repetição do BTPU, redundância da camada de enlace e código de apagamento num único indicador de “confiabilidade”. São mecanismos diferentes, com falhas e pontos de observação diferentes. O Bundle Length Hint opcional ajuda a reservar memória, mas o comprimento esperado não é conteúdo recebido.

O limite decisivo aparece nas considerações de implantação. O BTPU é não confiável e não possui caminho de retorno dentro da banda para confirmar sucesso. Se a operação exigir recibo, ele precisa viajar por uma rota logicamente separada do receptor para o emissor. O protocolo tampouco fornece controle de congestionamento ou sinalização; por isso, não cabe num caminho público congestionável sem que a camada inferior supra esse controle.

O BPv7 tem sua própria linguagem de status para recepção, encaminhamento, entrega, exclusão e confirmação da aplicação. Esses registros podem chegar depois e por outro caminho. Eles complementam o BTPU, não reescrevem o significado da repetição. A especificação é útil justamente por não inventar visibilidade onde a topologia não oferece retorno.

Fontes