Agenda. Introduzione al simulatore di rete ns2 (Network Simulator vers. 2) Come installare ns2 su Windows. il linguaggio OTCL



Documenti analoghi
Il simulatore di rete ns2

Il simulatore ns2 Network Simulator ver. 2

RETI DI TELECOMUNICAZIONI LS

Laboratorio di Reti di Comunicazione e Internet (MOD1)

Reti di Telecomunicazione Lezione 8

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Transmission Control Protocol

LABORATORIO DI RETI. 02 La Multiplazione Statistica nelle Reti a Paccchetto

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

I Socket. Laboratorio Software M. Grotto R. Farina

Laboratorio di Reti di Comunicazione e Internet (MOD1)

Università di Bergamo Laboratorio di Reti Prof. Fabio Martignon

Lo scenario: la definizione di Internet

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

Reti di Telecomunicazione Lezione 6

Dipartimento di Ingegneria dell Informazione e Metodi Matematici Laboratorio di Reti Prof. Fabio Martignon

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Aggiornamenti Sistema Addendum per l utente

Reti di Telecomunicazione Lezione 7

Network Simulator 1. ns c. LBNL s Network Simulator. Salvatore Serrano 14 marzo Network Simulator 2. ns v.2

Istruzioni per l uso della Guida. Icone utilizzate in questa Guida. Istruzioni per l uso della Guida. Software di backup LaCie Guida per l utente

Manuale Terminal Manager 2.0

Analisi dell avvio del TCP su canali satellitari a larga banda. Candidato Giovanni Verrecchia

Altro esempio di HTML

2015 PERIODO D IMPOSTA

Installazione del software Fiery per Windows e Macintosh

Network Simulator (NS)

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

ARCHITETTURA DI RETE FOLEGNANI ANDREA

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Tesi di Laurea Specialistica EMULAZIONE DI EFFETTI WAN NELLA VALUTAZIONE DELLE PRESTAZIONI DI SERVER WEB. Candidato Emiliano Zeppa.

Reti di Calcolatori. Il software

istraffic Sistema di monitoraggio Traffico

Mac Application Manager 1.3 (SOLO PER TIGER)

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Gestione della Connessione in TCP

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00

Siti web centrati sui dati (Data-centric web applications)

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

Compilatore risorse display grafico LCD serie IEC-line

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Introduzione al Linguaggio C

Corso di Informatica

Protocolli applicativi: FTP

START Easy GO! Il gestionale sempre in tasca! Procedura di aggiornamento. Documentazione utente Pagina 1 di 18

Capitolo 4 Pianificazione e Sviluppo di Web Part

Rsync su GNU/Linux e su Windows? (Backup sincronizzato su disco di rete e/o RAID1 su server FreeNAS)

FONDAMENTI di INFORMATICA L. Mezzalira

Il web server Apache Lezione n. 3. Introduzione

DA SA Type Data (IP, ARP, etc.) Padding FCS

Access Control List (I parte)

Gestione dei File in C

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

MODULO 02. Iniziamo a usare il computer

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Corso basi di dati Installazione e gestione di PWS

Installazione e caratteristiche generali 1

VISUALFLEET Software Overview

Servizio di backup dei dati mediante sincronizzazione

Dexma Newsletter System

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Installazione LINUX 10.0

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Esempio di esecuzione di una pagina JSP: Il client chiede la pagina: sdfonline.unimc.it/info/modulo.jsp;

VERSIONE 5.1/5.2 GUIDA RAPIDA PER WEBACCESS HTML 3

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Il Web Server e il protocollo HTTP

Creare connessioni cifrate con stunnel

Abilitazione e uso del protocollo EtherTalk

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Introduzione alla programmazione in C

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

3. Introduzione all'internetworking

Interfaccia KNX/IP Wireless GW Manuale Tecnico

Dal protocollo IP ai livelli superiori

Il Software. Il software del PC. Il BIOS

Gestione del file system

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Introduzione al sistema operativo Il file system: file, directory,...

Applicazioni web centrati sui dati (Data-centric web applications)

Archivio CD. Fondamenti di Programmazione

Inizializzazione degli Host. BOOTP e DHCP

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console

Installazione di Sophos Antivirus 5.1 su piattaforma Windows XP

Gestione del workflow

Antonio Cianfrani. Extended Access Control List (ACL)

Installazione di GFI WebMonitor

Introduzione. Installare EMAS Logo Generator

Rapporto tecnico sulle tipologie di agenti software definiti e implementati nell ambito del progetto

Transcript:

IC3N 2000 N. 1 Agenda Introduzione al simulatore di rete ns2 (Network Simulator vers. 2) Come installare ns2 su Windows il linguaggio OTCL Uso di ns2 per simulare reti a pacchetto L ambiente di simulazione Le classi standard di ns2 1

Il simulatore: ns2 Network Simulator ver. 2 Sviluppato presso l University of Southern California's Information Sciences Institute (ISI) Software di simulazione di pubblico dominio (open source) Simulatore di reti in continua evoluzione Piattaforme supportate: Unix, Unix-like, Windows Sito ufficiale: http://www.isi.edu/nsnam/ns/! "# ns2 è un simulatore orientato al networking. - La popolarità di ns2 è essenzialmente dovuta all' eterogeneità di uso ed alla varietà di modelli messi a disposizione. Infatti ns consente di simulare molte tipologie di reti IP (LAN/WAN) Protocolli di rete a vari livelli (MAC, routing, trasporto) Modelli di sorgenti di traffico (es. CBR, FTP, ON/OFF ) Meccanismi di gestione delle code (es. FIFO, RED, Droptail ) 2

! "# ns2 un simulatore ad eventi discreti - l istante in cui si presenta un evento attiva l esecuzione di azioni specificate dal programma - Un evento può essere l'invio o la ricezione di un pacchetto da parte di una componente di rete oppure la gestione di un timer ns2 un simulatore scritto in C++ e Otcl - Motore di simulazione C++ - Interazione utente-simulatore in Otcl (Object-Oriented tool command language) $! "# Lista Eventi t 0 :evento 0 t 1 : evento 1 t 2 : evento 2......... t n : evento n select next event add new event remove old event event i Scheduler Elaborazione Invocazione Il simulatore agisce sulla lista eventi inserisce un nuovo evento nella lista processa l evento attuale estraendolo dalla lista esegue le azioni associate all evento elimina l evento processato L accesso alla lista viene gestita dallo scheduler % 3

Il simulatore: ns2 Network Simulator ver. 2 User Space OTcl Script: Tcl interpreter with OO extention User Space ns library Event Scheduler objects Network component objects Network setup Helping modules Risultati... OTCL:Il linguaggio di scripting Otcl è usato per eseguire i comandi dell utente, ovvero per descrivere lo scenario simulativo configurare la topologia di rete, nodi, canale, schedulare gli eventi C++: Il linguaggio C++ è usato per implementare il simulatore riproducendo il comportamento dei protocolli di rete & Il simulatore: ns2 Network Simulator ver. 2 Le classi C++ che costituiscono ns2 implementano l insieme dei protocolli disponibili L ambiente OTcl : permette la definizione di classi OTcl direttamente connesse alle classi C++ (linkage) fornisce i metodi per l utilizzo delle classi ns2 utilizza le due tipologie di classe e consente di creare gestire ed analizzare una rete di telecomunicazioni lo script OTcl è il mezzo per creare gli oggetti della rete ed i relativi collegamenti fra gli stessi ' 4

) * ns2 viene naturalmente installato su sistema operativo UNIX. È possibile installare NS2 anche su Windows appoggiandosi sulla piattaforma Cygwin che simula l ambiente Linux. Trovate tutto il materiale sul sito http://deisnet.deis.unibo.it/didattica/corsibo/retils/ Cygwin NS2 Istruzioni per le installazioni ( -." /0 "1 Cygwin è scaricabile liberamente da Internet o in alternativa lo trovate sul sito dell esame. Prima di tutto installare Cygwin in C: o in C:/Programmi. È consigliabile installare tutti i componenti (all install) +, 5

-." /0 "1 Dopo aver installato cygwin (consigliabile installare l icona sul Desktop) Aprire la shell di cygwin in modo tale che viene creata la directory home/nome-utente Verifica del funzionamento di Cygwin Eseguire una shell Cygwin tramite l'apposito collegamento creato sul Desktop Digitare startx Digitare dal nuovo terminale xeyes Se due occhioni sono comparsi sul monitor, allora l'installazione di XWindows è andata a buon fine ++ * " "/+1 Scaricare il file ns-allinone 2.29.2.tar.gz nella directory C:/Cygwin/home/loginutente Aprire Cygwin e arrivare nel file system alla cartella C:/Cygwin/home/ loginutente Scompattare il file ns-allinone-2.29.2.tar.gz nella directory C:/Cygwin/home/loginutente con il comando: tar -xvzf ns-allinone-2.29.2.tar.gz dalla shell Cygwin Posizionarsi nella cartella /ns-allinone-2.29/con il comando: cd ns-allinone-2.29 Lanciare il comando di installazione:./install Aggiornare il file ~/.bashrc che si trova nella home di ns aggiungendo i comandi che trovate nelle spiegazioni (v.slide successiva). + 6

* " "/1 Aggiornare il file ~/.bashrc che si trova nella home di ns (vedi file readme.pdf) scrivere pwd dalla shell di Cygwin notare cosa rimanda la shell... solitamente /home/loginutente/nsallinone-2.29/ Da shell: export NS_HOME=/home/loginutente/ns-allinone-2.29/ export PATH=$NS_HOME/tcl8.4.11/unix:$NS_HOME/tk8.4.11 /unix:$ns_home/bin:$path export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.11/unix: $NS_HOME/tk8.4.11/unix:\ $NS_HOME/otcl-1.11:$NS_HOME/lib:$LD_LIBRARY_PATCH export TCL_LIBRARY=$NS_HOME/tcl8.4.11/library. + 2 345/+%1 OTCL è un insieme di estensioni del linguaggio TCL che consentono di implementare un ambiente di programmazione di tipo OO (object oriented) Tcl (Tool Command Language) è un linguaggio di scripting di tipo general-purpose Il Tcl è spesso utilizzato congiuntamente alla libreria Tk (Tool Kit), un insieme di librerie e comandi che consentono di creare con facilità interfaccie grafiche Il legame esistente tra il Tcl e l'otcl può essere assimilato a quello esistente tra C e C++ ns-2 OTCL tutorial: - www.isi.edu/nsnam/otcl/doc/tutorial.html + 7

2 345/%1 Per creare una variabile si usa il comando: set <nome_variabile> <valore> set a 15 unset <nome_variabile> Per leggere il valore di una variabile si usa il simbolo $ seguito dal nome della variabile per riferimento: $variabile puts $a; # scrive a video il valore di a expr $a * 5; # calcola a* 5 Le variabili sono tutte di tipo stringa e non devono essere dichiarate. Se necessario, l interprete converte la stringa in un valore numerico +$ 2 345/%1 Output su schermo: Per scrivere su schermo si usa: puts $<nome_variabile> puts <stringa di caratteri> Ex: puts Hallo Output su file: Per aprire un file si usa il comando open: set trace_file [ open nome_file w] Per scrivere su un file si usa il comando puts puts $trace_file $<nome_variabile> Per chiudere il file si usa il comando close. close $trace_file +% 8

2 345/%1 Input da linea di comando: Il numero di parametri di ingresso è contenuto nella variabile argc. I parametri in ingresso sono contenuti nella lista argv. Per leggere i parametri usare il comando : [lindex $argv n] if {$argc == 2} { set a [lindex $argv 0 ] set b [lindex $argv 1 ] } puts variabile A= $a; variabile B= $b Ad a viene assegnato il primo valore dell array argv e a b il secondo. Argv è l array dei parametri in ingresso +& 2 345/$%1 Cicli FOR for {set i 0} {$i < 100} {incr i} { set v($i) [new vettore] } Cicli WHILE while {$i < 100} { set v($i) [new vettore] incr i } Istruzioni IF if {$i < 10} { puts i is less than 10 " } +' 9

2 345/%%1 Le procedure facilitano la programmazione permettono l esecuzione di azioni ricorsive caratterizzano il programma in blocchi logici proc <nome> {p 1 p 2 } { body } EX proc proc3 {min max} { set differenza [expr $max-$min] return $differenza; } set differenza [proc3 5 17]; puts $differenza; +( Uso di ns2 per le reti a pacchetto O, 10

Uso di ns2 per simulare reti a pacchetto Le classi standard utili per implementare un modello di rete per lo studio del protocollo TCP sono: La classe base di ns2: SIMULATOR Le classi che definiscono lo strato di rete: NODE LINK ERROR MODEL Classe de definisce lo strato di trasporto : AGENT Classe che definisce le applicazioni: APPLICATION Le classi che definiscono il monitoraggio e la raccolta dei risultati: TRACE MONITOR + La classe SIMULATOR Classe fondamentale di ns2 Permette di istanziare il motore di simulazione Primo oggetto creato da uno script OTcl set ns [new simulator] I metodi della classe simulator: 3 categorie configurazione della topologia (creazione dei nodi, dei link,...) monitoraggio dell evoluzione temporale di oggetti (trace) configurazione dello scheduler Il metodo per la configurazione dello scheduler definisce i seguenti comandi: at esegue un comando al tempo t after esegue un comando dopo un certo intervallo P L istruzione run fa partire la simulazione $ns at t comando $ns after p comando 11

La classe SIMULATOR : esempio Example proc arriva_pacchetto {} { puts Pacchetto arrivato $ns after 1 arriva_pacchetto } set ns [new Simulator] $ns at 0.5 arriva_pacchetto $ns at 3 exit 0 $ns run La classe NODE: generalità Classe implementata in Otcl Implementano le funzionalità del protocollo IP definizione dell indirizzamento routing consegna delle unità informative al protocollo di trasporto Due tipi: Unicast Node: per gestire pacchetti con un solo mittente ed un solo destinatario Multicast Node: per gestire pacchetti con un solo mittente e più destinatari 12

La classe NODE: creazione dell oggetto Creazione dell oggetto NODE: set node1 [$ns node] Ritorno dell identificatore di nodo $node1 id Creazione di N oggetti NODE for {set i 0} {$i < N} {incr i} { } {set node$i [$ns node]} $node1 attach <agent> $ns attach-agent $node1 $agent1 $ La classe LINK: generalità Oggetti che permettono i collegamenti fra gli oggetti NODE Definita da 5 elementi principali: head_ ) queue_ 5 # link_ )55 # * 6 55 6 ttl_ ) 442/4 42 1 drophead ) _ 5 55 # % 13

La classe LINK: creazione dell oggetto (1/2) 7 set ns [ new Simulator ] set node1 [ $ns node ] set node2 [ $ns node ] set node3 [ $ns node ] set node4 [ $ns node ] invocazione della classe simulator creazione di 4 oggetti NODE attraverso il metodo node appartenente alla classe ns $ns simplex-link $node1 $node2 10Mb 1ms DropTail $ns duplex-link $node3 $node4 100Mb 50ms DropTail Creazione di 2 collegamenti fra i nodi specificandone il tipo, la capacità, il ritardo e la politica di coda all interfaccia fra il nodo ed il link d uscita & La classe LINK: creazione dell oggetto (2/2) 7 set ns [ new Simulator ] set node1 [ $ns node ] set node2 [ $ns node ] set node3 [ $ns node ] set node4 [ $ns node ] $ns simplex-link $node1 $node2 10Mb 1ms DropTail $ns duplex-link $node3 $node4 100Mb 50ms DropTail B=10Mb; d=1ms 1 2 B=50Mb; d=50ms 3 4 ' 14

La classe AGENT: generalità (1/2) Gli agent sono gli elementi dove si realizza: la generazione a livello di rete delle unità informative che devono essere trasmesse (es.:applicazione che invia dati) la rimozione delle stesse dopo la ricezione (es.: applicazione che riceve i dati) Applicazione A Applicazione B AGENT A AGENT B NODO 1 LINK NODO 2 LINK NODO 3 LINK ( La classe AGENT: generalità (2/2) L agent non riceve realmente dati dall applicazione ma solo la dimensione dell unità informativa (bytes) Diversi tipi di agent per gestire diversi tipi di protocolli di trasporto (es. TCP, UDP, ) Per ogni protocollo di trasporto è definito: Un agent trasmettitore Un agent ricevitore Al nodo ricevitore i pacchetti vengono scartati dall agent ricevitore (libera la memoria associata alla struttura dati del pacchetto) AGENT NULL (scarto) AGENT TCPSink (scarto +ACK), 15

La classe AGENT: Agent TCP Due categorie possibili: Agent TCP unidirezionali Agent trasmettitori Agent ricevitori Agent TCP bidirezionali Possibilità di impostare diverse versioni del TCP Tahoe, Reno, NewReno, Vegas etc. La classe Agent/TCP è caratterizzata da numerose variabili membro Senza nessuna specifica valore di default Possibilità di modificare i valori di default Agent/TCP set <member_variable> <value> + 84-9 : 5 window: dimensione massima della finestra di congestione/ricezione packetsize: dimensione in byte del pacchetto trasmesso tcptick: granularità temporale nella stima del RTT maxrto: valore massimo per il RTO dupacks: contatore degli ack duplicati Ack: il valore più alto di ACK ricevuto cwnd: dimensione della finestra di congestione (in pacchetti) sstresh: valore della soglia di slow start rtt: campione del RTT srtt: valor medio del campione di RTT rttvar: varianza del campione di RTT maxseq: massimo numero di sequenza trasmesso... 16

La classe AGENT: creazione dell oggetto 7 set ns [ new Simulator ] set node1 [ $ns node ] set node2 [ $ns node ] $ns simplex-link $node1 $node2 100Mb 2ms DropTail set agent1 [ new Agent /UDP ] set agent2 [ new Agent / Null ] $ns attach-agent $node1 $agent1 $ns attach-agent $node2 $agent2 $ns connect $agent1 $agent2 $agent1 set fid_ 1 #associa i pacchetti ad certo flusso tramite la viaribile membro flow indicator Agent 1 node 1 1 1 1 Link node 2 Agent 2 La classe APPLICATION: generalità Ha lo scopo di emulare le applicazioni più comuni e le caratteristiche di profili di traffico noti. Le unità dati generate da oggetti application sono passati all oggetto agent tramite funzioni di interfaccia. Possibilità di: generare traffico tipico di applicazioni del mondo reale (FTP File Transfer Protocol, Telnet, WEB) Configurare le caratteristiche dell applicazione In ns2 l applicazione non genera veri dati ma solo delle dimensioni di file (es.: numero di byte inviati per trasferire un file mp3) I byte generati vengono incapsulati in segmenti TCP dall agent corrispondente con intestazioni TCP/IP 17

5* /;491 set ns [new Simulator] set node1 [$ns node] set node2 [$ns node] $ns duplex-link $node1 $node2 1Mb 1ms DropTail set agent1 [new Agent/TCP] set agent2 [new Agent/TCPSink] $ns attach-agent $node1 $agent1 $ns attach-agent $node2 $agent2 $ns connect $agent1 $agent2 set application1 [new Application/FTP] $application1 attach-agent $agent1 $ns at 0.0 "$application1 start" $ 258992-843 : 5 In ns2 sono implementate 4 classi derivate dalla classe TrafficGenerator: EXPOO_Traffic. generazione di traffico On/Off con distribuzione exp dei tempi di permanenza in ogni stato POO_Traffic: tempi di permanenza in ciascuno stato distribuiti secondo una distribuzione di Pareto (bursty) CBR_Traffic: generazione di traffico a rate costante, con pacchetti di dimensione fissa TrafficTrace: generazione di traffico effettivo ottenuto da misurazioni sulla rete % 18

La classe ERRORMODEL: generalità Consente di riprodurre il verificarsi di errori a livello fisico e/o la perdita di unità dati Si basa sull utilizzo di due stratagemmi: Attivazione dei flag di errore nella struttura del pacchetto come indicazioni di presenza di bit errati (opzione di default) Invio del pacchetto ad un unità di scarto (drop target) invece che al destinatario per simulare la perdita del pacchetto L evento di errore può quindi essere definito sia a livello di bit sia di pacchetto & Monitoraggio e raccolta dei risultati Due strategie possibili per raccogliere i risultati della simulazione definizione di due diversi oggetti ns: oggetti trace oggetti monitor Oggetto trace: inserito tra due nodi produce un report su tutti gli eventi che hanno interessato i pacchetti trasmessi sul link durante la simulazione necessità di associare all oggetto trace un elemento di raccolta dei dati di simulazione (TclChannel (un file)) Oggetto monitor: sfrutta l uso di contatori permette di monitorare i parametri d interesse durante la simulazione ' 19

La classe TRACE: generalità Ogni pacchetto è tracciato grazie ad una intestazione (hdr_cmn) caratterizzata da un identificativo unico il tipo di pacchetto la dimensione del pacchetto (tempo di trasmissione) un identificativo dell interfaccia di trasmissione (per il caso multicast) un identificativo di flusso nodo sorgente nodo destinazione ( La classe TRACE: esempio set ns [ new Simulator ] set source [ $ns node ] set dest [ $ns node ] $ns duplex-link 100Mb 1ms DropTail creazione dei nodi sorgente, destinazione e del link fra essi set trace_file [open traccia.tr w] apertura in scrittura del file di trace traccia.tr $ns trace-queue $source $dest $trace_file...... close $trace_file set trace_file [open traccia.tr r] creazione del file traccia.tr con trace-queue chiusura del file a fine simulazione e apertura in lettura per leggere i risultati, 20

La classe TRACE: formato del file Caratterizzato da un formato standard in cui si specifica: tipo di evento (ricezione, accodamento, trasmissione, scarto) istante in cui si verifica l evento nodo sorgente e nodo destinazione tipo di pacchetto dimensione flag per utilizzi specifici (collegamenti wireless, etc,...) identificativo di flusso identificativo univoco di pacchetto numero di sequenza + La classe TRACE: esempio di file trace 21

La classe MONITOR: generalità Permette di costruire oggetti in grado di monitorare alcune grandezze (variabili di stato) di utilità per l analisi dei risultati di simulazione size_ 5. pkts_ 55 5 parrivals_ 55 barrivals_. pdepartures_ 55 pdrops_ 55 5 Consente anche di specificare l intervallo di campionamento delle variabili monitorate 0.1 sec di default La classe MONITOR: esempio Monitoraggio dello stato della coda posta fra due nodi (n1 ed n2): set queue1_2 [$ns monitor-queue $n1 $n2 [$ns get-nstraceall]] queue1_2puntatore all oggetto MONITOR $ns get-ns-traceall: comando per definire il puntatore ai dati 22