Network Simulator NS2 vs NS3

Slides:



Advertisements
Presentazioni simili
Indirizzamento LAN e ARP
Advertisements

Milano Settembre 2003 ISTI/CNR IS-MANET: WP5 Stefano Chessa Tel Area.
LE RETI Modello OSI e TCP/IP LE RETI Modello OSI e TCP/IP Maura Zini.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Informatica e Telecomunicazioni
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
RETI INFORMATICHE.
I modelli di riferimento OSI e TCP/IP
Moving Moving Young Young Turin Turin Hydrogen Hydrogen Olympic Olympic Safe RETE MANET informazioni in movimento.
Reti e Sistemi operativi
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
IDUL 2010 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2012 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2009 RETI E PROTOCOLLI. INTERNET. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Struttura dei sistemi operativi (panoramica)
Studio delle differenze prestazionali tra una Internet Network ed una Random Network Progetto CRESCO SPIII 11/12/2007 Ing.S.Di Blasi, Dott.ssa E.Marchei.
La Riflessione computazione Elisa Ferrando. Cos è la Riflessione La Riflessione Sistema riflessivo Sistema computazionale.
INTRODUZIONE AD OMNET++
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
RETI E INTERNET.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori MODELLI ISO/OSI e TCP/IP.
Semplice prototipo di Building Automation con una rete Ethernet
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze dellInformazione Applicazione.
Corso di Reti di Calcolatori LS A.A.: 2006 / 2007 Prof. Antonio Corradi SESAME Supporting Emulation of Services and Applications in Mobile Environments.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
DEIS Università di Bologna
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Corso di Informatica per Giurisprudenza Lezione 7
Java Contardi Carlo A.S. 2008/09.
Confronto tra gli algoritmi
Network Simulator: ns-2
Introduzione alla programmazione Object Oriented
Il modello di riferimento OSI
AICA Corso IT Administrator: modulo 4 AICA © EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Risoluzione dei Problemi e Analisi del Traffico.
Reti Insieme di computer e di altri dispositivi che comunicano tra loro per condividere i dati, le applicazioni e lhardware Modulo 1.
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
prof. Antonella Schiavon ottobre 2009
Connessioni wireless. introduzione Il primo standard fu creato nel 1995 dalla IEEE e fu attribuito il codice Le tecnologie utilizzate sono:  Raggi.
L’architettura a strati
DAmb Sergio Lovrinich 28 Settembre Descrizione Questo Software si propone di eseguire una Analisi del Codice Sorgente, mettendo a disposizione Strumenti.
MODULO 01 Unità didattica 04
IDUL 2013 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto ‘logico’ della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
1: Introduction1 Stratificazione protocollare (Protocol “Layering”) Le reti sono complesse! r Molti elementi: m host m router m link fisici dalle caratteristiche.
IC3N 2000 NSCRIPT D.E.I.S. Università di Bologna DEISNet
Overlay network strutturate per applicazioni peer to peer Lorenzo Castelli.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 1.
Servizi Internet Claudia Raibulet
Sistemi di elaborazione dell’informazione Modulo 1 - Tecniche di comunicazione digitale Unità didattica 3 - Modelli astratti di protocolli Ernesto Damiani.
Università degli Studi di Bologna Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Scienze dell’Informazione Università degli Studi.
1 Ethereal. 2 I protocolli di rete Per meglio comprendere i protocolli di rete, è molto utile vederli “in azione”, osservando la sequenza dei messaggi.
Mots, programmazione collaborativa di Ettore Ferranti.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 2 – UDP.
Strato di accesso alla rete (network access layer); comprende le funzioni che nel modello OSI sono comprese negli strati fisico, di collegamento e parte.
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Software di Packet-Filtering e Port-Filtering su reti TCP/IP Come filtrare il traffico di rete in transito sulle interfacce presenti, frapponendosi tra.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
CEFRIEL Deliverable R4.2.5 Implementazione di un MAC adattativo per reti WiMax Alessandro Lapiana Roma – 24 novembre ‘05.
ARCHITETTURA DI RETE Protocollo: insieme di regole che governano le comunicazioni tra i nodi di una rete. La condivisione di queste regole tra tutte gli.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
La Famiglia di Prodotti Network Analyzer. L’analizzatore J6801A DNA è un probe di cattura dati ultra leggero che comprende un sistema di acquisizione.
Introduzione Misurare l’impatto che può avere l’aggiunta di traffico sulle prestazioni di un sistema di rete è molto utile. Nel testing di applicazioni.
Laboratorio Android APPINVENTOR Livio Tenze
Alessandro Tirel - Sezione di Trieste Storage servers & TCP Tuning Proposta di studio delle problematiche connesse alla fornitura di servizi di storage.
Transcript della presentazione:

Network Simulator NS2 vs NS3 Andrea Valletta 8 gennaio 2010

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

Importanza di NS2 Numero di papers in cui sono citate simulazioni (fonte ACM Digital Library, 2001-04): 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%)

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

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

Modellimoduli, 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

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

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

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

C++ e OTcl C++ OTcl ns Oggetti Tcl Oggetti C++ puri puri Oggetti “split” C++/OTcl C++ OTcl ns

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)

NAM

File di traccia + 1.84375 0 2 cbr 210 ------- 0 0.0 3.1 225 610 r 1.84471 2 1 cbr 210 ------- 1 3.0 1.0 195 600 r 1.84566 2 0 ack 40 ------- 2 3.2 0.1 82 602 + 1.84566 0 2 tcp 1000 ------- 2 0.1 3.2 102 611 - 1.84566 0 2 tcp 1000 ------- 2 0.1 3.2 102 611 r 1.84609 0 2 cbr 210 ------- 0 0.0 3.1 225 610 + 1.84609 2 3 cbr 210 ------- 0 0.0 3.1 225 610 d 1.84609 2 3 cbr 210 ------- 0 0.0 3.1 225 610 - 1.8461 2 3 cbr 210 ------- 0 0.0 3.1 192 511 r 1.84612 3 2 cbr 210 ------- 1 3.0 1.0 196 603 + 1.84612 2 1 cbr 210 ------- 1 3.0 1.0 196 603 - 1.84612 2 1 cbr 210 ------- 1 3.0 1.0 196 603 + 1.84625 3 2 cbr 210 ------- 1 3.0 1.0 199 612 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

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

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

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 2006. 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)

Attività del progetto NS3

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

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

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

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

NS3 ha anche un’interfaccia grafica Tramite un’interfaccia grafica è possibile controllare i parametri della simulazione Facilità d’uso, soprattutto in ambito didattico

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

Emulazione 1 Ns3 mette in comunicazione macchine reali o virtuali Stack reali Rete simulata

Emulazione 2 Una rete reale interconnette degli stack simulati

Prestazioni: tempo E. Weingärtner, H. Lehn, and K. Wehrle,”A performance comparison of recent network simulators”,IEEE International Conference on Communications 2009.

Prestazioni: memoria E. Weingärtner, H. Lehn, and K. Wehrle,”A performance comparison of recent network simulators”,IEEE International Conference on Communications 2009.

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