Hi,

Are you trying to attach ftp with udp? FTP creates two TCP connections, one
for sends data and one for sends commands.
Do you want to use udp or tcp?

If you consider udp, do this:

Remove the following code:
set ftp [new Application/FTP]
$ftp attach-agent $udp_
$ns at 10.0 "$ftp start"

And initialize the exponential traffic, for example:
   $ns_ at 2.0 "$exp_ $opt(start_traffic)"
   $ns_ at 2.0 "$exp_ $opt(stop_traffic)"

Seeya.

Urlan

2009/10/26 Mutiullah Qureshi <[email protected]>

> Thanks Urlan..
> This time I created the said routine and get this:
>
> num_nodes is set 3
> INITIALIZE THE LIST xListHead
> Error:  sendmsg() for UDP should not be -1
> SORTING LISTS ...DONE!
> end simulation
>
>
> ------------------------------
> *From:* Urlan Salgado de Barros <[email protected]>
> *To:* Mutiullah Qureshi <[email protected]>
> *Cc:* NS-USERS Mailing List <[email protected]>
> *Sent:* Mon, October 26, 2009 8:52:20 PM
> *Subject:* Re: [ns] Cross-Layering script is not running.
>
> Hello Mutiullah Qureshi,
>
> You need to create getLL procedure.
>
> Node/MobileNode instproc getLL { param0} {
>     $self instvar ll_
>     return $ll_($param0)
> }
>
> Call this procedure with the command:
> set ll_src_ [$node_(0) getLL 0]
>
> Urlan
>
> 2009/10/26 Mutiullah Qureshi <[email protected]>
>
>>
>> Hello.
>> Please consider the following script. I have written it for demonstrating
>> cross-layering:
>>
>> # Define options
>> set val(chan)           Channel/WirelessChannel    ;# channel type
>> set val(prop)           Propagation/TwoRayGround   ;# radio-propagation
>> model
>> set val(netif)          Phy/WirelessPhy            ;# network interface
>> type
>> set val(mac)            Mac/802_11                 ;# MAC type
>> set val(ifq)            Queue/DropTail/PriQueue    ;# interface queue type
>> set val(ll)             LL                         ;# link layer type
>> set val(ant)            Antenna/OmniAntenna        ;# antenna model
>> set val(ifqlen)         50                         ;# max packet in ifq
>> set val(nn)             3                          ;# number of
>> mobilenodes
>> set val(rp)             AODV                       ;# routing protocol
>> set val(x)              500                  ;# X dimension of topography
>> set val(y)              400                  ;# Y dimension of topography
>> set val(stop)        150               ;# time of simulation end
>>
>> set ns          [new Simulator]
>> set tracefd       [open cros_ex1_tr.tr w]
>> set namtrace      [open cros_ex1_nam.nam w]
>>
>> $ns trace-all $tracefd
>> $ns namtrace-all-wireless $namtrace $val(x) $val(y)
>>
>> # set up topography object
>> set topo       [new Topography]
>>
>> $topo load_flatgrid $val(x) $val(y)
>>
>> create-god $val(nn)
>>
>> #
>> #  Create nn mobilenodes [$val(nn)] and attach them to the channel.
>> #
>>
>> set chan_1_ [new $val(chan)]
>>
>> # configure the nodes
>>        $ns node-config -adhocRouting $val(rp) \
>>             -llType $val(ll) \
>>             -macType $val(mac) \
>>             -channel $chan_1_ \
>>             -ifqType $val(ifq) \
>>             -ifqLen $val(ifqlen) \
>>             -antType $val(ant) \
>>             -propType $val(prop) \
>>             -phyType $val(netif) \
>>             -topoInstance $topo \
>>             -agentTrace ON \
>>             -routerTrace ON \
>>             -macTrace OFF \
>>             -movementTrace ON \
>>
>>
>>    for {set i 0} {$i < $val(nn) } { incr i } {
>>        set node_($i) [$ns node]
>>    }
>>
>> # Provide initial location of mobilenodes
>> $node_(0) set X_ 5.0
>> $node_(0) set Y_ 5.0
>> $node_(0) set Z_ 0.0
>>
>> $node_(1) set X_ 490.0
>> $node_(1) set Y_ 285.0
>> $node_(1) set Z_ 0.0
>>
>> $node_(2) set X_ 150.0
>> $node_(2) set Y_ 240.0
>> $node_(2) set Z_ 0.0
>>
>> # Generation of movements
>> $ns at 10.0 "$node_(0) setdest 250.0 250.0 3.0"
>> $ns at 15.0 "$node_(1) setdest 45.0 285.0 5.0"
>> $ns at 110.0 "$node_(0) setdest 480.0 300.0 5.0"
>>
>> set udp_ [new Agent/UDP]
>> $ns attach-agent $node_(0) $udp_
>>
>> set null [new Agent/Null]
>> $ns attach-agent $node_(1) $null
>>
>> set exp_ [new Application/Traffic/Exponential]
>>
>> $exp_ set burst_time_ 0.01ms
>> $exp_ set idle_time_ 0.04ms
>> $exp_ set rate_ 1.5Mbps
>> $exp_ attach-agent $udp_
>>
>> $exp_ attach-agent $udp_
>> $ns connect $udp_ $null
>>
>> set ll_src_ [$node_(0) getLL 0]
>> $udp_ target $ll_src_
>>
>> set ftp [new Application/FTP]
>> $ftp attach-agent $udp_
>> $ns at 10.0 "$ftp start"
>>
>> # Define node initial position in nam
>> for {set i 0} {$i < $val(nn)} { incr i } {
>> # 30 defines the node size for nam
>> $ns initial_node_pos $node_($i) 30
>> }
>>
>> # Telling nodes when the simulation ends
>> for {set i 0} {$i < $val(nn) } { incr i } {
>>    $ns at $val(stop) "$node_($i) reset";
>> }
>>
>> # ending nam and the simulation
>> $ns at $val(stop) "$ns nam-end-wireless $val(stop)"
>> $ns at $val(stop) "stop"
>> $ns at 150.01 "puts \"end simulation\" ; $ns halt"
>> proc stop {} {
>>    global ns tracefd namtrace
>>    $ns flush-trace
>>    close $tracefd
>>    close $namtrace
>> }
>>
>> $ns run
>>
>>
>> But this is the output:
>>
>> num_nodes is set 3
>> INITIALIZE THE LIST xListHead
>>
>>    (_o14 cmd line 1)
>>    invoked from within
>> "_o14 cmd getLL 0"
>>    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 "_o14" line 2)
>>    (SplitObject unknown line 2)
>>    invoked from within
>> "$node_(0) getLL 0"
>>    invoked from within
>> "set ll_src_ [$node_(0) getLL 0]"
>>    (file "cros_ex1.tcl" line 96)
>>
>> I have read5th chapter of
>> "Introduction to Network Simulator NS2", that explains the Connector
>> class
>> [
>> http://books.google.com/books?id=cD69He_oU60C&pg=PP1&dq=Introduction+to+Network+Simulator+NS2#v=onepage&q=&f=false]
>> and also got help from Urlan [
>> http://mailman.isi.edu/pipermail/ns-users/2009-October/066621.html]
>>
>> Please someone point out the mistake(s)  or provide me with  example
>> script of your own.
>> Thanks in advance.
>>
>>
>>
>>
>>
>
>

Reply via email to