370 likes | 534 Views
Alma Mater Studiorum – Università di Bologna. Facoltà di Scienze Matematiche Fisiche e Naturali. Corso di laurea in Scienze dell’Informazione. TCP E APPLICAZIONI IN AMBIENTE WIRELESS. Sistemi e Applicazioni Multimediali. Claudio Enrico Palazzi cpalazzi@cs.unibo.it. 27 aprile 2004.
E N D
Alma Mater Studiorum – Università di Bologna Facoltà di Scienze Matematiche Fisiche e Naturali Corso di laurea in Scienze dell’Informazione TCP E APPLICAZIONIIN AMBIENTE WIRELESS Sistemi e Applicazioni Multimediali Claudio Enrico Palazzi cpalazzi@cs.unibo.it 27 aprile 2004
Situazione attuale: Last Hop Sat Internet Ad Hoc Internet e wireless 1/2 • Crescita del traffico di Internet e della sua importanza nel quotidiano • Aumento esponenziale nell’utilizzo di dispositivi mobili (computer portatili, telefoni cellulari, PDA, …) • Incremento nell’utilizzo delle connessioni wireless in generale (Hot Spots, Satelliti, …)
Prospettiva futura: Internet e wireless 2/2 • Interazione tra mobile e Internet sempre più frequente: • comunicazioni a voce e a video su IP • biblioteche virtuali • conference calling indipendenti da luogo e da operatori • telelavoro • giochi on line • video e musica on-demand • supporto al traffico (navigazione e info su congestione vie) • reperimento di informazioni “location-based”
SOMMARIO • Principali funzioni del TCP • Problematicheproprie di un ambiente wireless con particolare attenzione a quelle correlate con il TCP • Tipologia di soluzioni proposte ed esempi (Snoop Protocol, TCP Westwood) • Un applicazione pratica per lo streaming video.
Collocazione di TCP OSI - ISO Internet Applicazione Presentazione Sessione Trasporto Rete Collegamento Fisico Applicazione Trasporto - TCP Rete Collegamento
Caratteristiche e funzionalità di TCP • Affidabilità della trasmissione • Rilascio ordinato dei pacchetti (segmenti) al livello superiore • Semantica End-to-End della connessione • Controllo del flusso: • Ack cumulativi • Sliding window • Controllo della congestione: • Scadenza di timeout o ricezione di 3 DUPACK: perdita di pacchetto • Perdite dovute a congestione • Riduzione della finestra di invio
Last Hop Sat Internet Ad Hoc Contesto Wireless
Diagramma interazione TCP-Wireless Bandwidth bassa Latenza elevata Pacch. piccoli: framm. Disconn. handoff e fading BER elevato Bandwidth variabile Incapac. distinz. errore – congest. Errori in burst Latenza variab. Diffic. stima RTT-RTO Perdita di tanti pacchetti Timeout a sproposito Restringimento finestra di invio Ritrasmiss. ridondanti Spreco di Bandwidth Spreco di tempo Spreco di Energia Legenda: Caratteristica wireless Caratteristica TCP Problema conseguente Data Rate basso
Tassonomia delle soluzioni (livello di trasporto) • Divisione della connessione: • Ritrasmissioni locali • Tempestività nell’intervenire sul tratto wireless • TCP specifico sul wireless • End-to-End puro: • Nuovo protocollo di trasporto • Mittente consapevole del tratto wireless • Rispetto del paradigma End-to-End
I-TCP M-TCP Snoop Protocol Delayed Dupacks TCP-Aware Freeze-TCP TCP Probing WTCP Fast TCP TCP Westwood Protocolli di trasporto Divisione della connessione: TCP tradizionali: End-to-End puri: • TCP Reno • TCP New Reno • TCP Vegas • TCP Sack
TCP modificato Internet Base Station (Snoop Agent) Snoop Protocol (Balakrishnan et al., 1995) • Ideato per combattere le conseguenze dei BER elevati • Implementa nella base station uno Snoop Agent: • Monitoraggio di tutti i pacchetti in transito in entrambe le direzioni • Memorizzazione dei pacchetti non ancora confermati da ack in una cache presente nella base station: • Ritrasmissioni locali dei dati persi e filtraggio dei dupack allo scopo di evitare che il mittente invochi meccanismi per il controllo della congestione.
Snoop Protocol – Esempio (1/9) 15 16 17 18 20 19 18 17 16 14 16 Legenda: dati in cache perso ack dupack
Snoop Protocol – Esempio (2/9) 15 16 17 18 19 21 20 19 18 16 14 16 Legenda: dati in cache perso ack dupack
Snoop Protocol – Esempio (3/9) 17 18 19 20 22 21 20 19 18 16 16 16 14 Legenda: dati in cache perso ack dupack
Snoop Protocol – Esempio (4/9) 17 18 19 20 21 19 23 22 21 20 18 16 16 16 16 Legenda: dati in cache perso ack dupack
Snoop Protocol – Esempio (5/9) 17 18 19 20 21 22 20 Ritrasmissione 19 24 23 17 21 18 16 16 16 16 16 Dupack scartati da BS Legenda: dati in cache perso ack dupack
Snoop Protocol – Esempio (6/9) 17 18 19 21 20 21 22 23 20 19 25 24 22 17 18 16 16 16 16 16 Dupack scartati da BS Legenda: dati in cache perso ack dupack
Snoop Protocol – Esempio (8/9) 25 17 18 19 20 21 22 23 24 27 26 24 23 21 21 Niente Fast Retransmit 16 16 16 16 Dupack scartati da BS Legenda: dati in cache perso ack dupack
Snoop Protocol – Esempio (7/9) 17 17 18 19 21 20 21 22 23 24 20 19 26 25 23 22 18 16 16 21 Niente Fast Retransmit 16 16 16 Dupack scartati da BS Legenda: dati in cache perso ack dupack
Snoop Protocol – Esempio (9/9) 25 26 22 23 24 28 27 25 24 21 21 23 Legenda: dati in cache perso ack dupack
Vantaggi: Preserva la semantica End-to-End Effettua recupero locale (e tempestivo) delle perdite Affronta BER elevati Svantaggi: Richiede RTT brevi sul tratto wireless Non gestisce adeguatamente le lunghe disconnessioni Non utilizzabile subito dopo un handoff (assenza di pacchetti nella nuova cache) Snoop Protocol: Pro & Cons
TCP Westwood (Mascolo et al., 2001) • Utilizzo di meccanismi puramente End-to-End • Controllo del flusso basato sulla stima della bandwidth disponibile (BWE): • Monitoraggio della frequenza di arrivo degli ack al mittente • Utilizzo di BWE per impostare cwnd e ssthresh: • ssthresh=BWE*RTTmin anziché TCP Reno: Ssthresh = cwnd/2 • se(cwnd > ssthresh) allora cwnd=ssthresh • ssthresh=BWE*RTTmin anziché TCP Reno: Ssthresh = cwnd/2 • cwnd = 1 Arrivo di tre dupack: Scadenza di timeout:
TCP Westwood (1/3) dk (bit ricevuti nell’intervallo) • La prima (e piu’ semplice) versione di TCPW utilizzava uno stimatore di bandwidth (BWE) dato da: tk-1 tk tk+1 campione filtro esponenziale guadagno del filtro
TCP Westwood (2/3) dk-1 dk • Stima della bandwidth ottenuta per aggregazione dei dati ricevuti durante l’intervallo T. tk (intervallo di campionamento) T campione filtro esponenziale guadagno del filtro
Tk Tk TCP Westwood (3/3) • La dimensione dell’intervallo di campionamento viene continuamente adattato seguendo il livello di congestione misurato adattamento continuo con congestione: Tk cresce (risulta una stima piu’ prudente) senza congestione: Tk = inter ACK (risulta una stima piu’ aggressiva) Throughput massimo, assumendo che non vi sia congestione nel collegamento Throughput corrente reale
TCP Westwood (ssthresh a confronto) cwnd TCP Westwood TCP Reno capacità del canale ssthresh = BWE * RTTmin guadagno ssthresh media TCP Reno tempo Perdite casuali
Vantaggi: Stima della bandwidth al mittente per impostare la ssthresh e la cwnd che gli permette throughput elevati Modifiche del codice richieste solo al mittente Fair & Friendly Svantaggi: Stima della bandwidth falsata in collegamenti asimmetrici Assenza di meccanismi specifici per gestire disconnessioni Scarse prestazioni su pipe piccole Prestazioni al variare delle dimensioni dei buffer? TCP Westwood: Pro & Cons
Problematiche NON prestazionali: Ricevente inalterato Mittente inalterato Nodi inalterati Traffico criptato Semantica E2E Risparmio energia Collegam. asimmet. Fair & Friendly Problematiche prestazionali: Gest. disconness. Limitaz. spreco tempo Gest. BER elevato Discriminaz perdite Finestra invio non eccesivam. ridotta Limitaz. difficoltà calcolo RTT e RTO Limitaz. ridondanze Analisi attraverso un modello di confronto Legenda: Snoop Westwood
Approcci per il controllo del flusso • RAP (Rate Adaptation Protocol) somiglianza con TCP (meccanismo AIMD); adattamento del video trasmesso • SR-RTP (Selective Retransmission-RTP) Ritrasmette solo alcuni tipi di pacchetti che trasportano informazioni chiave • SCTP (Stream Control Transmission Protocol) somiglianza con TCP; multistream; • TFRC (TCP-Friendly Rate Control) somiglianza con TCP tramite equazioni; Limitazioni: • Il meccanismo AIMD (Additional Increase Multiplicative Decrease) provoca oscillazioni nella frequenza di trasmissione • Scarsa utilizzazione della bandwidth disponibile in presenza di errori random
Caratteristiche MPEG-4 Compressione realizzata grazie alla compresenza di frame di diverso tipo (per importanza e dimensioni): • Intra-coded frames (I-frames) sono codificati indipendentemente dagli altri frame; fungono da frame di riferimento. • Predicted frames (P-frames) dipendono dal frame che li precede (I o P); contengono dati di movimento immagine e informazioni su errori. • Bi-directionally predicted frames (B-frames) dipendono sia dal frame precedente e sia da quello succesivo.
VTP: Video Transport Protocol Caratteristiche principali: • Stima della bandwidth utilizzata per adattare il flusso video • Utilizzo dei livelli di compressione disponibili in MPEG-4 allo scopo di selezionare la qualita’ video piu’ appropriata per la trasmissione • Mantenimento di un frame rate costante in modo da preservare la qualita’ percepita del video • Equo utilizzo del canale con TCP preservato
Stima della Bandwidth • Il ricevente stima la Bandwidth disponibile • Tecnica di stima della Bandwidth ispirata al meccanismo di TCP Westwood): Bi=(a)Bi-1+(1-a)(bi+bi-1)/2 Bi: stima della bandwidth bi: bandwidth sample (bits_nel_pacchetto/ intervallo tra arrivo di pacchetti) a: coefficiente modificabile • Il ricevente retro-invia al mittente la stima della bandwidth periodicamente (almeno ogni RTT)
Algoritmo VTP • Copie multiple dello stream video con diversi livelli di quantizzazione (compressione) sono disponibili sul server • Lato mittente: se la stima della bandwidth comunicata dal ricevente e’ maggiore o uguale alla frequenza di invio, allora incrementa gradualmente (un pacchetto per RTT) la frequenza di invio (probing phase) • Quando la stima della bandwidth e’ sufficiente da supportare il livello di quantizzazione successivo, utilizza lo stream video con un livello di qualita’ superiore e maggiore bitrate. • Se la stima della bandwidth ricade sotto la frequenza di invio corrente, utilizza un livello di quantizzazione inferiore
Cambiameto di rate e codifica DR = Stato di Decremento IR = Stato di Incremento Q1, Q2, Q3: Stati di codifica MPEG Esempio: supponiamo di trovarci in Q1 Se la stima della bandwidth eccede l’ultimo valore, andiamo da Q1 a IR1. Controlliamo se la bandwidth e’ sufficiente per supportare Q2. Se non lo e’, incrementiamo il rate e ritorniamo in Q1. Altrimenti, andiamo in Q2.
VTP vs TFRC con errori VTP vs TFRC con perdite casuali – stessa traccia video per entrambi
CONCLUSIONI • Integrazione di Internet con ambiente wireless: caratteristiche e problematiche • Analisi critica di soluzioni differenti • Esempio di applicazione derivata da una delle soluzioni proposte