220 likes | 381 Views
Corso di “ Modelli e Sistemi ”. Tesi di Laurea Magistrale. Reti private virtuali sicure: algoritmi topologici ed analisi prestazionale. Studente. Relatore. Prof. Andrea Detti. Alessandro Caricato. Introduzione.
E N D
Corso di “Modelli e Sistemi” Tesi di Laurea Magistrale Reti private virtuali sicure: algoritmi topologici ed analisi prestazionale Studente Relatore Prof. Andrea Detti Alessandro Caricato Anno Accademico 2008/2009
Introduzione Il lavoro è stato incentrato sullo studio e sulle applicazioni delle overlay networks di larga scala ed è parte di un più vasto progetto nazionale PRIN 2007: SORPASSO (flexible SOftware Router PlAtform for Secure Service-specific Overlay networks) • Obiettivo di SORPASSO (UdR RM2): fornire ad un gruppo di utenti connessi ad Internet servizi a valore aggiunto non offerti nativamente dalla core network , (quali sicurezza, multicast, anycast, service discovery, etc.) • Approccio di SORPASSO : • Realizzare una overlay network GRE/IPSecfra i PC degli utenti • PC come software router overlay connessi da tunnel GRE/IPSec • Installazione sui software router dei protocolli necessari alla realizzazione dei servizi addizionali • Contributo della Tesi : sviluppo ed analisi di algoritmi distribuiti volti a creare una topologia overlay secondo specifici vincoli topologici e criteri di ottimalità Anno Accademico 2008/2009
Qualche definizione… • La rete overlay può essere rappresentata matematicamente per mezzo di un grafo • Ad ogni software router overlay è associato un nodo, ogni connessione è identificata da un arco duplex tra i nodi • la topologia è rappresentata per mezzo della matrice di adiacenza (a), sempre quadrata e simmetrica: a(i,j)=1 se presente l’arco tra i e j, 0altrimenti • La matrice dei costi (h), quadrata simmetrica e a valori interi positivi, indica il costo di ogni connessione: • Rappresenta il legame con la rete underlay, nel nostro caso indica il numero di hop effettivi underlay per ogni link overlay • tale costo può però essere impiegato per indicare qualunque altro parametro prestazionale legato ai link underlay la trattazione è riadattabile ad altri contesti Anno Accademico 2008/2009
Scelta dei parametri prestazionali In prima analisi, prendendo spunto da un articolo di A.Caponeet al., si è usato il costo totale della rete come parametro: un approccio semplice ed intuitivo che dà però solo una stima “di insieme” della performance Si è perciò preso in considerazione l’average path length, ovvero il costo medio globale per raggiungere, a partire da qualsiasi nodo della overlay, qualunque altro nodo • vi e vj nodi della rete • n numero di vertici • d minima distanza tra i vertici Pregi: Permette un’analisi più granulare del sistema, dà garanzie medie di performance anche sul singolo nodo Difetti:Analisi più complessa perché parametro basato sugli shortest paths, grandezze meno evidenti rispetto ai costi degli archi La matrice delle distanze è una matrice quadrata di valori interi positivi tutti maggiori di zero: i valori minimi corrispondono ai valori della h Anno Accademico 2008/2009
Criteri di ottimalità topologica Ogni servizio ha una sua topologia ottima (e.s., per il multicast è l’albero) Vogliamo creare una rete overlay sicura su cui far girare una molteplicità di servizi a valore aggiunto abbiamo bisogno di una topologia overlay general-purpose I protocolli di routing di Internet sono di tipo general-purpose ed hanno come criterio di ottimalità la minimizzazione del numero di hop IP da estremo ad estremo, ovvero il minimo consumo delle risorse di rete (ogni hop = una trasmissione). Seguendo tale approccio abbiamo scelto come criterio di ottimalità per la topologia overlay la minimizzazione del numero medio di hop IP fra due generici nodi della overlay Senza ulteriori vincoli la topologia overlay ottima in tal senso è la full-mesh,tuttavia quest’ultima non scala all’aumentare del numero di nodi: il numero di link overlay da gestire cresce come n^2 e la loro gestione diventa problematica Pertanto un vincolo topologico necessario consiste nel “limitare” il numero di link overlay Anno Accademico 2008/2009
Letteratura : Egoist L’algoritmo che abbiamo preso come base di partenza e benchmark è l’Egoist di Bestavros et al. del 2008, un sistema distribuito definito molto efficienteper l’overlay routing Basato sul principio del Best-Response: ogni nodo n si connetterà ad un prefissato numero k di nodi in modo da minimizzare il costo di tutti gli shortest path per raggiungere ogni altro nodo a partire da n. Il numero di link overlay è fissato a k*n S = particolare insieme di edge presenti nella rete (Cablaggio globale) = costo dello shortest path tra vi e vj = costo per vi per il particolare scenario S Dato un cablaggio residuo ,il best response per il nodo vi è un cablaggio si per cui Complessità computazionale: O(n2log n) Anno Accademico 2008/2009
Il nostro banco di prova • Matlab • Reti rappresentate da grafi connessi • Generazione di topologie underlay basate sul modello • topologico Transit-Stub (GT-ITM) simili ad Internet • Forte gerarchia • Numero di hop limitato per gli shortestpath • Limitato grado medio dei nodi • Appartenenza alla classe di reti Small-World • Posizionamento casuale degli SR sui nodi di bordo della underlay Dominio Transit : dominio “di passaggio”, utile per interconnettere domini stub Dominio Stub: trasmettono traffico generato al loro interno o che sia destinato ad essi Anno Accademico 2008/2009
Le prestazioni di Egoist Presenza di un marcato gap tra egoist e la topologia full-mesh Gap però ben giustificato dal fatto che la topologia a maglia completa è inattuabile e da considerare solo come lower-bound per i valori prestazionali Generale peggioramento nei valori dell’average path length all’aumentare della grandezza della rete Avvicinamento dei valori dell’average path length ai valori ottimi all’aumentare del fanout medio Anno Accademico 2008/2009
Il Problema di Egoist riscontrato Man mano che i nodi entrano nella overlay si crea una preferenza per la connessione verso alcuni nodi “centrali”, che diventano così degli hot spot Contro: il fanout di questi nodi è molto elevato e la maggior parte del traffico passa per essi creando così dei colli di bottiglia Pro: l’average path length beneficia di questi nodi rilevanti Ciò è evidente anche osservando la betweennesscentrality di ogni nodo: Anno Accademico 2008/2009
La lezione imparata… Non è sufficiente limitare solo il numero totale di link overlay per scalare meglio della topologia full-mesh, è necessario anchecontrollare il fanout dei singoli nodi al fine di evitare la presenza di hot spot e colli di bottiglia per l’impiego delle risorse …e la nuova sfida creazione di un algoritmo che generi un graforegolare (i.e., fanout costante) mantenendo buone prestazioni in termini di average path length. Problema ottimo NP completo ricerca di algoritmi sub-ottimi che limitino i riarrangiamenti topologici per entrata/uscita di nodi Anno Accademico 2008/2009
L’algoritmo Greedy-Greedy Algoritmo Greedy-Greedy: ogni nodo entrante sceglie di connettersi, di coppia in coppia, ai k (fanout) nodi che permettono di minimizzare l’average path length globale Approccio brute-force su ogni coppia possibile “Greedy-Greedy” perché ogni nodo sceglie singolarmente a chi connettersi (scelta locale dei propri vicini) e perché la scelta dei fanout nodi a cui collegarsi viene fatta di coppia in coppia in maniera indipendente Anno Accademico 2008/2009
Egoist vs Greedy-Greedy La regolarità del grafo è un vincolo in più rispetto ad Egoist, quindi ci aspettiamo un peggioramento. Tuttavia quello riscontrato è limitato a qualche hop (fanout>10) MA Problema: ad ogni iterazione dell’algoritmo GG è necessario ricalcolare interamente la matrice degli shortest path del grafo Complessità computazionale: è necessario un algoritmo semplificato per diminuire la complessità e renderlo adatto ad un sistema distribuito Anno Accademico 2008/2009
Formalizzazione matematica (1/2) Per comprendere meglio il problema abbiamo espresso analiticamente le riduzioni/incrementi dell’average path length che si hanno quando un nodo entrante E sceglie di connettersi ad una generica coppia di nodi. Quindi abbiamo massimizzato incrementi – riduzioni X = insieme dei nodi cui sono già connesso (Ai,Bi)= generica coppia di nodi cui posso connettermi Riduzione: alcuni i percorsi passanti per la coppia di nodi X,Ai e X,Bi passando per E,possono accorciarsi . Riduzione: i percorsi da E verso gli altri nodi possono ridursi grazie alla presenza di due link in più Riduzione: altri percorsi non inclusi nei precedenti, ora passando per E possono accorciarsi Incremento: alcuni percorsi che includevano Ai-Biora si allungano al più di Ai-E-Bi Anno Accademico 2008/2009
Formalizzazione matematica (2/2) Contributi : Indicano il miglioramento che si ottiene nei path tra i nodi già miei primi vicini (X) e la coppia di nodi cui mi sono appena connesso (Ai,Bi) Contributo : Indica il miglioramento che si ottiene, grazie ai due nuovi primi vicini (Ai,Bi), in ogni path per connettere il nodo entrante (E) a qualsiasi altro nodo Contributo : Indica il peggioramento dovuto all’eliminazione dell’edge (Ai-Bi), con conseguente aumento degli shortest paths che precedentemente passavano per tale arco. Anno Accademico 2008/2009
Greedy-Greedy Sub-Ottimo L’algoritmo che considera gli aspetti appena esposti è il “Greedy-Greedy Sub-Ottimo” Sub-Ottimo perché non vengono considerati i miglioramenti dovuti alla variazione degli shortest paths di nodi non appartenenti ne a X ne a (Ai,Bi) (miglioramenti dovuti al re-routing causato dal cambiamento della topologia) Pro:I risultati sono analoghi a quelli ottenuti con l’algoritmo Greedy-Greedy Contro:Il calcolo delle grandezze in gioco (numero paths contenenti (X, Ai),(X,Bi) e l’edge (Ai-Bi), shortest path globali) comporta una complessità computazionale notevole Complessità computazionale: Anno Accademico 2008/2009
Semplificazioni di complessità (1/2) Confronto delle prestazioni dei 3 fattori presi singolarmente : Non c’è una componente che predomini sulle altre L’impatto di ognuno dei contributi è equivalente GAMMA: (Worst-case fattore gamma) (Fattore gamma) prevede un calcolo locale basato sugli archi e non sui percorsi semplice
Semplificazioni di complessità (2/2) ALFA: (Fattore Alpha) (Fattore Alpha) Tenendo conto che Internet è una rete small-world (in media non sono molto diversi in termini di costo i cammini minimi dei nodi) Quindi cerchiamo: prevede un calcolo basato su informazioni limitate ai propri vicini semplice BETA: Calcolo globale basato sui percorsi da me verso tutti i nodi complesso Ottimizzazione solo su fattori 1 e 2
Algoritmo “Scelta in base agli Stub” (1/3) Utilizzo degli script in TCL congiuntamente al generatore GT-ITM Teniamo traccia del dominio underlay di appartenenza per ogni nodo La scelta dei nodi cui connettersi è fatta tentando di minimizzare il peggioramento dovuto al mio ingresso e tentando di favorire il più possibile i nodi già miei primi vicini, riducendo i loro shortest path più costosi (sequenze >2 hops) Scelgo i miei primi vicini in modo che appartengano a domini underlay non raggiungibili con pochi hops dai nodi già a me adiacenti Non è richiesto calcolo di alcuna grandezza caratteristica (nemmeno degli shortest path!) Complessità: Anno Accademico 2008/2009
Algoritmo “Scelta in base agli Stub” (2/3) L’algoritmo ha effettivamente lo stesso andamento del Greedy-Greedy Sub-Ottimo – Fattori alpha e gamma Si pone infatti, a livello prestazionale, tra gli algoritmi più banali come Nearest e Randomic (con cui ha in comune la semplicità computazionale) e gli algoritmi più complessi come Egoist e Greedy-Greedy Anno Accademico 2008/2009
Algoritmo “Scelta in base agli Stub” (3/3) • Si ottiene un grafo regolare • Si evitano i picchi nella betweenness centrality tipici di Egoist EGOIST STUB Anno Accademico 2008/2009
Simulazioni Inter-Underlay Per avvalorare i risultati e per appurare che essi non dipendano dalla particolare rete underlay di partenza, mostriamo come essi abbiano un andamento medesimo al variare dei parametri che caratterizzano l’underlay • 1776 edges underlay • Edge probability • Transit nodes: 0.4 • Edge probability • Stub nodes: 0.2 • 2247 edges underlay • Edge probability • Transit nodes: 0.8 • Edge probability • Stub nodes: 0.35 • 4085 edges underlay • Edge probability • Transit nodes: 0.8 • Edge probability • Stub nodes: 0.75 Anno Accademico 2008/2009
Conclusioni e Prospettive future Attraverso un lungo percorso di ricerca e una grande quantità di algoritmi e simulazioni abbiamo creato un algoritmo che possiede le caratteristiche che ci eravamo prefissati: • Complessità computazionale minima • Overhead di comunicazione contenuto • Buone prestazioni • Buona robustezza e scalabilità Adatto ad un sistema distribuito Questo lavoro mi è stato utile non solo per la conoscenza acquisita degli argomenti trattati, ma soprattutto per l’esperienza maturata nell’utilizzo degli strumenti impiegati in questi mesi: specialmente MatLab, ma anche il linguaggio TCL, i software NS-2, AMPLe GT-ITM e l’impiego del sistema operativo Linux Ci sono naturalmente diversi aspetti che è possibile approfondire e migliorare in futuro: • Tenere conto delle bande di accesso di ogni nodo della rete • sviluppare e testare altri meccanismi per migliorare ulteriormente le prestazioni Anno Accademico 2008/2009