0% ont trouvé ce document utile (0 vote)
10 vues11 pages

Analyse TCP New Reno vs Vegas

Ce document présente une analyse comparative entre les protocoles TCP New Reno et TCP Vegas dans le contexte d'un réseau SANET. L'étude met en évidence les différences dans la gestion de la congestion et les performances en termes de débit et de latence, avec des résultats montrant que TCP Vegas a un taux de perte de paquets inférieur à celui de TCP New Reno. Des simulations et des scripts sont utilisés pour évaluer les performances des deux protocoles dans un environnement de réseau spécifique.

Transféré par

Imrane
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)
10 vues11 pages

Analyse TCP New Reno vs Vegas

Ce document présente une analyse comparative entre les protocoles TCP New Reno et TCP Vegas dans le contexte d'un réseau SANET. L'étude met en évidence les différences dans la gestion de la congestion et les performances en termes de débit et de latence, avec des résultats montrant que TCP Vegas a un taux de perte de paquets inférieur à celui de TCP New Reno. Des simulations et des scripts sont utilisés pour évaluer les performances des deux protocoles dans un environnement de réseau spécifique.

Transféré par

Imrane
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

Université Mohammed V

Ecole Nationale Supérieure


d'Informatique et d'Analyse des Systèmes

Module : Réseaux mobiles


Analyse comparative entre
TCP New Reno et Vegas

Réalisé par : ACHBABOU Imrane

Année Universitaire : 2023 - 2024


Table des matières
Table des matières ..................................................................................................................................... 2

Table des figures ........................................................................................................................................ 2


1. Introduction .................................................................................................................................. 3
2. Contexte et objectifs ..................................................................................................................... 3
3. Fonctionnement des Protocoles ................................................................................................... 3
a. TCP New Reno ......................................................................................................................... 3
b. TCP Vegas : .............................................................................................................................. 4
4. Conception ................................................................................................................................... 4
5. Script TCL.................................................................................................................................... 4
6. Figure NAM ................................................................................................................................. 8
7. Script AWK .................................................................................................................................. 8
8. Courbe .......................................................................................................................................... 9
9. Conclusion.................................................................................................................................. 10
10. Bibliographie .............................................................................................................................. 11

Table des figures


Figure 1 : Figure NAM .............................................................................................................................. 8
Figure 2 : Courbe NewReno/Vegas ........................................................................................................... 9

2
1. Introduction
Dans le cadre de l'évolution constante des réseaux informatiques, la sélection du protocole de
transmission de données revêt une importance capitale pour garantir des performances optimales. Dans
ce contexte, notre étude se concentre sur une analyse comparative entre deux protocoles de contrôle de
transmission bien établis : TCP New Reno et TCP Vegas. Cette comparaison prend place au sein d'un
environnement spécifique, à savoir le réseau SANET (Storage Area Network Enhanced Technology), où
des exigences particulières en termes de débit, de latence et de gestion de la congestion se manifestent.

2. Contexte et objectifs
Les protocoles de contrôle de transmission (TCP) jouent un rôle fondamental dans la
communication fiable entre les dispositifs au sein des réseaux informatiques. Alors que TCP New Reno
et TCP Vegas partagent l'objectif fondamental d'assurer la livraison fiable des données, ils se distinguent
par leurs approches respectives en matière de gestion de la congestion et d'adaptation aux variations du
réseau.
Le choix entre ces deux protocoles n'est pas trivial et dépend largement des caractéristiques
spécifiques de l'environnement réseau dans lequel ils sont déployés. C'est dans cette optique que notre
analyse comparative se positionne, en mettant l'accent sur les performances relatives de TCP New Reno
et Vegas dans le contexte spécifique d'un réseau SANET. Ce dernier, caractérisé par des exigences
élevées en termes de stockage et de récupération de données, nécessite une évaluation minutieuse pour
déterminer quel protocole s'aligne le mieux sur ses besoins particuliers.
Cette étude vise à fournir une compréhension approfondie des avantages et des inconvénients
respectifs de TCP New Reno et Vegas dans un environnement SANET. Les objectifs spécifiques incluent
l'analyse comparative des performances en termes de débit et de latence, l'évaluation de l'adaptabilité de
chaque protocole aux caractéristiques du réseau SANET, ainsi que l'examen de leur capacité à gérer
efficacement la congestion.

3. Fonctionnement des Protocoles


a. TCP New Reno
TCP New Reno, une évolution du protocole TCP Reno, se caractérise par son approche réactive
à la gestion de la congestion. Lorsqu'il détecte un segment manquant, il déclenche un mécanisme appelé
Fast Recovery qui lui permet de retransmettre les données manquantes sans attendre l'expiration du
minuteur de retransmission. Cela améliore l'efficacité de la récupération après perte de paquets, réduisant
ainsi le temps nécessaire pour rétablir le flux de données. Le fonctionnement de TCP New Reno repose
également sur l'utilisation de trois états de contrôle de congestion : Slow Start, Congestion Avoidance,
et Fast Recovery. Chacun de ces états joue un rôle crucial dans la régulation de la fenêtre de congestion,
influençant la manière dont le protocole réagit aux changements de conditions du réseau.

3
b. TCP Vegas :
À l'inverse, TCP Vegas adopte une approche plus proactive pour gérer la congestion. Plutôt que
de réagir après la détection de pertes de paquets, TCP Vegas anticipe les signes de congestion imminente
en surveillant la variation du délai de transmission. L'algorithme de congestion de TCP Vegas utilise une
fenêtre de congestion basée sur le délai, ajustant la vitesse d'envoi en fonction de la variation observée
dans le temps de transit des paquets.
Le principe fondamental de TCP Vegas est d'éviter la congestion avant qu'elle ne survienne, en
adaptant dynamiquement la vitesse de transmission en fonction des changements dans le réseau. Cela
permet une utilisation plus efficace de la bande passante en évitant les réactions brusques à la congestion
et en ajustant la fenêtre de congestion de manière continue.

4. Conception
L'environnement de simulation comprend sept nœuds, organisés dans une topologie de réseau
comprenant deux sources (Nœud 0 et Nœud 1), deux destinations (Nœud 5 et Nœud 6), et trois passerelles
intermédiaires (Nœuds 2, 3 et 4). La distance de couverture maximale est fixée à 200 mètres, reflétant
les contraintes typiques des réseaux ad hoc sans fil.
Le protocole de trafic entre le Nœud 0 et le Nœud 5 est configuré pour utiliser TCP New Reno,
tandis que TCP Vegas est utilisé pour la communication entre le Nœud 1 et le Nœud 6. Plusieurs
simulations sont menées avec des durées de simulation variables, augmentant progressivement pour
capturer une gamme complète de conditions réseau.
À l'aide de scripts shell, les résultats de simulation sont collectés pour construire un fichier CSV
comprenant trois colonnes : temps de simulation, taux de perte de paquets pour TCP New Reno et taux
de perte de paquets pour TCP Vegas. Ces données faciliteront une comparaison systématique des
performances des deux protocoles.

5. Script TCL
set val(chan) Channel/WirelessChannel ; #Channel Type
set val(prop) Propagation/TwoRayGround ;# radio-propagation model
set val(netif) Phy/WirelessPhy ;# network interface type
set val(mac) Mac/802_11 ;# MAC type
set val(ifq) Queue/DropTail/PriQueue ;# interface queue type
set val(ll) LL ;# link layer type
set val(ant) Antenna/OmniAntenna ;# antenna model
set val(ifqlen) 50 ;# max packet in ifq
set val(nn) 7 ;# number of mobilenodes
set val(rp) AODV ;# routing protocol
set val(x) 700
set val(y) 700
Phy/WirelessPhy set Pt_ 0.115421

4
# Initialize Global Variables
set ns_ [new Simulator]
set tracefd [open [Link] w]
$ns_ trace-all $tracefd
set namtrace [open [Link] w]
$ns_ namtrace-all-wireless $namtrace $val(x) $val(y)

# Set up topography object


set topo [new Topography]
$topo load_flatgrid $val(x) $val(y)

# Create God
create-god $val(nn)

# New API to config node:


# 1. Create channel (or multiple-channels);
# 2. Specify channel in node-config (instead of channelType);
# 3. Create nodes for simulations.

set chan_ [new $val(chan)]

# Configure node, please note the change below.


$ns_ node-config -adhocRouting $val(rp) \
-llType $val(ll) \
-macType $val(mac) \
-ifqType $val(ifq) \
-ifqLen $val(ifqlen) \
-antType $val(ant) \
-propType $val(prop) \
-phyType $val(netif) \
-topoInstance $topo \
-agentTrace ON \
-routerTrace ON \
-macTrace ON \
-movementTrace OFF \
-channel $chan_

set node_(0) [$ns_ node]


set node_(1) [$ns_ node]
set node_(2) [$ns_ node]
set node_(3) [$ns_ node]
set node_(4) [$ns_ node]
set node_(5) [$ns_ node]
set node_(6) [$ns_ node]

$node_(0) random-motion 0
$node_(1) random-motion 0
$node_(2) random-motion 0
$node_(3) random-motion 0
5
$node_(4) random-motion 0
$node_(5) random-motion 0
$node_(6) random-motion 0

for {set i 0} {$i < $val(nn)} {incr i} {


$ns_ initial_node_pos $node_($i) 20
}

# Provide initial (X,Y, for now Z=0) co-ordinates for mobilenodes


$node_(0) set X_ 1.0
$node_(0) set Y_ 300.0
$node_(0) set Z_ 0.0

$node_(1) set X_ 1.0


$node_(1) set Y_ 50.0
$node_(1) set Z_ 0.0

$node_(2) set X_ 150.0


$node_(2) set Y_ 180.0
$node_(2) set Z_ 0.0

$node_(3) set X_ 250.0


$node_(3) set Y_ 180.0
$node_(3) set Z_ 0.0

$node_(4) set X_ 350.0


$node_(4) set Y_ 180.0
$node_(4) set Z_ 0.0

$node_(5) set X_ 500.0


$node_(5) set Y_ 300.0
$node_(5) set Z_ 0.0

$node_(6) set X_ 500.0


$node_(6) set Y_ 50.0
$node_(6) set Z_ 0.0

$ns_ at 3.0 "$node_(0) setdest 1.0 300.0 0.0"


$ns_ at 3.0 "$node_(1) setdest 1.0 50.0 0.0"
$ns_ at 3.0 "$node_(2) setdest 150.0 180.0 0.0"
$ns_ at 3.0 "$node_(3) setdest 250.0 180.0 0.0"
$ns_ at 3.0 "$node_(4) setdest 350.0 180.0 0.0"
$ns_ at 3.0 "$node_(5) setdest 500.0 300.0 0.0"
$ns_ at 3.0 "$node_(6) setdest 500.0 50.0 0.0"

# Setup traffic flow between nodes


set tcp0 [new Agent/TCP/Newreno]
$tcp0 set class_ 1
set sink0 [new Agent/TCPSink]
6
$ns_ attach-agent $node_(0) $tcp0
$ns_ attach-agent $node_(5) $sink0
$ns_ connect $tcp0 $sink0
set ftp0 [new Application/FTP]
$ftp0 attach-agent $tcp0
$ns_ at 3.0 "$ftp0 start"

set tcp1 [new Agent/TCP/Vegas]


$tcp1 set class_ 2
set sink1 [new Agent/TCPSink]
$ns_ attach-agent $node_(1) $tcp1
$ns_ attach-agent $node_(6) $sink1
$ns_ connect $tcp1 $sink1
set ftp1 [new Application/FTP]
$ftp1 attach-agent $tcp1
$ns_ at 3.0 "$ftp1 start"

# Tell nodes when the simulation ends


for {set i 0} {$i < $val(nn) } {incr i} {
$ns_ at 30.0 "$node_($i) reset";
}
$ns_ at 30.0 "stop"
$ns_ at 30.01 "puts \"NS EXITING...\" ; $ns_ halt"
proc stop {} {
global ns_ tracefd
$ns_ flush-trace
close $tracefd
}

puts "Starting Simulation..."


$ns_ run

7
6. Figure NAM

Figure 1 : Figure NAM

7. Script AWK
#!/usr/bin/awk -f

BEGIN {
sentNewReno = 0
receivedNewReno = 0
sentVegas = 0
receivedVegas = 0
}

NR == 1 && ARGC == 3 {
simulationTime = ARGV[2]
delete ARGV[2] # Remove the input number from the argument list
}

{
#packet loss ratio NewReno
if($1 == "s" && $3 == "_0_" && $4 == "AGT" && $7 == "tcp") {
sentNewReno ++
}
else if ($1 == "r" && $3 == "_5_" && $4 == "AGT" && $7 == "tcp"){
receivedNewReno++
}

8
else if($1 == "s" && $3 == "_1_" && $4 == "AGT" && $7 == "tcp"){
sentVegas ++
}
else if($1 == "r" && $3 == "_6_" && $4 == "AGT" && $7 == "tcp"){
receivedVegas ++
}
}

END {
plrNewReno = (sentNewReno - receivedNewReno)/sentNewReno
plrVegas = (sentVegas - receivedVegas)/sentVegas
print "\n\n#### NEW RENO ####\n\n";
print "Sent New Reno = " sentNewReno;
print "\nReceived New Reno = " receivedNewReno;
print "\nPacket loss ratio = " plrNewReno
print "\n\n#### VEGAS ####\n\n";
print "Sent Vegas = " sentVegas;
print "\nReceived Vegas = " receivedVegas;
print "\nPacket loss ratio = " plrVegas
print"\n\n#### SIMULATION TIME : " simulationTime " ####"
print "\n";
print simulationTime "," plrNewReno "," plrVegas >> "[Link]"
}

8. Courbe
NewReno / Vegas
0.007

0.006

0.005
Packet loss ratio

0.004

0.003

0.002

0.001

0
0 500 1000 1500 2000 2500
Simulation time

NewReno Vegas

Figure 2 : Courbe NewReno/Vegas

9
Ce graphique linéaire compare le taux de perte de paquets de deux algorithmes de contrôle de
congestion TCP différents, NewReno et Vegas, au fil du temps de simulation. Voici les principales
observations :
Temps de Simulation : L'axe des x représente le temps de simulation, qui va de 0 à 2500.
Taux de Perte de Paquets : L'axe des y représente le taux de perte de paquets, qui varie de 0 à
0,007.
Performance de NewReno : La ligne bleue représente NewReno. Elle présente des fluctuations
avec un pic autour du temps de simulation 1000 avant de diminuer, puis d'augmenter à nouveau.
Performance de Vegas : La ligne orange représente Vegas. Elle reste relativement stable et en
dessous de la ligne NewReno tout au long, indiquant un taux de perte de paquets inférieur.
En résumé, Vegas a un taux de perte de paquets constamment plus bas que NewReno tout au long
de la simulation. Cela suggère que l'algorithme Vegas peut être plus efficace en termes de perte de
paquets.

9. Conclusion
En synthèse, l'analyse approfondie des données révèle de manière cohérente que le protocole TCP
Vegas présente un avantage significatif par rapport à TCP New Reno, particulièrement en ce qui concerne
le taux de perte de paquets au sein du réseau SANET simulé. Les résultats obtenus démontrent de manière
constante que TCP Vegas maintient généralement un taux de perte de paquets plus bas tout au long de la
simulation. Cette observation suggère avec clarté que TCP Vegas excelle dans la réduction des pertes de
données, notamment dans des environnements dynamiques tels que les réseaux ad hoc sans fil. En se
basant sur les conclusions tirées de cette analyse, il est donc judicieux d'affirmer que TCP Vegas offre
des performances supérieures en termes de fiabilité de la transmission des données par rapport à TCP
New Reno, spécifiquement dans le contexte particulier de notre simulation SANET.
Ces résultats renforcent la pertinence de considérer attentivement le choix du protocole de
transmission, en mettant en évidence les avantages substantiels que TCP Vegas peut apporter en termes
de minimisation des pertes de paquets, crucial dans des environnements réseau où la fiabilité de la
communication est primordiale.

10
10. Bibliographie
[1] [Link]

[2] [Link]

[3] [Link]

[4] [Link]

[5] [Link]

[6] [Link]

[7] [Link]

[8] [Link]

[9] [Link]

[10] [Link]

[11] [Link]

11

Vous aimerez peut-être aussi