Capitolo 1 – Le reti aziendali 5
1 Le reti aziendali
1.1 Topologia della rete
Una rete aziendale (enterprise network) è tipicamente costituita dalla connessione di
un certo numero di reti in area locale (LAN) che si interfacciano tra di loro e che
comunicano con un sistema di gestione dati centralizzato. Le singole workstation
all’interno delle diverse LAN e il database centrale rappresentano un modello client-
server.
Figura 1.1: Un semplice modello di rete aziendale
Come illustrato [1] in figura 1.1, gli host (o terminali) della rete, di tipo sia fisso
che mobile (in quest’ultimo caso comunicanti con una base station), sono localmente
aggregati in LAN, e possono comunicare tra loro attraverso uno o più router
Capitolo 1 – Le reti aziendali 6
interconnessi. Anche i server aziendali vengono collegati ai router per permettere lo
scambio dati con gli host periferici attraverso link di comunicazione di differente
velocità e larghezza di banda. Sempre in figura, il router superiore permette alla rete
aziendale di accedere alla rete Internet pubblica o, per esempio, ad un altro
dipartimento della rete privata.
Figura 1.2: Uno schema completo di rete aziendale
In figura 1.2 è mostrato un esempio di rete aziendale [2] in cui gli host presenti in
due diversi edifici sono interconnessi tra di loro e con il data center attraverso la rete
di distribuzione. I terminali presenti in uno stesso piano dell’edificio costituiscono, in
questo esempio, reti LAN virtuali (VLAN), con velocità 10/100 Mbps, che fanno
apparire gli host come se fossero direttamente connessi ad uno stesso supporto fisico,
nonostante siano fisicamente collegati a distinti segmenti di LAN. Il livello di
Capitolo 1 – Le reti aziendali 7
distribuzione comprende switch, router e connessioni ad alta velocità (in tecnologia
Gigabit Ethernet), operanti a livello di data-link e di rete (adatti cioè a separare i
domini di collisione), e assicura che i pacchetti di dati siano correttamente instradati
tra le sottoreti e le reti virtuali dell’azienda. Infine i server che formano il data center
comunicano con il distribution layer mediante switch e connessioni veloci.
I requisiti che una rete aziendale deve soddisfare sono sinteticamente i seguenti:
• elevate prestazioni in termini di larghezza di banda, garantite soprattutto da
router capaci di un non-blocking switch e di un instradamento multiprotocollo,
per permettere un traffico anche multimediale sulla rete senza un impatto
negativo sul suo funzionamento;
• sicurezza negli accessi alla rete, tramite procedure di autenticazione e
autorizzazione, per proteggerla da indesiderate modifiche alla sua
configurazione. Questo aspetto è ancora più rilevante se la rete privata è
direttamente connessa alla rete Internet, essendo possibili per esempio attacchi
di tipo Denial of Service (DoS);
• alta disponibilità del servizio offerto, in termini di invulnerabilità ai
temporanei guasti di apparati e connessioni, garantita principalmente dalla
ridondanza di dati, per i quali deve essere previsto un recupero semplice e
“trasparente”;
• semplicità nell’amministrazione della rete
1.2 Virtual Enterprise Network
Dopo aver descritto la topologia di una rete aziendale, si può illustrare un modello
astratto definito “Virtual Enterprise Networking” [3] o più semplicemente
Supernetworking, secondo una visione che permette alla rete di cambiare
dinamicamente in base alle richieste dei suoi utenti, piuttosto che forzare gli utenti
stessi ad organizzarsi attorno ad un rete precostituita.
Capitolo 1 – Le reti aziendali 8
Con il Supernetworking si introduce il livello di Supernet nel modello a strati delle
reti, e questo risiede al di sopra dello strato di network e include la sua struttura di
indirizzamento e i servizi di sicurezza che proteggono i dati trasmessi a livello di
network. Una componente chiave della Supernet è il tunnelling delle comunicazioni:
anziché avere i due tradizionali endpoint (all’inizio e alla fine), ogni tunnel presenta
tanti endpoint quanti sono i computer che partecipano alla Supernet. Il tunnelling
(principalmente IP over IP) è peraltro ampiamente usato per implementare servizi
come il multicasting, le reti virtuali private (VPN), e il supporto alla mobilità.
Grazie al Supernetworking, gli utenti della rete aziendale “virtuale” possono
accedere in modo sicuro ad ogni informazione dell’azienda da qualunque postazione
Internet, assicurando l’autenticità dei contenuti, il controllo d’accesso alla rete e la
confidenzialità. Questi fattori diventano importanti se le componenti hardware
dell’infrastruttura della rete si trovano in postazioni che non sono direttamente
possedute dall’azienda, per esempio se l’impresa ha accordi con provider esterni per
servizi di salvataggio dati e backup di essi. Nonostante venga effettuato l’outsourcing
di alcuni servizi (tipicamente di storage), si deve garantire che il fornitore di questi
servizi, e più in generale chiunque non sia membro dell’azienda, non possa accedere
ai dati e alle risorse dell’impresa.
Si possono suddividere i servizi che deve fornire una rete aziendale, come
illustrato in figura 1.3, in queste componenti: comunicazione, calcolo,
memorizzazione dati, e amministrazione della configurazione della rete. Tutte queste
attività devono avvenire in modo “sicuro”, soprattutto quando le infrastrutture che
permettono tali servizi sono esterne all’azienda.
Capitolo 1 – Le reti aziendali 9
Figura 1.3: Servizi offerti da una enterprise network
Vengono ora esaminati nel dettaglio i servizi offerti da una enterprise network:
1) Comunicazione: si deve garantire la sua sicurezza quando per esempio la
Supernet è una rete privata basata su una pubblica infrastruttura di
comunicazione, dato che tale rete aziendale è topologicamente indipendente
dalla sottostante rete di trasporto pubblica. E’ quindi ovvio che si deve
impedire a chiunque, che non sia membro della Supernet, di comprendere o
modificare il traffico dati delle comunicazioni. Questo obiettivo può essere
raggiunto mediante l’uso della crittografia.
2) Memorizzazione: quando il salvataggio dei dati viene effettuato su server
esterni, devono essere assicurate l’integrità, l’autenticità e la confidenzialità
dei dati e dei meta-dati (nomi dei file, struttura delle directory, permessi di
accesso), in modo che siano rilevabili dall’azienda eventuali modifiche o
cancellazioni di essi. Analogamente se un membro dell’azienda cessa di far
parte dell’azienda stessa, qualora riesca ancora ad accedere ai dati
immagazzinati non dovrà essere in grado di decriptare tali informazioni.
Capitolo 1 – Le reti aziendali 10
3) Calcolo: è probabilmente l’aspetto più complesso legato alla sicurezza delle
informazioni aziendali, quando avviene l’outsourcing delle applicazioni, in
quanto un provider di calcolo riceve ed esegue programmi applicativi senza
poterli vedere in chiaro, e inoltre il flusso dati prodotto da essi deve essere
accessibile solo dai membri della Supernet.
4) Amministrazione: serve per regolare le politiche di sicurezza che governano le
diverse componenti della infrastruttura aziendale, e per esempio assegna chiavi
di accesso alle risorse e controlla gli accessi ad esse.
Se si escludono le nuove funzionalità come i nuovi servizi di sicurezza offerti
dalla Supernet, dovrebbe essere del tutto trasparente per gli utenti della rete il fatto che
essi stiano usando la rete aziendale piuttosto che la rete Internet tradizionale. Un altro
vantaggio è dovuto alla scalabilità di una simile struttura, in quanto la Supernet si basa
sulla rete IP per il servizio di trasporto dei pacchetti, la quale può facilmente crescere
in dimensione senza bisogno di introdurre nuovi meccanismi di gestione.
In figura 1.4 vi sono due modelli di rete a confronto, e precisamente:
• lo schema (a) in basso ritrae il modello di internetworking che permette la
trasmissione dei dati per la Supernet, che contiene uno o più canali
comunicativi e consiste in un set di nodi;
• lo schema (b) in alto illustra una Supernet, o virtual computer network, che
“attraversa” la rete dello schema (a).
Un canale (che può essere qui inteso come una rete locale) è un’astrazione che
definisce un’associazione tra membri della Supernet attraverso una chiave condivisa. I
pacchetti che transitano nella Supernet sono sempre associati a un preciso canale, e
sono incapsulati (fornendo così anche il meccanismo di autenticazione e
confidenzialità) in datagrammi che vengono trasmessi sulla rete IP globale. Poiché la
chiave è conosciuta solo dai membri del gruppo, i pacchetti incapsulati e trasmessi su
un certo canale non possono essere “interpretati” da nessuno che si trovi al di fuori di
Capitolo 1 – Le reti aziendali 11
quel canale a cui appartengono. Ogni canale è protetto dagli altri canali attraverso
meccanismi di crittografia, permettendo così la creazione di domini multipli e sicuri
nella Supernet. Un canale appare ai nodi affacciati su di esso come un unico mezzo
condiviso (come il classico CSMA-CD Ethernet), e non comprende i meccanismi di
routing e di consegna end-to-end dei dati in quanto già previsti dalla rete sottostante.
Un nodo invece è un’entità identificata da un indirizzo IP nella Supernet, può
partecipare a più canali, ma appartenere al massimo ad un’unica Supernet. I nodi
possono comunicare tra loro solo se fanno parte dello stesso canale sulla Supernet (e
quindi se condividono una chiave crittografica comune), ma non esistono per i nodi
vincoli geografici per appartenere ad un certo canale.
Figura 1.4: Diverse topologie di rete
Capitolo 1 – Le reti aziendali 12
Figura 1.5: Esempio di Datagram applicativo nelle reti tradizionali
Figura 1.6: Esempio di Datagram applicativo per un nodo di una Supernet
In una rete tradizionale (figura 1.5), i dati prodotti dalle applicazioni sono incapsulati
con un header TCP, e poi ancora con un header IP, il quale viene inserito in un
opportuno frame hardware prima che possa raggiungere la sua destinazione.
In un contesto di Supernet, invece, due livelli aggiuntivi vengono introdotti nello
stack protocollare della rete (figura 1.6) e precisamente:
• uno strato IP interno utilizzato per l’indirizzamento all’interno dei confini della
Supernet;
• uno strato SNSL (SuperNet Security Layer) che fornisce degli identificatori (di
Supernet e di canale) per il demultiplexing, e degli header di sicurezza per la
protezione e l’autenticità dei dati.
1.3 Problemi legati ad una rete aziendale centralizzata
Come si è visto dai modelli aziendali del paragrafo 1.1, per la ricerca e la
memorizzazione dei dati i singoli terminali devono collegarsi a un gruppo di server
centralizzati (data center), e fare affidamento su di essi per quanto riguarda la
condivisione di tutte le risorse presenti nei vari dipartimenti dell’azienda. Si tratta in
sostanza di un sistema client/server che presenta alcuni problemi critici per buon
funzionamento della rete aziendale, sia in termini di efficienza che di sicurezza:
Capitolo 1 – Le reti aziendali 13
• presenza di un singolo point of failure, rappresentato dall’insieme di uno o più
server che sono gli unici responsabili dell’archiviazione delle risorse di tutta
l’azienda. Questo unico punto debole può essere soggetto a guasti o ad attacchi
volontari interni o esterni alla rete;
• potenziale riduzione delle prestazioni per i terminali della rete, in termini di
larghezza di banda e tempo di accesso alle risorse, qualora molti client
simultaneamente richiedano di accedere alle risorse;
• ridotta scalabilità della rete, in quanto se aumenta il numero di terminali si
rende necessario potenziare la capacità di storage dei server, con un
conseguente costo aggiuntivo per l’azienda. Inoltre anche la rete di
distribuzione e di raccordo con i server (enterprise backbone) deve adeguarsi
in caso di crescita dell’azienda;
• notevoli costi di amministrazione e mantenimento, sia nel caso in cui si
utilizzino server interni, sia se si preferisce commissionare a un provider
esterno l’allocazione dello spazio disco e le politiche di gestione;
• elevata esposizione agli attacchi, in quanto un nodo maligno della rete può
conoscere facilmente dove vengono memorizzati i dati di suo interesse, e può
tentare di accedervi, di modificarli o semplicemente di compromettere
l’attività dell’azienda mettendo fuori servizio il server (Denial of Service);
• possibilità che venga effettuato in modo non autorizzato il packet filtering
presso il server centrale o un router intermedio della rete: in tal modo si
impedisce che alcune risorse vengano prelevate dal server o vi siano
memorizzate, rendendole indisponibili. Questo tipo di attacco è reso possibile
dal fatto che tutto il traffico della rete aziendale centralizzata che interessa la
connessione tra backbone e data center, transita su un numero ridotto di router
intermedi e server terminali, che sono quindi facilmente localizzabili e
controllabili con politiche di “filtraggio” dei dati;
Capitolo 1 – Le reti aziendali 14
• complessità del database che deve indicizzare i contenuti, in quanto tale indice
deve includere e mantenere aggiornato il lungo elenco di file ospitati nella
stessa postazione server.
1.4 Soluzione mediante l’applicazione di meccanismi
decentralizzati
Dato che un sistema centralizzato ha lo svantaggio notevole di avere un singolo point
of failure, oltre al fatto che è un sistema di difficile amministrazione e dagli elevati
costi di mantenimento, si può pensare di spostare l’intero sistema di memorizzazione
dei dati su una architettura di rete decentralizzata e distribuita, che sfrutta le risorse
collettive di tutti i terminali della rete. Intendiamo cioè creare uno storage system
sicuro e affidabile, che offra alla enterprise network tutti i servizi di cui questa già
disponeva in ambito centralizzato (descritti nei paragrafi precedenti), sia che tali
servizi fossero forniti dall’interno dell’azienda, sia che fossero esternalizzati (ad
esempio mediante storage presso provider esterni): il vantaggio è quello di ottenere
una rete più resistente agli attacchi esterni e a malfunzionamenti interni.
Si potranno mantenere i vantaggi del Supernetworking in quanto non cambia
l’organizzazione della Virtual Enterprise Network (paragrafo 2.2), ma in più si avrà la
sicurezza che le risorse aziendali saranno ospitate presso l’enorme spazio disco
distribuito presente complessivamente tra tutti i terminali della rete. In questo modo si
risolveranno anche problemi di sicurezza (come il packet filtering e attacchi di tipo
Denial of Service verso il server centrale) legati all’outsourcing della memorizzazione
dei dati.
L’approccio per perseguire tale obiettivo si basa sulle tecniche di condivisione dati
che caratterizzano i sistemi peer-to-peer, descritti nel prossimo capitolo. La prima
architettura ad essere esaminata sarà quella della directory centralizzata per la
localizzazione dei contenuti: si tratta di un sistema di memorizzazione distribuito, ma
che presenta i problemi prima descritti per le reti centralizzate in quanto l’indice dei
Capitolo 1 – Le reti aziendali 15
contenuti è di fatto ospitato presso un unico server. Con questa architettura il database
centrale ha complessità elevata, dell’ordine di () ON , dove N è il numero complessivo
di nodi in rete.
Passando ad una architettura a directory decentralizzata, si attenuano soltanto i
problemi precedenti, ma non vengono risolti, in quanto la creazione di nodi che hanno
la funzione di leader sugli altri sposta su di essi gli svantaggi della struttura
parzialmente centralizzata.
Neanche una overlay network di tipo non strutturato può risolvere il problema,
poiché sebbene sia stata raggiunta la piena decentralizzazione dei contenuti, non è
efficiente il metodo di ricerca delle risorse, basato sul query flooding: nel caso
peggiore è previsto l’invio di () ON messaggi per singola ricerca.
Infine si descriveranno le overlay network strutturate, che utilizzano un metodo di
indicizzazione dei contenuti che fa uso delle Distributed Hash Table (DHT). Con
questa architettura di memorizzazione e ricerca dei dati, completamente distribuita, si
riescono a risolvere i problemi, precedentemente descritti, delle attuali reti aziendali
centralizzate. Infatti tutti i nodi della rete hanno le stesse funzioni, responsabilità e
caratteristiche, sia in termini di storage, sia di banda assegnata, sia di probabilità di
essere soggetti ad attacchi. Applicando le DHT alla rete aziendale, si può ottenere una
elevata tolleranza ai guasti e agli attacchi intenzionali e una elevata scalabilità (senza
costi infrastrutturali aggiuntivi) in caso di aumento del numero dei nodi della rete. Una
tale rete è anche facilmente amministrabile, attraverso la modifica di alcuni parametri
del protocollo. Infine mediante l’uso delle DHT si è anche ridotta, rispetto ai sistemi
P2P in precedenza descritti, la complessità delle ricerche dei contenuti, che è
dell’ordine di (log ) ON anziché () ON .
Capitolo 2 – Sistemi Peer-to-Peer 16
2 Sistemi Peer-to-Peer
2.1 Definizione di sistema Peer-to-Peer
La condivisione [1] di “oggetti” (file o cartelle) tra diversi terminali di una rete, che
possono cioè ottenere tali oggetti l’uno dall’altro, è l’essenza dei modelli di
condivisione di file da pari a pari (peer-to-peer, P2P), tra cui Napster, Gnutella,
Freenet e FastTrack.
L’esempio seguente vuole mostrare come un utente possa utilizzare questo sistema
per condividere un file. Si suppone che l’utente A sia connesso alla rete Internet, e che
ad ogni nuova connessione il suo ISP (Internet Service Provider) gli assegni un nuovo
indirizzo IP. L’utente esegue quindi uno dei tanti programmi applicativi che
implementano il sistema peer-to-peer di condivisione file. Da tale applicazione
l’utente A (un “pari”) esegue un comando di ricerca di un preciso file che egli desidera
ottenere. L’applicazione gli mostra una lista di altri utenti (altri “pari”) connessi alla
rete, i quali avevano a loro volta lanciato un’applicazione peer-to-peer, che
possiedono tale file ricercato. L’utente A richiede quindi il file da uno dei pari, per
esempio B. Viene stabilita una connessione diretta TCP tra le due applicazioni di A e
B e inizia, se possibile, il trasferimento del file da B ad A. Se B disconnette
inavvertitamente il suo terminale dalla rete mentre A sta ancora ottenendo il file, allora
il software di condivisione P2P può cercare di ottenere il resto del file da un altro pari
che lo possiede. Inoltre, mentre A sta scaricando il file da B, un altro pari può
simultaneamente ottenere un altro file direttamente da A. Quindi ogni partecipante
distribuisce e riceve (anche simultaneamente) oggetti dagli altri utenti della rete.
La condivisione di file P2P è un modello di scambio di contenuti molto
interessante, in quanto tali contenuti vengono trasferiti direttamente tra normali pari,
senza passare attraverso un server di terze parti. Quindi il P2P sfrutta le risorse (banda,
memoria e CPU) di una molteplicità di pari per la distribuzione di oggetti, ed è quindi
un sistema ampiamente scalabile.
Capitolo 2 – Sistemi Peer-to-Peer 17
Sebbene nessun server centralizzato partecipi al trasferimento di file, è importante
ricordare che la condivisione da pari a pari usa comunque il paradigma client-server
ampiamente prevalente nella rete Internet. In effetti, il pari richiedente è il client, e il
pari scelto è il server. Il file viene infatti inviato dal pari server al pari client con un
protocollo di trasferimento, tipicamente HTTP.
Figura 2.1: Sistema client/server tradizionale
Da quanto già detto nell’esempio precedente, tutti i pari [4] devono essere in grado
di attivare sia il lato client sia il lato server di tale protocollo di trasferimento di file
(figura 2.2). Questo differisce da un sistema client/server tradizionale in cui ciascun
nodo (o processo) è client oppure server (figura 2.1).
Figura 2.2: Un sistema Peer-to-Peer