Trasporto traffico multimediale in Internet



Похожие документы
Transmission Control Protocol

Reti di Telecomunicazione Lezione 6

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Reti di Telecomunicazione Lezione 8

Il Trasporto di Dati Real-time

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Tecniche di Comunicazione Multimediale

Il livello trasporto Protocolli TCP e UDP

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00

Reti di Calcolatori. Il software

Classificazione delle applicazioni multimediali su rete

VideoStreaming su IP

Capitolo 7 Reti multimediali

4 - Il livello di trasporto

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30

Servizi Internet multimediali

Dal protocollo IP ai livelli superiori

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

Inizializzazione degli Host. BOOTP e DHCP

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Indice. Prefazione XIII

Introduzione (parte III)

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

MODELLI ISO/OSI e TCP/IP

Informatica per la comunicazione" - lezione 8 -

DA SA Type Data (IP, ARP, etc.) Padding FCS

Reti: unità di misura

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

Strutturazione logica dei dati: i file

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è

Livello di Rete. Gaia Maselli

Applicazioni Multimediali Reti per la multimedialità. Applicazioni multimediali: audio e video in rete ( continuous media )

Elementi di Informatica e Programmazione

Protocolli di Comunicazione

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

Standard di comunicazione

IP Internet Protocol

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Applicazioni Real-Time in Internet

Distribuzione di contenuti multimediali

Lo scenario: la definizione di Internet

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

12.5 UDP (User Datagram Protocol)

Introduzione alla rete Internet

Reti di Telecomunicazione Lezione 7

RETI INTERNET MULTIMEDIALI

TECN.PROG.SIST.INF. TCP/IP Livello TRASPORTO Roberta Gerboni

esercizi-voip-v1.doc (era esercizi v6.doc) Esercizio 1

Firewall e Abilitazioni porte (Port Forwarding)

VoIP. Corso di Laboratorio di Telematica A.A Francesco Chiti Andrea De Cristofaro

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30

Reti di Calcolatori. una rete di calcolatori è costituita da due o più calcolatori autonomi che possono interagire tra di loro una rete permette:

Introduzione alle applicazioni di rete


RETI INTERNET MULTIMEDIALI. Esercitazione 2

Cenni di programmazione distribuita in C++ Mauro Piccolo

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00

Real Time Streaming Protocol

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 1

Internet, così come ogni altra rete di calcolatori possiamo vederla suddivisa nei seguenti componenti:

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci

Introduzione alla rete Internet

Elementi di Informatica e Programmazione

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

Il routing in Internet Exterior Gateway Protocols

Approfondimento di Marco Mulas

Reti di Calcolatori. Corso di Informatica. Reti di Calcolatori. Reti di Calcolatori. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Progettare un Firewall

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Protocolli applicativi: FTP

Gestione degli indirizzi

Gestione della Connessione in TCP

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico

Транскрипт:

Trasporto traffico multimediale in Internet Andrea BIANCO Andrea.Bianco@polito.it http://www.telematica.polito.it/ MULTIMEDIA IN INTERNET - 1 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 MULTIMEDIA IN INTERNET - 2

Applicazioni elastiche e multimediali in tempo reale Applicazioni elastiche 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 multimediali 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 MULTIMEDIA IN INTERNET - 3 Applicazioni multimediali 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 MULTIMEDIA IN INTERNET - 4

Applicazioni e stack protocollare > 4 4 3 < 2 DNS Telnet http ftp Email NFS BGP TCP IP UDP Non Specificati DNS RTP Real Audio NFS SNMP Real time apps Internet Protocol Suite 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 MULTIMEDIA IN INTERNET - 5 Il protocollo UDP 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) MULTIMEDIA IN INTERNET - 6

Il protocollo UDP 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 MULTIMEDIA IN INTERNET - 7 Formato del pacchetto UDP 0 15 16 31 UDP Source Port UDP Destination Port UDP Message Length UDP Checksum (opt.) DATA 32 bit MULTIMEDIA IN INTERNET - 8

Il protocollo TCP TCP (Transmission Control Protocol ) è un protocollo di livello 4 (trasporto) Definito da RFC 1122/1123 e decine di altri! E un protocollo full-duplex connection-oriented garantisce consegna affidabile ed in sequenza controllo velocità di emissione dati MULTIMEDIA IN INTERNET - 9 Il protocollo TCP 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 Mette in sequenza i datagram IP che arrivano fuori sequenza MULTIMEDIA IN INTERNET - 10

Formato pacchetto TCP 0 15 16 31 Source port Number Destin. Port Number Sequence Number Acknowledgement Number HLEN Resv. flags Dimens. Finestra TCP checksum Urgent Pointer 32 bit MULTIMEDIA IN INTERNET - 11 Comunicazioni multimediali: problemi 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? MULTIMEDIA IN INTERNET - 12

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 Variazione della banda disponibile TCP non supporta multicast TCP può essere usato per trasferire file multimediali (in email o in pagine Web) MULTIMEDIA IN INTERNET - 13 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 MULTIMEDIA IN INTERNET - 14

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) Deve essere inglobato nell applicazione (non esiste API di interfaccia) MULTIMEDIA IN INTERNET - 15 H.323 SIP RTP RTCP 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 MULTIMEDIA IN INTERNET - 16

RTP + RTCP Funzioni fornite Identificazione del tipo di payload (codifica) Gestione di numeri di sequenza Gestione del timestamping Servizi di monitoraggio e analisi delle prestazioni Supporto identificazione partecipanti Funzioni NON fornite Non è pensato per fornire QoS NO Affidabilità, banda, ritardi Non fornisce garanzie in ricezione su consegna e ordine dei pacchetti Sfrutta checksum UDP per riconoscere errori MULTIMEDIA IN INTERNET - 17 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 numeri di sequenza nell intestazione RTP MULTIMEDIA IN INTERNET - 18

RTP e il problema del jitter 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) R Come recuperare il segnale sincrono in ricezione? MULTIMEDIA IN INTERNET - 19 RTP e il problema del jitter Possibile soluzione: introdurre ritardo alla destinazione Uso buffer di playback Distr. # pacchetti ritardo massimo D m Pacchetti in arrivo sono memorizzati Viene letto un pacchetto ogni T secondi D f La dimensione del buffer emula un ritardo fisso di Dm secondi Dm compromesso tra bassi ritardi e basse perdite MULTIMEDIA IN INTERNET - 20 ritardo

RTP e il problema del jitter 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 per recuperare info sull istante di generazione MULTIMEDIA IN INTERNET - 21 RTP: Applicazioni Gli applicativi che utilizzano RTP sono multicast Se la rete non offre funzionalità di gestione multicast Si deve aprire una connessione unicast tra ogni coppia di partecipanti Il numero di connessioni cresce in modo quadratico rispetto al numero di utenti Un applicazione deve specificare due parametri RTP: Il profilo Una tabella che associa ad ogni tipo di payload un codice univoco In che modo RTP debba usare il payload Informazioni quali la dimensione del pacchetto RTP, il numero di campioni contenuti al suo interno... MULTIMEDIA IN INTERNET - 22

RTP: Esempio audio Una conferenza multiutente audio su RTP Elementi base: Un indirizzo IP di tipo multicast Gli utenti vi si registrano per accedere al servizio Due porte UDP Una per RTP, l altra per RTCP RTP non specifica come sceglierli MULTIMEDIA IN INTERNET - 23 RTP - Esempio audio L audio è creato mediante un opportuna codifica I campioni audio vengono raggruppati in pacchetti Inviati all indirizzo multicast Il numero di campioni per pacchetto dipende da come è stato configurato RTP MULTIMEDIA IN INTERNET - 24

RTP - Esempio audio I pacchetti devono essere piccoli Il ritardo di pacchettizzazione deve essere basso ( < 20 millisecondi) Non si possono mettere molti campioni I pacchetti contengono anche un intestazione RTP Intest. RTP Intest. UDP Intest. IP Campioni MULTIMEDIA IN INTERNET - 25 RTP: Esempio audio Mediante RTCP ogni partecipante invia dati di tipo statistico E possibile analizzare le prestazioni del servizio In caso di problemi si può provare a capire se sono globali o locali Il traffico RTCP è di tipo broadcast tra partecipanti La banda richiesta può essere molta MULTIMEDIA IN INTERNET - 26

RTP - Esempio audio e video - La conferenza è audio e video Lo standard consiglia di usare due flussi RTP indipendenti Vantaggio: un utente può accedere al servizio in maniera limitata Per sincronizzare i flussi si utilizzano i meccanismi di timestamping di RTP MULTIMEDIA IN INTERNET - 27 RTP: Sessione RTP Una sessione RTP permette a un certo numero di utenti di comunicare mediante l uso del protocollo RTP Una sessione RTP è identificata da una coppia di indirizzi di trasporto Un indirizzo di trasporto è costituito da un indirizzo IP e una porta UDP Un indirizzo di trasporto serve per RTP, l altro per RTCP ma l indirizzo IP di tipo multicast è lo stesso per entrambe le coppie MULTIMEDIA IN INTERNET - 28

RTP: Host L host o end-system (ES) rappresenta la macchina dell utente su cui girano gli applicativi basati su RTP Gli host generano i flussi multimediali e li consumano MULTIMEDIA IN INTERNET - 29 RTP: Translator I translator sono dei traduttori di codifiche Modificano il tipo di codifica di un flusso e lo ritrasmettono sulla rete Possono anche funzionare come dei gateway Permettono l esecuzione del servizio anche su isole non IP MULTIMEDIA IN INTERNET - 30

RTP: Mixer I mixer aggregano i flussi Più flussi in ingresso a un mixer vengono aggregati in un unico flusso uscente Tipicamente con un bit rate inferiore della somma dei flussi originali Sono più complicati dei translator Devono gestire anche la sincronizzazione tra flussi correlati MULTIMEDIA IN INTERNET - 31 RTP: Monitor I monitor osservano dall esterno i pacchetti di controllo Non partecipano alla comunicazione Ricavano informazioni sulla QoS e altri parametri Utili per i provider per valutare la bontà del servizio MULTIMEDIA IN INTERNET - 32

RTP: SSRC Il SSRC (Synchronization SouRCe) rappresenta l identificativo di chi genera un flusso dati E un numero su 32 bit presente nell header RTP Attenzione: mixer hanno un proprio SSRC E univoco all interno di una sessione MULTIMEDIA IN INTERNET - 33 RTP: CSRC Deve essere possibile risalire alle vere sorgenti di un flusso proveniente da un mixer I CSRC (Contributing SouRCe) sono campi opzionalmente presenti nell header RTP che contengono gli SSRC delle vere sorgenti del flusso MULTIMEDIA IN INTERNET - 34

RTP: host SSRC 18 SSRC 39 18,DVI4 39,C16 Gli host inviano dati: il primo invia un flusso con SSRC 18 e codifica DVI4 il secondo con SSRC 39 e codifica C16 MULTIMEDIA IN INTERNET - 35 RTP: Translator 18,DVI4 39,C16 18,DVI4 39,GSM Il translator ha cambiato la codifica del flusso Con SSRC 39 MULTIMEDIA IN INTERNET - 36

RTP: Mixer 18,DVI4 39,GSM SSRC=12 12,GSM,(18,39) Il flusso in uscita ha SSRC 12 e CSRC 18 e 39 MULTIMEDIA IN INTERNET - 37 RTP: Multicasting Gli applicativi che utilizzano RTP sono tipicamente multicast Se la rete non offre funzionalità avanzate per gestire il multicasting: Si deve aprire una connessione unicast tra ogni coppia di partecipanti Il numero di connessioni cresce in modo quadratico rispetto al numero di utenti MULTIMEDIA IN INTERNET - 38

RTP - Applicazioni Per definire RTP in un applicazione si devono specificare due parametri: Il profilo Una tabella che associa ad ogni tipo di payload un codice univoco In che modo RTP debba usare il payload Specifica informazioni fondamentali, quali la dimensione del pacchetto RTP, il numero di campioni contenuti al suo interno... MULTIMEDIA IN INTERNET - 39 RTP - RTP e RTCP Nel RFC 1889 si fa riferimento a due protocolli distinti: RTP (Real Time Protocol) Si occupa del trasporto del traffico dati RTCP (Real Time Control Protocol) Offre servizi di monitoring e controllo Permette di commutare tra diverse codifiche Può aiutare a gestire le liste dei partecipanti MULTIMEDIA IN INTERNET - 40

RTP - Prime considerazioni RTP non basta per fare videoconferenza da solo Lo standard non specifica come comportarsi in presenza di svariati problemi Il progettista deve fare molte scelte fuori da un contesto RTP RTP va inglobato nell applicativo MULTIMEDIA IN INTERNET - 41 Formato pacchetto RTP Marker Può essere usato per indicare estremi di un fotogramma PType Indica il tipo di codifica usato nel payload del pacchetto Sequence number Sequenza monotona crescente (+1 per ogni RTP PDU) 32 bits Source port Destination port Length Checksum V PX CC M PType Sequence number Timestamp Synchronization source (SSRC) identifier Possible header extension UDP Header 8 B RTP Header 12 B 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 SSRC Identificativo della sorgente che ha creato il contenuto del payload. L identificativo è scelto a caso dalla sorgente Payload Contenuto in formato dipendente dall applicazione MULTIMEDIA IN INTERNET - 42

Intestazione RTP V PX CC M PT Sequence Number Timestamp SSRC CSRC_1 MULTIMEDIA IN INTERNET - 43 V (Versione) (2bit) Intestazione RTP Versione protocollo RTP utilizzata P (padding) (1bit) Esistenza di padding nei dati X (extension header) (1bit) Proprietaria MULTIMEDIA IN INTERNET - 44

Intestazione RTP CC (CSRC count) (4 bit) Numero di campi CSRC presenti nell header Marker (1 bit) Il suo uso dipende dal profilo della sessione RTP in corso Può essere usato per indicare estremi di un fotogramma PT (Payload Type) (7 bit) Indica il tipo di codifica usato nel payload del pacchetto MULTIMEDIA IN INTERNET - 45 Intestazione RTP Numero di sequenza (16 bit) All inizio di una sessione viene estratto in modo casuale un numero X X è inserito nel campo sequence number del primo pacchetto trasmesso Il secondo pacchetto trasmesso avrà numero di sequenza X+1, il terzo X+2... Estrarre il numero di sequenza in modo casuale minimizza la probabilità di avere pacchetti di connessioni vecchie ancora in rete con lo stesso numero di sequenza MULTIMEDIA IN INTERNET - 46

Intestazione RTP Timestamp (32 bit) Rappresenta istante in cui l informazione contenuta nella PDU è stata prodotta. PDU diverse possono avere lo stesso timestamp. Il primo timestamp inviato nello stream RTP viene estratto in modo casule Si riferisce all istante di creazione del primo campione contenuto all interno del payload Se ogni pacchetto RTP di una sessione audio contiene 160 campioni: Se il pacchetto I ha timestamp X allora il pacchetto I+1 avrà timestamp X+160 MULTIMEDIA IN INTERNET - 47 SSRC (32 bit) Intestazione RTP Identificativo della sorgente che ha creato il contenuto del payload. L identificativo è scelto a caso dalla sorgente CSRC (32 bit) Campo opzionale Identificato della sorgente che ha originariamente generato I dati MULTIMEDIA IN INTERNET - 48

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 sui partecipanti alla trasmissione (segnalazione) Stima del numero di partecipanti multicast Necessaria per controllare la velocità di invio dei segnali di controllo RTCP che crescerebbe troppo se numero partecipanti cresce troppo MULTIMEDIA IN INTERNET - 49 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 (Source DEScriptor): descrizione della sorgente mediante identificativo unico BYE: disconnessione di un partecipante o termine della sessione MULTIMEDIA IN INTERNET - 50 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 MULTIMEDIA IN INTERNET - 51 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 MULTIMEDIA IN INTERNET - 52

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 MULTIMEDIA IN INTERNET - 53 RTCP: velocità di invio report La generazione di pacchetti RTCP segue quattro regole Il traffico RTCP deve essere limitato ad una certa percentuale del traffico dati (5%) Il 25% della banda è destinato a pacchetti SR, la parte rimanente per gli altri pacchetti Prima di trasmettere bisogna attendere 5 s. Prima di trasmettere bisogna ulteriormente attendere un tempo variabile P MULTIMEDIA IN INTERNET - 54

RTCP: velocità di invio report P si calcola estraendo un numero casuale tra 0,5 e 15 e moltiplicandolo per Tsr dove T = sr NumeroSend er 1 1 * * * ( Dimensione MediaPacch ettirtcp BandaSessi one 0,25 0.05 ) MULTIMEDIA IN INTERNET - 55 Interattivo Traffico Multimediale Telefonia su IP la gestione dei ritardi Streaming RTSP il controllo del playback MULTIMEDIA IN INTERNET - 56

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) MULTIMEDIA IN INTERNET - 57 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 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 MULTIMEDIA IN INTERNET - 58

Compensazione del ritardo e del jitter: buffering trasmissione audio CBR Ricezione audio Riproduzione di audio CBR Dati complessivi Ritardo di rete variabile Buffering dal lato ricevitore, il ritardo di playout compensa il ritardo e il jitter di rete Ritardo fisso Ritardo adattativo audio in buffer Ritardo di playout al ricevitore MULTIMEDIA IN INTERNET - 59 tempo 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à MULTIMEDIA IN INTERNET - 60

Ritardo di playout fisso packets packets generated packets received loss playout schedule p' - r playout schedule p - r time r p p' MULTIMEDIA IN INTERNET - 61 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 IN INTERNET - 62

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 IN INTERNET - 63 Multimedia Streaming Dati complessivi 1. video registrato 2. video inviato Ritardo di rete 3. video ricevuto, riprodotto dal client tempo Video server streaming: a questo istante, il client inizia a riprodurre la parte iniziale del video, mentre il server sta ancora inviando MULTIMEDIA IN INTERNET - 64

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 Approccio non streaming : non vi è pipelining, ritardi elevati prima di riproduzione MULTIMEDIA IN INTERNET - 65 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 IN INTERNET - 66

Multimedia Streaming con buffering del client MULTIMEDIA IN INTERNET - 67 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 MULTIMEDIA IN INTERNET - 68

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"> <track type=audio 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> MULTIMEDIA IN INTERNET - 69 Operazioni RTSP MULTIMEDIA IN INTERNET - 70

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 Session: 4231 Range: npt=37 C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 S: 200 3 OK MULTIMEDIA IN INTERNET - 71