real time streaming protocol

22
REAL TIME STREAMING PROTOCOL Seminario di Reti e Sistemi Distribuiti A.A. 2007- 2008 A cura di Nicolucci Luca

Upload: torie

Post on 07-Jan-2016

47 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: REAL TIME STREAMING PROTOCOL

REAL TIME STREAMING PROTOCOL

Seminario di Reti e Sistemi Distribuiti

A.A. 2007-2008A cura di

Nicolucci Luca

Page 2: REAL TIME STREAMING PROTOCOL

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

Page 3: REAL TIME STREAMING PROTOCOL

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

Page 4: REAL TIME STREAMING PROTOCOL

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

Page 5: REAL TIME STREAMING PROTOCOL

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

Page 6: REAL TIME STREAMING PROTOCOL

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

Page 7: REAL TIME STREAMING PROTOCOL

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

Page 8: REAL TIME STREAMING PROTOCOL

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

Page 9: REAL TIME STREAMING PROTOCOL

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

Page 10: REAL TIME STREAMING PROTOCOL

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

Page 11: REAL TIME STREAMING PROTOCOL

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

Page 12: REAL TIME STREAMING PROTOCOL

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

Page 13: REAL TIME STREAMING PROTOCOL

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

Page 14: REAL TIME STREAMING PROTOCOL

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

Page 15: REAL TIME STREAMING PROTOCOL

PROTOCOLLO IGMP 24 tipi di messaggio tra router e e l’host

RTSP 15/29

Page 16: REAL TIME STREAMING PROTOCOL

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

Page 17: REAL TIME STREAMING PROTOCOL

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

Page 18: REAL TIME STREAMING PROTOCOL

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

Page 19: REAL TIME STREAMING PROTOCOL

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

Page 20: REAL TIME STREAMING PROTOCOL

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

Page 21: REAL TIME STREAMING PROTOCOL

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

Page 22: REAL TIME STREAMING PROTOCOL

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