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

Re: [ns] BUGS in LAN ??



Hi Adeel,

The drops are not on the  LAN but in the LL queue at each  node. 
You are generating a packet every 1ms   but the Propogation
delay itself experienced by the packet is 2 ms (on LAN ) and 1
ms on the link. Hence the queues overflow and you observe drops. 

And i am not sure what duplicate packets you are observing. 
Can you please elaborate. 

thank you
alefiya


On Tue, 13 Feb 2001, Adeel Baig wrote:

> Hi
> 
> I have sent a question earlier.I am using 2.17.
> The problems I am facing are
> 
> 1= drops in lan.from source to lan node.
>  I think there sould be no drops in Lan.
> 
> 2= a lot of duplicate packets on destination of CBR
> source.Is it a bug in nS or ????
> 
> I was using 2.16 it can not support more than 2 tcp
> and 1 udp source in a lan.Any suggestions about that
> or is it a BUG again???
> 
> 
> Any help will be appreciated.
> 
> Adeel
> UNSW
> Australia
> 
> My script is as follows
> #design of a simple LAN with five nodes and a node 
> # outside the LAN
> #                                 n5 
> #                                 ||
> #                                 ||
> #                                 ||
> #   n0            n2              n4
> #   |             |               |
> #   |             |               |    
> #   |             |               |
> #   +=============+===============+
> #                 |               |
> #                 |               |
> #                 |               |
> #                n1               n3
> #
> #
> 
> set ns [new Simulator]
> puts "Starting Simulation
> .................................. Done"
> # open file for nam animation
> set f [open outf.nam w]
> $ns namtrace-all $f
> 
> # open files for tracing out put for the graph
> set f0 [open out0.tr w]
> set f1 [open out1.tr w]
> set fc [open outc.tr w]
> set g [open outfg.tr w]
> $ns trace-all $g
> 
> 
> # create node with given color
> 
> set n0 [$ns node]
> $n0 color "blue" 
> 
> set n1 [$ns node]
> $n1 color "red" 
> 
> set n2 [$ns node]
> $n2 shape "square" 
> $n2 color "yellow"
> 
> set n3 [$ns node]
> $n3 color "blue"
> 
> set n4 [$ns node]
> $n4 color "black"
> 
> set n5 [$ns node]
> $n5 color "red"
> 
> 
> # make node list for lan
> set nodelist_ "$n0 $n1 $n2 $n3 $n4"
> 
> #link the node with option that is outside the lan  
> $ns duplex-link $n5 $n4  10Mb 1ms DropTail
> $ns duplex-link-op $n5 $n4 orient down
> 
> # make lan with the node list 
> set lan_ [$ns make-lan $nodelist_ 10Mb 1ms LL
> Queue/DropTail Mac/802_3 Channel]
> 
> # create TCP agent and attach it to the node
> set tcp0 [new Agent/TCP]
> 
> $ns attach-agent $n0 $tcp0 
> 
> 
> #create TCP sink 
> set sink1 [new Agent/TCPSink]
> $ns attach-agent $n3 $sink1
> 
> # connect TCP source to sink
> $ns connect $tcp0 $sink1 
> 
> # craet UDP agent and attach to the node
> set udp1 [new Agent/UDP]
> $ns attach-agent $n1 $udp1
> 
> # attach CBR application to the UDP agent
> set cbr1 [new Application/Traffic/CBR]
> $cbr1 attach-agent $udp1
> $cbr1 set packetSize_ 256
> $cbr1 set interval_ .000975
> 
> # attach Loss Monitor agent to the node
> set sink0 [new Agent/LossMonitor]
> $ns attach-agent $n5 $sink0
> 
> # conenct UDP to sink
> $ns connect $udp1 $sink0
> 
> 
> # attach FTP application to the TCP agent
> set ftp0 [$tcp0 attach-app FTP]
> 
> 
> # define flow ID
> $udp1 set fid_ 1
> $tcp0 set fid_ 2
> 
> # color to flow ID
> $ns color 1 Red
> $ns color 2 Blue
> 
> # record procedure for the calculation of bandwidth
> proc record {} {
>         global sink0 sink1 tcp0 fc  f0 f1  
>         #Get an instance of the simulator
>         set ns [Simulator instance]
>         #Set the time after which the procedure should
> be
> called again
>         set time 0.5
>         #How many bytes have been received by the
> traffic
> sinks?
>         set bw0 [$sink0 set bytes_]
>         #set bw1 [$sink1 set bytes_]
>         #set cw [$tcp0 set cwnd_]
>         #set bw2 [$sink2 set bytes_]
>         #Get the current time
>         set now [$ns now]
>         #Calculate the bandwidth (in MBit/s) and write
> it to
> the files
>         puts $f0 "$now [expr $bw0/$time*8/1048576]"
>         puts $f1 "$now [expr $bw1/$time*8/1048576]"
>         #puts $fc "$now $cw" 
>         #puts $f2 "$now [expr $bw2/$time*8/1000000]"
>         #Reset the bytes_ values on the traffic sinks
>         $sink0 set bytes_ 0
>         #$sink1 set bytes_ 0
>         #$sink2 set bytes_ 0
>         #Re-schedule the procedure
>         $ns at [expr $now+$time] "record"
>         }
> 
> 
> # start simulation and record proc 
> $ns at 0.0 "record"
> 
> # start CBR   
> $ns at 0.0 "$cbr1 start"
> 
> 
> # start FTP 
> $ns at 5.0 "$ftp0 start"
>  
> $ns at 10.0 "$ftp0 stop" 
> 
> 
> 
> # stop simulation
> $ns at 10.0 "$ns halt" 
> 
> 
> $ns run
> 
> # close files and exec graph
> $ns flush-trace
> close $f0
> close $f1
> close $f
> close $fc
> close $g
> 
> exit 0
> 
> __________________________________________________
> Do You Yahoo!?
> Get personalized email addresses from Yahoo! Mail - only $35 
> a year!  http://personal.mail.yahoo.com/
>