Title: TCP E APPLICAZIONI IN AMBIENTE WIRELESS
1TCP E APPLICAZIONI IN AMBIENTE WIRELESS
Alma Mater Studiorum Università di Bologna
Facoltà di Scienze Matematiche Fisiche e Naturali
Corso di laurea in Scienze dellInformazione
Sistemi e Applicazioni Multimediali
Claudio Enrico Palazzi cpalazzi_at_cs.unibo.it
27 aprile 2004
2Internet e wireless 1/2
- Crescita del traffico di Internet e della sua
importanza nel quotidiano - Aumento esponenziale nellutilizzo di
dispositivi mobili (computer portatili, telefoni
cellulari, PDA, ) - Incremento nellutilizzo delle connessioni
wireless in generale (Hot Spots, Satelliti, )
3Internet 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
4SOMMARIO
- Principali funzioni del TCP
- Problematiche proprie 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.
5Collocazione di TCP
OSI - ISO
Internet
Applicazione Presentazione Sessione Trasporto Rete
Collegamento Fisico
Applicazione
Trasporto -
TCP
Rete
Collegamento
6Caratteristiche 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
7TCP Controllo della Congestione
8Contesto Wireless
9Diagramma interazione TCP-Wireless
BER elevato
Incapac. distinz. errore congest.
Latenza variab.
Disconn. handoff e fading
Errori in burst
Latenza elevata
Pacch. piccoli framm.
Bandwidth bassa
Bandwidth variabile
Diffic. stima RTT-RTO
Perdita di tanti pacchetti
Timeout a sproposito
Restringimento finestra di invio
Ritrasmiss. ridondanti
Spreco di Bandwidth
Spreco di Energia
Spreco di tempo
Legenda
Caratteristica wireless
Caratteristica TCP
Problema conseguente
Data Rate basso
10Tassonomia delle soluzioni (livello di trasporto)
- Divisione della connessione
- Ritrasmissioni locali
- Tempestività nellintervenire 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
11Protocolli di trasporto
Divisione della connessione
TCP tradizionali
End-to-End puri
- 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
12Snoop 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.
13Snoop Protocol Esempio (1/9)
16
17
18
15
20
19
17
18
16
16
14
ack
dati
in cache
perso
Legenda
dupack
14Snoop Protocol Esempio (2/9)
16
17
18
15
19
21
20
18
19
16
16
14
ack
dati
in cache
perso
Legenda
dupack
15Snoop Protocol Esempio (3/9)
17
18
19
20
22
21
19
20
18
16
16
16
14
ack
dati
in cache
perso
Legenda
dupack
16Snoop Protocol Esempio (4/9)
17
18
19
20
21
19
23
22
20
21
18
16
16
16
16
ack
dati
in cache
perso
Legenda
dupack
17Snoop Protocol Esempio (5/9)
17
18
19
20
21
22
20
Ritrasmissione
19
24
23
21
17
18
16
16
16
16
16
Dupack scartati da BS
ack
dati
in cache
perso
Legenda
dupack
18Snoop Protocol Esempio (6/9)
17
18
19
21
20
21
22
23
20
19
25
24
17
22
18
16
16
16
16
Dupack scartati da BS
16
ack
dati
in cache
perso
Legenda
dupack
19Snoop Protocol Esempio (8/9)
17
18
19
25
20
21
22
23
24
27
26
23
24
21
21
Niente Fast Retransmit
16
Dupack scartati da BS
16
16
16
ack
dati
in cache
perso
Legenda
dupack
20Snoop Protocol Esempio (7/9)
17
17
18
19
21
20
21
22
23
24
20
19
26
25
22
23
18
16
16
21
Niente Fast Retransmit
16
Dupack scartati da BS
16
16
ack
dati
in cache
perso
Legenda
dupack
21Snoop Protocol Esempio (9/9)
25
26
22
23
24
28
27
24
25
21
23
21
ack
dati
in cache
perso
Legenda
dupack
22Snoop 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)
23TCP 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
- ssthreshBWERTTmin
- anziché TCP Reno
- Ssthresh cwnd/2
- se(cwnd gt ssthresh) allora cwndssthresh
- ssthreshBWERTTmin
- anziché TCP Reno
- Ssthresh cwnd/2
- cwnd 1
Arrivo di tre dupack
Scadenza di timeout
24TCP Westwood (1/3)
dk (bit ricevuti nellintervallo)
tk-1
tk
tk1
- La prima (e piu semplice) versione di TCPW
utilizzava uno stimatore di bandwidth (BWE) dato
da
campione
filtro esponenziale
guadagno del filtro
25TCP Westwood (2/3)
dk
dk-1
tk
(intervallo di campionamento)
T
- Stima della bandwidth ottenuta per aggregazione
dei dati ricevuti durante lintervallo T.
campione
filtro esponenziale
guadagno del filtro
26TCP Westwood (3/3)
- La dimensione dellintervallo 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
27TCP Westwood (ssthresh a confronto)
cwnd
TCP Westwood
TCP Reno
capacità del canale
ssthresh BWE RTTmin
guadagno
ssthresh media TCP Reno
tempo
Perdite casuali
28TCP 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?
29Analisi 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
30Videostreaming - 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
31Approcci 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
32Caratteristiche 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.
33VTP 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
34Stima 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)(bibi-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)
35Algoritmo 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
36Cambiameto 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 lultimo 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.
37VTP vs TFRC con errori
VTP vs TFRC con perdite casuali stessa traccia
video per entrambi
38CONCLUSIONI
- Integrazione di Internet con ambiente wireless
caratteristiche e problematiche - Analisi critica di soluzioni differenti
- Esempio di applicazione derivata da una delle
soluzioni proposte