Bon, je savais pas ou poster ca, car c'est de la simulation de reseau... donc a la fois du reseau et de la prog. J'ai choisi reseau car mon principal probleme est pas avec le code.
Pour vous mettre dans le bain, voila l'intitule :
Citation :
Consider a simple network composed of only two nodes (S and D), and one link connecting them. The link connecting the two nodes has a speed of 1Mbps, a propagation delay of 100 ms, and a DropTail buffer at its input of very large size. We run on node S a Poisson source of traffic. The destination of the packets being node D. Let lambda be the intensity of the Poisson
traffic in terms of packets/s. Take lambda = 500 packets/s and set the packet size of the Poisson source to be exponentially distributed with a mean length of 1000 bits.
|
Que je sois fou ou pas, on a en moyenne un lien 1Mbit/s, avec un ping/2 de 100ms, sur lequel on envoie 500 packet de 1000 bits / seconde. Soit 500 000 bits/seconde sur la 1Mbit, qui est PARFAITEMENT capable de tenir ca, nan ?
Et le tout, dans la theorie, est magnifique. Dans la pratique aussi : sur 10 secondes je lache 4999 paquets, 0 sont mis en queue ( ils sont laches aussi vite que partis), et j'ai un delay de 0 en moyenne.
La ou jeme dit "putain y a un souci", c'est quand on me demande cela dans la seconde partie :
Citation :
Run the simulation of Problem 1 with buer size of three packets.
****quelques questions...****
iii) Determine the average packet drop probability. Draw the number of packets dropped vs. number of packets sent.
|
Donc, il doit bien y avoir une probabilite de drop, nan ? Surtout pour le graphe.
Mais dans la simulation, j'en droppe aucun moi !
Pareil, dans la premiere partie, on me dit de faire un shema de l'evolution de la queue par rapport au temps... caicool ! ma queue est tjs vide...
Quelqu'un peux avoir la gentilesse de m'expliquer ce que je fais de mal ?
Code :
- set ns [new Simulator]
- set nf [open out.nam w]
- $ns namtrace-all $nf
- proc finish {} {
- global ns nf
- $ns flush-trace
- close $nf
- exec nam out.nam &
- exit 0
- }
- set S [$ns node]
- set D [$ns node]
- $ns duplex-link $S $D 1Mb 100ms DropTail
- $ns queue-limit $S $D 9999999
- #Create a UDP agent and attach it to node S
- set udp0 [new Agent/UDP]
- $ns attach-agent $S $udp0
- # Create a exponential traffic source and attach it to udp0
- set e [new Application/Traffic/Exponential]
- $e set packetSize_ 125
- $e set burst_time_ 0ms
- $e set idle_time_ 0ms
- $e set rate_ 500k
- $e attach-agent $udp0
- $ns duplex-link-op $S $D queuePos 0.5
- set null0 [new Agent/Null]
- $ns attach-agent $D $null0
- $ns connect $udp0 $null0
- $ns at 0.0 "$e start"
- $ns at 10000.0 "$e stop"
- $ns at 10000.0 "finish"
- $ns run
|
Et aussi deux trucs :
-ns peut'il simuler la taille variable de paquets ? sur la doc, que dalle, sur le net, j'ai juste trouve "va modifier les sources". J'ai pris un generateur de type exponentiel de paquets de taille 125 (octets) vu qu'il nous demande des paquets de longueur moyenne 1000 bits...
-si j'ai bien compris le rate_ de Exponential, c'est le nombre de bits generes a la seconde, nan ?
Merci d'avance... je vais vraiment peter un plomb, 5 heures que je suis dessus la