& TUNNELING 1
Il termine VPN viene pesantemente abusato, con varie definizioni ma possiamo definire intuitivamente una VPN considerando dapprima l'idea dì una rete privata. Le aziende con molte sedi si costruiscono spesso reti private noleggiando linee di trasmissione dalle compagnie telefoniche e usandole per interconnettere le sedi. In una rete di questo tipo, la comunicazione può avvenire solamente tra le sedi dell'azienda, cosa spesso auspicabile per motivi di sicurezza. Per rendere virtualeuna rete privata, le linee di trasmissione noleggiate ( che non sono condivise con altre aziende) vengono rimpiazzate da una qualche rete condivisa. 2
Un circuito virtuale è un sostituto molto ragionevole per una linea noleggiata, dato che fornisce un collegamento logico di tipo puntopunto fra le sedi di un'azienda. Ad esempio, se l'azienda X ha un circuito virtuale fra la sede A e la sede B, può ovviamente scambiare pacchetti tra le sedi A e B, ma non c'è alcuna possibilità per l'azienda Y di inviare pacchetti alla sede B senza aver prima instaurato il proprio circuito virtuale verso tale sede: ciò può essere impedito dal gestore della rete, eliminando così la possibilità di connessioni tra l azienda X e l azienda Y. 3
4
CIRCUITI VIRTUALI 5
Ogni volta che il router all ingresso del tunnel vuole inviare un pacchetto lungo tale linea virtuale di connessione, incapsula il pacchetto all interno di un datagramip, la cui intestazione contiene come indirizzo di destinazione l'indirizzo del router che si trova all'uscita del tunnel e come indirizzo del mittente l'indirizzo del router che effettua l'incapsulamento. 6
Nella tabella di inoltro del router che si trova all'ingresso del tunnel questa linea virtuale assomiglia molto ad una normale linea di collegamento. 7
Intestazione IP Destinazione = 2.x Carico utile IP Intestazione IP Destinazione = 10.0.0.1 Intestazione IP Destinazione = 2.x Carico utile IP Intestazione IP Destinazione = 2.x Carico utile IP Un tunnel attraverso una internetwork. Tabella di inoltro per il router R1 Numero di rete Salto successivo I.x.x.x Interfaccia 1 2.x.x.x Interfaccia virtuale 0 Default Interfaccia 2 8
Considerate, ad esempio, la rete dove è stato configurato fra RI e R2 un tunnel, al quale è stato assegnato il numero di interfaccia virtuale 0 Il router R1 ha due interfacce fisiche. L interfaccia 1 lo connette alla rete, mentre interfaccia 2 lo connette ad una grande internetwork ed è, quindi, la linea di default per tutto il traffico che non soddisfa una condizione più specifica nella tabella di inoltro. In aggiunta, R1 ha un'interfaccia virtuale, che è l'interfaccia del tunnel. 9
Supponete che R1 riceva dalla rete 1 pacchetto che contiene un indirizzo della rete 2: la tabella di inoltro afferma che tale pacchetto deve essere inviato all'interfaccia virtuale 0. Per inviare un pacchetto a tale interfaccia il router prende il pacchetto, vi aggiunge un'intestazione IP indirizzata a R2 ed, infine, elabora tale nuovo pacchetto come se lo avesse appena ricevuto. 10
L'indirizzo di R2 è 10.0.0.1: poiché il numero di rete di questo indirizzo è 10. e non 1 o 2, verrà inoltrato tramite l interfaccia di default verso la internetwork. Una volta che il pacchetto è uscito da R1, al resto del mondo appare come un normale pacchetto IP destinato a R2 e viene inoltrato di conseguenza: tutti i router della internertwork lo inoltrano nel modo usuale, finché non arriva a R2. 11
Quando R2 riceve il pacchetto si accorge che contiene il proprio indirizzo come destinazione, per cui elimina l'intestazione IP ed esamina il carico utile del pacchetto, trovando un pacchetto incapsulato il cui indirizzo di destinazione si trova nella rete 2: a questo punto, R2 elabora tale pacchetto con la stessa procedura che segue per ogni altro pacchetto che riceve. Poiché R2 è direttamente connesso alla rete 2, inoltra il pacchetto a tale rete. 12
Mentre R2 svolge la funzione di punto terminale del tunnel, niente gli impedisce di svolgere le normali funzioni di router. Ad esempio, potrebbe ricevere pacchetti che non viaggiano all'interno del tunnel, ma che sono indirizzati a reti verso la quali conosce un percorso di instradamento, e li inoltrerebbe nel modo consueto. 13
Vi potreste chiedere per quale motivo qualcuno può ritenere utile fare tutti questi sforzi per creare un tunnel e modificare l'incapsulamento di un pacchetto mentre si sposta all interno di una internetwork. La sicurezza è uno di questi motivi. Con l'aggiunta della codifica cifrata, un tunnel può divenire una linea di connessione molto privata all'interno di una rete pubblica. 14
Un altro motivo può essere il fatto che RI e R2 potrebbero disporre di alcune funzionalità non presenti, in generale in tutte le reti interposte tra loro, come, ad esempio, l'inoltro di pacchetti multicast(multicast routing). Collegando tali router con un tunnel, possiamo costruire una rete virtuale in cui tutti i router aventi queste caratteristiche appaiono direttamente connessi tra loro. 15
La terza motivazione per la costruzione di tunnel è il trasporto, attraverso una rete IP, di pacchetti di protocolli diversi da IP: se i router che si trovano agli estremi del tunnel sanno come gestire questi protocolli, il tunnel IP appare loro come una linea di collegamento punto-punto mediante la quale è possibile inviare pacchetti che non siano pacchetti IP. I tunnel forniscono anche uno strumento per costringere un pacchetto ad essere consegnato in un luogo particolare, anche se la sua intestazione originale (quella incapsulata all'interno dell intestazione relativa al tunnel) potrebbe portate il pacchetto in un luogo diverso. 16
Concludendo, vediamo che la creazione di tunnel (il tunneling) è una tecnica potente, piuttosto generale per costruire linee di collegamento virtuali attraverso internetwork. Il tunnelingha anche alcuni svantaggi. Innanzitutto, la lunghezza dei pacchetti aumenta: di conseguenza, ciò potrebbe portare ad un significativo spreco di banda per pacchetti piccoli. Inoltre, ci possono essere problemi di prestazioni per i router che si trovano agli estremi del tunnel, che si trovano a dover fare più lavoro rispetto all'inoltro normale, aggiungendo ed eliminando le intestazioni relative al tunneling. Infine, c'è un costo di gestione per l entità amministrativa che ha la responsabilità di instaurare il tunnel ed assicurarsi che venga gestito correttamente dai protocolli di routing. 17