Documento scritto da Nico VanHaute, Julien Barascud e Jean-Roland Conca
hardware informatico audio/video a buon mercato, nonché la disponibilità di connessioni con banda ad alte prestazioni, hanno aumentato l'interesse per l'uso della rete internet per l'invio di audio e video, tipi di dati che tradizionalmente erano riservati alle reti specializzate a questo scopo, senza contare che da qualche anno l'audio e la videoconferenza sono diventate delle pratiche abituali. Ma la natura stessa di internet fa che questa rete non sia adatta alla trasmissione di dati in tempo reale, il che ha come conseguenza che la qualità dell'audio inviata con internet ha una qualità mediamente mediocre. Questa tesi si indirizza precisamente all'analisi e alla soluzione di questi problemi per permettere ad un'applicazione di audio conferenza o telefono su internet, di adattare il proprio comportamento per mantenere una qualità uditiva accettabile anche nel caso in cui la rete sia congestionata. Queste soluzioni, sotto forma di meccanismi di controllo, sono state implementate e testate su software di audio conferenza e telefono su Internet Free Phone che noi abbiamo sviluppato. Uno studio del comportamento che avrebbero questi meccanismi in un internet che evolveva per integrare la disciplina di servizio Fair Queueing ha mostrato che questi meccanismi, che sarebbero ancora necessari, avrebbero una migliore performance in questo tipo di rete.
Lo scopo di RTP è di fornire un mezzo uniforme per trasmettere su IP dei dati sottoposti a dei limiti di tempo reale (audio, video, …). Il ruolo principale di RTP consiste nel realizzare dei numeri di sequenze di pacchetti IP per ricostituire le informazioni di voce o video anche se la rete cambia l'ordine dei pacchetti.
Più in generale, RTP permette :
Il protocollo RTCP è basato su trasmissioni periodiche di pacchetti di controllo per tutti i partecipanti alla sessione.
E' un protocollo di controllo di flussi RTP, che permette di veicolare delle informazioni di base sui partecipanti ad una sessione, e rispetto alla qualità del servizio
RTP permette una gestione dei flussi multimediali (voce, video) su IP. RTP funziona su UDP. L'intestazione RTP comporta delle informazioni di sincronizzazione, di numerazione. La codifica dei dati dipenderà dal tipo di compressione. L'RFC xxxx specifica RTP, invece l'adattamento di un metodo di compressione a RTP sarà descritto in un RFC specifica, ad esempio H261 su RTP è descritto nell'RFC xxxx. Un canale RTP è usato per tipo di flusso: uno per l'audio, uno per i video. Il campo xxx è usato per la sincronizzazione. RTP offre un servizio point to point. Esso aggiunge un'intestazione che fornisce le informazioni di timing necessarie alla sincronizzazione dei flussi in tempo reale del tipo suono e video. RTP (Realtime Transport Protocol) e il suo compagno RTCP (Realtime Transport Control Protocol) permettono rispettivamente di trasportare e di controllare dei flot di dati che hanno delle proprietà in tempo reale. RTP e RTCP sono dei protocolli che si situano al livello dell'applicazione e usano i suddetti protocolli di trasporto TCP o UDP. Ma l'utilizzo di RTP/RTCP si fa ugualmente su UDP. RTP e RTCP possono usare sia la modalità Unicast (point to point) che quella Multicast (multipoint). Ognuno di essi usa una porta separata da una coppia di porte. RTP usa le porte pari e RTCP quelle dispari immediatamente superiori.
L'intestazione RTP avrà le seguenti informazioni :
<--------------------------- 32 bits --------------------------->
| V=2 | P | X | CC | M | Sequence number | |
| Timestamp | ||||||
| Identificativo della sorgente di sincronizzazione (SSRC) | ||||||
| Identificativi della sorgente di contribuzione (CSRS) | ||||||
Ecco il significato dei differenti campi dell'intestazione :
L'obiettivo dell'RTCP è di fornire diversi tipi di informazioni e un ritorno sulla qualità di ricezione.
L'intestazione RTCP avrà le seguenti informazioni :
RTCP è un protocollo di controllo associato a RTP, esso misura le performance ma non offre nessuna garanzia. Per questo è necessario usare un protocollo di riserva di tipo RSVP oppure assicurarsi che i collegamenti di comunicazioni usati siano correttamente dimensionati rispetto all'uso che ne viene fatto.
RTP/RTCP è sotto il trasporto UDP/TCP ma praticamente sotto a UDP.
RTP è un protocollo di sessione, ma posto nell'applicazione. Sta allo sviluppatore di integrarlo.
RTP non ha niente a che vedere con il tipo di flusso, dato che è sotto UDP che è anch'esso sotto IP. Il tipo di flusso è teoricamente usati in IP.
RTP apporta un numeri di sequenza, un timestamp e un identificatore unico della sorgente (SSRC).
Articolo scritto da Nico VanHaute, Julien Barascud e Jean-Roland Conca.