Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Network Simulator NS2 vs NS3
Andrea Valletta 8 gennaio 2010
2
Introduzione Network Simulator è nato con lo scopo di offrire un supporto per la ricerca in ambito networking Progettazione di nuovi protocolli, studio del traffico, etc Confronto tra varie versioni di un protocollo E’ un software open source Il codice è condiviso, visibile a tutti e liberamente modificabile per aggiungere nuovi protocolli, nuovi modelli, etc Questo incrementa l’affidabilità dei risultati Molte persone hanno testato i modelli in situazioni differenti I modelli sono stati sviluppati da esperti Il codice è gratuito
3
Importanza di NS2 Numero di papers in cui sono citate simulazioni (fonte ACM Digital Library, ): ns-2 OPNET QualNet Glomosim ≥ layer 4 123 (75%) 30 (18%) 11 (7%) = layer 3 186 (70%) 48 (18%) 31 (12%) ≤ layer 2 114 (43%) 96 (36%) 55 (21%)
4
Funzionalità incluse in NS2
Reti cablate Routing DV, LS, PIM-SM Emulazione di reti reali Wireless Ad hoc routing e mobile IP Directed diffusion, sensor-MAC Reti satellitari (satelliti geostazionari e polari, con o senza elaborazione a bordo) Trasporto: TCP, UDP, SCTP Sorgenti di traffico:web, ftp, telnet, cbr, stocastiche Discipline di coda:drop-tail, RED, FQ, SFQ, DRR QoS: IntServ and Diffserv Tracing, animazioni, utilities varie
5
Componenti di NS2 Ns, il simulatore vero e proprio
Nam, il tool network animator Permette una visualizzazione grafica animata dei risultati forniti da ns Nam editor: interfaccia grafica per generare script per ns Pre-processing: Generatori di traffico e topologie Post-processing: Analisi delle tracce, solitamente mediante script in Awk, Perl, o Tcl
6
Modellimoduli, blocchi
Modelli di traffico e applicazioni: Web, FTP, telnet, constant-bit rate, real audio Protocolli di trasporto: unicast: TCP (Reno, Vegas, etc.), UDP, SCTP Multicast: SRM Routing e code: Wired routing, ad hoc routing e directed diffusion Protocolli di coda: RED, drop-tail, etc Physical media: Reti Cablate (point-to-point, LANs), wireless (multiple propagation models), reti satellitari
7
Simulatore ad eventi Il simulatore vede una sequenza di eventi
Viene gestita una lista di eventi Prendi un evento, elaboralo, poi passa all’evento successivo nella lista Ciascun evento si verifica in un istante di tempo simulato, ma impiega una quantità arbitraria di tempo reale E’ un modello molto semplice Singolo flusso di controllo Facile da gestire
8
Esempio di simulazione ad eventi
t=1.0: A invia un pacchetto all’interfaccia di rete (NIC) che inizia il carrier sensing (CS) t=1.005: il NIC di A termina il CS, inizia a trasmettere t=1.006: il NIC di B inizia a ricevere il pacchetto t=1.01: il NIC di B conclude la ricezione del pacchetto, e lo passa all’applicazione Due nodi su una LAN A B
9
Struttura del software
NS è orientato agli oggetti Un nodo, un link, uno strato dell’architettura protocollare costituiscono oggetti Ciò consente un notevole riuso del codice NS2 usa due linguaggi Maggiore flessibilità, ma occorre imparare due linguaggi di programmazione C++ per l’elaborazione dei pacchetti Veloce, consente un controllo più fine OTcl per il controllo Preparazione e configurazione della simulazione Utile per introdurre rapidamente delle modifiche
10
C++ e OTcl C++ OTcl ns Oggetti Tcl Oggetti C++ puri puri
Oggetti “split” C++/OTcl C++ OTcl ns
11
Schema generale Il cuore del simulatore è scritto in C++ ( compilato, veloce) L’interfaccia per la gestione dei parametri di simulazione è scritta in OTcl (estensione di Tcl object oriented) ( interpretato, i parametri possono essere modificati senza dover ricompilare tutto il simulatore)
12
NAM
13
File di traccia + 1.84375 0 2 cbr 210 ------- 0 0.0 3.1 225 610
r cbr r ack tcp tcp r cbr cbr d cbr cbr r cbr cbr cbr cbr Inserimento in coda Istante in cui è avvenuto l’evento Nodi coinvolti Tipo Dimensione Flags Numero di sequenza Identificativo univoco del pacchetto Flusso Sorgente Destinazione Rimozione dalla coda Ricezione Pacchetto scartato
14
Pregi di NS2 I pregi principali sono legati alla vasta adozione
Integra molti moduli ai vari livelli della struttura protocollare Sono disponibili molti moduli aggiuntivi (esempio UMTS, WiMAX) Molta documentazione disponibile E’ un codice maturo e per la maggior parte stabile Infine, è gratuito
15
Difetti di NS2 Adozione di 2 linguaggi
Poco scalabile, difficoltà di debugging Difficile da usare, soprattutto in ambito didattico Gli strati di rete ed inferiori, sono molto astratti Discontinuità nel passaggio da simulazione a sperimentazione Molti modelli non sono più mantenuti, quindi ormai incompatibili La documentazione è molta, ma è vecchia A parte il TCP, per gli altri modelli non ci sono validazioni documentate
16
NS2 NS3 NS3 è un nuovo simulatore, scritto quasi da zero
Alcuni moduli (es wifi) sono stati portati da NS2 a NS3, ma non è un’evoluzione di NS2. Due linguaggi di programmazione: C++, Python A differenza di NS2, tutto è sviluppato in C++ ns3 è una libreria scritta in C++ I programmi di simulazione sono eseguibili C++ Non occorre effettuare in contemporanea il debugging di due codici scritti in due linguaggi differenti Il linguaggio di scripting Python è opzionale Progetto iniziato a metà del Prima release ottobre 2008 Ancora non maturo, in fase di sviluppo Una nuova release ogni 3-4 mesi (la prossima 3.7 prevista per il 20 Gennaio)
17
Attività del progetto NS3
18
Scopi del progetto NS3 Sviluppo di un simulatore open license (GPLv2)
Il progetto deve essere scalabile, devono poter essere inseriti facilmente nuovi modelli Il progetto deve sopravvivere una volta che saranno terminati i finanziamenti per il suo sviluppo iniziale La validazione dei modelli deve essere a basso costo I modelli devono essere vicini al mondo reale Modelli meno astratti di quelli di NS2, più facili da validare Facile esecuzione di codice reale L’emulazione semplice e robusta rispetto alla modifica dei modelli
19
Caratteristiche chiave di NS3
Modelli meno astratti, più facili da validare. Facile esecuzione di codice reale Adozione dell’indirizzamento IP Più interfacce per nodo Bsd-like sockets Emulazione semplice e robusta rispetto alla modifica dei modelli I pacchetti contengono reali stringhe di bytes
20
Modello base in NS3 Node: scheda madre di un computer con RAM, CPU e interfacce IO Application: generatore/ricevitore di pacchetti eseguito su un nodo. Comunica con un insieme di network stacks Socket: interfaccia tra un’applicazione ed un network stack NetDevice: scheda di rete che può essere inserita in una delle interfacce IO del nodo Channel: collegamento fisico tra un insieme di oggetti NetDevice
21
Modelli implementati Network stacks: arp, ipv4, icmpv4, udp, tcp (ipv6 under review) Devices: wifi, csma, point-to-point, bridge Error models and queues Applications: udp echo, on/off, sink Mobility models: random walk, etc. Routing: olsr, static global
22
NS3 ha anche un’interfaccia grafica
Tramite un’interfaccia grafica è possibile controllare i parametri della simulazione Facilità d’uso, soprattutto in ambito didattico
23
Tracce in NS3 E’ possibile scegliere cosa tracciare e cosa no, senza modificare il codice del simulatore Ciascun file di traccia può essere collegato a più sorgenti di traccia 3 livelli di dettaglio delle tracce 2 tipi di tracce Testuali, tipo NS2 pcap Interpretabili da Wireshark (ex Ethereal) Facilità di passaggio tra simulazione e sperimentazione
24
Emulazione 1 Ns3 mette in comunicazione macchine reali o virtuali
Stack reali Rete simulata
25
Emulazione 2 Una rete reale interconnette degli stack simulati
26
Prestazioni: tempo E. Weingärtner, H. Lehn, and K. Wehrle,”A performance comparison of recent network simulators”,IEEE International Conference on Communications 2009.
27
Prestazioni: memoria E. Weingärtner, H. Lehn, and K. Wehrle,”A performance comparison of recent network simulators”,IEEE International Conference on Communications 2009.
28
Conclusioni Il principale punto di forza di NS2 è il gran numero di modelli implementati e la sua diffusione Il principali punti deboli sono legati alla grande astrazione degli strati bassi della pila protocollare NS3 punta ad ottenere lo stesso successo di NS2 I risultati ottenuti da NS3 saranno più attendibili Minore astrazione Uso dell’emulazione, esecuzione di software reale NS3 sarà più semplice da usare Unico linguaggio Supporto di un’interfaccia grafica
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.