La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

TCP E APPLICAZIONI IN AMBIENTE WIRELESS Claudio Enrico Alma Mater Studiorum – Università di Bologna 27 aprile 2004 Facoltà.

Presentazioni simili


Presentazione sul tema: "TCP E APPLICAZIONI IN AMBIENTE WIRELESS Claudio Enrico Alma Mater Studiorum – Università di Bologna 27 aprile 2004 Facoltà."— Transcript della presentazione:

1 TCP E APPLICAZIONI IN AMBIENTE WIRELESS Claudio Enrico Palazzicpalazzi@cs.unibo.it Alma Mater Studiorum – Università di Bologna 27 aprile 2004 Facoltà di Scienze Matematiche Fisiche e Naturali Corso di laurea in Scienze dell’Informazione Sistemi e Applicazioni Multimediali

2 Internet e wireless 1/2 Situazione attuale: – 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, …) Ad Hoc Internet Last Hop Sat

3 Internet e wireless 2/2 Prospettiva futura: – 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”

4 SOMMARIO I.Principali funzioni del TCP II.Problematiche proprie di un ambiente wireless con particolare attenzione a quelle correlate con il TCP III.Tipologia di soluzioni proposte ed esempi (Snoop Protocol, TCP Westwood) IV.Un applicazione pratica per lo streaming video.

5 Collocazione di TCP Applicazione Presentazione Sessione Trasporto Rete Collegamento Fisico OSI - ISOInternet Applicazione Trasporto - Rete Collegamento TCP

6 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

7 TCP: Controllo della Congestione

8 Contesto Wireless Ad Hoc Internet Last Hop Sat

9 Diagramma interazione TCP-Wireless BER elevato Incapac. distinz. errore – congest. Latenza variab. Disconn. handoff e fading Errori in burst Latenza elevata Pacch. piccoli: framm. Perdita di tanti pacchetti Diffic. stima RTT-RTO Timeout a sproposito Spreco di Energia Ritrasmiss. ridondanti Restringimento finestra di invio Spreco di tempo Spreco di Bandwidth Data Rate basso Bandwidth bassa Bandwidth variabile Caratteristica wireless Caratteristica TCP Problema conseguente Legenda:

10 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

11 Protocolli di trasporto I-TCP M-TCP Snoop Protocol Delayed Dupacks TCP-Aware Freeze-TCP TCP Probing WTCP Fast TCP TCP Westwood TCP Reno TCP New Reno TCP Vegas TCP Sack TCP tradizionali: Divisione della connessione: End-to-End puri:

12 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. Internet Base Station (Snoop Agent) TCP modificato

13 Snoop Protocol – Esempio (1/9) 20191718 1614 16171815 ack datiin cacheperso Legenda: dupack 16

14 Snoop Protocol – Esempio (2/9) 21201819 1614 1617181519 ack datiin cacheperso Legenda: dupack 16

15 Snoop Protocol – Esempio (3/9) 22211920 16 1718 20 ack datiin cacheperso Legenda: 19 dupack 14 18 16

16 Snoop Protocol – Esempio (4/9) 23222021 16 1718 20 ack datiin cacheperso Legenda: 19 dupack 21 16 19 18 16

17 Snoop Protocol – Esempio (5/9) 24232117 16 1718 20 ack datiin cacheperso Legenda: 19 dupack 21 16 22 16 Dupack scartati da BS Ritrasmissione 20 16 19 18 16

18 Snoop Protocol – Esempio (6/9) 25241722 16 1718 20 ack datiin cacheperso Legenda: 19 dupack 21 16 22 16 Dupack scartati da BS 23 16 21 20 19 18 16

19 Snoop Protocol – Esempio (8/9) 27262324 21 1718 20 ack datiin cacheperso Legenda: 19 dupack 2122 16 Dupack scartati da BS 23 16 24 16 25 Niente Fast Retransmit 21

20 Snoop Protocol – Esempio (7/9) 26252223 16 1718 20 ack datiin cacheperso Legenda: 19 dupack 21 22 16 Dupack scartati da BS 23 16 24 16 Niente Fast Retransmit 17 21 20 19 18 16

21 Snoop Protocol – Esempio (9/9) 28272425 23 ack datiin cacheperso Legenda: dupack 222324 2526 21

22 Snoop Protocol: Pro & Cons 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)

23 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:

24 TCP Westwood (1/3) La prima (e piu’ semplice) versione di TCPW utilizzava uno stimatore di bandwidth (BWE) dato da: t k-1 tktk d k (bit ricevuti nell’intervallo) campione filtro esponenziale guadagno del filtro t k+1

25 TCP Westwood (2/3) Stima della bandwidth ottenuta per aggregazione dei dati ricevuti durante l’intervallo T. campione filtro esponenziale guadagno del filtro dkdk T d k-1 tktk (intervallo di campionamento)

26 TCP Westwood (3/3) La dimensione dell’intervallo di campionamento viene continuamente adattato seguendo il livello di congestione misurato TkTk con congestione: T k cresce (risulta una stima piu’ prudente) TkTk adattamento continuo senza congestione: T k = inter ACK (risulta una stima piu’ aggressiva) Throughput massimo, assumendo che non vi sia congestione nel collegamento Throughput corrente reale

27 TCP Westwood (ssthresh a confronto) cwnd tempo ssthresh = BWE * RTTmin capacità del canale TCP Westwood TCP Reno Perdite casuali ssthresh media TCP Reno guadagno

28 TCP Westwood: Pro & Cons 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?

29 Analisi attraverso un modello di confronto 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 Snoop Westwood Legenda:

30 Videostreaming - Background Applicazioni Internet multimedia streaming in aumento La maggior parte di real-time video utilizza UDP: –nessun controllo della congestione –no ACK, no ritrasmissioni –pacchetti di dati inviati con rate prestabilito dal mittente. –potenziale collasso della congestione Ricerca di soluzioni alternative volte a creare dei protocolli per lo streamin video (ma anche audio) che incorporino meccanismi di controllo della congestione

31 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

32 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.

33 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

34 Stima della Bandwidth Il ricevente stima la Bandwidth disponibile Tecnica di stima della Bandwidth ispirata al meccanismo di TCP Westwood): B i =(  )B i-1 +(1-  )(b i +b i-1 )/2 B i :stima della bandwidth b i :bandwidth sample (bits_nel_pacchetto/ intervallo tra arrivo di pacchetti)  :coefficiente modificabile Il ricevente retro-invia al mittente la stima della bandwidth periodicamente (almeno ogni RTT)

35 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

36 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.

37 VTP vs TFRC con errori VTP vs TFRC con perdite casuali – stessa traccia video per entrambi

38 CONCLUSIONI Integrazione di Internet con ambiente wireless: caratteristiche e problematiche Analisi critica di soluzioni differenti Esempio di applicazione derivata da una delle soluzioni proposte


Scaricare ppt "TCP E APPLICAZIONI IN AMBIENTE WIRELESS Claudio Enrico Alma Mater Studiorum – Università di Bologna 27 aprile 2004 Facoltà."

Presentazioni simili


Annunci Google