4.3. Packet Receipt Times Report Block (Paketempfangszeiten-Berichtsblock)
4.3. Packet Receipt Times Report Block (Paketempfangszeiten-Berichtsblock)
Dieser Blocktyp ermöglicht Berichte pro Sequenznummer über Paketempfangszeiten für den RTP-Paketstrom einer gegebenen Quelle. Solche Informationen können für die MINC-Inferenz der Topologie des Multicast-Baums verwendet werden, der zur Verteilung der RTP-Pakete der Quelle verwendet wird, und der Verzögerungen entlang der Links innerhalb dieses Baums. Sie können auch verwendet werden, um partielle Pfadcharakteristiken zu messen und Verteilungen für Paket-Jitter zu modellieren.
Paketempfangszeiten werden in denselben Einheiten wie in den RTP-Zeitstempeln von Datenpaketen ausgedrückt. Dies ermöglicht es, sowohl die Sendezeit als auch die Empfangszeit für jedes Paket in vergleichbaren Begriffen zu etablieren. Beachten Sie jedoch, dass, da ein RTP-Sender seine Zeit normalerweise auf einen zufällig gewählten Wert initialisiert, nicht erwartet werden kann, dass die gemeldeten Sende- und Empfangszeiten um einen Betrag differieren, der der Einweg-Verzögerung zwischen Sender und Empfänger entspricht. Die gemeldeten Zeiten können dennoch für die oben genannten Zwecke nützlich sein.
Für jede in diesem Block gemeldete Sequenznummer MUSS mindestens ein Paket empfangen worden sein. Wenn dieser Blocktyp verwendet wird, um Empfangszeiten für eine Reihe von Sequenznummern zu melden, die verlorene Pakete enthält, sind mehrere Blöcke erforderlich. Wenn für eine gegebene Sequenznummer Duplikatpakete empfangen wurden und diese Pakete in ihren Empfangszeiten unterschiedlich sind, DARF keine andere Zeit als die früheste gemeldet werden. Dies soll die Konsistenz zwischen Berichten sicherstellen.
Im RTP-Zeitstempelformat gemeldete Zeiten verbrauchen mehr Bits als Verlust- oder Duplikatinformationen und eignen sich nicht für Run-Length-Encoding. Die Verwendung von Ausdünnung wird empfohlen, um die Größe von Packet Receipt Times Report Blocks zu begrenzen.
Der Packet Receipt Times Report Block 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=3 | rsvd. | T | block length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of source |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| begin_seq | end_seq |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receipt time of packet begin_seq |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receipt time of packet (begin_seq + 1) mod 65536 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receipt time of packet (end_seq - 1) mod 65536 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
block type (BT): 8 Bits Ein Packet Receipt Times Report Block wird durch die Konstante 3 identifiziert.
rsvd.: 4 Bits Dieses Feld ist für zukünftige Definitionen reserviert. In Abwesenheit einer solchen Definition MÜSSEN die Bits in diesem Feld auf Null gesetzt werden und MÜSSEN vom Empfänger ignoriert werden.
thinning (T): 4 Bits Wie in Abschnitt 4.1 definiert.
block length: 16 Bits Definiert in Abschnitt 3.
SSRC of source: 32 Bits Wie in Abschnitt 4.1 definiert.
begin_seq: 16 Bits Wie in Abschnitt 4.1 definiert.
end_seq: 16 Bits Wie in Abschnitt 4.1 definiert.
Packet i receipt time: 32 Bits Die Empfangszeit des Pakets mit Sequenznummer i beim Empfänger. Die im Paketformatdiagramm gezeigte modulare Arithmetik dient dazu, Sequenznummern-Rollover zu ermöglichen. Es ist vorzuziehen, dass der Zeitwert an der Link-Layer-Schnittstelle festgelegt wird, oder in jedem Fall so nah wie möglich an der Drahtankunftszeit. Einheiten und Format sind dieselben wie für den Zeitstempel in RTP-Datenpaketen. Im Gegensatz zu RTP-Datenpaketzeitstempeln, bei denen Nominalwerte anstelle von Systemuhrwerten verwendet werden können, um Informationen zu übermitteln, die für periodisches Playout nützlich sind, sollten die Empfangszeiten die tatsächliche Zeit so genau wie möglich widerspiegeln. Für eine Sitzung sollte, wenn der RTP-Zeitstempel zufällig gewählt wird, auch der erste Empfangszeitwert zufällig gewählt werden, und nachfolgende Zeitstempel sollten von diesem Wert versetzt sein. Andererseits sollte, wenn der RTP-Zeitstempel die Referenzzeit beim Sender widerspiegeln soll, die Empfangszeit so nah wie möglich an der Referenzzeit beim Empfänger liegen.