Corso di Reti di Calcolatori LS A.A.: 2006 / 2007 Prof. Antonio Corradi SESAME Supporting Emulation of Services and Applications in Mobile Environments Progetto realizzato da: • Baldassarro Michele • Cocci Grifoni Gaetano Referente: • Ing. Dario Bottazzi Presentazione a cura di: Gaetano Cocci Grifoni Outline • Tecniche di simulazione e tecniche di emulazione nelle reti ad hoc • Strumenti esistenti • SESAME – Server • Test • Conclusioni Tecniche di simulazione nelle reti ad-hoc • Elevate difficoltà nell’effettuare il testing di applicazioni in scenari MANET. • I simulatori sono dei componenti software che dato un modello della rete ne simulano il comportamento al fine di ottenere dati sperimentali. • Gli emulatori effettuano una simulazione utilizzando le stesse applicazioni che saranno usate dagli utenti finali. La simulazione avviene collegando fisicamente i nodi su cui girano le applicazioni ad un nodo centrale che si occupa di simulare la rete. Limiti strumenti esistenti • Mancanza di uno standard • In molti casi per effettuare la simulazione occorre una modellazione matematica del sistema oppure sono necessarie modifiche ad-hoc sull’applicazione stessa allungando i tempi di sviluppo • Elevati costi di apprendimento per configurazione e utilizzo • Non adatti al supporto per lo sviluppo e il testing rapido di applicazioni distribuite SESAME Supporting Emulation of Services and Applications in Mobile Environments • Nasce come supporto al testing di applicazioni e servizi distribuiti • Facilità di configurazione e di utilizzo attraverso una GUI semplice e intuitiva • Limitato impatto sulle applicazioni grazie alla realizzazione di primitive java compliant • Possibilità di creare diverse topologie di rete spostando i nodi nell’interfaccia grafica • Supporto alla simulazione della mobilità dei nodi anche attraverso modelli di mobilità • Supporto al logging integrato (log4j) Calcolo Shortest Path SESAME JVM OS 0 1 2 ApplicationInterface ApplicationInterface ApplicationInterface JVM JVM JVM OS OS Architettura SESAME JVM OS Application Interface Server • Gestione nodi: – Uso di indirizzi virtuali – Calcolo vicini – Socket virtuali aperte • Routing: – Shortest path – Tabella di routing • Simulazione movimento nodi: – Random Walk Mobility Model – Boundless Simulation Area Mobility Model • Supporto al logging di messaggi applicativi – log4j Interfaccia grafica Test • Footprint 640 KB • Memoria run-time 39 MB di cui 7,2 della JVM Tipo messaggio Dimensione[byte] UpdateMessage: addNode 703 UpdateMessage: ackReg 696 PortUpdateMessage: add 127 PortUpdateMessage: del 127 • Overhead sui PortUpdateMessage: kill messaggi applicativi: PortUpdateMessage: ackPort 361 KB per il broadcast, 393 KB per PortUpdateMessage: ackDel l’unicast PortUpdateMessage: ackKill 128 131 130 131 Conclusioni • Problematiche nella simulazione di applicazioni per reti MANET • Vantaggi di SESAME: – Facilità di configurazione e d’uso – Soket virtuali java compliant – Log messaggi applicativi – Testing rapido • Possibili sviluppi futuri: – Utilizzo di nuovi protocolli – Implementazione di nuovi modelli di mobilità