REAL TIME STREAMING PROTOCOL Seminario di Reti e Sistemi Distribuiti A.A A cura di Nicolucci Luca
STREAMING Flusso di dati audio/video trasmessi da una sorgente a una o più destinazioni tramite una rete telematica I dati vengono riprodotti man mano che arrivano a destinazione Il vantaggio principale dello streaming multimediale è la suddivisione dell'informazione originale in pacchetti RTSP 2/29
BUFFERING Il buffering è la raccolta e la memorizzazione costante di un buon numero di pacchetti prima che la riproduzione della trasmissione via streaming venga avviata Per evitare frequenti ed inevitabili interruzioni della riproduzione i singoli pacchetti non sono riprodotti dal lettore appena giunti sul computer Per garantire una riproduzione fluida e ininterrotta, i software dedicati realizzano il buffering dei pacchetti prima di iniziare la riproduzione Se la di banda Internet a disposizione del client non dovesse temporaneamente sostenere la trasmissione dello streaming, il player potra' ricorrere alla sua scorta locale costituita dal buffering e non interrompere cosi' la riproduzione del flusso di riproduzione. RTSP 3/29
TIPI DI STREAMING Molti siti che offrono contenuti via streaming prevedono versioni differenti da trasmettere, a seconda del tipo di connessione utilizzata dai propri utenti Giunti a destinazione, i pacchetti trasmessi via streaming vengono elaborati dal software utilizzato per la riproduzione e vengono decodificati con l'ausilio di un apposito codec Due tipi di Streaming 1.Streaming on demand 2.Streaming Live RTSP 4/29
STREAMING ON DEMAND I contenuti A/V sono inizialmente compressi e memorizzati su un server come file Un utente può richiedere al server in qualunque momento di inviarglieli Non è necessario doverli scaricare per intero sul PC per poterli riprodurre: i dati ricevuti vengono decompressi e riprodotti pochi secondi dopo l'inizio della ricezione Questo ritardo serve a creare un polmone per rimediare a ritardi o microinterruzioni della rete. Di questo tipo sono i flussi streaming di Real Video e Real Audio, Windows Media Player, QuickTime Flash Video (Youtube). RTSP 5/29
STREAMING LIVE Simile alla tradizionale trasmissione radio o video in broadcast Anche in questo caso i dati sono trasmessi utilizzando opportune compressioni per alleggerire più possibile il carico sulla rete La compressione dei contenuti introduce nel flusso un ritardo di circa dieci secondi. Nel campo dello streaming live, di solito, questo ritardo non costituisce un problema. RTSP 6/29
RTSP Il protocollo RTSP è stato sviluppato da RealNetworks, Netscape Communications, e Columbia University Generalmente la trasmissione in streaming avviene utilizzando il protocollo RTSP a livello di applicazione mentre a livello di trasporto si utilizza prevalentemente il protocollo UDP. L‘ RTSP a differenza dell’ HTTP controlla il flusso dati con funzionalità concettualmente simili a quelle di un registratore L'RSTP ottimizza il flusso di dati RTSP 7/29
DISTRIBUZIONE La distribuzione dei dati di streaming può essere di 4 tipi 1. MULTICAST 2. UNICAST 3. HTTP 4. PEER 2 PEER RTSP 8/29
MULTICAST La distribuzione simultanea di informazione verso un gruppo di destinatari Un indirizzo che si riferisce a un gruppo di destinazioni è detto a sua volta indirizzo Multicast Ad ogni gruppo è associato un indirizzo multicast, cioè un indirizzo IP di classe D All’interno di tale classe esiste un certo numero di indirizzi che sono riservati dall’authority che gestisce Internet a dei gruppi permanenti: tali indirizzi sono detti “well-known” Indirizzi di classe D Il valore del primo ottetto è compreso tra 224 e 239 (I primi otto bit di questo indirizzo saranno: 1110****). Sono indirizzi di rete riservati ai gruppi multicast e non assegnabili ai singoli host. RTSP 9/29
Il modello di servizio multicast prevede che un calcolatore invii i pacchetti ad un indirizzo associato al gruppo multicast Il calcolatore sorgente invia una sola copia dell'informazione indipendentemente dal numero di destinatari Gli M-Router (Multicast Router) che moltiplicheranno l'informazione quando necessario Così se 50 computer (Gruppo) devono ricevere lo stesso file dalla stessa sorgente, quest'ultima invierà una sola copia del file man mano che si naviga nella rete saranno gli M-Router che moltiplicheranno le informazioni fino al raggiungimento dei 50 computer MULTICAST 2 RTSP 10/29
I computer che vogliono ricevere le trasmissioni del gruppo multicast si devono registrare per quel gruppo Spesso non c'è modo di controllare né chi trasmette su un gruppo multicast né quali computer possono ricevere, se non in modo piuttosto grossolano. La rete si occuperà di consegnare i pacchetti multicast a tutti quelli che si sono registrati. Il servizio di multicast è stato pensato per permettere la diffusione efficiente di programmi multimediali su una rete di calcolatori, in analogia con la radio e la televisione per funzioni di gestione della rete MULTICAST 3 RTSP 11/29
Per la natura del servizio di rete multicast, risulta molto difficile usare protocolli di trasporto orientati alla connessione come TCP si usano protocolli senza connessione come UDP Il Multicast è implementato in ethernet in modo abbastanza semplice: una classe di indirizzi ethernet è riservata all'uso come indirizzi multicast Questi pacchetti sono trattati dalla rete come se fossero broadcast, ovvero sono ritrasmessi a tutti i computer collegati. Se un processo è interessato a ricevere la trasmissione su un gruppo multicast, il sistema operativo lo comunica alla scheda di rete, che riceve il pacchetto e lo passa al sistema operativo, il quale a sua volta lo passa al processo interessato. MULTICAST 4 RTSP 12/29
In Internet, il servizio multicast è implementato solo parzialmente, e in modo molto più complesso, perché la funzionalità di routing multicast deve essere aggiunta a tutti i router. Il protocollo IGMP viene usato dai computer per richiedere di essere iscritti ad un gruppo multicast, esistono appositi algoritmi di routing per il traffico multicast, come DVMRP e Protocol Independent Multicast - PIM MULTICAST 5 IGMP Internet Group Management Protocol Fornisce ad un host i mezzi per informare il multicast router ad esso più vicino che un’applicazione vuole unirsi ad un determinato gruppo multicast Algoritmi per il multicast routing Coordinano i multicast routers all’interno della rete Internet, per permettere l’instradamento dei datagrammi multicast RTSP 13/29
PROTOCOLLO IGMP IGMP serve a garantire la trasmissione, tra hosts e multicast routers, dei messaggi relativi alla costituzione dei gruppi. A tal fine, esso utilizza i normali datagrammi IP. Il raggio di interazione di tale protocollo è locale, limitato alle reti locali di frontiera RTSP 14/29
PROTOCOLLO IGMP 2 4 tipi di messaggio tra router e e l’host RTSP 15/29
UNICAST Un pacchetto destinato ad un solo computer L'indirizzo usato per inviare un tale pacchetto è detto indirizzo UNICAST Caso più comune Concettualmente una connessione unicast corrisponde ad una connessione punto-punto In alternativa, un pacchetto destinato a tutti i calcolatori di una rete è detto Broadcast, uno destinato ad uno qualunque di un gruppo Anycast RTSP 16/29
PEER 2 PEER Sviluppato l'utilizzo delle reti peer-to-peer per la diffusione di dati in Streaming Questi dati si basano sull'utilizzo delle banda di trasmissione di cui dispongono i singoli utenti e la banda viene utilizzata per trasmettere agli altri fruitori il flusso dati Questo non richiede server dotati di elevate prestazioni, dato che il server fornisce i flussi video a un numero molto limitato di utenti, che a loro volta li ridistribuiscono ad altri utenti RTSP 17/29
Questo metodo di diffusione richiede che i singoli utenti siano dotati di connessioni ad elevata banda sia in ricezione che in trasmissione Questo limita la diffusione di questa tecnologia in Italia, dove sono molto diffuse linee asimmetriche (adsl) che forniscono una banda elevata in ricezione, ma scarsa in trasmissione Programmi che diffondono in tempo reale contenuti video sono diventati discretamente popolari nel 2006 durante i campionati mondiali di calcio svoltisi in Germania molte persone utilizzando programmi che si appoggiavano a server in paesi esteri (spesso cinesi), hanno visionato le partite con una qualità video accettabile PEER 2 PEER 2 RTSP 18/29
PEER 2 PEER 3 É da notare che sebbene in questi contesti spesso si parli di server, la tecnologia rimane comunque una tecnologia peer-to-peer Il server funge da indice sincronizza i vari utilizzatori che condividono la banda fornisce il flusso di dati iniziale che poi gli utenti condividono Quindi sebbene sia un server, dopo aver fornito il flusso dati iniziale ed aver messo in comunicazione i vari utenti, il server si disinteressa della comunicazione che diventa totalmente peer-to-peer. RTSP 19/29
PEER 2 PEER 4 Grandi società stanno sperimentando la possibilità di fornire contenuti a pagamento tramite tecnologie peer-to-peer. Questo scelta è motivata dal fatto che la tecnologia peer-to-peer non richiede server di grandi dimensioni per gestire molti utenti Vanno risolti però problemi legati alla diffusione di materiali protetti dai diritti d'autore, e vi sono quindi, oltre agli inevitabili problemi di carattere tecnico, problemi di carattere legale e di affidabilità RTSP 20/29
SOFTWARE DI STREAMING Winamp Windows Media Player QuickTime Shoutcast Icecast Amarok MPlayer Kaffeine Picostreamer RealPlayer Macromedia Flash Player StreamTuner Location Free Player VideoVista RTSP 21/29
APPLICAZIONI FUTURE Una delle più recenti applicazioni della tecnologia streaming risulta essere stata applicata nel campo della pubblicità con la creazione di videobrochure Visto l'enorme successo avuto dallo streaming, ormai sono moltissimi i server costruiti appositamente per ospitare esclusivamente file audio o video. RTSP 22/29