Introduzione
Molte applicazioni dell’Internet odierno vengono usate per l’accesso a risorse come processi
server o pezzi di informazione che sono disponibili in numerose repliche su host differenti.
Tra le applicazioni sono inclusi sicuramente i sistemi di filesharing P2P bench´ e questi non
esauriscano completamente i possibili programmi d’utente. Le reti P2P sono reti paritarie,
ossia reti di computer (o comunque reti informatiche) che non posseggono nodi gerarchizzati
come client o server fissi (clienti e serventi), ma un numero di nodi equivalenti (i peer) che
fungono sia da cliente che da servente verso altri nodi della rete.
Oggi una parte molto significativa del traffico in Internet ` e generato proprio dalle applica-
zioni P2P usate per il file sharing ma anche per le comunicazioni in real time e lo streaming
live. Non ` e un caso che le applicazioni P2P si sono guadagnate l’appellativo di “applicazioni
killer” della rete a causa della loro caratteristica di inondare la rete di messaggi, fenomeno
che pu` o causare talvolta problemi di congestionamento sui link. Dal 1999, con la nascita di
Napster, i sistemi P2P si sono evoluti molto rapidamente consentendo una maggiore efficien-
za dell’uso delle risorse e soprattutto si sono dotati di meccanismi di ricerca del contenuto
avanzati come quelli supportati dalle DHT.
Tra i maggiori protocolli P2P adoperati dagli utenti c’` e sicuramente BitTorrent che, a
differenza dei tradizionali sistemi di file sharing, ha come obiettivo quello di realizzare e
fornire un sistema efficiente per distribuire lo stesso file (in genere di grosse dimensioni)
verso il maggior numero di utenti disponibili sia che lo stiano prelevando (download) che
inviando (upload). Si tratta quindi di un meccanismo per coordinare in automatico il lavoro
di moltitudini di computer, ottenendo il miglior beneficio comune possibile. In genere esso
viene in soccorso delle aziende produttrici di software o videogiochi che vogliono rilasciare
una nuova versione di un’applicazione o magari una patch e non possono permettersi l’uso di
un sistema di server che collasserebbe sotto il peso di un numero troppo elevato di richieste
i
Capitolo 0. Introduzione ii
avanzate in un breve periodo di tempo (fenomeno del picco di popolarit` a).
Le applicazioni citate trattano quindi grandi quantit` a di dati scambiati con connessioni
dirette in P2P ma in genere esse hanno una scarsa conoscenza della topologia sottostante sia
a livello di overlay che di rete fisica. Di conseguenza esse possono selezionare i peer con cui
relazionarsi solo sulla base di misure e statistiche che di solito possono condurre a scelte per
niente ottime.
Questo problema ` e noto in letteratura col nome di ALTO (Application-Layer Traffic Op-
timization). Il termine pu` o essere riferito a tutti quei sistemi in cui esistono meccanismi che
consentano di selezionare in maniera ottima (o quasi) l’insieme di peer che posseggono la
risorsa desiderata. Lo scopo ultimo ` e quello di ottimizzare le performance (o comunque la
qualit` a percepita dall’utente) dell’applicazione e al contempo minimizzare il consumo delle
risorse dell’infrastruttura sottostante.
In realt` a i sistemi ALTO potranno essere adoperati anche per applicazioni non P2P. Per
esempio anche un sistema distribuito di tipo client-server pu` o consentire ai client una selezione
ottima del server cui accedere (ci`o` e sicuramente di interesse dei provider CDN). Oppure le
informazioni di un server ALTO possono essere adoperate per selezionare il miglior nodo di
appoggio quando non ` e possibile collegarsi direttamente a delle risorse dietro NAT.
L’impiego dei sistemi ALTO non ` e di interesse esclusivo delle reti P2P che possono be-
neficiare di informazioni per migliorare le proprie performance (come ad esempio il tempo
di download) ma ` e desiderabile anche da parte dei gestori delle reti. Infatti i sistemi P2P
mandano spesso in crisi gli ingegneri del traffico in quanto sono estremamente imprevedibili
le connessioni che si vengono a realizzare nell’overlay. Questo comporta magari l’uso di link
inter-dominio costosi o il congestionamento di link che l’ISP vorrebbe riservare a certi uten-
ti che pagano di piu. ` Fornire un servizio ALTO in simbiosi con l’ISP consente al Provider
di poter guidare la costruzione dell’overlay ottenendo interessanti benefici anche dal proprio
punto di vista.
Il problema dell’uso efficiente delle risorse ` e ancora piu ` sentito nel contesto wireless ove
l’aria rappresenta una risorsa condivisa e perci` o da sfruttare con criterio. Nell’ambito delle
reti wireless si sta diffondendo negli ultimi anni una nuova tipologia di rete: le Reti Wireless
Mesh.
Le Wireless Mesh Networks sono costituite da un rete di router wireless che raccolgono e
Capitolo 0. Introduzione iii
inoltrano il traffico generato dagli utenti della rete. I Mesh Router hanno una mobilit` a limitata
(quasi assente) e sono connessi appunto mediante connessioni senza filo. Alcuni Mesh Router,
equipaggiati con le necessarie funzionalit` a di gateway e bridging, permettono l’integrazione
delle WMN con altre reti e tecnologie. I Mesh Client sono tipicamente apparati mobili che
utilizzano i Mesh Router per inviare informazioni alle destinazione desiderata. L’assenza
di una infrastruttura fisica rende le WMN estremamente attraenti per svariate applicazioni.
Accesso wireless alla rete di operatori ISP, backbone wireless per aziende, automazione di
edifici, reti per piccole comunit` a e per quartieri residenziali sono soltanto alcuni degli esempi
di applicazioni che possono beneficiare delle WMN.
Purtroppo le comunicazioni wireless sono soggette a interferenze dovute all’interazione tra
i vari nodi e all’interazione della rete con l’ambiente esterno. In particolare nodi adiacenti
facenti parte di uno stesso path o path “vicini” possono notevolmente aumentare il livello di
interferenza della rete. Tali problemi possomo essere in parte limitati utilizzando differenti
canali di trasmissione. Nel caso di nodi con singola interfaccia radio, l’utilizzo di canali diffe-
renti porta inevitabilmente a disconnettere parte dei nodi: ogni nodo ` e capace di comunicare
soltanto con i nodi che usano lo stesso canale. A tal scopo, per trarre il massimo vantaggio
dall’uso di canali multipli su una singola interfaccia radio, ` e necessario introdurre meccanismi
di commutazione del canale per ogni singolo nodo. Qualora fossero previste piu ` interfacce
radio su uno stesso nodo, invece, ` e possibile ancora sfruttare la disponibilit`adipi u`canali
attraverso una loro assegnazione statica. Usando piu ` canali con piu ` interfacce radio ` e possi-
bile aumentare il throughput della rete. I sistemi ALTO in tal senso possono consentire una
efficiente assegnazione del canale e una distribuzione razionale della banda.
Scopo di questo lavoro di tesi ` e quello di analizzare i benefici che si possono trarre dal-
l’impiego di una particolare soluzione di tipo ALTO in un contesto misto che vede una rete
wireless mesh inserita in un contesto piu ` generale di tipo wired. La particolare soluzione si ba-
sa sull’impiego di un “oracolo” ossia un’entit` a gestita dai provider di rete la quale, possedendo
informazioni sulla topologia fisica e su altre caratteristiche della rete, ` e capace di guidare la
scelta dei peer in un sistema P2P. Piu ` precisamente si eseguiranno delle simulazioni con il
simulatore di rete Ns-2 in cui il sistema P2P adotta il protocollo BitTorrent.
Questo lavoro ` e strutturato come segue: il capitolo 1 offre una panoramica sull’attuale
infrastruttura di internet e le tecnologie in essa adoperate; il capitolo 2 analizza riassuntiva-
Capitolo 0. Introduzione iv
mente i diversi sistemi P2P nella loro successione temporale; il capitolo 3 descrive in dettaglio
l’architettura di BitTorrent e il protocollo con i suoi messaggi; il capitolo 4 offre una descrizio-
ne piu ` o meno approfondita in merito alle reti wireless mesh; il capitolo 5 descrive il problema
ALTO e le possibili soluzioni per affrontarlo; il capitolo 6 infine descrive i risultati della si-
mulazione del protocollo BitTorrent in uno scenario misto wireless mesh-wired adottando un
servizio di oracolo per la selezione dei peer.
Capitolo 1
Le reti di calcolatori
Il termine internet ` e oggi ampiamente associato ad una serie di servizi e funzioni di cui pu` o
usufruire qualunque utente provvisto di un calcolatore e di connettivit` a di accesso. Internet ` e
tecnicamente una rete di reti di calcolatori che si espande quotidianamente grazie all’ag-
giunta di nuovi nodi e link. La rete internet ` e in effetti il risultato di una rapida evoluzione
che ha caratterizzato il mondo del calcolo automatico a partire dal secondo dopoguerra.
Mainframe e Supercomputer
‘60
Personal Computer
‘80
Reti di Calcolatori
‘90
Information Highways e
‘2000
Visual Internet
Figura 1.1: Tappe evolutive delle reti di calcolatori.
Nella figura 1.1 viene mostrato un breve schema di questo processo evolutivo. Intorno
agli anni ’60 il calcolo automatico era di pertinenza esclusiva dei cosiddetti Mainframe e
Supercomputer. Questi dispositivi erano capaci di elaborare una modesta quantit` a di infor-
mazione in tempi relativamente sostenibili per l’epoca. Tali apparati erano per` o di dimensioni
1
Capitolo 1. Le reti di calcolatori 2
spropositate, arrivando ad occupare persino intere stanze ed avevano dei costi di realizzazio-
ne e manutenzione fuori dalla portata di utenti privati o aziende e quindi erano adoperati
esclusivamente in ambito scientifico.
Con l’avvento della tecnologia CMOS ci fu un notevole miglioramento prestazionale. Con
procedimenti di integrazione sempre piu ` spinti si riuscirono a realizzare transistori MOS di
dimensioni nanometriche e ci` o consent` ı di produrre tali componenti in larga scala. L’inno-
vazione ebbe il suo piu ` grande effetto nella realizzazione dei Personal Computer (PC), gli
apparati di calcolo che hanno rivoluzionato un’epoca e che cominciarono a rimpiazzare nume-
rosi apparecchi meccanici fino ad allora ritenuti ineliminabili come la macchina da scrivere.
La diffusione dei PC consent` ı ad un’intera generazione di formarsi e abituarsi all’idea che
quelle piccole scatole color cappuccino potevano essere adottate per le piu ` svariate attivit` a
d’ufficio ma fu nell’impiego scientifico e industriale che i calcolatori trovarono la loro piu `
grande applicazione.
All’alba degli anni novanta i PC erano diffusi abbondantemente all’interno di uffici e
industrie ma anche presso le utenze residenziali. Ben presto ci si rese conto che i vantaggi
ottenibili dalla interconnessione di tutti quegli apparati erano potenzialmente innumerevoli
e, oggi possiamo dirlo, inimmaginabili!
Le prime reti realizzate furono adoperate sin dal 1960 in ambito militare dal Department
of Defence (DoD) americano per il progetto DARPA. ARPANET `elaprima rete di cal-
1
colatori in assoluto basata sulla commutazione di pacchetto . Tra il 1969 e il 1972 un
gruppo di universitari realizz` o un piccolo nucleo di rete per sperimentare applicazioni; tale
rete presentava collegamenti a 56 kbps. Grazie all’avvento del TCP nacque, nel 1986, NSF-
NET la prima rete gerarchica con una dorsale ad alta velocit` a ed una serie di reti regionali
con collegamenti da 56 Kbps a T1 (1,544 Mbps). In seguito sia ARPANET che NSFNET
furono smantellate perch´ e soppiantate da reti molto piu ` avanzate che ancora oggi subiscono
un continuo processo di evoluzione. Le reti di calcolatori offrono una serie di vantaggi tra cui:
• condivisione dell’informazione;
• condivisione delle risorse (CPU, memoria);
• accesso a risorse remote;
1
Per i dettagli sulla commutazione di pacchetto fare riferimento alla sezione 1.3.2.
Capitolo 1. Le reti di calcolatori 3
• convenienza economica;
• crescita graduale.
Le reti di calcolatori moderne sono molto diverse da quelle primordiali e non solo per una
questione di mezzi fisici ma soprattuto per l’impiego di esse che la societ` a ne fa.
Le prime reti furono realizzate per mettere in comunicazione pochi calcolatori al fine di
far scambiare loro brandelli di bit. Con l’avvento del protocollo HTTP, inventato nel 1989
da due ricercatori per consentire il trasferimento di documenti tra alcuni fisici all’interno di
un complesso universitario, il mondo delle reti ha cominciato ad evolversi raggiungendo di-
mensioni e prestazioni notevoli. Il WWW ` e stato per moltissimo tempo il principale servizio
responsabile del traffico di rete. Parallelamente la decentralizzazione delle strutture ha con-
sentito il realizzarsi di nuovi paradigmi di interazione come il modello peer-to-peer (P2P), una
evoluzione del modello Client-Server (tipico del WWW), responsabile attualmente della mag-
gioranza assoluta del traffico di rete. L’aumento di banda disponibile ha inoltre consentito il
realizzarsi di nuovi servizi basati sullo streaming di contenuto multimediale.
Come succede spesso per` o, a fronte di numerosi vantaggi, ` e necessario evidenziare alcuni
problemi che si sono costituiti con l’avvento di internet. Il maggiore tra questi ` e sicuramente
quello inerente la sicurezza. Fino a circa 20 anni fa il vettore principale per la trasmissione
di contenuto malevolo era costituito dai floppy disk. Il collegamento di un numero sempre
maggiore di computer e soprattutto in maniera sempre piu ` continuata (grazie al diffondersi
di tariffe flat) ha dato vita ad una nuova generazione di malware che si diffondono attraverso
internet. Virus, worm, spyware, phishing, spam e altri meccanismi malware sono ormai
termini noti alle nostre orecchie. Il piu ` grave inconveniente del collegamento in rete ` e legato
per` o al rischio di un furto di identit` a o di informazioni che possono creare danni ingenti
da un punto economico ma anche sociale (si pensi a cosa pu` o accadere se un hacker riesce
a controllare la distribuzione di servizi come l’energia elettrica). Inoltre la diffusione del
paradigma P2P ha innalzato ulteriori problematiche legate alla condivisione di contenuto
coperto da copyright. Fino a qualche anno fa la pirateria era un fenomeno associato alla copia
fisica di supporti magnetici/ottici originali venduti sulle bancarelle o nei negozi sottobanco.
Oggi invece ` e possibile con estrema facilit` a scaricare quasi ogni tipo di contenuto e farla franca
sia per mancanza di una legislazione chiara e adatta ma soprattutto per mancanza di controlli
sulla rete. L’incontrollabilit` a del traffico delle utenze ` e forse l’aspetto piu ` controverso di
1.1. Architettura di internet Capitolo 1. Le reti di calcolatori 4
internet perch´ e se da un lato ` e necessario che i fornitori del servizio di accesso non possano
spiare i propri utenti ` e pur vero che il file sharing illegale e fenomeni come l’adescamento
online di bambini da parte di pedofili pongono importanti interrogativi ancora irrisolti.
1.1 Architettura di internet
2
La rete internet pu` o essere schematizzata come un grafo orientato con nodi e archi. Per
quanto riguarda i nodi essi possono essere cos` ı classificati:
Router: letteralmente instradatori, sono (ormai) dei calcolatori a tutti gli effetti dotati di
piu ` interfacce. La loro funzione ` e quella di smistare su una o piu ` interfacce d’uscita
3
ciascuno dei pacchetti ricevuti su ognuna delle interfacce di ingresso .
End system/host: letteralmente sistemi terminali/ospiti, si tratta di tutti quei calcolatori
(laptop, desktop, server, telefoni cellulari etc.) che, tramite una rete di accesso, si
attaccano ad internet staticamente o dinamicamente. Il fatto che si parli di terminali
sta ad indicare che essi si trovano nella sezione di confine della rete, cio` e sono le foglie
del grafo.
Gli archi invece possono essere classificati da un punto di vista fisico in:
Doppini in rame: adoperati soprattutto per l’accesso residenziale che sfrutta la normale
rete telefonica. Adoperati anche nelle LAN, possono essere schermati (FTP) o non
(UTP).
Cavi coassiali: adoperati principalmente (in passato) nelle reti LAN.
Fibre ottiche: adoperati nel nucleo (backbone) delle reti. Esse consentono un trasferimento
dati a velocit` a prossime a quelle della luce e per questo si usano soprattutto per i
collegamenti transoceanici.
Collegamenti radio terrestri: adoperati per le connessioni wireless in LAN ma recente-
mente anche in contesti piu ` ampi come le reti wireless mesh.
2
L’orientamento ` e necessario se tra due nodi ` e presente un collegamento monodirezionale.
3
A rigore andrebbe ricordato che se il TTL del pacchetto ` e nullo oppure la coda ` e piena allora il pacchetto
viene cancellato/perduto.
1.1. Architettura di internet Capitolo 1. Le reti di calcolatori 5
Collegamenti radio satellitari: adoperati per le comunicazioni con i satelliti geostazionari
o ad orbita bassa. Servono per collegamenti di notevole distanza e spesso sono di tipo
monodirezionale.
INTERNET
Server Router Host Modem Wireless
Figura 1.2: Un possibile scenario dell’architettura di internet.
La figura 1.2 offre una vista di un possibile scenario architetturale in internet. La de-
scrizione dei nodi terminali precedentemente offerta pu` o essere ulteriormente espansa se si
considerano gli aspetti applicativi dei nodi stessi. A tal scopo in internet sono ampiamente
diffusi alcuni paradigmi di interazione che di seguito descriviamo:
Client/Server: gli host si dividono in server, ossia i nodi su cui sono eseguite le applica-
zioni che devono offrire un servizio a 1 o piu ` clienti, e client ossia host che richiedono
asincronamente un servizio ai server.