salut, je suis entrain de travailler sur mon projet de fin d'etude etude comparative de la qos entre un réseau basé sur ip et un reseau basé sur mpls, je travialle avec ns2 sous red hat 5 chuis entrain de simuler un topologie constitué de 11 noeud (routeur) pour visualiser la courbe du taux de perte du paquet sous xgraph mais le code ne s'execute pas; pouvez vous m'aider a le corriger???
voici mon code:
set ns [new Simulator]
set f0 [open out0.tr w]
set f1 [open out1.tr w]
set f2 [open out2.tr w]
proc finish {} {
global f0 f1 f2
close $f0
close $f1
close $f2
exec xgraph out0.tr out1.tr out2.tr -geometry 800x400 &
exit 0
}
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
set n3 [$ns node]
set n4 [$ns node]
set n5 [$ns node]
set n6 [$ns node]
set n7 [$ns node]
set n8 [$ns node]
set n9 [$ns node]
set n10 [$ns node]
$ns duplex-link $n0 $n2 1Mb 100ms DropTail
$ns duplex-link $n1 $n2 1Mb 100ms DropTail
$ns duplex-link $n2 $n3 1Mb 100ms DropTail
$ns duplex-link $n2 $n4 1Mb 100ms DropTail
$ns duplex-link $n4 $n5 1Mb 100ms DropTail
$ns duplex-link $n3 $n6 1Mb 100ms DropTail
$ns duplex-link $n3 $n5 1Mb 100ms DropTail
$ns duplex-link $n5 $n7 1Mb 100ms DropTail
$ns duplex-link $n6 $n7 1Mb 100ms DropTail
$ns duplex-link $n6 $n8 1Mb 100ms DropTail
$ns duplex-link $n7 $n8 1Mb 100ms DropTail
$ns duplex-link $n7 $n10 1Mb 100ms DropTail
$ns duplex-link $n8 $n9 1Mb 100ms DropTail
proc attach-expoo-traffic { node sink size burst idle rate } {
set ns [Simulator instance]
set source [new Agent/UDP]
$ns attach-agent $node $source
set traffic [new Application/Traffic/CBR]
$traffic set packetSize_ $size
$traffic set burst_time_ $burst
$traffic set idle_time_ $idle
$traffic set rate_ $rate
$traffic attach-agent $source
$ns connect $source $sink
return $traffic
}
set sink0 [new Agent/LossMonitor]
set sink1 [new Agent/LossMonitor]
set sink2 [new Agent/LossMonitor]
$ns attach-agent $n9 $sink0
$ns attach-agent $n10 $sink1
$ns attach-agent $n10 $sink2
set source0 [attach-expoo-traffic $n0 $sink0 200 2s 1s 250k]
set source1 [attach-expoo-traffic $n1 $sink1 200 2s 1s 500k]
set source2 [attach-expoo-traffic $n1 $sink2 200 2s 1s 800k]
proc traceloss {} {
global sink0 sink1 sink2 f0 f1 f2
set ns [simulator instance]
set time 0.05
set size 500
set L0 [$sink0 set nlost_]
set L1 [$sink1 set nlost_]
set L2 [$sink2 set nlost_]
set now [$ns now]
puts $f0 "$now $L0"
puts $f1 "$now $L1"
puts $f2 "$now $L2"
$sink0 set nlost_0
$sink1 set nlost_0
$sink2 set nlost_0
$ns at [expr $now+$time] "traceloss"
}
$ns at 0.0 "traceloss"
$ns at 1.0 "$source0 start"
$ns at 1.0 "$source1 start"
$ns at 2.0 "$source2 start"
$ns at 10.0 "$source0 stop"
$ns at 10.0 "$source1 stop"
$ns at 10.0 "$source2 stop"
$ns at 12.0 "finish"
$ns run