5. Protocol Integration of the Compact Time Representation (Integrazione protocollo della rappresentazione temporale compatta)
5. Protocol Integration of the Compact Time Representation (Integrazione protocollo della rappresentazione temporale compatta)
Un modo semplice per accogliere l'approccio temporale compatto è utilizzare un campo di lunghezza di 1 byte per indicare questa codifica alternativa mantenendo le voci di registro TLV esistenti. Questo approccio presenta problemi di compatibilità all'indietro, ma è ancora considerato per i seguenti motivi:
-
Entrambe le RFC CCNx ([RFC8569] e [RFC8609]) sono sperimentali e non su Standards Track; quindi, le aspettative per la compatibilità in avanti e all'indietro non sono così rigorose. Gli aggiornamenti "flag day" delle reti CCNx implementate, sebbene scomodi, sono ancora fattibili.
-
Il caso d'uso principale per queste codifiche compresse sono le reti IoT e/o di sensori di scala ridotta dove la popolazione di consumatori, produttori e forwarder è ragionevolmente piccola.
-
Poiché gli attuali TLV hanno semantica hop-by-hop, non sono coperti da alcun hash firmato e quindi possono essere liberamente ricodificati da qualsiasi forwarder. Ciò significa che un forwarder che supporta la nuova codifica può tradurre liberamente tra le due codifiche.
-
L'alternativa di assegnare nuovi valori di registro TLV non mitiga comunque sostanzialmente i problemi di interoperabilità.
5.1. Interest Lifetime (Durata dell'interesse)
La definizione di Interest Lifetime in [RFC8609] consente una rappresentazione di durata a lunghezza variabile, dove una lunghezza di 1 codifica l'intervallo lineare [0,255] in millisecondi. Questo documento modifica la definizione per codificare sempre i valori di Interest Lifetime di 1 byte nella rappresentazione del valore temporale compatto (vedere figura 4). Per qualsiasi altra lunghezza, le durate dell'interesse sono codificate come descritto nella sezione 3.4.1 di [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 |
+---------------+
Figura 4: Modifiche alla definizione del TLV Interest Lifetime.
5.2. Recommended Cache Time (Tempo di cache raccomandato)
La definizione di Recommended Cache Time in [RFC8609] specifica una rappresentazione temporale assoluta di lunghezza fissa di 8 byte. Questo documento modifica la definizione per codificare sempre i valori di Recommended Cache Time di 1 byte nella rappresentazione del valore temporale relativo compatto (vedere figura 5). Per qualsiasi altra lunghezza, i tempi di cache raccomandati sono codificati come descritto nella sezione 3.4.2 di [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 |
+---------------+
Figura 5: Modifiche alla definizione del TLV Recommended Cache Time.
L'elaborazione dei pacchetti viene adattata per calcolare un tempo assoluto dal codice temporale relativo basato sul tempo di ricezione assoluto. Durante la trasmissione, viene calcolato un nuovo codice temporale relativo basato sull'ora di sistema corrente.