REAL TIME STREAMING PROTOCOL
Seminario di Reti e Sistemi Distribuiti
A.A. 2007-2008
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
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
Il buffering è la raccolta e la memorizzazione costante di un buon
numero di pacchetti prima che la riproduzione della trasmissione via
streaming venga avviata
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
L'RSTP ottimizza il flusso di dati
L‘ RTSP a differenza dell’ HTTP
controlla il flusso dati con funzionalità concettualmente simili a
quelle di un registratore
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.
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
MULTICAST 2
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
RTSP 10/29
MULTICAST 3
I computer che vogliono ricevere le trasmissioni del gruppo multicast si devono
registrare per quel gruppo
La rete si occuperà di consegnare i pacchetti multicast a tutti quelli che
si sono registrati.
Spesso non c'è modo di controllare né chi trasmette su un
gruppo multicast né quali computer possono ricevere, se non in
modo piuttosto grossolano.
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
RTSP 11/29
MULTICAST 4
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.
RTSP 12/29
MULTICAST 5
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
IGMP
Internet Group Management Protocol
Algoritmi per il
multicast
routing
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
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
PEER 2 PEER 2
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
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
Kaffeine
Windows Media Player
Picostreamer
QuickTime
RealPlayer
Shoutcast
Macromedia Flash Player
Icecast
StreamTuner
Amarok
Location Free Player
MPlayer
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
Scarica

Rtsp