NS2 Ultimate – Post-traitement du résultat NS2 à l’aide de NS2 Trace –…
Remarque: Le contenu de cette série est extrait du livre Introduction to Network Simulator NS2. Vous devrez peut-être lire les chapitres 2 et 13 du livre pour une meilleure compréhension.
Qu’y a-t-il dans ce post?
Dans cet article, je vais vous montrer un moyen simple (et peut-être le plus courant) de créer un fichier de trace NS2. Ce fichier de trace contient beaucoup d’informations. En fait, il contient trop d’informations, ce qui intimide les utilisateurs de NS2. Ne t’en fais pas. Nous essaierons d’interpréter les fichiers de trace NS2 plus tard. Pour l’instant, concentrons-nous sur la façon dont un fichier de trace NS2 peut être créé.
Processus en deux étapes
Pour créer un fichier de trace, vous devez effectuer les deux étapes suivantes:
- Créez un fichier pour enregistrer les informations de suivi.
- Enregistrez les informations de traçage dans le fichier créé.
Étape 1: Créer un fichier pour l’écriture
Tcl utilise une commande « ouvrir » pour ouvrir un fichier. La syntaxe de la commande « ouvrir » est la suivante:
open <filename > < purpose >
où <filename > est le nom du fichier à ouvrir, et < purpose > peut être
- » w » pour l’écriture,
- « r » pour la lecture, ou
- « a » pour ajouter
Cette instruction renvoie un descripteur de fichier, qui peut être utilisé pour faire référence au fichier ouvert.
Un exemple d’instruction Tcl qui ouvre un fichier dont le nom est « tracefile.tr « pour écrire et stocker dans le handle du fichier dans la variablevarvar est affiché ci-dessous:
set var
Étape 2: Enregistrez les informations de suivi dans le fichier de trace ouvert.
L’étape suivante consiste à enregistrer les informations de trace dans le fichier ouvert. Ceci peut être réalisé à l’aide de l’instruction Tcl suivante :
tracens trace-all $var
où $ns est l’instance du simulateur et $var est le handle du fichier. Cette instruction indique à tous les objets de traçage (par exemple, enqT_, deqT_, rcvT_ et drpT_ dans l’objet SimpleLink ci-dessous) d’enregistrer les informations de traversée des paquets dans le fichier de trace dont la variable estvarvar.
Il n’y a qu’une seule exigence pour le traçage: L’instruction ci-dessus doit être située avant » runns run ».
Une fois la simulation terminée, un fichier de trace serait créé. Voici un exemple de fichiers de trace.
Qu’Est-Ce Qu’On Vient De Faire ?
L’instruction » tracens trace -all » insère l’objet de traçage à divers endroits de la topologie du réseau. L’endroit le plus courant est dans un SimpleLink généralement utilisé pour connecter deux nœuds. L’instruction » tracens trace-all » insère quelques objets de traçage dans l’objet SimpleLink comme indiqué ci-dessus.
Que Font les Objets de Traçage
Un objet de traçage se trouve entre deux objets d’interception NsObject. Une fois le paquet reçu, il imprime les informations de traçage associées sous forme de ligne dans le fichier de trace. Dans la figure ci-dessus, nous avons quatre objets de traçage:
- enqT_ : Imprime une ligne commençant par « + », indiquant un événement de mise en file d’attente
- deqT_ : Imprime une ligne commençant par « -« , indiquant un événement de mise en file d’attente
- rcvT_ : Imprime une ligne commençant par « r », indiquant un événement de réception de paquets
- drpT_: Imprimer une ligne commençant par « d », indiquant un événement de suppression de paquets
Instructions de traçage dans le fichier de traçage :
Ces objets de traçage impriment les informations de tous les paquets traversants. Les informations des paquets qui ne traversent aucun de ces objets n’apparaîtront pas sur le fichier de trace.
Le seul objet responsable de la suppression de paquets dans la figure ci-dessus est queue_. Il le fait en invoquant la fonction drop(p). La fonction drop(p) envoie à son tour le paquet p au NsObject de transfert, qui est dans ce cas drpT_. C’est drpT_, qui est responsable de l’impression des instructions d’information de suppression (c’est-à-dire celles commençant par « d ») dans le fichier de trace.
Cela signifie que si vous déposez le paquet explicitement (par exemple, en utilisant drop(p)) sans passer le paquet par drpT_, aucune information sur la suppression du paquet n’apparaîtra sur le fichier de trace.
Et après ?
Maintenant que nous avons créé un fichier de trace. Mais un fichier de trace NS2 semble un peu effrayant. Dans le prochain post, je vais vous montrer comment interpréter ce fichier de trace.
======================================================
L. Issaraiyakul et E. Hossain, « Introduction au simulateur de réseau NS2 », Springer 2009. Achetez-le maintenant sur Amazon: