I protocolli di trasporto per multimedia RTP e RTCP

Slides:



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

Il livello di trasporto
RTP MIDI – parte 2 Lezione 16
Network Musical Performance: RTP MIDI
Italo Losero S tray B ytes strane cose succedono nelle reti....
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
I protocolli TCP/UDP prof.: Alfio Lombardo.
Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS.
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.
Sistemi e Tecnologie della Comunicazione
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.
Programmazione su Reti
I protocolli TCP/UDP prof.: Alfio Lombardo.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
TCP Transmission Control Protocol. Programmazione II: Programmazione su Reti -- Prof. G. Persiano 2 TCP TCP fornisce un servizio di connessione –orientato.
1 Protocollo di comunicazione. 2 Reti eterogenee.
RETI E INTERNET.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP.
Reti di Calcolatori MODELLI ISO/OSI e TCP/IP.
Componenti e tecnologie multimediali
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
ADSL VOIP Voice Over IP.
Unibo Streaming Project
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.
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.
Il modello di riferimento OSI
1 Applicazione di videoconferenza in ambiente Multicast con supporto per il protocollo di controllo di congestione RLC Giansalvo Gusinu Relatori: Prof.
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
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.
L’architettura a strati
Internet: una panoramica
RETI DI CALCOLATORI Domande di riepilogo Prima Esercitazione.
Creato da Riccardo Nuzzone
Livello di trasporto Protocolli TCP e UDP.
MUSE Progetto di un servizio di audio streaming in reti wireless Progetto realizzato da: Leardini Francesco Mercati Alberto Morsiani Marco Bologna
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
UNIVERSITA’ DEGLI STUDI DI ROMA “TOR VERGATA”
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 1 – UDP.
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.
Controllo di flusso TCP. Elementi base del flusso TCP (1) Comunicazione punto-punto Un mittente, un destinatario. Flusso di byte affidabile Flusso suddiviso.
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.
Strato di accesso alla rete (network access layer); comprende le funzioni che nel modello OSI sono comprese negli strati fisico, di collegamento e parte.
1 Sistemi e Tecnologie della Comunicazione Lezione 23: transport layer: TCP e UDP.
Sistemi e Tecnologie della Comunicazione
I NTERNET Rete interconnessa che permette il collegamento tra due host eterogenei, appartenenti a reti differenti separati anche da grande distanze. Internet.
ARCHITETTURA DI RETE Protocollo: insieme di regole che governano le comunicazioni tra i nodi di una rete. La condivisione di queste regole tra tutte gli.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
INTERNET PROTOCOL SUITE FACOLTA’ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Docente: Prof. Pasquale Daponte Tutor:
INTERNET E INTRANET Classe VA SIA. La Storia di INTERNET ’ – ARPANET 1969 – anno di nascita università Michigan - Wayne 1970 – – INTERNET.
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Sezione propedeutica I fondamentali e concetti di TCP/IP.
II PROVA Svolgimento tramite protocollo ISO/OSI. I LIVELLO : LIVELLO FISICO Scelta del mezzo fisico; tenere conto degli standard IEEE Procedura di codifica.
Raccogliere informazioni ALCUNE DOMANDE FONDAMENTALI È stato modificato qualche componente HW o SW? Il sintomo si presenta regolarmente o ad intermittenza?
Transcript della presentazione:

I protocolli di trasporto per multimedia RTP e RTCP

Il problema della QoS Problema: fornire un’adeguata qualità di servizio (perdite, ritardi, banda minima…) ad applicazioni aventi requisiti diversi Storicamente, due possibili soluzioni: (vedi Scott Shenker: Fundamental Design Issues for the Future Internet) “gettare banda” sul problema Controllare il traffico, a livello di rete, a livello di connessione, a livello di pacchetto Il controllo del traffico è più difficile, ma dà risultati migliori Scott Shenker: Fundamental Design Issues for the Future Internet. IEEE JSAC 13(7): 1176-1188 (1995))

Sommario Applicazioni e protocolli di Trasporto Classi di Applicazioni I protocolli di trasporto: UDP e TCP RTP/UDP per applicazioni multimediali Requisiti delle applicazioni

Tassonomia delle applicazioni Due classi (dal punto di vista del controllo del traffico) Applicazioni elastiche (opportunistiche) Se ci sono risorse, le applicazioni elastiche cercano di usarle Se le risorse sono temporaneamente indisponibili, le applicazioni elastiche possono “attendere” (es: WWW, email, FTP…) Applicazioni “multimedia” Ogni applicazione richiede una minima quantità di risorse Se la quantità minima è presente, l’applicazione funziona Se la quantità minima è indisponibile, l’applicazione non funziona

Applicazioni elastiche e “Multimedia” Un utente “umano” attende informazioni da un server Preferibile un basso ritardo end-to-end (non essenziale) Banda istantanea richiesta: bassa Perdite di pacchetti recuperate dal protocollo di trasporto, a scapito del ritardo end-to-end Applicazioni “multimedia” Due utenti umani interagiscono ai capi della rete Essenziale un basso ritardo (un pacchetto in ritardo equivale ad un pacchetto perso) Banda richiesta elevata Robuste a perdite contenute di pacchetti

Applicazioni Multimedia Applicazioni multimediali conversazionali Voce o video su IP per audio/videoconferenze Applicazioni multimediali interattive Simulazioni distribuite, giochi in rete Applicazioni multimediali non interattive (streaming) Insegnamento a distanza, video on demand

Applicazioni e stack protocollare DNS Telnet http ftp Email NFS BGP … DNS RTP Real Audio NFS SNMP Real time apps Quale protocollo di trasporto? UDP è adatto a: Richieste-risposte (LAN) Applicazioni multimediali Multicast TCP (affidabilità) è adatto a : Trasferimenti di file Emulazione di terminale Richiesta-risposta (WAN) unicast > 4 4 3 < 2 TCP UDP IP Non Specificati Internet Protocol Suite

Il livello Rete: IP E’ un protocollo di livello 3 Si occupa quindi dell’indirizzamento e instradamento dei pacchetti (o datagram) in rete La consegna dei pacchetti IP ha caratteristiche di: inaffidabilità (unreliable) assenza di connessione (connectionless) 2

Il livello Rete: IP IP non offre garanzie sulla consegna dei datagram In caso di guasti prima della consegna (es. un router fuori servizio), il protocollo IP scarta il datagram cerca di inviare un messaggio di errore al mittente L’affidabilità va garantita dai livelli superiori Il servizio offerto da IP è detto best-effort 4

Il livello Rete: IP IP non conserva informazioni di stato sui datagram in corso di trasmissione Ogni datagram viene instradato in modo indipendente dai precedenti Può quindi accadere che due pacchetti provenienti dallo stesso host e aventi la stessa destinazione facciano strade diverse 5

Gruppo Reti - Politecnico di Torino Il protocollo UDP (1) UDP (User Datagram Protocol ) permette alle applicazioni di un host l’invio di datagram ad altre applicazioni di un host remoto Definito da RFC-768 (1980) UDP fornisce un servizio di livello 4, ma: connectionless (pacchetti fuori sequenza) non affidabile (pacchetti persi) senza controllo di flusso (saturazione del ricevitore) Gruppo Reti - Politecnico di Torino 35

Il protocollo UDP (2) Pacchetti di formato semplice con checksum opzionale Applicazioni end-to-end identificate da: Indirizzo IP sorgente, Indirizzo IP destinazione Porta UDP sorgente, porta UDP sorgente 36

Formato del pacchetto UDP 0 15 16 31 UDP Source Port UDP Destination Port UDP Message Length UDP Checksum (opt.) DATA 32 bit 37

Gruppo Reti - Politecnico di Torino Il protocollo TCP (1) TCP (Transmission Control Protocol ) è un protocollo di livello 4 (trasporto) Definito da RFC 1122/1123… e decine di altri! E’ un protocollo connection-oriented E’ un protocollo affidabile E’ un protocollo full-duplex Gruppo Reti - Politecnico di Torino 2

Il protocollo TCP (2) Ritrasmette se non riceve conferma di ricezione Esegue controllo di congestione end-to-end per evitare che la rete venga utilizzata oltre la sua capacità Esegue controllo di flusso end-to-end perchè un host veloce non saturi un host lento Frammenta (o raccoglie) l’informazione in segmenti di dimensione opportuna Risequenza i datagram IP che arrivano fuori sequenza 3

Gruppo Reti - Politecnico di Torino Formato pacchetto TCP 32 bit Sequence Number Acknowledgement Number 0 15 16 31 Source port Number Destin. Port Number HLEN Resv. Dimens. Finestra TCP checksum Urgent Pointer flags Gruppo Reti - Politecnico di Torino 4

Comunicazioni Multimediali: problematiche La pacchettizzazione Campioni audio pari a pochi bit Immagine singola di dimensioni molto elevate Come si distingue tra codifiche differenti in ricezione? Come porre rimedio ai “limiti” di IP? Perdita di pacchetti Riordinamento di pacchetti Duplicazione di pacchetti Come notificare la corretta ricezione alla sorgente? Come supportare comunicazioni tra più utenti?

Trasporto di comunicazioni multimediali: TCP Si può usare TCP? TCP offre un trasporto affidabile, ma le ritrasmissioni e il controllo di flusso/congestione causano ritardi in caso di perdita TCP non supporta multicast TCP può essere usato per trasferire “file” multimediali (in email o in pagine Web)

Trasporto di comunicazioni multimediali: UDP Si può usare UDP? UDP supporta multicast Non riordina dati ricevuti fuori sequenza Non rileva perdite Non reagisce a variazioni del ritardo Non identifica contenuti multimediali IETF: introduzione di RTP “sopra” UDP

RTP: Real-time Transport Protocol Introdotto dall’RFC 1889 Costituisce un “framework” su cui realizzare applicazioni multimediali Fornisce i meccanismi di base per il trasferimento di dati multimediali Composto da due “sotto-protocolli”: RTP: governa il flusso di dati multimediali (porte pari) RTCP: fornisce un feedback al trasmettitore sulla qualità della trasmissione in corso (porte dispari) Funzioni complementari possono essere aggiunte nelle applicazioni

Esempio: applicazione multimediale Telefonia su IP: tre differenti problematiche Stabilire la comunicazione, trovare l’indirizzi IP per raggiungere l’interlocutore, negoziare il tipo di codifica o compressione Quando la sessione è stata stabilita, trasferire i pacchetti audio Periodicamente, inviare delle informazioni di feedback al trasmettitore per indicare la qualità della ricezione H.323 SIP RTP RTCP

RTP e la perdita di pacchetti UDP/IP non garantiscono che ogni pacchetto percorra la stessa strada verso la destinazione Pacchetti possono essere persi o essere consegnati fuori sequenza RTP prevede dei numeri di sequenza nell’intestazione RTP

RTP e il problema del jitter (1) In presenza di segnali sincroni (voce), viene inviato un pacchetto ogni T secondi La rete introduce ritardi variabili anche se non ci sono perdite (es., in un buffer di un router) Come recuperare il segnale sincrono in ricezione? R

RTP e il problema del jitter (2) Possibile soluzione: introdurre ritardo alla destinazione Uso buffer di playback Pacchetti in arrivo sono memorizzati Viene letto un pacchetto ogni T secondi La dimensione del buffer emula un ritardo fisso di Dm secondi Dm compromesso tra bassi ritardi e basse perdite ritardo massimo Dm Distr. # pacchetti ritardo Df

RTP e il problema del jitter (3) Se ho soppressione del silenzio in trasmissione? Durante intervalli parlati: un pacchetto ogni T secondi Durante silenzi: nessun pacchetto … un pacchetto può essere in ritardo perché è stato ritardato nella rete è stato preceduto da un periodo di silenzio Il numero di sequenza non basta Bisogna introdurre un ‘timestamp’ nell’intestazione del pacchetto RTP

Formato pacchetto RTP/UDP Marker Può essere usato per indicare estremi di un fotogramma 32 bits Source port Destination port UDP Header 8 B Length Checksum PType Indica il tipo di codifica usato nel payload del pacchetto Sequence number V PX CC M PType RTP Header 12 B Timestamp Sequence number Sequenza monotonica crescente (+1 per ogni RTP PDU) Synchronization source (SSRC) identifier Possible header extension Timestamp Istante in cui l’informazione contenuta nella PDU è stata prodotta. Diverse PDU possono avere lo stesso timestamp. Il timestamp è generato da un clock indipendente dall’applicazione Payload SSRC Identificativo della sorgente che ha creato il contenuto del payload. L’identificativo è scelto a caso dalla sorgente Contenuto in formato dipendente dall’applicazione

RTCP: obiettivi Qualità del servizio e controllo di congestione I pacchetti RTCP sono usati come “ACK a bassa frequenza” per indicare la qualità della ricezione In base ai “report” RTCP il server può adattare la codifica allo stato della comunicazione Identificazione Fornisce più informazioni sull’applicativo utente che partecipa alla trasmissione (segnalazione) Stima del numero di partecipanti multicast Necessaria per frazionare la banda usata da RTCP

RTP Control Protocol (RTCP) Protocollo di controllo per il flusso dati RTP Definisce lo scambio di informazioni tra sorgente e destinazione Vari tipi di ‘pacchetti’ RTCP: SR (sender report): inviato da tutte le sorgenti attive a tutti i partecipanti; include statistiche di TX e RX RR (receiver report): inviato da tutte le sorgenti passive a tutti i partecipanti; include statistiche di RX SDES: descrizione della sorgente BYE: fine della sessione APP: application-specific

RTCP Sender Report Il SR è usato per riassumere la quantità di informazione appena inviata Un SR contiene: Timestamp assoluto (NTP) all’istante di invio Timestamp relativo al flusso RTP in corso Quantità di dati inviati dall’inizio della sessione Numero totale di pacchetti RTP inviati Numero totale di byte inviati

RTCP Receiver Report I RR vengono inviati per informare i mittenti della qualità della ricezione Viene inviato un RR ad ogni sorgente da cui si è ricevuto un SR Un RR contiene: Indicazione della sorgente ascoltata Timestamp dell’ultimo SR ricevuto Ritardo dalla ricezione dell’ultimo SR Numero di sequenza più alto ricevuto dalla sorgente Numero di pacchetti RTP della connessione persi Frazione di pacchetti RTP della connessione persi Stima del jitter dei pacchetti RTP della connessione

RTCP SDES Usato dalle sorgenti e dai ricevitori per “presentarsi” Un SDES può contenere: CNAME: identificativo dell’utente (user@host.domain) NAME: nome della persona che usa l’applicazione EMAIL PHONE LOC: indicazione geografica dell’utente TOOL: applicazione che sta usando RTP NOTE

Traffico Multimediale Interattivo Telefonia su IP, la gestione dei ritardi Streaming RTSP, il controllo del playback

Traffico Multimedia interattivo: Internet Phone Audio in ingresso: alternanza di suoni e silenzi Pacchetti generati a rate costante o quando potenza sonora è oltre un certo valore: Es: 20 ms di campioni audio a 8kb/s Pacchetti subiscono ritardi (da compensare) e perdite: Perdite in rete, congestione (max tollerabili: 10%) Perdite per ritardi (datagram IP troppo tardi per playout) ritardo max tollerabile: 400 ms Tecniche di compensazione Al trasmettitore (codifiche adattative) Al ricevitore (bufferizzazione)

Reazione a perdite, ritardo e jitter Uso codificatore a bit-rate variabile Invio pacchetti di piccole dimensioni quando c’è congestione e il ritardo è elevato Invio pacchetti di grosse dimensioni se la rete è scarica Mi occorrono meccanismi di stima della qualità di ricezione, ed un algoritmo di controllo del bit rate del trasmettitore, reazionato in funzione di: Perdite istantanee e medie Ritardo relativo e/o assoluto jitter

Compensazione del ritardo e del jitter: buffering trasmissione audio CBR Ritardo di rete variabile Ricezione audio Riproduzione di audio CBR Dati complessivi audio in buffer Ritardo di playout al ricevitore tempo Buffering dal lato ricevitore, il ritardo di playout compensa il ritardo e il jitter di rete Ritardo fisso Ritardo adattativo

Ritardo di playout fisso Il ricevitore riproduce ogni campione esattamente q secondi dopo la generazione del campione Se il campione ha timestamp t, riproduco a t+q Se il campione arriva dopo t+q, il campione è considerato perso Il valore di ‘q’: q elevato: meno pacchetti persi, più ritardo, più buffer q basso: migliore interattività

Ritardo di playout fisso

Ritardo di playout adattativo Obiettivo: minimizzare il ritardo di playout, mantenendo basso il livello di perdite Stima del ritardo di rete, adattività del ritardo di playout all’inizio del parlato Periodi di silenzio compressi o allungati Campioni sempre riprodotti a distanza di 20 ms nei periodi di attività

Multimedia Streaming Streaming File multimediale memorizzato alla sorgente Trasmesso al client La riproduzione al client inizia mentre il trasferimento è ancora in corso Vincolo: dati mancanti devono arrivare prima che la riproduzione abbia termine

Multimedia Streaming Video server Dati complessivi 2. video inviato streaming: a questo istante, il client inizia a riprodurre la parte iniziale del video, mentre il server sta ancora inviando Dati complessivi 2. video inviato 1. video registrato 3. video ricevuto, riprodotto dal client Ritardo di rete tempo Video server

Multimedia: l’approccio più semplice audio o video memorizzato in un file File trasferito come oggetto HTTP Ricevuto per intero dal client Inviato al player audio, video non in “streaming”: non vi è pipelining, ritardi elevati prima di riproduzione

Multimedia: l’approccio streaming Il browser del client riceve il metafile con la descrizione del file multimedia streaming Il browser lancia il player e gli passa il metafile Il player contatta il server Il server manda in streaming l’audio e il video

Multimedia Streaming con buffering del client

Controllo utente di streaming multimedia: il protocollo RTSP Real Time Streaming Protocol (RTSP): RFC 2326 Supporta controllo utente: rewind, FF, pausa, riprendi Protocollo fuori banda: Una porta (544) per messaggi di controllo e segnalazione Una porta per lo stream multimediale Uso TCP o UDP per connessione di controllo Operazioni Invio di un “metafile” al browser Il browser attiva il player appropriato Il player attiva una connessione di controllo e una connessione dati RTSP verso il server

Esempio di metafile <title>Twister</title> <session> <group language=en lipsync> <switch> <track type=audio e="PCMU/8000/1" src = "rtsp://audio.example.com/twister/audio.en/lofi"> e="DVI4/16000/2" pt="90 DVI4/8000/1" src = "rtsp://audio.example.com/twister/audio.en/hifi"> </switch> <track type="video/jpeg" src = "rtsp://video.example.com/twister/video"> </group> </session>

Operazioni RTSP

Esempio di messaggi RTSP C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Transport: rtp/udp; compression; port=3056; mode=PLAY S: RTSP/1.0 200 1 OK Session 4231 C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0- C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Range: npt=37 C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 S: 200 3 OK