NS2 Ultimate-Post elaborazione NS2 Risultato utilizzando NS2 Trace –…
Nota: Il contenuto di questa serie è estratto dal libro, Introduzione al simulatore di rete NS2. Potrebbe essere necessario leggere i capitoli 2 e 13 del libro per una migliore comprensione.
Cosa c’è in questo post?
In questo post, vi mostrerò un semplice (e forse il modo più comune) per creare un file di traccia NS2. Questo file di traccia contiene molte informazioni. In realtà, contiene troppe informazioni, che intimidisce gli utenti NS2. Non preoccuparti. Cercheremo di interpretare i file di traccia NS2 in seguito. Per ora, concentriamoci su come un file di traccia NS2 può essere creato.
Processo in due fasi
Per creare un file di traccia, è necessario eseguire le seguenti due fasi:
- Creare un file per registrare le informazioni di traccia.
- Registrare le informazioni di traccia nel file creato.
Passo 1: Creare un file per la scrittura
Tcl utilizza un comando “apri” per aprire un file. La sintassi del comando “open” è la seguente:
open <nome file> <funzione>
dove <nome file> è il nome del file da aprire, e <funzione> può essere
- “w” per scrivere,
- “r” per la lettura, o
- “a” per l’aggiunta di
Questa istruzione restituisce un handle di file, che può essere utilizzato per fare riferimento al file aperto.
Un esempio di istruzione Tcl che apre un file il cui nome è “tracefile.tr” per la scrittura e memorizza l’handle del file nella variabile var var è mostrato di seguito:
set var
Passo 2: Registrare le informazioni di traccia nel file di traccia aperto.
Il passo successivo è quello di registrare le informazioni di traccia nel file aperto. Ciò può essere ottenuto utilizzando la seguente istruzione Tcl:
trace ns trace-all var var
dove n ns è l’istanza del simulatore e var var è l’handle del file. Questa istruzione indica a tutti gli oggetti di tracciamento (ad esempio, enqT_, deqT_, rcvT_ e drpT_ nell’oggetto SimpleLink sottostante) di registrare le informazioni sui pacchetti che attraversano nel file di traccia la cui variabile è var var.
C’è solo un requisito per il tracciamento: L’istruzione di cui sopra deve essere posizionata prima di “run ns run”.
Al termine della simulazione, verrà creato un file di traccia. Ecco un esempio di file di traccia.
Cosa abbiamo appena fatto?
L’istruzione”n ns trace-all” inserisce l’oggetto di tracciamento in vari punti della topologia di rete. Il posto più comune è in un semplicelink di solito utilizzato per collegare due nodi. L’istruzione”n ns trace-all” inserisce alcuni oggetti di tracciamento nell’oggetto SimpleLink come mostrato sopra.
Cosa fanno gli oggetti di tracciamento
Un oggetto di tracciamento si trova tra due oggetti di intercettazione NsObject. Una volta ricevuto un pacchetto, stampa le informazioni di tracciamento correlate come una riga nel file di traccia. Nella figura sopra, abbiamo quattro oggetti di tracciamento:
- enqT_: Stampa una riga che inizia con”+”, che indica un evento di accodamento
- deqT_: Stampa una riga che inizia con” -“, che indica un evento di dequeuing
- rcvT_: Stampa una riga che inizia con “r”, che indica un evento di ricezione dei pacchetti
- drpT_: Stampa una riga che inizia con “d”, che indica un evento di rilascio dei pacchetti
Istruzioni di tracciamento nel file di traccia:
Questi oggetti di tracciamento stampano le informazioni di tutti i pacchetti che attraversano. Le informazioni sui pacchetti che non passano attraverso nessuno di questi oggetti non appaiono nel file di traccia.
L’unico oggetto responsabile della caduta dei pacchetti nella figura sopra è queue_. Lo fa invocando function drop (p). La funzione drop (p) a sua volta invia il pacchetto p al NsObject di inoltro, che in questo caso è drpT_. È drpT_, che è responsabile della stampa delle dichiarazioni di rilascio delle informazioni (cioè, quelle iniziano con ‘d’) nel file di traccia.
Ciò significa che se si rilascia esplicitamente il pacchetto (ad esempio, usando drop(p)) senza passare il pacchetto attraverso drpT_, nessuna informazione sul rilascio del pacchetto apparirà sul file di traccia.
Quali sono le prospettive?
Ora che abbiamo creato un file di traccia. Ma un file di traccia NS2 sembra kindda spaventoso. Nel prossimo post vi mostrerò come interpretare questo file di traccia.
======================================================
T. Issaraiyakul e E. Hossain, “Introduzione al simulatore di rete NS2”, Springer 2009. Acquista ora da Amazon: