QoS nella rete Internet
Transcript
QoS nella rete Internet
QoS nella rete Internet Tassonomia delle applicazioni • Due classi (dal punto di vista del controllo del traffico) Trasporto traffico multimediale in Internet – 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 Andrea BIANCO [email protected] http://www.telematica.polito.it/ MULTIMEDIA IN INTERNET - 1 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 • 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 • 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 - 3 MULTIMEDIA IN INTERNET - 4 Applicazioni e stack protocollare >4 4 3 <2 DNS Telnet http ftp Email NFS BGP … DNS RTP Real Audio NFS SNMP Real time apps TCP UDP IP Non Specificati Internet Protocol Suite Il protocollo UDP • Quale protocollo di trasporto? • UDP è adatto a: • 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: – Richieste-risposte (LAN) – Applicazioni multimediali – Multicast – connectionless (pacchetti fuori sequenza) – non affidabile (pacchetti persi) – senza controllo di flusso (saturazione del ricevitore) • TCP (affidabilità) è adatto a: – – – – Trasferimenti di file Emulazione di terminale Richiesta-risposta (WAN) Unicast MULTIMEDIA IN INTERNET - 5 MULTIMEDIA IN INTERNET - 6 Pag. 1 QoS nella rete Internet Il protocollo UDP Formato del pacchetto UDP • Pacchetti di formato semplice con checksum opzionale • Applicazioni end-to-end identificate da: 0 15 UDP Source Port – Indirizzo IP sorgente, Indirizzo IP destinazione – Porta UDP sorgente, porta UDP sorgente 16 31 UDP Destination Port UDP Message Length UDP Checksum (opt.) DATA 32 bit MULTIMEDIA IN INTERNET - 7 MULTIMEDIA IN INTERNET - 8 Il protocollo TCP 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 • 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 – full-duplex – connection-oriented – garantisce consegna affidabile ed in sequenza – controllo velocità di emissione dati MULTIMEDIA IN INTERNET - 9 MULTIMEDIA IN INTERNET - 10 Comunicazioni multimediali: problemi Formato pacchetto TCP • La pacchettizzazione 0 15 Source port Number 16 – Campioni audio pari a pochi bit – Immagine singola di dimensioni molto elevate 31 Destin. Port Number • Come si distingue tra codifiche differenti in ricezione? • Come porre rimedio ai “limiti” di IP? Sequence Number Acknowledgement Number HLEN Resv. flags – Perdita di pacchetti – Riordinamento di pacchetti – Duplicazione di pacchetti Dimens. Finestra TCP checksum Urgent Pointer • Come notificare la corretta ricezione alla sorgente? • Come supportare comunicazioni tra più utenti? 32 bit MULTIMEDIA IN INTERNET - 11 MULTIMEDIA IN INTERNET - 12 Pag. 2 QoS nella rete Internet Trasporto di comunicazioni multimediali: TCP Trasporto di comunicazioni multimediali: UDP • Si può usare TCP? • Si può usare UDP? – TCP offre un trasporto affidabile, ma le ritrasmissioni e il controllo di flusso/congestione causano – UDP supporta multicast – Non riordina dati ricevuti fuori sequenza – Non rileva perdite – Non reagisce a variazioni del ritardo – Non identifica contenuti multimediali • ritardi in caso di perdita • Variazione della banda disponibile – TCP non supporta multicast • IETF: introduzione di RTP “sopra” UDP • TCP può essere usato per trasferire “file” multimediali (in email o in pagine Web) MULTIMEDIA IN INTERNET - 13 MULTIMEDIA IN INTERNET - 14 RTP: Real-time Transport Protocol Esempio: applicazione multimediale • 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”: • Telefonia su IP: tre differenti problematiche H.323 SIP RTP – RTP: governa il flusso di dati multimediali (porte pari) – RTCP: fornisce un feedback al trasmettitore sulla qualità della trasmissione in corso (porte dispari) RTCP – 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 • Deve essere inglobato nell’applicazione (non esiste API di interfaccia) MULTIMEDIA IN INTERNET - 15 MULTIMEDIA IN INTERNET - 16 RTP + RTCP RTP e la perdita di pacchetti • Funzioni fornite – – – – – • 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 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 MULTIMEDIA IN INTERNET - 18 Pag. 3 QoS nella rete Internet RTP e il problema del jitter RTP e il problema del jitter • Possibile soluzione: introdurre ritardo alla destinazione ritardo massimo Dm • Uso buffer di playback Distr. # pacchetti • 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) – Pacchetti in arrivo sono memorizzati – Viene letto un pacchetto ogni T secondi ritardo Df – La dimensione del buffer emula un ritardo fisso di Dm secondi – Dm compromesso tra bassi ritardi e basse perdite MULTIMEDIA IN INTERNET - 20 R • Come recuperare il segnale sincrono in ricezione? MULTIMEDIA IN INTERNET - 19 RTP e il problema del jitter RTP: Applicazioni • Gli applicativi che utilizzano RTP sono multicast • Se la rete non offre funzionalità di gestione multicast • Se ho soppressione del silenzio in trasmissione? – Durante intervalli parlati: un pacchetto ogni T secondi – Durante silenzi: nessun pacchetto – 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 pacchetto può essere in ritardo perché – è stato ritardato nella rete – è stato preceduto da un periodo di silenzio • Un’applicazione deve specificare due parametri RTP: – Il profilo • Una tabella che associa ad ogni tipo di payload un codice univoco • Il numero di sequenza non basta • Bisogna introdurre un ‘timestamp’ nell’intestazione del pacchetto RTP per recuperare info sull’istante di generazione – 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 - 21 MULTIMEDIA IN INTERNET - 22 RTP: Esempio audio RTP - Esempio audio • Una conferenza multiutente audio su RTP • Elementi base: • L’audio è creato mediante un’opportuna codifica • I campioni audio vengono raggruppati in pacchetti – Un indirizzo IP di tipo multicast • Gli utenti vi si registrano per accedere al servizio – Due porte UDP – Inviati all’indirizzo multicast – Il numero di campioni per pacchetto dipende da come è stato configurato RTP • Una per RTP, l’altra per RTCP – RTP non specifica come sceglierli MULTIMEDIA IN INTERNET - 23 MULTIMEDIA IN INTERNET - 24 Pag. 4 QoS nella rete Internet RTP - Esempio audio RTP: Esempio audio • I pacchetti devono essere piccoli • Mediante RTCP ogni partecipante invia dati di tipo statistico – Il ritardo di pacchettizzazione deve essere basso ( < 20 millisecondi) – E’ possibile analizzare le prestazioni del servizio – In caso di problemi si può provare a capire se sono globali o locali • Non si possono mettere molti campioni • I pacchetti contengono anche un’intestazione RTP • Il traffico RTCP è di tipo broadcast tra partecipanti – La banda richiesta può essere molta Intest. RTP Intest. UDP Intest. IP Campioni MULTIMEDIA IN INTERNET - 25 MULTIMEDIA IN INTERNET - 26 RTP - Esempio audio e video - RTP: Sessione RTP • La conferenza è audio e video • Lo standard consiglia di usare due flussi RTP indipendenti • 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 – Vantaggio: un utente può accedere al servizio in maniera limitata • 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 • Per sincronizzare i flussi si utilizzano i meccanismi di timestamping di RTP MULTIMEDIA IN INTERNET - 27 MULTIMEDIA IN INTERNET - 28 RTP: Host RTP: Translator • 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 • 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 - 29 MULTIMEDIA IN INTERNET - 30 Pag. 5 QoS nella rete Internet RTP: Mixer RTP: Monitor • I mixer aggregano i flussi • I monitor osservano dall’esterno i pacchetti di controllo • Non partecipano alla comunicazione • Ricavano informazioni sulla QoS e altri parametri – 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 – Utili per i provider per valutare la bontà del servizio – Devono gestire anche la sincronizzazione tra flussi correlati MULTIMEDIA IN INTERNET - 31 MULTIMEDIA IN INTERNET - 32 RTP: SSRC RTP: CSRC • Il SSRC (Synchronization SouRCe) rappresenta l’identificativo di chi genera un flusso dati • 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 – 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 MULTIMEDIA IN INTERNET - 34 RTP: host SSRC 18 SSRC 39 18,DVI4 39,C16 RTP: Translator 18,DVI4 Gli host inviano dati: il primo invia un flusso con SSRC 18 e codifica DVI4 il secondo con SSRC 39 e codifica C16 18,DVI4 39,GSM 39,GSM Il translator ha cambiato la codifica del flusso Con SSRC 39 39,C16 MULTIMEDIA IN INTERNET - 35 MULTIMEDIA IN INTERNET - 36 Pag. 6 QoS nella rete Internet RTP: Mixer RTP: Multicasting • Gli applicativi che utilizzano RTP sono tipicamente multicast • Se la rete non offre funzionalità avanzate per gestire il multicasting: 18,DVI4 SSRC=12 39,GSM 39,GSM 12,GSM,(18,39) Il flusso in uscita ha SSRC 12 e CSRC 18 e 39 – 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 - 37 MULTIMEDIA IN INTERNET - 38 RTP - Applicazioni RTP - RTP e RTCP • Per definire RTP in un’applicazione si devono specificare due parametri: • Nel RFC 1889 si fa riferimento a due protocolli distinti: – Il profilo – RTP (Real Time Protocol) • Una tabella che associa ad ogni tipo di payload un codice univoco • Si occupa del trasporto del traffico dati – RTCP (Real Time Control Protocol) – In che modo RTP debba usare il payload • Offre servizi di monitoring e controllo • Permette di commutare tra diverse codifiche • Può aiutare a gestire le liste dei partecipanti • Specifica informazioni fondamentali, quali la dimensione del pacchetto RTP, il numero di campioni contenuti al suo interno... MULTIMEDIA IN INTERNET - 39 MULTIMEDIA IN INTERNET - 40 RTP - Prime considerazioni Formato pacchetto RTP Marker Può essere usato per indicare estremi di un fotogramma • RTP non basta per fare videoconferenza da solo PType Indica il tipo di codifica usato nel payload del pacchetto – Lo standard non specifica come comportarsi in presenza di svariati problemi – Il progettista deve fare molte scelte fuori da un contesto RTP Sequence number Sequenza monotona crescente (+1 per ogni RTP PDU) 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 • RTP va “inglobato” nell’applicativo SSRC Identificativo della sorgente che ha creato il contenuto del payload. L’identificativo è scelto a caso dalla sorgente MULTIMEDIA IN INTERNET - 41 32 bits Source port Destination port Checksum Length V PX CC Sequence number M PType Timestamp Synchronization source (SSRC) identifier Possible header extension Payload Contenuto in formato dipendente dall’applicazione MULTIMEDIA IN INTERNET - 42 Pag. 7 UDP Header 8B RTP Header 12 B QoS nella rete Internet Intestazione RTP Intestazione RTP • V (Versione) (2bit) – Versione protocollo RTP utilizzata V PX CC M PT Sequence Number • P (padding) (1bit) – Esistenza di padding nei dati Timestamp • X (eXtension header) (1bit) SSRC – Proprietaria CSRC_1 MULTIMEDIA IN INTERNET - 43 MULTIMEDIA IN INTERNET - 44 Intestazione RTP Intestazione RTP • CC (CSRC count) (4 bit) • Numero di sequenza (16 bit) – Numero di campi CSRC presenti nell’header – 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... • Marker (1 bit) – Il suo uso dipende dal profilo della sessione RTP in corso – Può essere usato per indicare estremi di un fotogramma • 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 • PT (Payload Type) (7 bit) – Indica il tipo di codifica usato nel payload del pacchetto MULTIMEDIA IN INTERNET - 45 MULTIMEDIA IN INTERNET - 46 Intestazione RTP Intestazione RTP • Timestamp (32 bit) • SSRC (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: – 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 • Se il pacchetto I ha timestamp X allora il pacchetto I+1 avrà timestamp X+160 MULTIMEDIA IN INTERNET - 47 MULTIMEDIA IN INTERNET - 48 Pag. 8 QoS nella rete Internet RTCP: obiettivi RTP Control Protocol (RTCP) • Qualità del servizio e controllo di congestione • Protocollo di controllo per il flusso dati RTP • Definisce lo scambio di informazioni tra sorgente e destinazione • Vari tipi di ‘pacchetti’ RTCP: – 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 – 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 • 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 RTCP Sender Report 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: • 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 SDES MULTIMEDIA IN INTERNET - 52 RTCP: velocità di invio report • Usato dalle sorgenti e dai ricevitori per “presentarsi” • Un SDES può contenere: – – – – – – – 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 • 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 CNAME: identificativo dell’utente ([email protected]) 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 MULTIMEDIA IN INTERNET - 54 Pag. 9 QoS nella rete Internet RTCP: velocità di invio report Traffico Multimediale • P si calcola estraendo un numero casuale tra 0,5 e 15 e moltiplicandolo per Tsr dove • Interattivo – Telefonia su IP • la gestione dei ritardi • Streaming – RTSP T sr = • il controllo del playback NumeroSend er 1 1 * * * ( Dimensione MediaPacch ettiRTCP ) BandaSessi one 0 , 25 0 .05 MULTIMEDIA IN INTERNET - 55 MULTIMEDIA IN INTERNET - 56 Traffico Multimedia interattivo: Internet Phone Reazione a perdite, ritardo e jitter • Audio in ingresso: alternanza di suoni e silenzi • Pacchetti generati a rate costante o quando potenza sonora è oltre un certo valore: • 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: – 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 – Perdite istantanee e medie – Ritardo relativo e/o assoluto – jitter • Tecniche di compensazione – Al trasmettitore (codifiche adattative) – Al ricevitore (bufferizzazione) MULTIMEDIA IN INTERNET - 57 MULTIMEDIA IN INTERNET - 58 trasmissione audio CBR Ritardo di rete variabile Ricezione audio audio in buffer Dati complessivi Compensazione del ritardo e del jitter: buffering • Il ricevitore riproduce ogni campione esattamente q secondi dopo la generazione del campione Riproduzione di audio CBR – Se il campione ha timestamp t, riproduco a t+q – Se il campione arriva dopo t+q, il campione è considerato perso Ritardo di playout al ricevitore • Buffering dal lato ricevitore, il ritardo di playout compensa il ritardo e il jitter di rete – Ritardo fisso – Ritardo adattativo Ritardo di playout fisso tempo • Il valore di ‘q’: – q elevato: meno pacchetti persi, più ritardo, più buffer – q basso: migliore interattività MULTIMEDIA IN INTERNET - 59 MULTIMEDIA IN INTERNET - 60 Pag. 10 QoS nella rete Internet Ritardo di playout fisso Ritardo di playout adattativo • Obiettivo: minimizzare il ritardo di playout, mantenendo basso il livello di perdite packets – 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à loss packets generated packets received playout schedule p' - r playout schedule p-r time r p p' MULTIMEDIA IN INTERNET - 61 MULTIMEDIA IN INTERNET - 62 Multimedia Streaming Multimedia Streaming • Streaming Dati complessivi – 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 1. video registrato Video server MULTIMEDIA IN INTERNET - 63 2. video inviato Ritardo di rete 3. video ricevuto, riprodotto dal client tempo 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 Multimedia: l’approccio streaming • 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 • 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 Pag. 11 QoS nella rete Internet 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 MULTIMEDIA IN INTERNET - 67 MULTIMEDIA IN INTERNET - 68 Esempio di metafile Operazioni RTSP <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 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=0C: 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 Pag. 12