La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Una rete Multi-hop Ad-Hoc anonima e sicura Roberto Rossi Sito ufficiale:

Presentazioni simili


Presentazione sul tema: "Una rete Multi-hop Ad-Hoc anonima e sicura Roberto Rossi Sito ufficiale:"— Transcript della presentazione:

1 Una rete Multi-hop Ad-Hoc anonima e sicura Roberto Rossi Email: robertross@libero.it Sito ufficiale: http://www.myjavaserver.com/~gwren/home.jsp?page=custom&xmlName=ants http://www.myjavaserver.com/~gwren/home.jsp?page=custom&xmlName=ants SourceForge: https://sourceforge.net/projects/antsp2p

2 Modelli per il P2P Central Server (Napster)Central Server (Napster) –Server centrale per eseguire ricerce e trovare peers con risorse di interesse Distributed resource locator system (OpenNap)Distributed resource locator system (OpenNap) –Stabilisce poche connessioni dirette tra nodi per eseguire ricerche sulla rete e usa connessioni punto punto con le sorgenti per recuperare le risorse Distributed resource locator & retrieval system (Ants, JXTA…)Distributed resource locator & retrieval system (Ants, JXTA…) –Stabilisce poche connessioni dirette tra nodi e usa routing per raggiungere tutti i punti della rete

3 Classic P2P - OpenNapClassic P2P - OpenNap Distributed P2P - AntsDistributed P2P - Ants Il problema della trasparenza LAN Internet LAN Internet gateway A B A B

4 Classic P2P - OpenNapClassic P2P - OpenNap Distributed P2P - AntsDistributed P2P - Ants Il problema della trasparenza LAN Internet LAN Internet gateway A B A B

5 Un modello MANET like L’esempio mostrato ci fa intuire quanto le problematiche affrontate nella progettazione della rete siano vicine a quelle che devono essere considerate in reti multi-hop ad-hocL’esempio mostrato ci fa intuire quanto le problematiche affrontate nella progettazione della rete siano vicine a quelle che devono essere considerate in reti multi-hop ad-hoc Dispositivi mobili con portata limitata di trasmissioneDispositivi mobili con portata limitata di trasmissione –Nel case study mostrato i 2 pc hanno di fatto una “portata limitata” dovuta al fatto di essere dietro a gateway Necessità di instradamento attraverso nodi intermediNecessità di instradamento attraverso nodi intermedi –Abbiamo di fatto nodi che fungono sia da client sia da router Forte dinamicità nella struttura della reteForte dinamicità nella struttura della rete –Frequenti modifiche intervengono con l’arrivo e la disconnessione di nodi Necessità di localizzazione delle risorse e mantenimento di vie di comunicazione verso queste ultimeNecessità di localizzazione delle risorse e mantenimento di vie di comunicazione verso queste ultime –Ricerca di risorse e localizzazione di percorsi per stabilire una comunicazione.

6 La rete Ants Costruita al top di TCP/IPCostruita al top di TCP/IP Comunicazione tra i nodi della rete realizzata stabilendo poche connessioni iniziali dalle quali raggiungere l’intera reteComunicazione tra i nodi della rete realizzata stabilendo poche connessioni iniziali dalle quali raggiungere l’intera rete –Connessioni criptate su Socket TCP –Indirizzi ID che identificano i nodi della rete generati con bassa probabilità di collissionegenerati con bassa probabilità di collissione –Necessarie opportune politiche di routing…

7 Il sistema di routing - obiettivi  estrema capacità di adattamento a cambiamenti nella topologia della rete in particolare apparzione di nuovi nodi e connessioni o in caso di disconnessioni  efficienza e dinamicità  routing effettuato sulla base di informazioni strettamente locali importante sia dal punto di vista dell’overhead (praticamente nullo visto che non serve scambio di informazioni tra i nodi), sia per mantenere anonimato relativamente all’ID  principio di minima intrusione nell’attuazione del protocollo  possibilità di qualificare la qualità di un percorso di routing  supporto al routing multi-path  fault tolerance

8 Il sistema di routing - scelte  Ad Hoc On-Demand Distance-Vector Protocol (AODV)  politica on demand  non servono scambi periodici di informazioni tra i nodi ARA – Ant colony Based Routing Algorithm for MANETARA – Ant colony Based Routing Algorithm for MANET  swarm intelligence  risoluzione di problemi NP-Hard (routing ottimale) attraverso la cooperazione  assume l’aspetto di un sistema ad agenti dove ogni agente mostra il comportamento di una singola formica

9 Il sistema di routing - AODV Due fasi nel protocolloDue fasi nel protocollo  route discovery  un nodo intenzionato a comunicare con un altro nodo cerca dapprima una strada nella sua tabella di routing, se la trova la comunicazione inizia immediatamente, altrimenti viene iniziata la route discovery phase  route maintenance movimenti della sorgente, a seguito dei quali la sorgente effettua un nuovo route discovery processmovimenti della sorgente, a seguito dei quali la sorgente effettua un nuovo route discovery process movimenti di qualche nodo intermedio o della destinazione, che si risolvono nell’invio di un route error message alla sorgentemovimenti di qualche nodo intermedio o della destinazione, che si risolvono nell’invio di un route error message alla sorgente

10 Il sistema di routing - ARA Il routing adattativoIl routing adattativo –Multi path –Adattamento a cambiamenti topologici –Ricerca del percorso migliore FasiFasi –Route Discovery –Route Maintenance –Route Failure Handling

11 Il sistema di routing - proprietà ProprietàProprietà –Operazioni inerenti al routing distribuite su ogni nodo della rete. Ogni nodo opera in maniera indipendente dagli altri e ha una memoria autonoma –È loop-free a causa dell’utilizzo degli identificativi univoci –I percorsi vengono stabiliti on-demand, quindi si evita l’overead inutile che si avrebbe con il routing tradizionale che stabilisce percorsi anche se non vengono usati –Le parti della rete non attive non vengono sollecitate inutilmente Altre proprietà importanti ai nostri finiAltre proprietà importanti ai nostri fini –Località: ogni nodo non ha cognizione di dove si trovi un altro nodo (i.e. distanza effettiva) sa solo che per raggiungerlo deve instradare il messaggio in una certa direzione e che alcune direzioni sono meglio di altre. Queste informazioni sono locali e non vengono scambiate tra i nodi. –Multi-path: ogni nodo può conservare informazioni riguardanti diversi percorsi possibili (i.e. direzioni verso cui instradare un messaggio) per raggiungere una certa destinazione, può inoltre stabilire qual’è attulamente il migliore fra tali percorsi.

12 La rete Ants Sviluppata integrando i protocolli mostratiSviluppata integrando i protocolli mostrati Poche ed essenziali funzionalità ad ogni livello su cui costruire i servizi dei livelli superioriPoche ed essenziali funzionalità ad ogni livello su cui costruire i servizi dei livelli superiori Livelli:Livelli: –Link/Rete (ID) –Trasporto/Sessione (Canali sicuri tra end-point) –Applicazione (Servizi di alto livello) Idealmente il livello fisico, che manca nella lista, è costituito dai servizi internet su cui ci appoggiamo (TCP/IP). In pratica ci troviamo di fronte ad una rete sulla rete.Idealmente il livello fisico, che manca nella lista, è costituito dai servizi internet su cui ci appoggiamo (TCP/IP). In pratica ci troviamo di fronte ad una rete sulla rete.

13 La rete Ants – Link/Rete Ogni nodo caratterizzato da:Ogni nodo caratterizzato da: –un proprio indirizzo ID Funzionalità di un nodo:Funzionalità di un nodo: –Fare connessioni con altri nodi (a livello TCP/IP) –Inviare messaggi in broadcast sulla rete (tramite flooding) –Inviare messaggi ad altri nodi –Instradare messaggi di altri nodi (routing)

14 La rete Ants – Messaggi I messaggi sono strutturati e ad ogni livello è possibile accedere solo alla parte del messaggio relativa a quel livelloI messaggi sono strutturati e ad ogni livello è possibile accedere solo alla parte del messaggio relativa a quel livello –Analogo allo stack TCP/IP –Il sistema di routing analizza solo le informazioni di routing –Body protetto –Header in chiaro Cosa succede in caso di duplicazione di un ID? ID type Sorgente Destinazione Ttl # ritrasmissioni xskaljkljxalsjxkasjxla ksjxlaksxlajxkslajxlas kxjlasjxlkakxjsljaksxlj asxjlajsxlaskjxlajsxlk asjxlaskjxlasxjlasjsl Corpo del messaggio criptato e accessibile solo a livello di trasporto Header del messaggio porta le informazioni per il routing a livello di Rete

15 La rete Ants – routing A livello di link la politica applicata garantisce:A livello di link la politica applicata garantisce: –Isolamento dell’informazione ID –Efficienza nel protocollo Fasi:Fasi: –Route Discovery la fase di RouteDiscovery è integrata nei messaggi di broadcast, che vengono utilizzati per trovare risorse sulla rete.la fase di RouteDiscovery è integrata nei messaggi di broadcast, che vengono utilizzati per trovare risorse sulla rete. –Route Maintenance come per gli altri due protocolli tale fase è integrata nel trasferimento dati.come per gli altri due protocolli tale fase è integrata nel trasferimento dati. –Non è prevista una fase di Route Failure Semantica At Least Once – best effort (NMAX ritrasmissioni)Semantica At Least Once – best effort (NMAX ritrasmissioni)

16 La rete Ants – routing I messaggi usati nel protocollo di routing a livello di Rete sono di tre tipi:I messaggi usati nel protocollo di routing a livello di Rete sono di tre tipi: –Unicast –Broadcast (net flooding) –Acknowledge Timeout sulla sorgente (secondi)Timeout sulla sorgente (secondi) Timeout sul messaggio (max hop)Timeout sul messaggio (max hop) Particolare politica per effettuare il net floodingParticolare politica per effettuare il net flooding

17 La rete Ants – routing Route DiscoveryRoute Discovery –Contestuale all’esecuzione di query (net flooding) –L’acknowledge con i risultati della query traccia la via all’indietro fino alla sorgente (backward ant)

18 La rete Ants – routing Route Maintenance:Route Maintenance: –Lista dei vicini con punteggi di efficienza (generica) nell’instradamento di messaggi. –Lista dei messaggi consegnati (tupla: sorgente, destinazione, hop from, hop to); –Lista dei messaggi in transito –Lista dei propri messaggi –Lista dei messaggi falliti La posizione di una tupla nella lista dei messaggi consegnati indica da quanto tempo la via non è usata, dunque posizioni alte indicano vie poco usate (inefficienti o interrotte), oltre un certo limite le tuple sono scartate.La posizione di una tupla nella lista dei messaggi consegnati indica da quanto tempo la via non è usata, dunque posizioni alte indicano vie poco usate (inefficienti o interrotte), oltre un certo limite le tuple sono scartate.

19 La rete Ants – routing Ogni volta che un messaggio arriva al router:Ogni volta che un messaggio arriva al router: –Se il messaggio è unicast si valuta se si possiedono informazioni per instradarlo verso la sua destinazione, se le si hanno lo si instrada, altrimenti lo si instrada verso il vicino valutato più efficiente nella relativa lista dei vicini –Se il messaggio è di tipo Ack ed è relativo ad uno dei messaggi nella lista dei messaggi transitati allora si trasferisce la tupla nella lista dei consegnati e si aggiorna l’effficienza del vicino a cui il messaggio era stato instradato –I messaggi di broadcast, sebbene prevedano ack, non causano aggiornamenti di efficienza dei vicini

20 La rete Ants – politiche di efficienza Il Router presente in ogni nodo, oltre a fare tali valutazioni sui messaggi che riceve e a provvedere all’instradamento realizza due politiche per garantire efficienza nella rete:Il Router presente in ogni nodo, oltre a fare tali valutazioni sui messaggi che riceve e a provvedere all’instradamento realizza due politiche per garantire efficienza nella rete: –Leaky Bucket messaggi rimasti nella coda di attesa per un tempo > timeoutmessaggi rimasti nella coda di attesa per un tempo > timeout messaggi che arrivano quando già NMAX messaggi stanno venendo processatimessaggi che arrivano quando già NMAX messaggi stanno venendo processati

21 La rete Ants – politiche di efficienza –Routing sulla base della priorità del messaggio I messaggi oltre alla tipologia determinata dal campo type sono divisi in classi. Ogni classe ha una sua priorità di instradamento stabilita sulla base della dimensione media (politica Max-min share).I messaggi oltre alla tipologia determinata dal campo type sono divisi in classi. Ogni classe ha una sua priorità di instradamento stabilita sulla base della dimensione media (politica Max-min share). Messaggi semplici (vuoti) e Messaggi di Controllo sui ServiziMessaggi semplici (vuoti) e Messaggi di Controllo sui Servizi Messaggi di Richieste di ServizioMessaggi di Richieste di Servizio Messaggi di DatiMessaggi di Dati La politica di priorità tra i messaggi di una stessa classe è la stessa che Java applica a Thread con medesima priorità bloccati su un lock (tipicamente nondeterminismo). dimensione crescente

22 La rete Ants – trasporto/sessione A tale livello vengono usati i servizi messi a disposizione da quello sottostante per cercare risorse sulla rete e realizzare connessioni sicure tra gli end-point (Scambio DH – AES) con le quali effettuare comunicazioni sulla rete.A tale livello vengono usati i servizi messi a disposizione da quello sottostante per cercare risorse sulla rete e realizzare connessioni sicure tra gli end-point (Scambio DH – AES) con le quali effettuare comunicazioni sulla rete. Messaggio di query (broadcast)Messaggio di query (broadcast) ID type = 2 Sorgente Destinazione TTL Corpo del messaggio vuoto Header del messaggio di query porta le informazioni per il routing a livello di Rete ID type = 1 Sorgente Destinazione TTL asdhajsjhjkshdakjsj Corpo del messaggio risorsa disponibile inviata nella risposta (hash MD5 e info aggiuntive) Header del messaggio di acknowledge per una query porta le informazioni per il routing a livello di Rete e per la query Chiave pubblica RSA Stringa di query Chiave pubblica RSA Stringa di query Trasporto/Sessione Link/Rete

23 La rete Ants – trasporto/sessione Tracciata la strada all’indietro grazie all’acknowledge inviato (procedimento analogo a quanto visto nell’ ARA e nell AODV) si ha a disposizione un percorso per inviare messaggi bidirezionali tra due nodi.Tracciata la strada all’indietro grazie all’acknowledge inviato (procedimento analogo a quanto visto nell’ ARA e nell AODV) si ha a disposizione un percorso per inviare messaggi bidirezionali tra due nodi. supporto a politica multi-pathsupporto a politica multi-path Send message Receive message Send acknowledge Receive acknowledge

24 La rete Ants – trasporto/sessione Per attuare la comunicazione vera e propria viene attuato il protocollo seguente per la richiesta di una connessione sicura; ogni messaggio richiede l’arrivo alla sorgente dell’acknowledge, come visto sopra, per essere considerato delivered, nel caso in cui si perda l’acknowledge, si procede alla ritrasmissione, di qui la ha politica At Least Once:Per attuare la comunicazione vera e propria viene attuato il protocollo seguente per la richiesta di una connessione sicura; ogni messaggio richiede l’arrivo alla sorgente dell’acknowledge, come visto sopra, per essere considerato delivered, nel caso in cui si perda l’acknowledge, si procede alla ritrasmissione, di qui la ha politica At Least Once: secure connection request received secure connection request send secure connection response received secure connection response [found pending request] lost acknowledge secure connection request [Retransmission: same msg ID] retransmission timeout received secure connection request [ignored, already processed] key computation [secure channel created] acknowledge message

25 La rete Ants – trasporto/sessione Il protocollo mostrato è facilmente estendibile ed è possibile introdurre un’identificazione sicura nella creazione del canale ad esempio utilizzando certificati X.509.Il protocollo mostrato è facilmente estendibile ed è possibile introdurre un’identificazione sicura nella creazione del canale ad esempio utilizzando certificati X.509. Una volta stabilita una connessione sicura si ha a disposizione un canale per la comunicazione con l’altro end-point.Una volta stabilita una connessione sicura si ha a disposizione un canale per la comunicazione con l’altro end-point. –scambio di messaggi –definizione di nuovi tipo di messaggio Si hanno a disposizione tutti gli strumenti per implementare politiche consistenti ed affidabili di comunicazione:Si hanno a disposizione tutti gli strumenti per implementare politiche consistenti ed affidabili di comunicazione: –è possibile sapere se un messaggio arriva con successo (scompare dalla lista dei propri messaggi) o fallisce (compare nella lista dei messaggi falliti: no route found oppure timeout). –Come già spiegato la politica di invio è At Least Once, quindi a livello di Trasporto/Sessione bisognerà gestire la possibilità che un messaggio venga recapitato più volte ed eliminare i duplicati.

26 La rete Ants – trasporto/sessione Servizi esistenti sviluppati sull’infrastruttura di rete con protocolli a scambio di messaggi:Servizi esistenti sviluppati sull’infrastruttura di rete con protocolli a scambio di messaggi: –Invio di una query/Invio di una risposta ad una query –Pulling di una risorsa [file] o di parte di essa [numero definito di byte ad un certo offset] presente sull’altro end-point –Pulling della dimensione di una risorsa [file] presente sull’altro end-point Estensioni facilmente sviluppabili sull’infrastruttura di rete con protocolli a scambio di messaggi:Estensioni facilmente sviluppabili sull’infrastruttura di rete con protocolli a scambio di messaggi: –Invio di messaggi di testo tra nodi della rete: route discovery tramite query in broadcast per stabilire se un nodo è on-line oppure noroute discovery tramite query in broadcast per stabilire se un nodo è on-line oppure no

27 La rete Ants – applicazione Motore per recuperare risorse da sorgenti multipleMotore per recuperare risorse da sorgenti multiple –generazione di piani di download non sequenziali basati su LFSR Condivisione di risorse parziali durante il recuperoCondivisione di risorse parziali durante il recupero –supplisce insieme ai piani di download non sequenziale alla mancanza di sistemi di code per le richieste Ricerca automatica di sorgenti per la risorsa che deve essere recuperataRicerca automatica di sorgenti per la risorsa che deve essere recuperata –query automatizzate a intervalli di tempo regolari Supporto a query strutturate testualiSupporto a query strutturate testuali

28 Estensioni future Sviluppare estensioni a livello di SessioneSviluppare estensioni a livello di Sessione –identificazione sicura tra nodi tramite certificati X.509 Supportare nuovi protocolli sopra il livello di sessioneSupportare nuovi protocolli sopra il livello di sessione –l’HTTP sulla connessione sicura che viene stabilita a livello di Sessione Aggiungere funzionalità a livello applicativo:Aggiungere funzionalità a livello applicativo: –supporto a messaggi di testo tra end-point connessi.


Scaricare ppt "Una rete Multi-hop Ad-Hoc anonima e sicura Roberto Rossi Sito ufficiale:"

Presentazioni simili


Annunci Google