Aller au contenu principal

5. Protocol Integration of the Compact Time Representation (Intégration protocolaire de la représentation temporelle compacte)

5. Protocol Integration of the Compact Time Representation (Intégration protocolaire de la représentation temporelle compacte)

Une manière simple d'accommoder l'approche temporelle compacte est d'utiliser un champ de longueur de 1 octet pour indiquer cet encodage alternatif tout en conservant les entrées de registre TLV existantes. Cette approche pose des problèmes de compatibilité descendante, mais elle est néanmoins considérée pour les raisons suivantes:

  • Les deux RFC CCNx ([RFC8569] et [RFC8609]) sont expérimentaux et non sur la voie des normes; par conséquent, les attentes en matière de compatibilité avant et arrière ne sont pas aussi strictes. Les mises à niveau "jour du drapeau" des réseaux CCNx déployés, bien qu'incommodes, sont toujours réalisables.

  • Le principal cas d'utilisation de ces encodages compressés concerne les réseaux IoT et/ou de capteurs de petite échelle où la population de consommateurs, de producteurs et de redirecteurs est raisonnablement petite.

  • Étant donné que les TLV actuels ont une sémantique saut par saut, ils ne sont couverts par aucun hachage signé et peuvent donc être librement réencodés par n'importe quel redirecteur. Cela signifie qu'un redirecteur prenant en charge le nouvel encodage peut traduire librement entre les deux encodages.

  • L'alternative d'attribuer de nouvelles valeurs de registre TLV ne permet de toute façon pas d'atténuer substantiellement les problèmes d'interopérabilité.

5.1. Interest Lifetime (Durée de vie de l'intérêt)

La définition d'Interest Lifetime dans [RFC8609] permet une représentation de durée de vie de longueur variable, où une longueur de 1 encode la plage linéaire [0,255] en millisecondes. Ce document modifie la définition pour toujours encoder les valeurs d'Interest Lifetime de 1 octet dans la représentation de valeur temporelle compacte (voir figure 4). Pour toute autre longueur, les durées de vie d'intérêt sont encodées comme décrit dans la section 3.4.1 de [RFC8609].

                     1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
| T_INTLIFE | Length = 1 |
+---------------+---------------+---------------+---------------+
| COMPACT_TIME |
+---------------+

Figure 4: Modifications de la définition du TLV Interest Lifetime.

La définition de Recommended Cache Time dans [RFC8609] spécifie une représentation temporelle absolue d'une longueur fixée à 8 octets. Ce document modifie la définition pour toujours encoder les valeurs de Recommended Cache Time de 1 octet dans la représentation de valeur temporelle relative compacte (voir figure 5). Pour toute autre longueur, les temps de cache recommandés sont encodés comme décrit dans la section 3.4.2 de [RFC8609].

                     1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
| T_CACHETIME | Length = 1 |
+---------------+---------------+---------------+---------------+
| COMPACT_TIME |
+---------------+

Figure 5: Modifications de la définition du TLV Recommended Cache Time.

Le traitement des paquets est adapté pour calculer un temps absolu à partir du code temporel relatif basé sur le temps de réception absolu. Lors de la transmission, un nouveau code temporel relatif est calculé en fonction de l'heure système actuelle.