4.3. Packet Receipt Times Report Block (Blocco di report dei tempi di ricezione dei pacchetti)
4.3. Packet Receipt Times Report Block (Blocco di report dei tempi di ricezione dei pacchetti)
Questo tipo di blocco permette report per numero di sequenza sui tempi di ricezione dei pacchetti per il flusso di pacchetti RTP di una data sorgente. Tali informazioni possono essere utilizzate per l'inferenza MINC della topologia dell'albero multicast utilizzato per distribuire i pacchetti RTP della sorgente, e dei ritardi lungo i collegamenti all'interno di tale albero. Possono anche essere utilizzate per misurare le caratteristiche di percorso parziale e per modellare le distribuzioni per il jitter dei pacchetti.
I tempi di ricezione dei pacchetti sono espressi nelle stesse unità dei timestamp RTP dei pacchetti dati. Questo permette di stabilire sia il tempo di invio che il tempo di ricezione in termini comparabili per ogni pacchetto. Si noti tuttavia che, poiché un mittente RTP normalmente inizializza il suo tempo a un valore scelto casualmente, non ci si può aspettare che i tempi di invio e ricezione riportati differiscano di un importo pari al ritardo unidirezionale tra mittente e ricevitore. I tempi riportati possono comunque essere utili per gli scopi menzionati sopra.
Almeno un pacchetto DEVE essere stato ricevuto per ogni numero di sequenza riportato in questo blocco. Se questo tipo di blocco viene utilizzato per riportare i tempi di ricezione per una serie di numeri di sequenza che include pacchetti persi, sono necessari diversi blocchi. Se sono stati ricevuti pacchetti duplicati per un dato numero di sequenza, e questi pacchetti differiscono nei loro tempi di ricezione, NON DEVE essere riportato alcun tempo diverso dal primo. Questo è per garantire la coerenza tra i report.
I tempi riportati in formato timestamp RTP consumano più bit delle informazioni di perdita o duplicazione, e non si prestano alla codifica run length. L'uso del diradamento è incoraggiato per limitare la dimensione dei Packet Receipt Times Report Blocks.
Il Packet Receipt Times Report Block ha il seguente formato:
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 bit Un Packet Receipt Times Report Block è identificato dalla costante 3.
rsvd.: 4 bit Questo campo è riservato per definizioni future. In assenza di tale definizione, i bit in questo campo DEVONO essere impostati a zero e DEVONO essere ignorati dal ricevitore.
thinning (T): 4 bit Come definito nella Sezione 4.1.
block length: 16 bit Definito nella Sezione 3.
SSRC of source: 32 bit Come definito nella Sezione 4.1.
begin_seq: 16 bit Come definito nella Sezione 4.1.
end_seq: 16 bit Come definito nella Sezione 4.1.
Packet i receipt time: 32 bit Il tempo di ricezione del pacchetto con numero di sequenza i al ricevitore. L'aritmetica modulare mostrata nel diagramma del formato del pacchetto serve a consentire il rollover del numero di sequenza. È preferibile che il valore temporale sia stabilito all'interfaccia del livello di collegamento, o in ogni caso il più vicino possibile al tempo di arrivo sul filo. Le unità e il formato sono gli stessi del timestamp nei pacchetti dati RTP. A differenza dei timestamp dei pacchetti dati RTP, nei quali valori nominali possono essere utilizzati al posto dei valori dell'orologio di sistema per trasmettere informazioni utili per la riproduzione periodica, i tempi di ricezione dovrebbero riflettere il tempo effettivo il più fedelmente possibile. Per una sessione, se il timestamp RTP è scelto casualmente, anche il primo valore del tempo di ricezione DOVREBBE essere scelto casualmente, e i timestamp successivi sfalsati da questo valore. D'altra parte, se il timestamp RTP è destinato a riflettere il tempo di riferimento al mittente, allora il tempo di ricezione DOVREBBE essere il più vicino possibile al tempo di riferimento al ricevitore.