[ns] A simple scenario using a Module-based Wireless Node (MW-Node)
Dear NS-2 users, I am dealing with A Module-based Wireless Node (MW-Node) for ns-2.30 supporting for multiple interfaces/multiple channels: http://www.q2s.ntnu.no/~paquerea/ns.html http://www.q2s.ntnu.no/~paquerea/ns.html Firstly I want to consider the simple scenario based on the presented example: http://www.q2s.ntnu.no/~paquerea/ns/mwnode-ex http://www.q2s.ntnu.no/~paquerea/ns/mwnode-ex in order to understand how it works. So, I have 3 wireless fixed nodes located in a line (see the diagram below). A node 0 has one wireless interface that operates on channel 0, a node 1 has two interfaces that operate on separated channels 0 and 1, and node 1 has one interface on channel 1. Four CBR flows are sent at different time from the node 0 to the node 1, from the node 2 to 1, from the node 0 to 2, and from the node 2 to node 0 correspondingly. When I run NAM three of the four CBR flows are successful excluding the CBR flow from the node 0 to the node 2. In other words, there is a problem of interface switching in the node 1. If I change the channels 0 and 1 by places for the node 1 in the script the CBR flow from the node 0 to the node 2 is successful, but then the node 2 cannot send packets to the node 0. Could you please indicate me where there is an error in the script? Thanks in advance. Regards, Andrey Krendzel 0 1 2 -ch0- ch1- global val_ set val_(channel) Channel/Wireless ;# channel set val_(propagation) Propagation/TwoRayGround ;# radio-propagation model set val_(phy) Phy/WirelessPhy ;# physical layer set val_(mac) Mac/802_11 ;# mac layer set val_(ifq) Queue/DropTail/PriQueue ;# interface queue type set val_(ll) LL ;# link layer type set val_(antenna) Antenna/OmniAntenna ;# antenna model set val_(ifqlen) 50 ;# max packet in ifq set val_(routing) None ;# routing set val_(nn) 3 set val_(x) 410 set val_(y) 210 set val_(tr) out.tr ;# trace file set val_(namtr) out.nam ;# nam trace file set val_(stopTime)30 proc init {} { global val_ tracefd_ namfd_ ns_ set ns_ [new Simulator] set tracefd_ [open ./$val_(tr) w] $ns_ trace-all $tracefd_ set namfd_ [open ./$val_(namtr) w] $ns_ namtrace-all-wireless $namfd_ $val_(x) $val_(y) } proc finish {} { global val_ tracefd_ namfd_ ns_ node_ for {set i 0} {$i $val_(nn) } {incr i} { $ns_ at $val_(stopTime) $node_($i) reset } $ns_ flush-trace close $tracefd_ close $namfd_ exit 0 } global ns_ init #---create topography set topography_ [new Topography] $topography_ load_flatgrid $val_(x) $val_(y) #create-god $val_(nn) #---wireless config $ns_ wireless-config-routing$val_(routing) \ -mac$val_(mac) \ -phy$val_(phy) \ -channel[new $val_(channel)] \ -propagation[new $val_(propagation)] \ -topography $topography_ \ -ll $val_(ll) \ -ifq$val_(ifq) \ -ifq-length $val_(ifqlen) \ -antenna$val_(antenna) \ -xyz-trace on \ -ifq-trace on \ -mac-trace on \ -rtm-trace on \ -eot-trace off # create channel instances set chan0 [new Channel/Wireless] set chan1 [new Channel/Wireless] #---wireless node 0 $ns_ node-config -wireless +Base ;# enable wireless node set node_(0) [$ns_ node] $ns_ wireless-config -channel $chan0 set wif_(0_1) [$node_(0) add-interface Wireless];# add wireless interface #---wireless node 1 # enable base wireless support $ns_ node-config -wireless +Base set node_(1) [$ns_ node] $ns_ wireless-config -channel $chan0 set wif_(1_1) [$node_(1) add-interface Wireless];# add wireless interface $ns_ wireless-config -channel $chan1 set wif_(1_2) [$node_(1) add-interface Wireless];# add wireless interface #---wireless node 2 # enable base wireless support $ns_ node-config -wireless +Base set node_(2) [$ns_ node] $ns_ wireless-config -channel $chan1 set wif_(2_2) [$node_(2) add-interface Wireless];# add wireless interface # assign routes for above-mentioned interfaces $wif_(0_1) add-default-route $node_(1) $wif_(1_1) add-default-route $wif_(1_2) add-default-route $wif_(2_2) add-default-route $node_(1) #wireless nodes positioning $node_(0) set-position 5.0 5.0 0.0 $node_(2) set-position 405.0 5.0 0.0 $node_(1) set-position 205.0 5.0 0.0 #---setup CBR0 traffic set src0 [new Agent/UDP] set dst0 [new Agent/Null] $ns_ attach-agent $node_(0) $src0 $ns_ attach-agent $node_(1) $dst0
Re: [ns] Receive Wireless Frames thresholds
Hi, The transmission power of Pt_=0.01 W, works if i reduce the thresholds from Phy/WirelessPhy set RXThresh_ 630e-15 Phy/WirelessPhy set CSThresh_ 630e-15 to, for example: Phy/WirelessPhy set RXThresh_ 1e-15 Phy/WirelessPhy set CSThresh_ 1e-15 My question is, there must be another variable that i'm forgetting, because for 0.01 W, the received power should be 7.2e-10 6.30e-13, I mean 7.2e-10/6.30e-13=1142 W/W, or 30.6 dB. I would like to know where is that 30.6 dB implemented. Thanks for your attention, kindly Tiago Junqueira
[ns] Multirate 802.11 implementation is now available
Hi all, I would like to announce the publication of a new 802.11 that we developed at the SIGNET lab, University of Padova, Department of Information Engineering (DEI), downloadable at http://www.dei.unipd.it/wdyn/?IDsezione=5090 This 802.11 implementation, named dei80211mr, permits the simulation of rate adaptation algorithm (in the distribution an implementation of ARF is already included) with an enhanced physical layer with respect to those in the ns distribution. In particular: - support for multiple PHY modes is included; in particolar, dei80211mr supports simulation of the different transmission rates, modulation and coding schemes defined in the IEEE802.11b/g standards. - a SINR-based packet level error model is introduced: + the RX Threshold variable which was used in the 802.11 implementation included in standard NS to determine successful receptions has been removed. Instead, Packet Error Rate (PER) is used to determine random packet losses. + PER is calculated using pre-determined curves (PER vs SINR and packet size); the curves can be specified by the user via TCL. Some default curves for both 802.11g and 802.11b are provided. + SINR is calculated using received signal strength, noise and interference + interference is calculated using a gaussian model to account for all transmissions which happen simultaneously to the one which is considered for reception + noise power is set via TCL - the capture model, i.e. the determination of whether a packet can be received when there are other concurrent transmissions are simultaneously ogoing, is now embedded in the above mentioned interference model (no more Capture Threshold). - Some well-known bugs of the 802.11 implementation in NS have been resolved. With reference to [1], we solved the following bugs: + direct access denial + random backoff time + capture model (note: this is different from the point above since, as per the description in [1], it is actually a synchronization issue) - In the wireless channel, the affected nodes distance is no more determined using the CS threshold, but we used a fixed value in meters (distInterference_) which can be set at the beginning of the simulation. The reason is that, since we use a gaussian interference model, nodes well below the CS threshold often still provide a non-negligible contribution to interference. The default value for the affected nodes distance (distInterference_) is very conservative, so that all nodes are considered for interference calculation. This default value therefore yields accurate but computationally intensive simulations. The value can be adjusted via TCL to achieve different trade-offs between computational load and simulation accuracy. - Several useful 802.11 MAC MIB counters described in [3], Annex D, have been added to the MACMIB C++ class - dei80211mr can be used within the classical ns-2 MobileNode dei80211mr is distributed as a dynamic library using the Dynamic Library patch [2]. Thanks to the functionalities introduced by this patch, dei80211mr can be used with different versions of ns2. We have tested it with ns-2.29 and ns-2.31, and we expect it to work with future ns2 releases as well. [1] Ilango Purushotaman and Sumit Roy, IEEE802.11 implementation Issues in Network Simulator 2, Dept. of Electrical Engineering, University of Washington, US http://ee.washington.edu/research/funlab/ [2] Patch for Loading Dynamic Modules in ns-2, http://mailman.isi.edu/pipermail/ns-users/2007-June/060486.html http://www.dei.unipd.it/~rossi/ns2-patch.html [3] IEEE LAN MAN Standards, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications¿, ANSI/IEEE Std., March 1999.
[ns] Compute busy/idel period of mobile node in ad hoc network
Dear All, In order to estimate a bandwidth I need to compute a busy or idle time of node in period of time. Please how can I do this? I use ns-allinone-2.30 under fedora core 6. Thanks in advance. - Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions ! Profitez des connaissances, des opinions et des expériences des internautes sur Yahoo! Questions/Réponses.
Re: [ns] Compute busy/idel period of mobile node in ad hoc network
The dei80211mr 802.11 implementation just announced http://mailman.isi.edu/pipermail/ns-users/2007-June/060526.html provides a new idleSlot variable which counts the number of idle timeslots which are observed by the MAC. This variable can be used for your computations. Nicola Ana Turk wrote: Dear All, In order to estimate a bandwidth I need to compute a busy or idle time of node in period of time. Please how can I do this? I use ns-allinone-2.30 under fedora core 6. Thanks in advance. - Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions ! Profitez des connaissances, des opinions et des expériences des internautes sur Yahoo! Questions/Réponses.
[ns] error:segmentation fault core dumped
hi; im using ns-2.30 under windows , i have loaded OLSR . when trying to simulate for 150 and 200 nodes it gives error message segmentation fualt core dumped ! the simulation was seccussfull for 50 and 100 nodes. would anyone please help me solveing the problem _ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
[ns] Backbone and Cluster Formation
Hello, Anybody know of any backbone formation protocols that have been implemented in NS2 ? Any help would be greatly appreciated thanks nkj