Vous êtes sur la page 1sur 2

# Cration du simulateur

set ns [new Simulator]


# Cration du fichier de traces NS-2
set nf [open out.nam w]
$ns namtrace-all $nf
set udp [new Agent/TCP/Newreno]
set tcp [new Agent/TCP/Newreno]
# Dfinition de classes pour la coloration
$udp set class_ 1
$tcp set class_ 2
# Coloration des classes : bleu pour udp (classe 1) et rouge pour tcp
(classe 2)
$ns color 1 Blue
$ns color 2 Red
# Procdure de fin de simulation, qui crit les donnes dans le fichier
# et lance NAM pour la visualisation
proc finish {} {
global ns nf
$ns flush-trace
close $nf
exec nam out.nam &
exit 0
}
# Cration des noeuds
set
$n0
set
$n0
set
set
set
$n0
set
$n0

n0 [$ns node]
label "source UDP"
n1 [$ns node]
label "source TCP"
n2 [$ns node]
n3 [$ns node]
n4 [$ns node]
label "destination UDP"
n5 [$ns node]
label "destination TCP"

# Cration des liens, tous en 1Mbps/10ms de TR/file d'attente DropTail


$ns duplex-link $n0 $n2 1Mb 10ms DropTail
$ns duplex-link $n1 $n2 1Mb 10ms DropTail
$ns duplex-link $n2 $n3 1Mb 10ms DropTail
$ns duplex-link $n3 $n4 1Mb 10ms DropTail
$ns duplex-link $n3 $n5 1Mb 10ms DropTail
# gestion du layout de
$ns duplex-link-op $n0
$ns duplex-link-op $n1
$ns duplex-link-op $n2
$ns duplex-link-op $n3
$ns duplex-link-op $n3

la topologie
$n2 orient right-down
$n2 orient right-up
$n3 orient right
$n4 orient right-up
$n5 orient right-down

# Cration de deux agents implants dans n0


set udp [new Agent/UDP]
$ns attach-agent $n0 $udp
set tcp [new Agent/TCP]
$ns attach-agent $n1 $tcp

# Traffic CBR de 500 octets toutes les 5 ms pour UDP0


set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp
# Traffic CBR de 500 octets toutes les 10 ms pour UDP1
set cbr1 [new Application/Traffic/CBR]
$cbr1 set packetSize_ 500
$cbr1 set interval_ 0.010
$cbr1 attach-agent $tcp
# Cration d'un agent vide, destin recevoir les paquets implants dans
n3
set null0 [new Agent/Null]
$ns attach-agent $n4 $null0
# Cration d'un agent vide, destin recevoir les paquets implants dans
n3
set tcpsink [new Agent/TCPSink]
$ns attach-agent $n5 $tcpsink
# Le traffic issu des agents udp0 et udp1 est envoy vers null0
$ns connect $udp $null0
$ns connect $tcp $tcpsink
# Scnario de dbut et de fin de gnration des paquets par cbr0
$ns at 0.5 "$cbr0 start"
$ns at 0.5 "$cbr1 start"
$ns at 14.5 "$cbr0 stop"
$ns at 14.5 "$cbr1 stop"

# La simulation va durer 15 secondes et appelle la procdure finish


$ns at 15.0 "finish"
# Dbut de la simulation
$ns run