Simple Exemple de NS


Comment démarrer ?


                Vous pouvez écrire vos scripts Tcl dans n'importe quel éditeur de texte comme notepad ou gedit
                Tout d'abord, vous devez créer un objet simulateur. Cela se fait avec la commande

set ns [new Simulator]

Maintenant on ouvre un fichier pour l'écriture qui va être utilisé pour les données de trace Nam.

set nf [open out.nam w]
$ns namtrace-all $nf

La prochaine étape est d'ajouter la procédure "finish" qui ferme le fichier de trace et démarre  Nam.
proc finish {} {
         global ns nf
         $ Ns flush-trace
         close $ nf
         exec nam out.nam &
         exit 0
 }

La ligne suivante indique a l’objet de simulateur d'exécuter  la procédure  «finish», après 5,0 secondes de temps de simulation.

$ns at 5,0 "finish"

ns fournit un moyen très simple de programmer des événements avec la commande 'at'.
La dernière ligne commence enfin la simulation.

      $ns run

Deux nœuds, un lien 
Dans cette section, nous allons définir une topologie très simple avec deux nœuds qui sont connectés par un lien. 
 Remarque: Vous devez insérer le code dans cette section avant la ligne ‘$ns at  5,0 "finish"’
Les deux lignes suivantes définissent les deux nœuds.
set n0 [$ns node]
ser n1 [$ns node]
Un nouveau nœud est créé avec la commande « $ns node ».
La prochaine étape est de relié les deux nœuds.
$ns duplex-link $n0 $n1 1Mb 10ms DropTail

Cette ligne indique à  l'objet de simulateur de relier les nœuds n0
et n1 avec un lien duplex avec la bande passante 1Megabit, un retard de 10ms et
une file d'attente Queue de type DropTail.

Maintenant, vous pouvez enregistrer votre fichier et lancez le script dans le terminal avec
$ns votre_fichier_tcl.tcl

Nam se lance automatiquement et vous devriez voir une sortie qui ressemble à la photo ci-dessous.


 Envoi de données 
Bien sûr, cet exemple n'est pas très satisfaisant encore, puisque vous pouvez seulement regarder la topologie, mais rien ne se passe réellement, donc la prochaine étape est d'envoyer des données à partir du noeud n0 au  noeud  n1.
les données sont toujours envoyées d'un «agent» à l'autre. Donc, la prochaine étape est de créer
·         un objet agent qui envoie des données à partir du noeud n0,
·         un autre objet agent qui reçoit les données sur le noeud n1.

#Créer un UDP agent et l’attaché au noeud n0
set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
 
# Créer un CBR traffic source et l’attaché au udp0
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp0

# Créer Agent Null l’attaché au n1
set null0 [new Agent/Null] 
$ns attach-agent $n1 $null0

                   Maintenant, les deux agents doivent être connectés les uns aux autres.
$ns connect $udp0 $null0

                Et maintenant, nous devons dire à l'agent CBR quand envoyer les données et quand arrêter l'envoi.
$ns at 0.5 "$cbr0 start"
$ns at 4.5 "$cbr0 stop"

Maintenant, vous pouvez enregistrer le fichier et lancez de nouveau la simulation. Lorsque vous cliquez sur le bouton 'play' dans la fenêtre Nam, vous verrez que, après 0,5 secondes de simulation, le noeud 0 commence à envoyer des paquets de données pour le nœud 1. 


Ceci un simple tutoriel d’utilisation de script OTCL.