[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PROBLEM with queu-monitor and NAM



Hi to everybody,

1. Continuous to have a problem related to queu-monitor:
    After having simulated my network topology I go to see the file
trace where theoretically
    the queue information should have been record in the
    link switcher <---->pozo but I see that this file it is empty I
don't understand the reason.....
    observing simulation with the nam I see that the tail loses packets
being his maximum length of
    30 packets, therefore because in the file "fifo.tr" there is not
absolutely anything???

2. I have problems related to nam, in the sense that the nam doesn't
visualize me the packets that go from the nodes
    where I have climbed on the exponential generators of packets, I
have tried to add the different colors
    for every source but there has been no anything from to do.... Which
is the cause???

This is the code of the network topology:

set ns [new Simulator]

set bw [expr 10000*1024*1024]
set avgpktSize [expr 1505*8] ;# en bits
set buffer 30
set starttime 0.0
set stoptime 1.204

puts "Creac�on de los ficheros de nam..."

set fifo [open ./output/fifo.tr w]
;#$ns trace-all $fifo

;#set nf [open ./output/fifo.nam w]
;#$ns namtrace-all $nf


;# Procedimiento che se ejecuta para acabar la simulac�on

proc termina {} {
     global ns f ;#nf
     $ns flush-trace
     close $fifo
     ;#close $nf
     puts "-------------------------------------------"
     puts "Ahora tiene que ejecutar nam ./output/out.nam &"
     exit 0
}

   ;# Colores del fluso de datos

$ns color 1 Blue
$ns color 2 Red
$ns color 3 Chocolate
$ns color 4 Brown
$ns color 5 Tan
$ns color 6 Gold
$ns color 7 Black
$ns color 8 White
$ns color 9 Green
$ns color 10 Yellow
$ns color 11 Purple
$ns color 12 Bisque
$ns color 13 Khaki
$ns color 14 Goldenrod
$ns color 15 Sienna
$ns color 16 HotPink

puts "Generac�on de la topologia de la red..."

;# Nodo switch

set switcher [$ns node]
puts switcher=[$switcher id]

;# Nodo pozo

set pozo [$ns node]
puts pozo=[$pozo id]
;# Protocolo de comunicaci�n UDP

set udp0 [new Agent/UDP]

;#set rho 1
;#set rate_generador [expr $rho*10000*1024*1024/1.6]


puts "Creac�on de los links de la topologia..."

for {set i 2} {$i < 18} {incr i} {

;# Nodos fuentes

    set n($i) [$ns node]
    puts n($i)=[$n($i) id]

;# Links entre los nodos

;# fuente1   ------\
;# fuente2   ------\\
;#   ...          ------\\\
;#   ...          ------\\\\
;#   ...          ------\\\\\
;#   ...          ------\\\\\\
;#   ...          ------\\\\\\\
;#                        -----------
;#   ...        ----->|  switch      |
;#   ...        ----->|     +          |---> pozo
;#                       | cola FIFO |
;#                        -----------
;#   ...          -------///////
;#   ...          -------//////
;#   ...          -------/////
;#   ...          -------////
;#   ...          -------///
;# fuente 15 -------//
;# fuente 16 -------/

    $ns duplex-link $n($i) $switcher $bw 1us DropTail
    $ns attach-agent $n($i) $udp0
  }

$ns duplex-link $switcher $pozo 10000Mb 1us DropTail
$ns attach-agent $switcher $udp0

puts "Creac�on de los generadores..."

;# generadores exponenciales con lambda = 0.1

puts "Conectando los generadores exponencial al Agente UDP..."
for {set i 1} {$i < 18} {incr i} {
   set exp_ON_OFF_($i) [new Application/Traffic/Exponential]
   $exp_ON_OFF_($i) attach-agent $udp0

   ;# parametros de la fuente i

   $exp_ON_OFF_($i) set packet_size_ 1505
   $exp_ON_OFF_($i) set burst_time_ 0.1s
   $exp_ON_OFF_($i) set idle_time_ 0.9s
   $exp_ON_OFF_($i) set rate_ 10485760K

   ;# cada fujo de datos de cada fuente tiene un colore

   $exp_ON_OFF_($i) set fid_ ($i)
}


;# numero maximo de paquetes en la cola del switch

puts "Limitacion de la cola switch-pozo a 30 pqts..."
$ns queue-limit $switcher $pozo $buffer


set null0 [new Agent/Null]
$ns attach-agent $pozo $null0
$ns connect $udp0 $null0



;# monitorando los datos de la cola cada medio segundo

set cola_monitor [$ns monitor-queue $switcher $pozo $fifo]
$cola_monitor set-pkts-integrator [new Integrator]
set ave [expr [[$cola_monitor get-pkts-integrator] set sum_
]*$avgpktSize/$stoptime/$bw*1000]
$ns duplex-link-op $switcher $pozo queuePos 0.5

;# Se activan los generadores esponencial al tiempo 0
;# y se paran al tiempo 1.204

for {set i 1} {$i < 18} {incr i} {
   $ns at $starttime "$exp_ON_OFF_($i) start"
   $ns at $stoptime "$exp_ON_OFF_($i) stop"
}

set x [[$cola_monitor get-pkts-integrator] set lastx_]
set y [[$cola_monitor get-pkts-integrator] set lasty_]
$ns at $stoptime [puts $fifo "$x $y"]
$ns at $stoptime [puts $fifo "$stoptime $ave"]

;# la simulac�on se para despues 1.204 segundos
;# (10^6 paquetes) llamando el procedimiento termina

$ns at $stoptime "termina"
$ns run


Waiting for your news...
Vincenzo Mazzotta

([email protected])
begin:vcard 
n:Mazzotta;Vincenzo
tel;cell:+34-600831910
tel;home:+34-93-4430581
x-mozilla-html:FALSE
org:FIB - UPC (Catalunya Politecnic University) - Spain;Computer Arquitecture (AC)
adr:;;Calle Sancho Marraco 4 , 3� 2�;Barcelona;BCN;08004;Spain
version:2.1
email;internet:[email protected]
title:Carrer Final Project (Doble Tiulation)
fn:Vincenzo Mazzotta
end:vcard