[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/
>