0% ont trouvé ce document utile (0 vote)
87 vues4 pages

Introduction au simulateur NS2 et exercices

Ce document présente quatre exercices utilisant le simulateur réseau NS2. Le premier exercice simule une transmission CBR sur un lien simple. Le deuxième remplace la source CBR par une source FTP/TCP. Le troisième ajoute un nœud intermédiaire avec une file d'attente limitée. Le quatrième varie les paramètres TCP comme la fenêtre de réception pour observer leur impact.

Transféré par

ben fradj hajer
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
87 vues4 pages

Introduction au simulateur NS2 et exercices

Ce document présente quatre exercices utilisant le simulateur réseau NS2. Le premier exercice simule une transmission CBR sur un lien simple. Le deuxième remplace la source CBR par une source FTP/TCP. Le troisième ajoute un nœud intermédiaire avec une file d'attente limitée. Le quatrième varie les paramètres TCP comme la fenêtre de réception pour observer leur impact.

Transféré par

ben fradj hajer
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP 1: Introduction au Simulateur Réseaux NS2

Ce TP a pour but d’apprendre comment utiliser le simulateur Network Simulator (NS2), et en


particulier comment définir le scénario de simulation avec le langage TCL ainsi que interpréter les
résultats de simulation avec l’analyse des fichiers traces, mais aussi avec des outils comme nam (qui
permet de visualiser la simulation).

Ex. 1 :
Le premier exercice est une simulation d’une topologie simple de deux nœuds avec un lien direct
(comme illustré dans la figure suivante).
Dans ce scenario, une source CBR (Constant Bit Rate) envoie des paquets de taille 500 octets
(paramètre packetSize_) avec un intervalle de transmission (entre un paquet et le suivant) de 0.005
secondes (paramètre interval_).

#Déclaration d'un nouveau objet Simulator (nécessaire pour la simulation)


set ns [new Simulator]
#Déclaration des fichiers qui vont contenir les résultats
set ftrace [open [Link] w]
set nf [open [Link] w]
$ns namtrace-all $nf
#La topologie du réseau : 2 nœuds et 1 lien full-duplex
set n0 [$ns node]
set n1 [$ns node]
$ns duplex-link $n0 $n1 1Mb 10ms DropTail
#Niveau Transport : Agents UDP et Null
set udp [new Agent/UDP]
set null [new Agent/Null]
$ns attach-agent $n0 $udp
$ns attach-agent $n1 $null
$ns connect $udp $null
#Creation de la Source de Trafic : CBR (Constant Bit Rate) Application
set cbr [new Application/Traffic/CBR]
$cbr set packetSize_ 500
$cbr set interval_ 0.005
$cbr attach-agent $udp

#Procédure qui termine la simulation


proc finish {} {
global ns nf ftrace
$ns flush-trace
close $nf
exec nam [Link] &
exit 0
}

#Faire partir la source CBR et lancer la simulation


$ns at 0.5 "$cbr start"
$ns at 4.5 "$cbr stop"
$ns at 5.0 "finish"
$ns run

Une fois le script terminé (et sauvegardé, par exemple, dans un fichier « [Link] »), le lancer avec ns
([Link] [Link]). En suite visualiser le résultat avec nam (la trace est contenue dans le fichier « [Link] »).
Explorer les fonctionnalités de visualisation de nam (visualisation de la topologie, monitorage des paquets,
de la capacité utilisée sur le lien etc.)

- Question 1.1 : calculer le débit moyen de transmission (en bits/secondes) de la source CBR.
- Question 1.2 : changer le paramètre interval_ afin que le débit de transmission de la source CBR soit égal à
la moitié de la capacité du lien (c’est-à-dire, 500000 bit/s). Re-exécuter la simulation et observer le résultat
avec nam.

Ex. 2 :
Dans la même topologie (un seul lien), nous voulons maintenant observer comment une source TCP
gère le trafic. Nous voulons tout d’abord simuler le scénario illustré dans la figure qui suit, avec une
application FTP (File Transfer Protocol, c.à.d. une application qui gère la transmission d’un grand
fichier, et donc d’une très longue séquence de paquets).

Changer le script de l’exercice 1 pour simuler ce scenario avec une source FTP/TCP.
Les commandes qui suivent sont utiles pour créer le scenario :
set tcp [new Agent/TCP]
set tcpsink [new Agent/TCPSink]
$ns attach-agent $n0 $tcp
$ns attach-agent $n1 $tcpsink
$ns connect $tcp $tcpsink
set ftp [new Application/FTP]
$ftp attach-agent $tcp
Il faut, bien sûr, changer aussi les deux lignes suivantes :
$ns at 0.5 "$cbr start"
$ns at 4.5 "$cbr stop"
… car maintenant la source de trafic s’appelle « ftp », et pas « cbr ».

Une fois le script terminé, le lancer avec ns et visualiser le résultat avec nam.

- Question 2.1 : Ecrire le script TCL utilisé pour simuler ce scénario. Comparer les résultats avec ce qu’on a
observé avec la source CBR.

Changer le script pour simuler une source Telnet/TCP. Les commandes qui suivent sont utiles pour
créer le scenario :
set telnet [new Application/Telnet]
$telnet attach-agent $tcp

Ex. 3 :
Simuler le réseau illustré dans la figure qui suit. La taille du buffer entre n2 et n3 est de 10 paquets
(commande $ns queue-limit $n2 $n3 10 ).
Colorier les deux flux différemment (pour ensuite les distinguer dans la visualisation avec nam), grâce à des
commandes comme :

$ns color 1 Blue


$agent1 set class_ 1

- Question 3.1 : Ecrire le script TCL utilisé pour simuler ce scénario.

Ex. 4 : TCP
Nous considérons maintenant la même topologie de l’exercice 2, avec un seul lien full-duplex et une source
FTP/TCP.

Cette fois, nous utilisons l’agent Agent/TCP/RFC793edu, qui permet d’étudier une connexion TCP en
faisant varier ses variables d’état et paramètres. Par exemple, les commandes suivantes permettent de
créer l’agent TCP RFC793edu, de fixer la Receiver Window (RCVWND) à 1 et la longueur des paquets (MSS =
Maximum Segment Size) à 500 bytes :

set TCPedu0 [new Agent/TCP/RFC793edu]


$TCPedu0 set window_ 1
$TCPedu0 set packetSize_ 500

La capacité du lien n0-n1 est de 10 Mbit/s, le délai de propagation de 4 ms.

- Question 4.1 : après avoir terminé et exécuté le script, observer (à travers nam) la transmission de la
source TCP.
- Question 4.2 : changer maintenant la dimension de la RCVWND (paramètre window_ ), à 5, 10, 15, et 20,
et observer le résultat de la simulation en utilisant nam.
- Question 4.3 : pour avoir une transmission continue, quelle valeur de la fenêtre RCVWND est-il
nécessaire ?

Vous aimerez peut-être aussi