real time streaming protocol
DESCRIPTION
REAL TIME STREAMING PROTOCOL. Seminario di Reti e Sistemi Distribuiti. A cura di Nicolucci Luca. A.A. 2007-2008. STREAMING. Flusso di dati audio/video trasmessi da una sorgente a una o più destinazioni tramite una rete telematica - PowerPoint PPT PresentationTRANSCRIPT
REAL TIME STREAMING PROTOCOL
Seminario di Reti e Sistemi Distribuiti
A.A. 2007-2008A 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
IGMPInternet Group Management Protocol
Fornisce ad un host i mezzi per informare il multicast router ad esso più vicino che
un’applicazione vuole unirsiad un determinato gruppo multicast
Algoritmi per il multicastrouting
Coordinano i multicast routers all’interno della rete Internet, per permettere
l’instradamento deidatagrammi 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 24 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