2
quest’ambito, molti ricercatori come C. Dust, L. Wood, M. Marchese hanno studiato le
proprietà dei protocolli nell’Internet Protocol Suite, se utilizzati in ambito satellitare.
In questa tesi ci concentreremo sul protocollo TCP, descrivendo le sue
caratteristiche, i problemi legati al suo utilizzo in ambito satellitare e le numerose
proposte di modifiche ed estensioni avanzate nella letteratura degli ultimi anni.
Il TCP è originariamente nato per essere utilizzato su reti wired, per cui mal si
presta alle comunicazioni wireless che hanno per natura caratteristiche diverse dalle
reti cablate. Per esempio, consideriamo un satellite GEO il cui canale presenta grandi
ritardi di propagazione che possono essere dell’ordine di 250ms. In queste condizioni,
il throughput tra sender e receiver che usano il protocollo TCP è fortemente limitato
dall’RTT (Round Trip Time) del link in quanto il throughput è dato dall’equazione:
throughput
max
= advertise window / RTT, dunque un grande RTT produrrà
necessariamente un piccolo throughput.
Per risolvere questo tipo di problemi, sono state presentate in letteratura
numerose estensioni al protocollo TCP. Tuttavia, nonostante il grande numero di lavori
pubblicati, mancano quasi totalmente lavori di rassegna sistematica che mettano in
evidenza i meriti e le caratteristiche dei vari approcci collocandoli in un framework
unitario che permetta di cogliere i meriti relativi. Inoltre, mancano quasi del tutto lavori
di confronto sul campo, in base a simulazioni o misure comparative.
Questa tesi cerca di fare un primo passo verso uno studio comparativo dei vari
approcci presentando una rassegna completa dei lavori presentatati sulle principali
riviste del settore e proponendo uno schema di classificazione.
La tesi si divide in nove capitoli. Il Capitolo 2 introduce le reti satellitari e ne
discute le principali caratteristiche. Il Capitolo 3 richiama le caratteristiche del TCP
sottolineando le cause di degrado del TCP “puro” in sistemi satellitari. I Capitoli 4, 5 e
6 analizzano i principali protocolli satellitari proposti in letteratura suddivisi in tre
classi a seconda del loro livello di utilizzo nello stack TCP/IP. Il quarto Capitolo
analizza quindi la prima classe di migliorie proposte per protocollo TCP apportate a
livello Applicazione in cui rientrano quelle modifiche apportate al TCP ma che
vengono utilizzate a livello Applicazione. Si discute per esempio come modificare i
3
protocolli FTP o HTTP per ottenere migliori prestazioni in ambito satellitare. Il
Capitolo 5 analizza la seconda classe ove rientrano tutte quelle modifiche apportate
unicamente a livello Trasporto. In questa seconda classe sono stati analizzati dei nuovi
protocolli TCP-based alcuni dei quali hanno subito profonde modifiche per meglio
adattarsi alle caratteristiche dei canali satellitari. Il Capitolo 6 tratta infine l’ultima
classe che raggruppa tutte le modifiche apportate sotto il livello Trasporto. Si discute
quindi di tutti quei miglioramenti implementati a livello Link che vengono utilizzati in
maniera del tutto trasparente dagli strati superiori. Tra queste possiamo includere la
tecnica del Foward Error Correction o l’utilizzo di Proxy che nascondono i ritardi
presenti sul link. Il settimo Capitolo confronta tra loro i principali schemi TCP in
ambiente satellitare analizzando il loro comportamento e le loro prestazioni. L’ottavo
Capitolo evidenzia come alcuni dei “recenti” miglioramenti del TCP utilizzati in
ambienti wired siano da evitare in sistemi satellitari. Infine il Capitolo 9 trae le
conclusioni ed indica possibili sviluppi futuri.
4
5
2 I SATELLITI
In questo Capitolo, saranno analizzate le caratteristiche generali dei satelliti
artificiali, descrivendo il loro funzionamento per una migliore comprensione dei
vantaggi e delle problematiche presenti nelle comunicazioni digitali. Verrà
presentato inoltre il loro ruolo nel mercato delle comunicazioni e la loro diffusione.
2.1 Caratteristiche principali di un satellite:
Un satellite artificiale è un manufatto umano, situato nell’orbita terrestre, che
permette di effettuare comunicazioni wireless da un punto della superficie del pianeta
ad un altro punto della Terra [28, 84]. Per le trasmissioni ogni satellite è dotato di molti
trasponder ognuno dei quali ha una banda di molti Mbps. Infatti un satellite contiene
hardware e software per processare, indirizzare e trasmettere un segnale radio da e
verso una o più destinazioni sulla terra. Negli ultimi anni è stato investito molto denaro
in ricerca e sviluppo affinché questo potesse avvenire nella maniera più economica e
redditizia possibile consentendo di abbattere i prezzi dei sistemi satellitari,
permettendone addirittura un uso personale.
Un satellite è alimentato da batterie ricaricate dall’energia solare. Non si deve
tuttavia pensare che un satellite trasmetta con continuità o che non abbia problemi di
energia. Infatti per esempio quando la Terra si trova tra il Sole e il satellite è necessario
diminuire drasticamente il consumo di energia per esempio diminuendo o azzerando le
trasmissioni. La piattaforma è principalmente costituita da:
• parte strutturale fabbricata principalmente in fibra di carbonio e alluminio.
• sistema di controllo/gestione dati ed invio di questi a terra.
• sistema di potenza composto da batterie ricaricabili e da pannelli solari.
• sistema di controllo termico per garantire a tutti gli equipaggiamenti la
temperatura ambientale appropriata durante tutta la vita operativa.
6
• sistema di propulsione costituito da razzi, serbatoi, propellente e da sistemi
per regolarne il flusso. La propulsione permette di eseguire le manovre
orbitali e di controllare l’assetto del satellite.
• sistema di controllo di assetto, composto da sensori di assetto (sensori stellari,
di sole, di terra, magnetometri e giroscopi) e da attuatori di assetto (ruote di
inerzia, razzetti), preposto al mantenimento del corretto orientamento del
satellite.
I ripetitori (transponders) possono gestire una larghezza di banda assegnata (fino a 72
MHz nei satelliti più recenti); il numero di transponders ospitato a bordo varia a
seconda delle dimensioni del satellite. Il transponder ha la funzione di ricevere il
segnale da terra e di rigenerare e/o amplificare il segnale stesso per la ritrasmissione a
terra. Esso è costituito da:
• filtro passa-basso progettato per separare il segnale utile ricevuto dagli altri
segnali interferenti;
• amplificatore a basso rumore;
• convertitore di frequenza che converte il segnale trasmesso alla frequenza di
6GHz in up-link ad un segnale a 4GHz in down-link;
• Travelling wave tube amplifier allo scopo di amplificare il segnale in banda
larga.
Esistono varie tipologie di satelliti e vari tipi di orbite in cui questi sono inseriti.
Principalmente esistono almeno 3 tipi di orbite che si distinguono per le diverse
distanze dalla Terra. Queste distanze dal suolo possono essere basse, medie o alte
(geostazionarie), come mostrato in Figura 1 [28].
7
Figura 1 : Orbite LEO, MEO, GEO.
Un satellite collocato a bassa quota (tra i 500 e i 2000 Km) per rimanere a questa
altezza e non precipitare per effetto della gravità deve necessariamente avere un breve
periodo di rotazione attorno alla terra e quindi un’alta velocità rispetto al suolo terreste.
L’area del suolo che questo riesce a coprire in trasmissione e in ricezione è alquanto
ridotta a causa dell’orbita relativamente bassa. Al contrario un satellite in orbita
geostazionaria è molto più distante dalla terra (circa 36.000 km sopra l’equatore)
fattore che gli consente di rimanere stazionario rispetto ad un punto sulla terra e di
coprire quindi un terzo della superficie terrestre. Una via di mezzo sono quei satelliti
che hanno un orbita a media quota situata tra i 9000 e 11.000 km. Questi hanno una
maggiore copertura della superficie rispetto ad un satellite a bassa quota ma minore
rispetto ad uno geostazionario.
La superficie della terra può essere suddivisa in celle. Ogni cella rappresenta l’area che
un satellite riesce a coprire col proprio segnale. Un utente in una cella può essere
servito da uno o più satelliti. Come si vede dalle Figure 2, 3 e 4 (realizzate tramite il
software SaVi [80,74]) la superficie terreste è “illuminata” da più satelliti
8
contemporaneamente. Ogni cella rappresenta quello che si chiama “footprint” del
satellite, appunto l’area in cui questo riesce a ricevere/trasmettere.
Figura 2 : Footprint di una costellazione LEO (SaVi).
Figura 3 : Footprint di una costellazione MEO (SaVi).
9
Figura 4 : Footprint di una costellazione GEO (SaVi).
Le orbite in cui sono collocati i satelliti permettono di individuare 3 gruppi principali.
Il primo gruppo, LEO (Low Earth Orbit), caratterizza quei satelliti a bassa quota che
sono in rapido movimento rispetto alla superficie della terra, apparendo e scomparendo
molte volte dalla “visibilità” dell’utente rendono quindi necessario un frequente hand-
off (ovvero il trasferimento di una comunicazione da un satellite in movimento ad un
altro per rendere continua la comunicazione stessa) tra l’utente e il successivo satellite
che lo servirà. Avendo una quota così bassa la superficie coperta sarà ridotta quindi
sarà necessario un gran numero di satelliti LEO per una copertura globale. Un satellite
MEO (Medium Earth Orbit) ha una velocità rispetto al suolo più bassa di un LEO ma è
necessario, anche se in minor misura, un frequente hand-off. Questi tipi di satelliti
hanno quindi una superficie di copertura maggiore rispetto ai LEO grazie alla loro
maggiore altezza. I satelliti GEO (Figura 4), non necessitano in genere di hand-off in
quanto tre di questi sono sufficienti a coprire la maggior parte della Terra ad eccezione
delle aree polari. Questi tipi di satelliti vengono utilizzati essenzialmente come
ripetitori (bent-pipe) che fanno rimbalzare il segnale da un punto ad un altro senza
alcun tipo di calcolo di routing sul satellite. L’utilizzatore finale dunque si aspetta una
continua copertura che garantisca comunicazioni senza interruzioni in qualsiasi luogo
della terra e in maniera del tutto trasparente.
Di seguito riportiamo una tabella che riassume le principali caratteristiche di
varie costellazioni satellitari dei principali provider mondiali [28].
10
Tabella 1 : Caratteristiche dei satelliti LEO/MEO/GEO.
Possiamo vedere dalla Tabella come gli otto provider in questione dispongano di un
numero molto diverso di satelliti che variano nel tipo di orbita, altitudine e
caratteristiche. Solo questi otto provider dispongono di più di mille satelliti!
2.2 Architettura del sistema di comunicazione satellitare:
Un sistema di telecomunicazioni satellitare è composto da più elementi, di
diversa natura e collocazione, che cooperando rendono possibile la realizzazione di
una rete satellitare. In primis, naturalmente, vi sono i satelliti veri e propri. Ogni
compagnia di telecomunicazioni mette in orbita e detiene il controllo di decine o
centinaia di satelliti. Sul suolo invece sono presenti gli apparati di
trasmissione/ricezione dette Ground Station. Queste stazioni dispongono di parabole di
grandi dimensioni (4-10 m di diametro) usate per ricevere e trasmettere verso il
satellite. Le Ground Station sono sempre sotto il totale controllo del gestore del
servizio satellitare. Vi sono tuttavia parabole di più piccole dimensioni (65-240 cm di
diametro) destinate per esempio agli utenti privati che ne richiedono il servizio.
Quest’ultime, a seconda del tipo, permettono di ricevere e inviare dati verso il satellite
11
verso cui sono puntate. Un host quindi può essere in comunicazione diretta con un
satellite semplicemente tramite una parabola e un modem satellitare. Tuttavia, per delle
migliori prestazioni, è meglio frapporre Gateway o Proxy con protocolli specifici tra
l’host e il satellite come vedremo nella sezione dedicata ai PEP (sezione 6.3). Entriamo
maggiormente nel dettaglio analizzando la Figura 5 [19].
Figura 5 : Esempio di scenari d'uso.
La Figura 5 descrive l’utilizzo di due tipi di satellite, il LEO e il GEO, che consentono
a due o più Ground Station distanti tra loro di comunicare tramite i link che il satellite
riesce a creare. Sono mostrati 3 tipici scenari d’uso. Il primo scenario mostra come un
satellite di tipo LEO, dunque a bassa quota, riesca a mettere in comunicazione due
Ground Station poste entrambe all’interno del proprio footprint. In questa circostanza il
satellite si comporta come ripetitore facendo rimbalzare il segnale da una parte
all’altra. Lo scenario 3, simile al primo, utilizza invece un satellite GEO che riesce a
mettere in comunicazione due Ground Station molto distanti tra loro ma sempre
all’interno del proprio footprint. Infine, lo scenario 2 mostra l’utilizzo di più satelliti
LEO per mettere in comunicazione due Ground Station anche esse molto distanti tra
loro. In questo caso particolare, ma molto frequente, i LEO sono collegati da un ISL
12
(Inter Satellite Link) che consente di scambiare dati tra satelliti con footprint diversi
senza far rimbalzare il messaggio a una della Ground Station a terra.
In ogni scenario presente nella Figura 5 un utente, rappresentato dai server o client,
deve essere messo in comunicazione tramite un sistema di comunicazioni cablato
punto a punto con un apparato di trasmissione satellitare. Questo permette di collegare
gli utenti (client o server) ad un Gateway (in genere una Ground Station) che fornisce
il servizio.
2.2.1 Network Satellitari
Come abbiamo già discusso, una costellazione di satelliti riesce a creare un
network satellitare utilizzando link che un satellite è in grado di creare tra sé e 2
stazioni a terra o con un altro satellite. Questi link possono essere principalmente di 2
tipi. Il primo è quello che collega un gateway con un altro attraverso un solo satellite
(scenario 1 e 3). Questo avviene quando il footprint del satellite copre sia il gateway di
partenza che quello di arrivo. Il secondo tipo di link viene realizzato quando più
satelliti cooperano per mettere in comunicazione due gateway molto distanti
utilizzando la possibilità di comunicare tra loro attraverso onde radio o laser. Quindi un
satellite è dotato al suo interno di hardware e software per lo switching di messaggi.
Questo permette di indirizzare un segnale in ingresso sul giusto canale di output che,
come detto sopra, può essere un’antenna rivolta al suolo o un laser indirizzato verso un
altro satellite. Questo genere di collegamento consente di creare in una costellazione di
satelliti un vero e proprio Autonomous System (AS). Naturalmente in questo caso è
necessario risolvere problemi di routing che non si presentano in una topologia statica
in quanto i satelliti sono in continuo movimento.
È importante tener presente che nei sistemi LEO lo smistamento dei messaggi è
un aspetto cruciale in quanto questo deve avvenire nella maniera più rapida possibile.
Infatti è importante che al tempo di propagazione di 3-8ms non si aggiunga un
13
ulteriore overhead che peserebbe molto più su questo tipo di sistema piuttosto che sui
MEO o GEO.
2.2.2 Caratteristiche delle trasmissioni satellitari
Le più comuni frequenze usate per comunicazioni satellitari sono le C band (4-8
GHz) e la Ka band (18-31 GHz). Maggiore è la frequenza e più piccola sarà l’antenna
per la ricezione del segnale. Tuttavia vi sono sempre le interferenze che possono essere
dovute sia ad altre trasmissioni via radio sia semplicemente all’azione dell’atmosfera
terrestre, la quale, se soggetta a violenti temporali, può in effetti disturbare il segnale,
in particolare, si verifica che le perturbazioni atmosferiche hanno ripercussioni tanto
maggiori quanto maggiore è la gamma di frequenze utilizzata dal satellite: questo fa si
che si tratti di un problema rilevante soprattutto per quei satelliti (lanciati
recentemente) che trasmettono sulla Ka band [28, 72, 26]. Inoltre le trasmissioni sono
soggette ad ostacoli come monti o edifici e le alte frequenze utilizzate sono influenzate
da nubi o da interferenze causate dai raggi solari. Tutto ciò porta ad una oscillazione
della qualità del segnale piuttosto ampia e non prevedibile.
Un’altra cosa importante da osservare è che i satelliti situati su un’orbita
equatoriale possono servire stazioni terrestri solo fino ad una determinata latitudine.
Inoltre con il crescere della latitudine cresce il tasso d’errore nella trasmissione via
satellite: infatti, minore è l’angolo di inclinazione dell’antenna usata per puntare il
satellite, maggiore è lo strato di atmosfera che il segnale deve attraversare e quindi
maggiore è la probabilità di errore per la trasmissione dati. Nel campo della
trasmissione via satellite, l’errore di trasmissione ha degli effetti particolarmente
deleteri, dati i lunghi tempi di propagazione del segnale. Per ovviare a questo
inconveniente sono state utilizzate sofisticate tecniche di codifica che permettano la
ricostruzione esatta dei segnali senza necessità di ritrasmissione, si tratta di tecniche
cosiddette di “Forward Error Correction” (FEC) (sezione 6.2).
14
2.2.3 Sommario delle caratteristiche delle varie reti satellitari:
I satelliti offrono per loro natura numerosi vantaggi. Tra questi sicuramente vi è
la naturale predisposizione a coprire un’ampia area geografica. Questo permette di
raggiungere luoghi isolati o comunque difficilmente accessibili con altri mezzi come
per esempio le reti cellulari. Il costo della comunicazione via satellite inoltre è
indipendente dalla distanza tra le stazioni terrestri. Infine, grazie alla capacità di
diffusione (broadcasting), lo switching della comunicazione verso diversi destinatari si
realizza facilmente e senza unità specificamente dedicate a questa funzione. Anche se
il costo della messa in opera e della manutenzione dei satelliti è molto elevato, è
sicuramente minore di quello necessario a cablare la stessa area che coprirebbe un
singolo satellite.
A questo punto ci si potrebbe chiedere quale sistema LEO, MEO e GEO sia
migliore o in quale ambito è meglio usare uno piuttosto che un altro. Riportiamo in
Tabella 2 i differenti fattori d’influenza di ciascun sistema evidenziandone i vantaggi e
gli svantaggi (la Tabella è tratta da [28]) :
Tabella 2 : Tabella comparativa dei diversi sistemi satellitari.