Résumé

  • BTPU compense l’absence de demande de retransmission sur une liaison unidirectionnelle en autorisant la répétition exacte des messages.
  • Le message Transfer End fixe le dernier indice attendu ; seul le récepteur qui possède tous les segments de 0 à N peut constater localement l’achèvement.

Un émetteur peut projeter plusieurs fois le même fragment vers un récepteur qui ne dispose d’aucun canal de réponse. C’est une amélioration statistique, pas un dialogue. Le projet draft-ietf-dtn-btpu-04, daté du 7 septembre, encadre ce transport de grands objets binaires, généralement des bundles BPv7, sur une couche de liaison à trames, peu fiable et à sens unique.

Chaque transfert utilise un numéro de 32 bits. Les segments portent des indices croissants et Transfer End apporte le dernier segment avec l’indice final N. Au récepteur, le transfert devient complet lorsque tous les indices 0..N ont été reçus puis concaténés. Le bundle recomposé est ensuite remis à la couche supérieure.

Cette définition locale ne remonte pas à l’émetteur. L’envoi de Transfer End n’atteste pas sa réception. Sa réception ne remplace pas les segments antérieurs manquants. La reconstitution ne garantit ni l’analyse BPv7, ni le contrôle CRC ou BPSec, ni l’acceptation locale. Enfin, acceptation, transfert ultérieur, livraison au point terminal et acquittement applicatif ne sont pas synonymes.

La répétition respecte cette frontière. Toute copie doit être strictement identique au message déjà émis, mais le nombre de copies peut varier selon le segment ou le transfert. Une analyse hors ligne, une classe locale de fiabilité ou un signal fourni hors bande peut guider la politique. Le projet ne promet aucun taux universel de réussite pour un nombre donné de copies.

La fenêtre glissante borne les numéros de transfert encore actifs et aide à distinguer nouveauté, ancienneté et retour à zéro. Sa taille est configurée hors bande ; la recommandation provisoire de 16 reste signalée comme objet de discussion. Sortir de la fenêtre décrit la gestion de mémoire du récepteur, non l’exécution d’un engagement commercial.

Le projet sépare aussi la répétition BTPU de la redondance ou du codage d’effacement de la couche inférieure. Le Bundle Length Hint permet de réserver de la mémoire, mais une longueur annoncée ne constitue pas des octets reçus. Quant à la sécurité, elle dépend d’autres couches : BPSec peut protéger un bundle sans inventer un accusé de livraison.

La limite est explicite : BTPU reste non fiable et ne possède aucun chemin retour intégré pour confirmer le succès. Un accusé doit emprunter une voie logiquement séparée. Le protocole n’offre pas non plus de contrôle de congestion ; il ne convient pas à un environnement contesté si la couche de liaison ne fournit pas cette protection.

Sources