Unibo Streaming Project

Slides:



Advertisements
Presentazioni simili
Prof. Carla Fanchin – L.S. Tron
Advertisements

Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
RTP MIDI – parte 2 Lezione 16
Network Musical Performance: RTP MIDI
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Messaggi di errore e di controllo Alberto Polzonetti
Introduzione alle Reti di Prossima Generazione
Web Services.
I protocolli TCP/UDP prof.: Alfio Lombardo.
DNS: Il Servizio Directory di Internet
Web e HTTP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
4-1 Il Livello di Rete Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
I modelli di riferimento OSI e TCP/IP
5-1 ATM Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
La rete in dettaglio: rete esterna (edge): applicazioni e host
3-1 User Datagram Protocol: UDP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
2-1 Trasferimento di file: ftp Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
La rete del futuro nellautonomia scolastica Sezione propedeutica I fondamentali e concetti di TCP/IP.
Luca Iannelli, Video on Demand tramite rete Approfondimento di Reti di calcolatori A.A. 2005/2006.
Reti di Calcolatori Domande di riepilogo Quarta Esercitazione
Secure Shell Giulia Carboni
Multicast Routing Autrice: Delfino Manila CORSO DI LAUREA SPECIALISTICA IN ECONOMIA INFORMATICA SEMINARIO DI RETI DI CALCOLATORI Prof. Bistarelli Stefano.
Architettura del World Wide Web
I protocolli TCP/UDP prof.: Alfio Lombardo.
Internet Control Message Protocol rfc. Error Reporting Testing di affidabilità Controllo di congestione Notifica di route-change Misurazione di performance.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
RETI E INTERNET.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO RETE.
10 Maggio 2008 I.T.C. A.Gentili - Macerata VOIP GENERATION David Domenico Rossi Responsabile Ricerca e Sviluppo.
Componenti e tecnologie multimediali
I protocolli di trasporto per multimedia RTP e RTCP
ICMP - PING - TRACEROUTE
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
Streaming Media Ing. Maurizio Vitale 24/09/2003 © 2003.
Corso di Informatica per Giurisprudenza Lezione 7
Università degli Studi di Salerno Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Media Delivery Platform Daniele Cafaro Gianfranco.
> Remote Authentication Dial In User Service
Università degli Studi di Salerno Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Media Delivery Platform Daniele Cafaro Gianfranco.
Realizzato da Roberto Savino 3-1 Il livello di trasporto r Dobbiamo assumere di avere a che fare con un canale di comunicazione molto particolare 1. Inaffidabile.
I protocolli TCP/UDP prof.: Alfio Lombardo.
RETI MOBILI E MULTIMEDIALI
AICA Corso IT Administrator: modulo 4 AICA © EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Risoluzione dei Problemi e Analisi del Traffico.
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
WEB: Progetto: Documentazione: Soluzioni per video streaming.
Di Marco Calisti, Antonio Cuomo, Rocco Mazzeo e Francesco Pacilio.
Laureando: Giuseppe BRUSCELLA
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Informatica Lezione 9 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Informatica Lezione 9 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Corso di Laurea in Conservazione e Restauro dei Beni Culturali
Reti di Calcolatori ed Internet Fabio Massimo Zanzotto.
Internet.
L’architettura a strati
Distributed System ( )7 TCP/IP four-layer model.
MUSE Progetto di un servizio di audio streaming in reti wireless Progetto realizzato da: Leardini Francesco Mercati Alberto Morsiani Marco Bologna
Il termine streaming identifica un flusso di dati audio/video trasmessi da una sorgente a una o più destinazioni tramite una rete telematica. Questi dati.
UNIVERSITA’ DEGLI STUDI DI ROMA “TOR VERGATA”
SIP Session Initiation Protocol
REAL TIME STREAMING PROTOCOL Seminario di Reti e Sistemi Distribuiti A.A A cura di Nicolucci Luca.
Servizi Internet Claudia Raibulet
Servizi continui su rete IEEE – Music Everywhere Presentazione di Alberto Mercati Reti di Calcolatori LS.
Muse2: MUSic Everywhere with WI-FI Progetto realizzato da: Bambini Stefano Bergamini Andrea Pierangeli Diego Bologna C.d.L.S. Ingegneria Informatica.
Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.
1 “Trasporto traffico multimediale in Internet: il protocollo RTP” A cura di: Prof. Polidoro Maurizia Stefano Bistarelli Università degli Studi G. D’Annunzio.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 2 – UDP.
I NTERNET Rete interconnessa che permette il collegamento tra due host eterogenei, appartenenti a reti differenti separati anche da grande distanze. Internet.
INTERNET E INTRANET Classe VA SIA. La Storia di INTERNET ’ – ARPANET 1969 – anno di nascita università Michigan - Wayne 1970 – – INTERNET.
Prof. G.Mastronardi1 IL PROBLEMA DEL “DENIAL of SERVICE” Politecnico di Bari – Sicurezza dei Sistemi Informatici -
INTERNET MAP SCENARIO Primi anni ’90: Rapida crescita della rete Internet. Nuove applicazioni multimediali. Esigenza di applicazioni security – sensitive.
Realizzato da: Giacomo Dionigi
Transcript della presentazione:

Unibo Streaming Project Un applicazione Client/Server per la gestione di streaming audio/video multicast e on-demand Progetto per il corso di Reti di Calcolatori L-S realizzato da Loris Cancellieri matr. 0000171431

Agenda In questa presentazione parleremo di: Streaming RTSP RTP / RTCP Unibo Streaming System Applicazione Protocolli Politiche di Load Balancing e Disaster Recovery Demo dell’applicazione

Introduzione allo streaming Cos’è lo streaming? metodo di trasferimento dei file che permette di riprodurre il file mentre lo si sta scaricando Vantaggi?: fruizione istantanea dei contenuti risparmio spazio su disco Applicazioni?: Audio e Video On-Demand VideoConferenze Web TV Internet Radio

Distribuzione dei contenuti Nell’Unibo Streaming Server si usa sia la distribuzione multicast dei contenuti che quella unicast. MULTICAST Server Server 99 copie Switch 1 copia Switch UNICAST Router Router 1 copia 33 copie Router Router Router Router Router Router Switch Switch Switch Switch Switch Switch 33 clients 33 clients 33 clients 33 clients 33 clients 33 clients

Protocolli per lo streaming RTSP Controllo Stream Informazione RTP SDP v=0 o=StreamingServer s=TrasmissioneFile i=Descrizione della sezione u=http://casafrassinago3.homeip.net e=loris.cancellieri@studio.unibo.it p=+39-000-0000000 c=IN IP4 192.168.0.3 b=AS:2048 t=0 0 a=charset:ISO-8859-1 m=audio 2000 RTP/AVP 14 a=rtpmap:14 MPA/44100 a=control:rtsp://192.168.0.3/audio a=mimetype: audio/MPA a=range:npt=0-264 SERVER Audio CLIENT Video Si parla dei protocolli di streaming e durante la trattazione sottolineare come per la trasmissione dell’informazione il server e il client usano il protocollo SDP (Session Description Protocol) per la descrizione del file multimediale e della sessione. RTCP Monitoraggio Monitoraggio

Protocolli di Streaming RTCP Application UDP perchè: Minore Overhead Reazione più veloce alle congestioni della rete Traffico nella rete più gestibile Traffico realtime senza ritrasmissione Transport Network La slide mostra la collocazione dei vari protocolli di streaming all’interno della classificazione OSI Controllo Dati

Real Time Streaming Protocol Simile ad HTTP: Protocollo testuale Messaggi con struttura predeterminata Differisce da HTTP perchè Contiene informazioni di stato (CSeq) Bidirezionale (Cioè sia il client che il server possono lanciare una richiesta RTSP) Comandi Obbligatori Describe Setup Play Options Teardown Per analizzarne il funzionamento faccio riferimento al modo in cui esso lavora all’interno della mia applicazione Comandi Facoltativi: Pause (auspicabile) Record Announce Set Parameter Get Parameter (dal server) Redirect (dal server)

Real Time Streaming Protocol DESCRIBE rtsp://192.168.0.3/L4.mp2 RTSP/1.0 CSeq: 631 Accept: application/sdp User-Agent: JMF RTSP Player Version 2.1.1e RTSP/1.0 200 OK CSeq: 631 Content-type: application/sdp Content-Length: 394 Real Time Streaming Protocol Describe + OK_Describe + SDP_Length SDP Info SERVER MAIN Client v=0 o=StreamingServer (creator) s=TrasmissioneFile (name) i=Sessione di trasmissione del file richiesto u=http://casafrassinago3.homeip.net e=loris.cancellieri@studio.unibo.it (Loris Cancellieri) p=+39-000-0000000 c=IN IP4 192.168.0.3 b=AS:2048 t=0 0 a=charset:ISO-8859-1 m=audio 2000 RTP/AVP 14 a=rtpmap:14 MPA/44100 a=control:rtsp://192.168.0.3/audio a=mimetype: audio/MPA a=range:npt=0-264 Messaggi C -> S Messaggi S -> C Info Addizionali Messaggi RTSP

Real Time Streaming Protocol SETUP rtsp://192.168.0.3/audio RTSP/1.0 CSeq: 632 Transport: RTP/AVP;unicast;client_port=40052-40053 User-Agent: JMF RTSP Player Version 2.1.1e RTSP/1.0 200 OK CSeq: 632 Session: 151251593 Transport: RTP/AVP; unicast; client_port=40052-40053; server_port=2000-2001; Bandwidth:128000 Real Time Streaming Protocol Describe + OK_Describe + SDP_Length SDP Info Setup + client_ports SERVER MAIN Client OK_Setup + Server_ports + Session_ID Messaggi C -> S Messaggi S -> C Info Addizionali Messaggi RTSP

Real Time Streaming Protocol PLAY rtsp://192.168.0.3/L4.mp2 RTSP/1.0 CSeq: 633 Range: npt=0.0- Session: 151251593 User-Agent: JMF RTSP Player Version 2.1.1e RTSP/1.0 200 OK CSeq: 633 Session: 151251593 Real Time Streaming Protocol Describe + OK_Describe + SDP_Length SDP Info Setup + client_ports SERVER MAIN Client OK_Setup + Server_ports + Session_ID Play + Session_ID + Range OK to Play + SessionID Dati RTP RTCP Messaggi C -> S Messaggi S -> C Info Addizionali Messaggi RTSP

Real Time Streaming Protocol PAUSE rtsp://192.168.0.3/L4.mp2 RTSP/1.0 CSeq: 634 Session: 151251593 User-Agent: JMF RTSP Player Version 2.1.1e RTSP/1.0 200 OK CSeq: 634 Session: 151251593 Real Time Streaming Protocol Describe + OK_Describe + SDP_Length SDP Info Setup + client_ports SERVER MAIN Client OK_Setup + Server_ports + Session_ID Play + Session_ID + Range OK to Play + SessionID Dati RTP RTCP Pause + Session_ID Messaggi C -> S OK_Pause + Session_ID Messaggi S -> C Info Addizionali Messaggi RTSP

Real Time Streaming Protocol TEARDOWN rtsp://192.168.0.3/L4.mp2 RTSP/1.0 CSeq: 638 Session: 151251593 User-Agent: JMF RTSP Player Version 2.1.1e RTSP/1.0 200 OK CSeq: 638 Session: 151251593 Real Time Streaming Protocol Describe + OK_Describe + SDP_Length SDP Info Setup + client_ports SERVER MAIN Client OK_Setup + Server_ports + Session_ID Play + Session_ID + Range OK to Play + SessionID Dati RTP RTCP TearDown + Session_ID Messaggi C -> S OK_TearDown + Session_ID Messaggi S -> C Info Addizionali Messaggi RTSP

Real Time Streaming Protocol (descrizione come Automa a Stati Finiti)

Session Description Protocol v= (versione del protocollo) o= (creatore del file e identificatore di sessione) s= (nome della sessione) i=* (informazioni sulla sessione) u=* (descrizione del URI ) e=* (indirizzo e-mail) p=* (numero di telefono) c=* (informazioni sulla connessione) b=* (informazioni sulla banda) Protocollo usato per la descrizione di una sessione multimediale a scopo di annuncio (SAP), invito (SIP) o per altre forme di inizio sessione (RTSP) Non incorpora un protocollo di trasporto Non supporta la negoziazione dei contenuti e/o della codifica dei media La descrizione SDP consiste di linee di testo <tipo> = valore In una descrizione in formato SDP si possono individuare tre parti principali: Descrizione della sessione (una e una sola) Informazioni temporali (una o più) Descrizione del media file (una o più) m= (formato multimediale e indirizzo di trasporto) i=* (titolo del media) c=* (informazioni di connessione, opzionali se incluse a livello di sessione) b=* (informazioni sulla banda) k=* (chiave di codifica) a=* (zero o più linee di attributi) t= (tempo in cui la sessione è attiva) r=* (ripetizioni temporali: settimanali, ecc.) z=* (cambio di fuso orario) k=* (chiave di codifica) a=* (zero o più linee di attributi)

Real-time Transport Protocol Presentato per la prima volta nel 1996 (RFC1889) è stato poi revisionato nel 2003 (RFC 3550) Trasmissione dati aventi riferimenti temporali Indipendente dai protocolli sottostanti (tipicamente viaggia su UDP) No resource reservation Sicurezza: supporto per la cifratura con algoritmi a blocchi Separazione tra dati e controllo (RTP & RTCP) Sessione formata da due indirizzi di trasporto uno per RTP e uno per RTCP. Es: 192.168.0.3:2600 RTP e 192.168.0.3:2601 RTCP Audio e Video viaggiano separati in due sessioni RTP distinte e la sincronizzazione avviene tramite una o più Syncronization Source (SSRC) su RTCP Semplificazione - RTP Header Payload type Sequence Number TimeStamp Synchronization Source Identifier Header Extensions 7 bits 128 tipi differenti di codifica 16 bits usato per scoprire eventuali perdite di pacchetti 32 bits istante di sampling del primo byte nel payload del pacchetto 32 bits ID della sorgente dello stream Vedi Pacchetto

Real-time Transport Protocol v (2-bit) version numbers P (1-bit) padding X (1-bit) header extensions CC (4-bit) CSRC count M (1-bit) marker PT (7 bits) payload type Back

Real-time Control Transport Protocol Protocollo usato per il feedback e il controllo della sessione RTP Pacchetti RTCP vengono inviati periodicamente da tutti i partecipanti alla sessione, sia sender che receiver Bisogna trovare il giusto compromesso fra pacchetti RTP e pacchetti RTCP per problemi di occupazione di banda. Il rapporto RTCP / RTP non dovrebbe essere superiore al 5% I tipi principali di pacchetti RTCP sono: Sender Report (SR) associazione tra timestamp e tempo reale Bitrate Receiver Report (RR) Packet Loss Rate Jitter Round-trip delay Source Description (SDES) Canonical Name (CNAME) (Es: loris@myhost.it): usato per l’associazione tra sessioni audio e video della stessa sorgente Nome, e-mail, location Terminazione (BYE) Specifici dell’applicazione (APP)

Politiche di Load-Balancing Per limitare il carico su un singolo nodo di streaming, è possibile limitare il numero massimo di client serviti contemporaneamente. Quando questo limite viene raggiunto, il server risponde ad altre richieste dei client mandando loro un messaggio di REDIRECT verso un’altra location Describe rtsp://192.168.0.1/L4.mp2 CSeq: 231 Nodo 192.168.0.1 RTSP/1.0 301 Moved CSeq: 230 Location: rtsp://192.168.0.1/L4.mp2 Describe rtsp://192.168.0.3/L4.mp2 CSeq: 230 Nodo 192.168.0.3

Politiche di Fault Tolerance (funzionamento del sistema a regime) Soluzione con Control Server e Slave Server (copia fredda) RTSP RTP / RTCP SlaveServer File_Request medialist xml STAND-BY Per cercare di individuare e mantenere le funzionalità anche in caso di guasto è stata implementata una politica con un server di controllo che «pinga» periodicamente il MainServer per rilevare eventuali cadute, registre i client connessi per avvisarli in caso di malfunzionamento e attiva uno slave server per il recupero della funzionalità del sistema. MainServer Nodo 192.168.0.1 ping ControlServer Nodo 192.168.0.3 Reply_ping Nodo 192.168.0.12

Politiche di Fault Tolerance (crash del sistema) RTSP RTP / RTCP SlaveServer medialist xml File_Request STAND-BY Per cercare di individuare e mantenere le funzionalità anche in caso di guasto è stata implementata una politica con un server di controllo che «pinga» periodicamente il MainServer per rilevare eventuali cadute, registre i client connessi per avvisarli in caso di malfunzionamento e attiva uno slave server per il recupero della funzionalità del sistema. MainServer Nodo 192.168.0.1 ping ControlServer Nodo 192.168.0.3 Reply_ping Nodo 192.168.0.12

Politiche di Fault Tolerance (reazione al crash) REDIRECT rtsp://192.168.0.3/file.ext RTSP/1.0 CSeq: 1 Location: rtsp://192.168.0.1 SlaveServer MainServer Per cercare di individuare e mantenere le funzionalità anche in caso di guasto è stata implementata una politica con un server di controllo che «pinga» periodicamente il MainServer per rilevare eventuali cadute, registre i client connessi per avvisarli in caso di malfunzionamento e attiva uno slave server per il recupero della funzionalità del sistema. Nodo 192.168.0.1 START_SLAVE Nodo 192.168.0.3 ControlServer Initializing CRASHED Nodo 192.168.0.12

Politiche di Fault Tolerance (nuova situazione di funzionamento) RTP / RTCP RTSP File_Request medialist xml SlaveServer MainServer Per cercare di individuare e mantenere le funzionalità anche in caso di guasto è stata implementata una politica con un server di controllo che «pinga» periodicamente il MainServer per rilevare eventuali cadute, registre i client connessi per avvisarli in caso di malfunzionamento e attiva uno slave server per il recupero della funzionalità del sistema. Nodo 192.168.0.1 ControlServer ACTIVE Nodo 192.168.0.3 CRASHED Nodo 192.168.0.12

Demo dell’applicazione It's ShowTime

(c) 2005 Loris Cancellieri