I want to observe the queue scheduling inside the router node,here is the
complete picture:

FTP0
 |
tcp0
 |
n1
    \                                 sink0
      \                              /
        n2 - - - - - - - - - - -n3
       /                             \
     /                                 sink1
 n0
  |
tcp1
  |
ftp1

I want the packets to go through node 2 before they are sent by node 2 to
node 3, that means it will be one-hope away right? I set tcp agent and ftp
application in node 0 and node 1, as well as attached 2 tcpsink to
node 3.Imade node 3 out of the sensing range of the source nodes so
that i can make
sure that the packets from source node did not go directly to node 3.However,
after the simulation, they are not only didnt go directly to node 3 but also
not sent to node 2. Thats why I am wondering what is wrong with my
simulation.Do you know the situation?
Thanks for your help.

On 2/26/07, Matthias Kuhnert <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> do you have any traffic between source and sink at all?
> If so, then they simply have a direct connection and communicate without
> the other node. So then either put the nodes further away from each other,
> or decrease the rx/tx range...
> If not, you have a completely different problem and perhaps the nodes too
> far apart from each other...
>
>
> Greets,
> Matthias
>
> -------- Original-Nachricht --------
> Datum: Mon, 26 Feb 2007 21:51:04 +0800
> Von: "romzyi prasetyo" <[EMAIL PROTECTED]>
> An: "ns milis" <ns-users@ISI.EDU>
> CC:
> Betreff: [ns] need help on wireless simulation
>
> >
> > hi all,
> >
> > I am new in NS2. Currently I am doing wireless simulation which consists
> > of
> > 4 nodes. 2 as the source nodes, 1 as a router, the other one as a sink
> > node.
> > I want to simulate such that when the source nodes generate packets, the
> > packets will be queued in relay node  before they are sent to the sink
> > node.However,the problem is there is no packet received in node 2 .I
> > wonder
> > what has caused this error.I have made sure that the relay node is
> located
> > pretty near to the source nodes, but still no packets received there.
> > Below is the code:
> > #
> =======================================================================
> > # PRIORITY-BASED DROPTAIL QUEUE SIMULATION#
> > #
> =======================================================================
> > # Scheme:
> > #
> -----------------------------------------------------------------------
> >
> > #    n1(100,200,0)
> > #      \
> > #       n2(150,150,0) --- n3(500,150,0)
> > #      /
> > #    n0(100,100,0)
> > #
> > # ======================================================================
>
> > # 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)         10                        ;# max packet in ifq
> > set val(nn)             4                          ;# number of
> > mobilenodes
> > set val(rp)             DSDV                       ;# routing protocol
> > set val(drate)            2.0e6                       ;# default
> datarate
> >
> > # ======================================================================
> > # Main Program
> > # ======================================================================
> >
> >
> > proc getopt {argc argv} {
> >         global val
> >         lappend optlist drate
> >
> >         for {set i 0} {$i < $argc} {incr i} {
> >                 set arg [lindex $argv $i]
> >                 if {[string range $arg 0 0] != "-"} continue
> >
> >                 set name [string range $arg 1 end]
> >                 set val($name) [lindex $argv [expr $i+1]]
> >         }
> >
> > }
> >
> > getopt $argc $argv
> >
> > # Initialize Global Variables
> > set ns_        [new Simulator]
> > set tracefd     [open fyp6.tr w]
> > #set tracefd0 [open fyp4_0.tr w]
> > #set tracefd1 [open fyp4_1.tr w]
> > #set cmt [cmu-trace Send "RTR" $tracefd]
> > $ns_ use-newtrace
> > $ns_ trace-all $tracefd
> >
> > # set up topography object
> > set topo       [new Topography]
> > $topo load_flatgrid 500 500
> >
> > # Create God
> > create-god $val(nn)
> >
> > set data0 0
> > set data1 0
> >
> > # Parameter values
> > $val(mac) set dataRate_ $val(drate)
> > #$val(mac) set bandwidth_ 22.0e6
> > #$val(netif) set Pt_ 0.28
> > $val(netif) set bandwidth_ 2.0e6
> >
> >
> > #  Create the specified number of mobilenodes [$val(nn)] and "attach"
> them
> > #  to the channel
> > #  Here 4 nodes are created : node(0),node(1), node(2)  and node(3)
> >
> > # configure node
> > $ns_ node-config -adhocRouting $val(rp) \
> >     -llType $val(ll) \
> >     -macType $val(mac) \
> >     -ifqType $val(ifq) \
> >     -ifqLen $val(ifqlen) \
> >     -antType $val(ant) \
> >     -propType $val(prop) \
> >     -phyType $val(netif) \
> >     -channelType $val(chan) \
> >     -topoInstance $topo \
> >     -agentTrace ON \
> >     -routerTrace OFF \
> >     -macTrace OFF \
> >     -movementTrace OFF
> >
> > for {set i 0} {$i < $val(nn) } {incr i} {
> >     set node_($i) [$ns_ node]
> >     $node_($i) random-motion 0        ; # disable random motion
> > }
> >
> > # Provide co-ordinates for mobilenodes
> > $node_(0) set X_ 100.0
> > $node_(0) set Y_ 100.0
> > $node_(0) set Z_ 0.0
> >
> > $node_(1) set X_ 100.0
> > $node_(1) set Y_ 200.0
> > $node_(1) set Z_ 0.0
> >
> > $node_(2) set X_ 150.0
> > $node_(2) set Y_ 150.0
> > $node_(2) set Z_ 0.0
> >
> > $node_(3) set X_ 500.0
> > $node_(3) set Y_ 150.0
> > $node_(3) set Z_ 0.0
> >
> >
> > # Setup traffic flow between nodes
> > set tcp(0) [new Agent/TCP]
> > $tcp(0) set class_ 1
> > set sink(0) [new Agent/TCPSink]
> > $ns_ attach-agent $node_(0) $tcp(0)
> > $ns_ attach-agent $node_(3) $sink(0)
> > $ns_ connect $tcp(0) $sink(0)
> > set FTP(0) [new Application/FTP]
> > $FTP(0) attach-agent $tcp(0)
> > $ns_ at 3.0 "$FTP(0) start"
> >
> > set tcp(1) [new Agent/TCP]
> > $tcp(1) set class_ 2
> > $tcp(1) set fid_ 1
> > set sink(1) [new Agent/TCPSink]
> > $ns_ attach-agent $node_(1) $tcp(1)
> > $ns_ attach-agent $node_(3) $sink(1)
> > $ns_ connect $tcp(1) $sink(1)
> > set FTP(1) [new Application/FTP]
> > $FTP(1) attach-agent $tcp(1)
> > $ns_ at 1.0 "$FTP(1) start"
> >
> > $ns_ at 100.0 "$node_(0) reset"
> > $ns_ at 100.0 "$node_(1) reset"
> >
> > $ns_ at 100.0 "stop"
> > $ns_ at 100.01 "puts \"NS EXITING...\" ; $ns_ halt"
> >
> > proc stop {} {
> >     global ns_ tracefd
> >
> >
> >     # Get data from trace file, put current-time and
> calculated-throughput
> > in a new file (Kbps)
> >     set awkCode {
> >     {
> >     if ($1=="r" && $5=="3" && $39=="0" && $45=="tcp" )
> >     {
> >         data0=data0 + $37
> >         print $3, data0*8.0/$3/1000 >> "temp.q0";
> >     }
> >     else if ($1=="r" && $5=="3" && $39=="1" && $45=="tcp" )
> >     {
> >     data1=data1 + $37
> >     print $3, data1*8.0/$3/1000 >> "temp.q1";
> >     }
> >     }
> >     }
> >     set f [open temp.queue w]
> >     puts $f "TitleText : Priority-Scheduling "
> >     puts $f "Device: Postscript "
> >     #$ns_ flush-trace
> >     if {[info exists tracefd]} {
> >     close $tracefd
> >     }
> >     #close $tracefd
> >     exec rm -f temp.q0 temp.q1
> >     exec touch temp.q1 temp.q0
> >     exec awk $awkCode fyp6.tr
> >     puts $f \"priority=0
> >     exec cat temp.q0 >@ $f
> >     puts $f \n\"priority=1
> >     exec cat temp.q1 >@ $f
> >     close $f
> >     exec xgraph -x time -y queue temp.queue &
> >     exit 0
> >     }
> >
> >
> > puts "Starting Simulation..."
> > $ns_ run
>
> --
> "Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...
> Jetzt GMX TopMail testen: www.gmx.net/de/go/mailfooter/topmail-out
>

Reply via email to