II.4 Script de simulation et Spécifications de nos
implémentations
Un script de simulation est un code écrit en Otcl
permett ant de définir la topologie (n°uds, liens) du réseau
à simuler. Il permet d'engendrer des événements à
des instants données (déplacement des n°uds, début ou
arrêt des transmissions...) et à activer des traces à des
endroits pertinents. La compréhension d'un script de simulation passe
par la compréhension des concepts de bases suivants : le simulateur,
l'Ordonnanceur, les outils de statistiques, de visualisations, la
génération de mouvement dans le cadre des réseaux Ad hoc,
les Agents de trafic.
II.4.1 Le simulateur
Le simulateur est configuré, contrôlé, et
exploité via l'interface fournit par la classe Simulator jouant le
rôle d'API (Application Programming Interface). Cette interface
permet de configurer la simulation et de choisir le type du planificateur
d'événement utilisé pour la simulation. Un script de
simulation commence généralement par la création d'une
instance de cette classe et par l'appel des différentes méthodes
pour la création des n°uds, de la topologie, du mouvement, ainsi
que la configuration d'autres aspects de la simulation.
Lorsqu'un nouvel objet simulator est créé en Tcl,
la procédure d'initialisation init { } exécute les
opérations suivantes :
- créer l'Ordonnanceur
- créer un Agent Null, qui est utilisé comme
destination pour les paquets perdus.
II.4.2 Le Scheduler (Planificateur
d'événements)
L'Ordonnanceur est l'élément conducteur de la
simulation (il fait avancer la simulation). Pour cela il choisit
l'événement le plus proche en terme de temps, exécute les
traitements qui lui sont associés, fait progresser le temps «
simulé » et avance à l'événement suivant,
sachant que ce dernier est défini par la classe Event et se
caractérise par l'heure de déclenchement et par
l'avènement à réaliser.
II.4.3 Architecture du réseau
La classes de bases utilisées pour définir
l'architecture et la topologie du modèle est la classes Node, d'autre
classe tel que Link permet, aussi, de définir la topologie du
réseau dans le cas de simulation des réseaux filaires ou
hybride.
a. Noeud :
La classe Node est une classe OTcl: elle n'a donc pas
d'existence en tant que telle dans le simulateur. Cette classe et ses
méthodes sont définies dans le fichier tcl/lib/ns-node.tcl. Un
noeud est une collection de classifiers et d'agents. Le classifier
démultiplexe les paquets. L'agent est habituellement l'entité
d'un protocole.
b. Lien :
Le lien sert à relier les noeuds. Il modélise
le système de transmission. Le lien est principalement
caractérisé par un délai de propagation et une bande
passante. C'est une classe OTcl qui regroupe un ensemble de composants
dérivés de la classe Connector. Cette classe et ses
méthodes sont définies dans le fichier tcl/lib/ns-link.tcl. Des
liens plus sophistiqués peuvent être dérivés de
cette classe. Dans la simulation de réseau Ad hoc, les liens ne sont pas
définis explicitement comme reliant deux n°uds, ce qui est tout
naturellement dû à la nature, sans fil, du réseau. De ce
fait, les informations concernant les spécificités du
canal sont fourni en guise de configuration du canal avant la créat ion
des n°uds.
c. Les Agents :
Les agent jouent un rôle important dans les simulations
.En effet les utilisateurs créent des n°uds sources ou
récepteurs à partir de la classe agent. Ils font partie
intégralement d'un n°ud, on peut les assimiler à la couche
transport du modèle OSI. Les agents sont les points terminaux du
réseau qui reçoivent ou délivrent les paquets à des
applications. A chaque agent est attribué un port. L'adresse d'un agent
se compose du numéro de son n°ud et son port. Actuellement il
existe de nombreux agents dans NS.
d. La gestion de la file d'attente :
La gestion de la file d'attente sur les liens est
implémentée dans la classe Queue ; les files d'attente
actuellement disponibles dans NS sont :
- Droptail qui utilise la technique FIFO c'est la file d'attente
par défaut
- RED (Random Early Detection)
- FQ (Fair Queuing)
- SFQ (Stochastic FQ)
- CBQ ( Class Based Queuing)
|