Résumé

  • RFC 3409 recommandait de transmettre au décompresseur un paquet dont l’en-tête compressé était erroné, accompagné d’une indication explicite, même si ce paquet devait être rejeté.
  • Une détection inégale pouvait distinguer l’intégrité de l’en-tête de l’état de la charge et laisser à l’application tolérante la décision sur cette charge.

La compression d’en-têtes crée une asymétrie. Une erreur dans une charge peut condamner une seule unité média. Une erreur acceptée dans un en-tête compressé peut fausser le contexte partagé qui sert à reconstruire les paquets suivants. RFC 3409 exigeait donc que la probabilité d’erreur résiduelle dans les en-têtes remis au décompresseur soit proche de zéro.

Cette prudence n’impliquait pourtant pas de cacher toutes les erreurs. Le texte recommandait qu’un paquet doté d’un en-tête erroné soit remis au décompresseur avec un signal d’erreur. Le paquet devait rester exclu de la livraison, mais le décompresseur pouvait exploiter l’événement. « Invalide » décrivait ainsi un usage, pas l’absence de toute valeur.

Omettre le signal aurait donné à des bits corrompus l’apparence d’une mise à jour valide. Supprimer le paquet sous la couche ROHC aurait privé la machine d’état d’une observation potentiellement utile. La paire paquet plus indication conservait l’information sans lui accorder d’autorité de livraison.

La couche inférieure fournissait déjà une partie du sens reconstruit. Une longueur par paquet permettait d’inférer la longueur totale IPv4, la longueur de charge IPv6 et la longueur UDP. Le décompresseur combinait donc un en-tête compact avec des faits produits à la frontière de liaison.

La portée du contrôle d’erreur changeait ensuite le nombre de paquets récupérables. Un seul contrôle couvrant l’en-tête et la charge ne disait pas quelle zone avait été touchée. ROHC devait supposer l’en-tête endommagé et rejeter l’ensemble, même si un codec aurait peut-être toléré l’erreur dans la charge.

La détection inégale séparait ces décisions. Si elle établissait que l’en-tête était sain et que seule la charge était atteinte, la décompression pouvait rester correcte et l’application recevait le droit de juger l’utilité du média. Il ne s’agissait pas d’une garantie de qualité, mais d’une attribution plus précise de l’autorité.

La protection inégale était encore autre chose. Renforcer l’en-tête pouvait réduire sa probabilité d’erreur, mais cette dépense n’était interprétable que si la détection savait localiser la défaillance. Sans UED, une protection renforcée n’offrait pas à elle seule une classification fiable. RFC 3409 ne chiffrait d’ailleurs aucun bénéfice net universel.

Les règles sur duplication et réordonnancement confirmaient l’importance du lieu. Un doublon avant le compresseur était gérable, bien qu’inefficace ; entre compresseur et décompresseur, il était interdit. Un désordre avant compression était accepté, tandis que le chemin d’origine supposait l’ordre entre les deux contextes.

Lors d’un handover, le système pouvait transférer le contexte ou signaler l’événement afin de réinitialiser avec des en-têtes complets. Une longue perte sans transfert ni rafraîchissement était encore une absence de preuve, non une confirmation de continuité.

Les documents ROHC ultérieurs ont modifié le cadre et traité le réordonnancement. Ils ne donnent pas de résultat de déploiement à cette note Informational. L’apport durable de RFC 3409 est de conserver des qualifications partielles : rejeter la donnée, préserver l’erreur étiquetée, puis laisser chaque couche décider dans son domaine.

Sources