Trasmissione adattativa di dati multimediali su IP



Documenti analoghi
Qualità del Servizio per applicazioni multimediali

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Classificazione delle applicazioni multimediali su rete

Introduzione (parte III)

VideoStreaming su IP

Dipartimento di Ingegneria dell Informazione e Metodi Matematici Laboratorio di Reti Prof. Fabio Martignon

Gestione della Connessione in TCP

Prof. Ing. Maurizio Casoni Dipartimento di Ingegneria dell Informazione Università degli Studi di Modena e Reggio Emilia

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità

Il livello trasporto Protocolli TCP e UDP

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Reti di Calcolatori:

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

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

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

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

Principi fondamentali

Soluzioni verifica parte 4

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

Parte II: Reti di calcolatori Lezione 13

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

Transmission Control Protocol

Esercizi su: Ritardi di trasferimento Commutazione Sorgenti di Traffico

Reti di Calcolatori. Il software

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

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione

RETI INTERNET MULTIMEDIALI. Esercitazione 2

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

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

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

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

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Livello Trasporto Protocolli TCP e UDP

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

LIVELLO DATA LINK (DI LINEA)

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Il livello Data-Link e i suoi protocolli

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto

Standard per Reti a Commutazione di Pacchetto Prof. Vincenzo Auletta Università degli studi di Salerno Laurea in Informatica

LABORATORIO DI RETI. 02 La Multiplazione Statistica nelle Reti a Paccchetto

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

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

Lo scenario: la definizione di Internet

Applicazioni Real-Time in Internet

Introduzione alle Reti Telematiche

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

Livello di Rete. Gaia Maselli

Compressione del Segnale (Audio)

Analisi di Protocolli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Il routing in Internet Exterior Gateway Protocols

Tecniche di Comunicazione Multimediale

Per essere inviato il dato deve essere opportunamente codificato in modo da poter essere trasformato in SEGNALE, elettrico oppure onda luminosa.

4 - Il livello di trasporto

Informatica per la comunicazione" - lezione 8 -

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

Reti di calcolatori. Lezione del 10 giugno 2004

Avoidance, Fast Retransmit, And Fast Recovery

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

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

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

Lezione 8: La rappresentazione dell informazione Multimediale Suoni e Video Venerdi 6 Novembre 2009

Internetworking TCP/IP: esercizi

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

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

MODELLI ISO/OSI e TCP/IP

Svantaggi della Commutazione di Circuito. Commutazione di Pacchetto. Struttura di un Pacchetto

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

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

IP Internet Protocol

RETI INTERNET MULTIMEDIALI

Coordinamento e sincronizzazione

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

RETI INTERNET MULTIMEDIALI. Esercitazione 4

Elementi di Informatica e Programmazione

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

WIRELESSEXPERIENCE. Townet series 200-xx-xx e 300-xx-xx. TDMA e nuovo protocollo wireless NV2 Enrico Grassi CTO Townet Srl

Fairness & Quality of Service

Protocolli di Comunicazione

Sistemi a larga banda (Broadband)

Introduzione alle reti di telecomunicazioni

RETI DI TELECOMUNICAZIONE

Esercizi di dimensionamento dei sistemi di commutazione telefonica

HTTP adaptation layer per generico protocollo di scambio dati

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

Elementi di Informatica e Programmazione

SIMULATORI PER RETI AD HOC

La Core Network. Domanda fondamentale: come vengono trasferiti i dati attraverso la rete? Maglia di router interconnessi

Reti di Telecomunicazione Lezione 6

Sicurezza delle reti 1. Lezione IV: Port scanning. Stato di una porta. Port scanning. Mattia Monga. a.a. 2010/11

Reti di Telecomunicazioni 1

OFDM. Prof. Carlo S. Regazzoni. Department of Biophysical and Electronic Engineering, University of Genoa, Italy A.A

Esercizi Multiplazione TDM Accesso Multiplo TDMA

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Classificazione delle tecniche di accesso multiplo

Livello di Trasporto

Elementi di Psicometria con Laboratorio di SPSS 1

Argomenti della lezione

Transcript:

Universita' di Verona Dipartimento di Informatica Master di primo livello in progettazione e gestione di sistemi di rete Trasmissione adattativa di dati multimediali su IP Davide Quaglia a.a. 2005/2006 1

Sommario Def. del problema e cenni storici Transmission Control Protocol (TCP) Caratteristiche del traffico multimediale coesistenza con TCP Obiettivo dei protocolli adattativi Architettura di un sistema adattativo Problematiche tipo di rete reattivita' impatto sulla qualita' percepita Esempi di realizzazioni 2

Cenni storici e definizione del problema 3

Cenni storici Le reti telefoniche sono tradizionalmente a commutazione di circuito Il canale e' di capacita' nota e costante lungo tutto il circuito controllo di ammissione Il canale e' riservato all'utente anche in caso di inutilizzo Non serve alcuna forma di adattamento Internet interconnessione di reti eterogenee no controllo di ammissione no garanzie di Qualita' del Servizio traffico dati: caratteristica trasmissione a burst 4

Definizione del problema Capacita' effettiva del canale capacita' intrinseca (velocita' dell'interfaccia) presenza di traffico interferente presenza di malfunzionamenti (wireless) varia nel tempo limitata dal tratto peggiore (dipende dal routing) Wireless: improvvisi malfunzionamenti di tratti di rete interferenza path loss fading e shadowing 5

Definizione del problema (2) Trasmettere ad un rate maggiore della capacita' effettiva del canale comporta aumento dei ritardi di transito perdita di pacchetti Congestioni nelle code dei router 6

Una prima soluzione: Transmission Control Protocol (TCP) 7

TCP Creazione di connessioni su IP (che e' non connesso) byte-oriented (come un file) affidabili (senza perdite) consegna ordinata dei dati Ritrasmissione dei dati non confermati Adatta il rate di trasmissione alla capacita' del ricevitore (controllo di flusso) alla capacita' della rete (congestion avoidance) Inizia a trasmettere lentamente e poi aumenta il rate se non avvengono perdite 8

ACK Ogni pacchetto TCP e' chiamato segmento Sequence number: ultimo byte che si sta trasmettendo Ack number: numero del prossimo byte atteso RTO: retransmission time-out Il meccanismo di ACK ha un doppio significato conferma di ricezione unito al meccanismo di stop-and-go permette di controllare il numero di byte che stanno transitando sulla rete nuovi byte possono entrare quando vecchi byte escono 9

Stop-and-go Il trasmettitore puo' trasmettere solo un certo numero di byte prima di ricevere il corrispondente ACK Due parametri: Finestra di ricezione (controllo di flusso) Finestra di congestione Il valore di tali parametri cambia durante la vita della connessione Viene usato il minore dei due parametri 10

Controllo di flusso Finestra di ricezione indica il numero di byte che il TX puo' mandare senza aspettare l'ack indicato dal RX per non venire sovraccaricato indicato nel messaggio di ACK 11

Controllo di congestione Congestion window cwin indica il numero di byte che il trasmettitore puo' mandare senza aspettare l'ack mantenuta dal trasmettitore Slow start phase: inizialmente cwin = S (1 segmento) cwin viene incrementata di S per ogni segmento di cui si e' ottenuta la conferma crescita esponenziale fino ad un valore detto threshold dopo il valore di threshold si ha crescita lineare Dopo un time-out di ACK cwin viene rimesso a S e threshold viene dimezzato 12

Profilo di throughput Throughput Packet loss Timeout di attesa ACK Threshold t 13

Throughput dopo il transitorio T = R 2 p 3 t RTO S 3 p 8 p132 p2 S: dimensione in byte del segmento R: round trip time t RTO : time-out di ritrasmissione p: packet loss rate 14

Conseguenze Le sorgenti TCP si dividono equamente la banda Ritardi dovuti all'attesa di ACK Throughput fluttuante Basso utilizzo del canale in presenza di molte perdite Possibile non equita' in reti con elevato round trip time 15

Caratteristiche del traffico multimediale 16

Caratteristiche Trasmissione real-time Tollerante alle perdite ma non ai ritardi e alle variazioni dei ritardi Bitrate di sorgente predefinito dallo schema di compressione costante variabile ma periodico (MPEG) Requisiti opposti al normale traffico dati che utilizza TCP!!! Si preferisce utilizzare UDP 17

Traffico VBR di MPEG 18

Coesistenza TCP e UDP Flussi TCP tendono a dividersi equamente la capacita' del canale Un flusso TCP riduce il rate di trasmissione quando perde pacchetti (time-out di ACK) Un flusso UDP base non riduce il rate di trasmissione quando si perdono pacchetti I flussi UDP aggrediscono i flussi TCP che finiscono per usare solo la capacita' residua si spengono (starvation) 19

Trasmissione adattativa di flussi multimediali 20

Obiettivi utilizzo efficiente delle risorse stima della capacita' del canale reattivita' alle variazioni di capacita' del canale congestione failure evitare le congestioni -> comportamento equo verso TCP (TCP-friendliness) traffico dotato di uguale algoritmo (fairness) robustezza e stabilita' variazioni di rate della sorgente variazioni di capacita' del canale perdita di messaggi di controllo 21

Architettura di un sistema adattativo Sistema ad anello chiuso Stima delle condizioni del canale raccolta statistiche elaborazione statistiche Trasmissione dei messaggi di feedback Algoritmo di controllo relazione tra condizioni del canale e rate di trasmissione Sistema di variazione del rate di trasmissione 22

Ipotesi semplificativa Trasmettitore Ricevitore Si considera come unita' base la coppia TX/RX Nei sistemi interattivi ci sono 2 coppie I messaggi che chiudono l'anello vanno a gravare sul traffico nel senso opposto 23

Qualita' percepita al ricevitore bitrate di compressione ritardo subito dai pacchetti variazione del ritardo subito dai pacchetti percentuale di pacchetti persi burstiness delle perdite 24

Perdita di pacchetti Trasmettitore Ricevitore perdita alle code dei router errori sui bit non recuperabili arrivo in ritardo al ricevitore 25

Perdita di pacchetti (2) Rilevazione numero progressivo nell'header del pacchetto multimediale checksum o CRC per rilevare (non corregg.) errori sui bit Misura Packet loss rate (PLR) su una certa finestra temporale PLR= numero pacchetti persi numero pacchetti spediti Finestra temporale piccola --> valore istantaneo Finestra temporale grande --> valore medio 26

Stima della perdita di pacchetti il ricevitore invia un ACK/NACK su singolo pacchetto o frame (pesante) il ricevitore invia un valore di packet loss rate su una finestra temporale (RTCP) su richiesta del trasmettitore 27

Ritardo end-to-end Def: tempo intercorrente tra l'istante in cui la grandezza fisica (luce, suono) viene campionata e l'istante in cui il corrispondente campione viene riprodotto al ricevitore Al fine di una riproduzione fluida il ritardo end-toend dovrebbe essere costante. 28

Ritardo end-to-end (2) Componenti compressione (ritardo algoritmico + tempo di elaboraz.) accodamento prima della trasmissione propagazione accodamento ed elaborazione nei router accodamento prima della decompressione decompressione (tempo di elaborazione) 29

Stima del ritardo end-to-end Al ricevitore non è possibile conoscere il ritardo end-to-end in maniera assoluta a causa della mancanza di un clock comune tra TX e RX Stima dalla distanza temporale tra i pacchetti R i istante di arrivo del pacchetto i-esimo T intervallo tra la riproduzione di 2 pacchetti consecutivi D i =R i R i 1 T idealmente D i = 0 in pratica: valor medio ~ nullo 30

Valor medio di D i Calcolo esatto Sia {D i } l'insieme dei ritardi misurati su N pacchetti N Di D = 1 N 0 Stima effettuata al volo al ricevitore D i = D i 1 D i 1 0 1 = 1 8 31

Variazione di D i Calcolo esatto (deviazione standard) Sia {D i } l'insieme dei ritardi misurati su N pacchetti = 1 D N 1 N N Di D 2 N Di 2 Stima effettuata al volo dal ricevitore J i = D i 1 J i 1 0 1 = 1 16 32

Distribuzione dei D i % pacchetti s D ritardo [s] D 33

Jitter Def: variazione del ritardo end-to-end Cause: variazione nel tempo delle condizioni del canale di comunicazione variazioni del traffico totale nella rete variazioni della qualità del segnale radio Effetti movimento del trasmettire e/o ricevitore presenza di ostacoli attenuazione del segnale con la distanza movimento di altri nodi che vanno ad interferire con trasmettitore e/o ricevitore ritardo elevato (vedi slide precedenti) e timeout arrivo a valanga dei pacchetti 34

Buffer anti-jitter Coda di pacchetti al ricevitore Trasforma le variazioni di ritardo in un ritardo fisso Aumenta il ritardo end-to-end (compromesso) Rete Decoder B i B max 35

Buffer anti-jitter (2) 36

Buffer anti-jitter (3) All'istante di decodifica del pacchetto i-esimo Se vale la relazione D i =R i R i 1 T B i allora il pacchetto è considerato perso per timeout e svuotamento del buffer (buffer underflow) altrimenti se B i D i B max allora il pacchetto è considerato perso per riempimento del buffer (buffer overflow) altrimenti il pacchetto è decodificato 37

Buffer anti-jitter (4) L'occupazione del buffer all'istante i-esimo B i1 =min B max, max 0, B i D i pacchetti decodificati pacchetti persi (buffer overflow) % pacchetti pacchetti persi per timeout (buffer underflow) ritardo [s] dimensione del buffer in secondi 38

Round trip time Tempo intercorrente tra l'istante di trasmissione di un pacchetto dati e la ricezione di un messaggio di conferma (acknowledge). Viene calcolato al TX Il messaggio di conferma può essere messo in un pacchetto specifico pacchetto informativo sulle statistiche di ricezione pacchetto multimediale trasmesso nella direzione opposta (applicazioni interattive) TX pacchetto dati msg di conferma RX 39

Calcolo del round trip time Viene fatto al TX Il messaggio di conferma dal RX deve riportare il ritardo nel RX TX RX ritardo lordo pacchetto dati msg di conferma ritardo nel RX tempo tempo RTT =ritardo lordo ritardo nel RX 40

Stima del ritardo tramite round trip time Metodo di stima del ritardo di propagazione nella rete mediante il calcolo del round trip time Viene fatto al TX (a differenza del metodo del D i ) TX Il messaggio di conferma dal RX deve riportare il ritardo nel RX ritardo lordo tempo RX pacchetto dati ritardo nel RX msg di conferma tempo ritardo lordo ritardo nel RX = 2 41

Stima del ritardo tramite round trip time (2) Possibile errore di stima se i pacchetti fanno percorsi diversi nelle due direzioni oppure la capacita' nelle due direzioni e' diversa Es: satellite per il download + linea terrestre per l'upload ADSL GPRS (3*9600 b/s download, 1*9600 b/s upload) 42

Burstiness di arrivo lunghezza media (su un intervallo di osservazione) delle sequenze di pacchetti aventi inter-packet gap nullo o sotto una certa soglia TX RX lunghezza media del burst= 33111 5.= 9 5 =1.8 43

Burstiness delle perdite lunghezza media (su un intervallo di osservazione) delle sequenze di pacchetti persi adiacenti TX RX lunghezza media del burst= 33111 5.= 9 5 =1.8 44

Elaborazione delle statistiche Puo' avvenire al trasmettitore che riceve le statistiche dal ricevitore (RTCP) Puo' avvenire al ricevitore che comanda direttamente al trasmettitore la variazione del rate di trasmissione Puo' avvenire al ricevitore che estrapola un modello astratto del canale e trasmette i parametri al trasmettitore modello di Gilbert-Elliot 45

Canale con perdita con memoria eventi di perdita statisticamente dipendenti presenza di burst di pacchetti persi di lunghezza media λ Catena di Markov a due stati 1-α NO LOSS 0.0, 1.0 p= α β LOSS = 1 1-β 46

Modello di Gilbert-Elliot Catena di Markov gerarchica Nello stato GOOD: nessun errore (o perdita) Nello stato BAD: errori (o perdite) indipendenti con probabilità γ 1-α GOOD α β BAD γ 1-β 47

Messaggi di feedback ACK/NACK su singolo pacchetto o frame (pesante) packet loss rate e inter-packet gap mediati su una finestra temporale RTCP Receiver Report comandi di modifica del rate di trasmissione 48

Algoritmo di controllo relazione tra condizioni del canale e rate di trasmissione algoritmi Additive Increase Multiplicative Decrease (AIMD) derivato dal TCP buona TCP-friendliness e fairness algoritmi basati su formule per il calcolo della capacita' effettiva del canale 49

Sistemi AIMD Multimedia over TCP (HTTP) facile da implementare risolve problemi di NAT e firewall Es: Icecast Rate Adaptation Protocol (RAP) Layered coding Selective Retransmission RTP (SR-RTP) Stream Control Transmission Protocol (SCTP) - RFC 2960 Datagram Congestion Control Protocol (DCCP) vedere: draft-ietf-dccp-spec-13 50

Sistemi AIMD: pro e contro Convivono bene con traffico simile e TCP Come il TCP non si prestano bene alla natura del multimedia 51

Sistemi basati su formule TCP Friendly Rate Control (TFRC) Video Transport Protocol (VTP) Datagram Congestion Control Protocol (DCCP) vedere: draft-ietf-dccp-spec-13 52

TCP Friendly Rate Control Additive increase Decrease according to the estimated capacity Allowed capacity estimated in terms of packet size, loss event rate, RTT, and the retransmission timer value No congestion window No slow start phase Equation is based on steady state and doesn't model transient behavior Slow reaction to sudden increase of bandwidth T = R 2 p 3 t RTO S 3 p 8 p132 p2 53

Sistema di adattamento della sorgente quantizzazione variabile coding mode selection (variazione tra I,P,B) codifica a livelli (layered, Fine Grain Scalability - FGS) aggiunta di FEC lunghezza dei pacchetti lunghezza del buffer di playout rate di trasmissione variabile (Variable Time Scale Streaming - VTSS) 54

Codificatori vocali a bitrate variabile Speex (opensource Ogg Project) bitrate disponibili (kb/s): 2.15-24.6 (narrowband), 4.0-44.2 (wideband) ETSI GSM-AMR (Adaptive multirate) bitrate disponibili (kb/s): 4.75 12.2 (narrowband) 6.6 23.85 (wideband) ISO MPEG-4 CELP 55

Compromessi nell'adattativita' ridondanza ritardo algoritmico (dipende dall'algoritmo di compressione, dalla lunghezza dei pacchetti e dalla lunghezza del buffer di playout) occupazione di banda consumo di energia (dispositivi mobili) qualita' dovuta al rate di compressione 56

Impedimenti alla reattivita' Valore di round trip time perdita di pacchetti di feedback/comandi calcolo di medie necessarie per evitare fluttuazioni brusche periodo di feedback (da barattare con occupazione di banda) possibilita' di adattamento della sorgente solo in certi istanti (GOP) 57

Adattativita' per il multicast Adattamento della sorgente sulla base dei feedback dei vari ricevitori Adattamanto al feedback peggiore (penalizzante) Adattamento ad un feedback medio (penalizzante per alcuni e rischioso per altri) Receiver-driven Layered Multicast (McCanne,1997) Layered source coding Each layer is sent over a different multicast group Each receiver adjusts its reception rate by joining and leaving multicast groups 58

Problemi Canali asimmetrici: ADSL, GPRS la presenza di capacita' diverse nelle due direzioni puo' far diminuire l'utilizzo del canale? Wireless la percentuale di pacchetti persi non dovuta a congestioni ma a problemi radio e' considerevole si possono creare falsi allarmi di congestione che fanno abbassare l'utilizzo del canale 59