Académique Documents
Professionnel Documents
Culture Documents
ENSIAS
Réseaux TCP-IP et Mobilité
3 L’éxecution de la simulation 12
3.1 Démarrage NS2: . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Démarrage NAM : . . . . . . . . . . . . . . . . . . . . . . . . . 12
5 Conclusion 20
1
List of Figures
1 topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Network Animator . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Capture de Fichier de trace . . . . . . . . . . . . . . . . . . . . . 13
4 La signification des différents champs . . . . . . . . . . . . . . . 13
5 Description du fichier trace . . . . . . . . . . . . . . . . . . . . . 14
6 TCP vegas vs TCP NewReno . . . . . . . . . . . . . . . . . . . 21
2
1 Introduction
Ce travail s’inscrit dans un projet visant à comparer les performances des pro-
tocoles TCP New Reno et TCP Vegas dans un environnement SANET. Dans
cet rapport nous nous intéressons à évaluer l’utilisation de différents protocoles
de transport TCP (Transport Control Protocol) : TCP New-Reno et TCP Ve-
gas,en considérant différents paramètres liés à la QoS (Quality of Service). Cette
évaluation s’effectue dans le contexte suivant :
• tk release 8.5.10
• Tcl release 8.5.10
3
• Tclcl release 1.20
• Otcl release 1.14
• Ns release 2.35
• Nam release 1.15
• Xgraph version 12.2
• CWeb version 3.4g
• SGB version 1.0
• Gt-itm gt-itm and sgb2ns 1.1
• Zlib version 1.2.3
3. Le dossier d’installation ns-2.35 contient le script d’installation qui doit
être installé.
• cd ns-allinone-2.35
• ./install
4. Une fois l’installation terminée, ajoutez le patch suivant dans le fichier
”.bashrc”
NSHOME=~/ns-allinone-2.35
OTCL_LIB=$ (NS HOME)/ otcl-1.14
NS2_LIB=$ (NSHOME 10 / library
Export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB
Export TCL_LIBRARY=$ (NSHOME)/tcl 8.5.10 / library
PATH=$PATH: $ (NSHOME)/ ns-2.35: $ (NSHOME)/ nam-1.15
echo $PATH
4
• nomscript.tr dans lequel sont inscrites toutes les actions observées lors
de la simulation
• nomscript.nam qui sert à la création de l’animation corres-pondante à
la simulation grâce au programme NAM (Network AniMator) inclu dans
NS-2 et ce en exécutant la commande nam suivie du fichier à visualiser.
5
1.4 Les Protocoles à comparer :
1.4.1 TCP New-Reno :
La principale différence entre TCP New-Reno est TCP Reno consiste à la prise
en considération des acquittements partiels dans l’algorithme Fast Recovery.
Dans TCP Reno, la taille de la fe-nêtre de congestion augmente tant qu’il n’y
a pas de pertes. TCP Reno a deux phases pour l’augmentation de la taille de
la fenêtre, Slow Start et Congestion Avoidance. Cette dernière est déclenchée
lorsque le cwnd devient égale à ssthresh(taille maximum d’une fenêtre d’émission
en slow start)
Lors de la réception d’un acquittement partiel, un ACK d’au moins d’un segment
perdu TCP Reno quitte le mode Fast Recovery, ce qui pose un problème de
performance lorsque plusieurs segments d’une même fenêtre sont perdus. TCP
New-Reno ne quitte le mode de Fast Recovery que si l’ACK reçu acquitte tous les
segments envoyés. A la réception d’un ACK partiel, TCP New-Reno retransmet
immédiatement le paquet suivant le dernier paquet acquitté dans cet ACK, il
diminue la taille de la fenêtre du nombre de paquets acquittés par cet ACK
partiel et retransmet un paquet si c’est permis par la taille de cwnd (fenêtre de
congestion).
En résumé, avec New-Reno, à la différence de Reno,un accusé de réception
partiel ne fait pas quitter l’algorithme de Fast Recovery. Il faut un accusé de
réception total pour cela [1].
6
raison de la congestion, mais aussi en raison de contraintes moyennes et de la
mobilité, TCP doit distinguer la nature de l’erreur afin qu’il puisse prendre les
mesures les plus appropriées pour chaque cas. En outre, le lien et la couche
réseau algorithmes émergents pour ce type de réseau peuvent jouer un rôle clé
sur la performance TCP. De même, des facteurs tels que chemin asymétrie (qui
peut aussi être causée par des stratégies de couches inférieures, entre autres
éléments) et la taille de la fenêtre de congestion pourraient également affecter
les perfor-mances de ce protocole.
1.6 Topologie
Notre topologie consiste d’avoir une connexion tcp new reno entre le node n0 et
n5.Une connexion tcp vegas entre les nodes n1 et n6.
Figure 1: topologie
7
utilisé par une application de diverses manières, par exemple, pour permettre à
un utilisateur de fournir une initialisation personnalisée pour l’application.
NS2 utilise tcl pour le programmeur de simulation pour créer les objets de réseau
dans la mémoire et d’insérer des événements initiaux dans la file d’attente de
l’événement.
Xgraphe : Xgraph est une application X-Windows qui inclut le traçage in-
teractif et graphique, animation et déritives, de portabilité et de corrections de
bugs.
Donc, pour tracer les caractéristiques des paramètres NS2 comme le débit, la fin
d’un retard de la fin, les paquets d’informations, etc peut être tracée en utilisant
xgraph. Le fichier xgraph affiche les informations à propos de la surcharge avec
la taille du réseau, Overhead ..
Un scénario de simulation dans NS2 est créé en commençant par un script TCL.
Ce script va regrouper tous les besoins d’un réseau comme paramètres du canal,
des couches OSI, la taille du champ de la simulation, positions des nœuds, le
modèle de propagation, le trafic (couche application), le traçage des évènements,
et beaucoup d’ autres caractéristiques du réseau.
Pour cette simulation on a créé un fichier de simulation nommé sanet.tcl
Les étapes suivantes décrivent la creation de fichier sanet.tcl pour la simulation
du projet .
• Etape 1 : le paramétrage des variables d’environnement pour la simulation
8
# CREATION D’OBSERVATEUR DE LA SIMULATION (GENERATOR OPERATIONS DIRECTOR)
QUI sert à sau-vegarder les information sur me nombre de nœuds mobile,
le nombre minimum de hops pour atteindre un autre nœud...
create-god $val(nn)
# Permettre la traçage de toutes les informations de toutes les couches :
set tracefile [open sanet.tr w]
$ns trace-all $tracefile
set f1 [open cwnd-vegas.tr w]
set f2 [open cwnd-nreno.tr w]
# l’ouverture d’un fichier de traçage des données qui seront utilisé par NAM
set namfile [open sanet.nam w]
# indiquer au simulateur que le fichier de traçage est crée
$ns namtrace-all $namfile
$ns namtrace-all-wireless $namfile $val(x) $val(y)
# déclaration de chaine de communication
set chan [new $val(chan)]
9
$n1 set Z_ 0.0
$ns initial_node_pos $n1 20
set n2 [$ns node]
$n2 set X_ 369
$n2 set Y_ 254
$n2 set Z_ 0.0
$ns initial_node_pos $n2 20
set n3 [$ns node]
$n3 set X_ 510
$n3 set Y_ 252
$n3 set Z_ 0.0
$ns initial_node_pos $n3 20
set n4 [$ns node]
$n4 set X_ 627
$n4 set Y_ 252
$n4 set Z_ 0.0
$ns initial_node_pos $n4 20
set n5 [$ns node]
$n5 set X_ 728
$n5 set Y_ 405
$n5 set Z_ 0.0
$ns initial_node_pos $n5 20
set n6 [$ns node]
$n6 set X_ 721
$n6 set Y_ 103
$n6 set Z_ 0.0
$ns initial_node_pos $n6 20
10
$ns connect $tcp2 $sink2
$tcp2 set packetSize_ 1500
##################################################
11
puts [format ”Vegas-Throughput: puts [format ”NewReno-Throughput:
Nettoyer les buffers des objets de traçage nsf lush − traceclosetracefile
close namf ileclosef1 close f 2exit0
demander au simulateur d’exécuter la procédure ”finich” après le temps
d’arret du simulation nsatval(stop) ”finish” nsatval(stop) ”puts d̈one¨;
nshalt”démarrerlasimulationns run
3 L’éxecution de la simulation
3.1 Démarrage NS2:
NS2 démarre avec la commande ‘ns sanet.tcl‘. le tclscript est un fichier
en langage TCL qui définit le scénario de la simulation (topologie et les
évenement) .tout le reste de la simulation dépend de ce fichier TCl.le script
Tcl écrit les sortie, trace les évènements et peut ddémarrer la fenetre
”nam” afin de vi-sualiser la simulation
12
4 Analyse et interpretation de performance
4.1 Le fichier de traçage :
C’est un fichier créé automatiquement par NS2 qui détaille tous les événements
qui se sont passés dans le réseau (généralement sous format .tr) un évènement
est souvent lié à un paquet (reçu,transmis , ou échoué );chaque ligne donne
plusieurs informations sur l’évènement (s=sent; r=received ,d=droped
(prdue) ;f=forward (achminé) ).
Les évènements répertories dans le fichier de trace sont, à quelques excep-
tions près, de deux types : d’une part ceux concernant le d’emplacement
des nœuds, d’autre part ceux concernant le parcours des différents types
de paquets
13
Figure 5: Description du fichier trace
14
Pour le protocole NewReno
En utilisant xgraph:
En utilisant gnuplot
15
Le graphe :
16
Ce taux noté PDR pour Packet Delivery Ratio [Fri07] est le nombre de
paquets de données reçus avec succès par la destination par rapport au
nombre de paquets de données émis par la source. Il nous permet de
vérifier si l’extension du protocole à un impact sur le transfert de paquets
de données avec succès.
17
4.3.2 Pour TCP Vegas :
18
4.4.2 Pour TCP Vegas :
4.5 Throughput :
Le throughput est le taux de production ou la vitesse à laquelle quelque
chose peut être traitée. Ce terme peut aussi désigner le débit global d’un
routeur ou d’un nœud du réseau. Lorsqu’il est utilisé dans le cadre des
réseaux de télécommunications, tels que ethernet ou un réseau radio en
mode paquet, le throughput d’un réseau est le débit de transmission utile
du réseau sur un canal de communication (messages reçus avec succès).
Les données de ces messages peuvent être émises sur un lien physique ou
logique, ou bien à travers un nœud du réseau.
19
4.5.2 Pour TCP Vegas :
5 Conclusion
Pour conclure , nous sélectionnons le meilleur TCP sur la base des paramètres
mentionnés ci-dessus. Chaque variante réagit différemment sous différents
paramètres. Si une variante a de faibles performances dans un paramètre,
il est possible que la variante ait les performances les plus élevées dans un
20
autre paramètre. Le tableau en décrit plus :
References
[1]B.Angoma, ANALYSE DU COMPORTEMENT DU HANDOVER
VERTICAL SELON.Revue Méditerranéenne des Télécommunications.
21