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