Zum Hauptinhalt springen

5. Protocol Integration of the Compact Time Representation (Protokollintegration der kompakten Zeitdarstellung)

5. Protocol Integration of the Compact Time Representation (Protokollintegration der kompakten Zeitdarstellung)

Ein einfacher Weg, den kompakten Zeitansatz zu berücksichtigen, besteht darin, ein 1-Byte-Längenfeld zu verwenden, um diese alternative Kodierung anzuzeigen, während die bestehenden TLV-Registereinträge beibehalten werden. Dieser Ansatz hat Rückwärtskompatibilitätsprobleme, wird aber aus folgenden Gründen dennoch in Betracht gezogen:

  • Beide CCNx RFCs ([RFC8569] und [RFC8609]) sind experimentell und nicht auf dem Standards Track; daher sind die Erwartungen an Vorwärts- und Rückwärtskompatibilität nicht so streng. "Flag Day"-Upgrades bereitgestellter CCNx-Netzwerke sind zwar unbequem, aber immer noch durchführbar.

  • Der Hauptanwendungsfall für diese komprimierten Kodierungen sind kleinere IoT- und/oder Sensornetzwerke, bei denen die Anzahl der Verbraucher, Produzenten und Weiterleitungen vernünftig klein ist.

  • Da die aktuellen TLVs Hop-by-Hop-Semantik haben, sind sie von keinem signierten Hash abgedeckt und können daher von jeder Weiterleitung frei neu kodiert werden. Das bedeutet, dass eine Weiterleitung, die die neue Kodierung unterstützt, frei zwischen den beiden Kodierungen übersetzen kann.

  • Die Alternative, neue TLV-Registerwerte zuzuweisen, mildert die Interoperabilitätsprobleme ohnehin nicht wesentlich.

5.1. Interest Lifetime (Interest-Lebensdauer)

Die Interest Lifetime-Definition in [RFC8609] erlaubt eine Lebensdauerdarstellung variabler Länge, wobei eine Länge von 1 den linearen Bereich [0,255] in Millisekunden kodiert. Dieses Dokument ändert die Definition, um 1-Byte Interest Lifetime-Werte immer in der kompakten Zeitwertdarstellung zu kodieren (siehe Abbildung 4). Für jede andere Länge werden Interest Lifetimes wie in Abschnitt 3.4.1 von [RFC8609] beschrieben kodiert.

                     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 |
+---------------+

Abbildung 4: Änderungen an der Definition des Interest Lifetime TLV.

Die Recommended Cache Time-Definition in [RFC8609] spezifiziert eine absolute Zeitdarstellung mit einer auf 8 Bytes festgelegten Länge. Dieses Dokument ändert die Definition, um 1-Byte Recommended Cache Time-Werte immer in der kompakten relativen Zeitwertdarstellung zu kodieren (siehe Abbildung 5). Für jede andere Länge werden Recommended Cache Times wie in Abschnitt 3.4.2 von [RFC8609] beschrieben kodiert.

                     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 |
+---------------+

Abbildung 5: Änderungen an der Definition des Recommended Cache Time TLV.

Die Paketverarbeitung wird angepasst, um eine absolute Zeit aus dem relativen Zeitcode basierend auf der absoluten Empfangszeit zu berechnen. Bei der Übertragung wird ein neuer relativer Zeitcode basierend auf der aktuellen Systemzeit berechnet.