Zum Hauptinhalt springen

3. Extended Report Block Framework (Erweitertes Berichtsblock-Framework)

3. Extended Report Block Framework (Erweitertes Berichtsblock-Framework)

Erweiterte Berichtsblöcke werden nacheinander am Ende eines XR-Pakets gestapelt. Die Länge eines einzelnen Blocks ist ein Vielfaches von 4 Oktetten. Das Längenfeld des XR-Headers beschreibt die Gesamtlänge des Pakets, einschließlich dieser erweiterten Berichtsblöcke.

Jeder Block verfügt über Blocktyp- und Längenfelder, die das Parsen erleichtern. Eine empfangende Anwendung kann die Blöcke basierend auf ihrem Typ demultiplexen und die Längeninformationen verwenden, um jeden aufeinanderfolgenden Block zu lokalisieren, selbst in Gegenwart von Blocktypen, die sie nicht erkennt.

Ein erweiterter Berichtsblock hat das folgende Format:

 0                   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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BT | type-specific | block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: type-specific block contents :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

block type (BT): 8 Bits

  • Identifiziert das Blockformat. Sieben Blocktypen sind in Abschnitt 4 definiert. Zusätzliche Blocktypen können in zukünftigen Spezifikationen definiert werden. Der Namensraum dieses Feldes wird von der Internet Assigned Numbers Authority (IANA) verwaltet, wie in Abschnitt 6.2 beschrieben.

type-specific: 8 Bits

  • Die Verwendung dieser Bits wird durch die Blocktypendefinition bestimmt.

block length: 16 Bits

  • Die Länge dieses Berichtsblocks, einschließlich des Headers, in 32-Bit-Wörtern minus eins. Wenn die Blocktypendefinition es zulässt, ist Null ein akzeptabler Wert, der einen Block signalisiert, der nur aus den Feldern BT, type-specific und block length besteht, mit einem Null-type-specific block contents-Feld.

type-specific block contents: variable Länge

  • Die Verwendung dieses Feldes wird durch den jeweiligen Blocktyp definiert, vorbehaltlich der Einschränkung, dass es ein Vielfaches von 32 Bits lang sein MUSS. Wenn die Blocktypendefinition es zulässt, KANN es null Bits lang sein.