*hi friends, following is the code for TCP connection that shares a noisy bottle link with a UDP connection.*
set ns [new Simulator] $ns color 1 Blue $ns color 2 Red #open the NAM trace file set nf [open first_out.nam w] $ns namtrace-all $nf #open the trace file set tf [open first_out.tr w] set windowVsTime2 [open WindowVsTimeNReno w] $ns trace-all $tf #define a 'finish' procedure proc finish {} { global ns nf tf $ns flush-trace close $nf close $tf exec nam first_out.nam & exit o } #creating four nodes set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] $ns at 0.1 "$n1 lable \"CBR\"" $ns at 1.0 "$n0 lable \"FTP\"" #create links between the nodes $ns duplex-link $n0 $n2 2Mb 10ms DropTail $ns duplex-link $n1 $n2 2Mb 10ms DropTail $ns simplex-link $n2 $n3 0.07Mb 20ms DropTail $ns simplex-link $n3 $n2 0.07Mb 20ms DropTail #set queue size of link (n2-n3) to 10 $ns queue-limit $n2 $n3 10 #Monitor the queue for link (n2-n3) (for NAM) $ns simplex-link-op $n2 $n3 queuePos 0.5 #set error model on link n3 to n2 set loss_module [new ErrorModel] $loss_module set rate_ 0.2 $loss_module ranvar [new RandomVariable/Uniform] $loss_module drop-target [new Agent/Null] $ns lossmodel $loss_module $n2 $n3 #setup a tcp connection set tcp [new Agent/TCP/Newreno] $ns attach-agent $n0 $tcp set sink [new Agent/TCPSink/DelAck] $ns attach-agent $n3 $sink $ns connect $tcp $sink $tcp set fid_ 1 #set ftp over tcp connection set ftp [new Application/FTP] $ftp attach-agent $tcp $ftp set type_ FTP #setup a UDP connection set udp [new Agent/UDP] $ns attach-agent $n1 $udp set null [new Agent/Null] $ns attach-agent $n3 $null $ns connect $udp $null $udp set fid_ 2 #setup a CBR over UDP connection set cbr [new Application/Traffic/CBR] $cbr attach-agent $udp $cbr set type_ CBR $cbr set packet_size_ 1000 $cbr set rate_ 0.01mb $cbr set random_ false #schedule events for the CBR anf ftp agents $ns at 0.1 "$cbr start" $ns at 1.0 "$ftp start" $ns at 624.0 "$ftp stop" $ns at 624.5 "$cbr stop" #printing the window size proc plotWindow {tcpSource file} { global ns set time 0.01 set now [$ now] set cwnd [$tcpSource set cwnd_] puts $file "$now $cwnd" $ns at [expr $now+$time] "plotWindow $tcpSource $file" } $ns at 1.1 "plotWindow $tcp $windowVsTime2" #sample the bottleneck queue every 0.1 sec. store the trace in qm.out set qmon [$ns monitor-queue $n2 $n3 [open qm.out w] 0.1]; [$ns link $n2 $n3] queue-sample-timeout; # [$ns link $n2 $n3] start-tracing #detach tcp and sink agent (not really necessary) $ns at 624.5 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink" $ns at 625.0 "finish" $ns run *during running the above tcl scrit it gives following error: * $ns first.tclp ns: _o13 lable "CBR": (_o13 cmd line 1) invoked from within "_o13 cmd lable CBR" invoked from within "catch "$self cmd $args" ret" invoked from within "if [catch "$self cmd $args" ret] { set cls [$self info class] global errorInfo set savedInfo $errorInfo error "error when calling class $cls: $args" $..." (procedure "_o13" line2) (SpliiObjest unknow line 2) invoked from within "_o13 lable "CBR"" *what is this is this error*