[ns] Help for using GT-ITM topology generator in NS2?
I am a beginner of ns2, and install the ns-2 version using ns-allinone-2.29.2.tar.gz , there is gt-itm installed already in the ns-2.29 i follow the readme file of the sgb2ns, and calling the create-topology proc in the ts20.tcl, but failed,could anyone tell me the matter ,thanks a lot! the process is as following: creat a test.tcl as the readme file of the sgb2ns: # ---file test.tcl-- set ns [new Simulator] global node_ source ts20.tcl ; create-topology ns node_ 1.5Mb # -- and then command: ns test.tcl and the excute result is : creating nodes... Creating links 0... (_o4 cmd line 1) invoked from within "_o4 cmd duplex-link-of-interfaces _o11 _o47 1.5Mb 230ms DropTail" 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 "_o4" line 2) (SplitObject unknown line 2) invoked from within "$ns duplex-link-of-interfaces $n(0) $n(12) $linkBW 230ms DropTail" (procedure "create-topology" line 19) invoked from within "create-topology ns node 1.5Mb" (file "ts20test.tcl" line 4)
[ns] How to let Heartbeat chunk work during data transmission ?
The Heartbeat chunk will work on sender when one path is idle or timeout. If I want to send Heartbeat chunk during data transmission. Which functions on ns2 I should to modify ? Thank for your suggestions. kerwin 改變每一天 從Xuite開始 http://www.xuite.net
[ns] Need Information about IEEE 802.11 Physical Layer
Dear All, Which Format do NS2 use For PLCP PPDU? Which Modulation used For PLCP preamble and PLCP Header and PSDU Propagation? How can i found how many modulations use in physical layer? Best Regards Hamid Reza __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Re: [ns] Help: ns installation failed
> Luqman wanted us to know: > >hello, > >I am trying to install ns2.28 on Ubuntu 6.06 with following components: > >gcc version 3.3.6 >GNU bash, version 3.00.16(1)-release (i386-pc-linux-gnu) >2.6.15-26-386 > Just for the sake of completeness, I did installa ns2 successfull though after seesaw, i.e. hat to try out a lot of gcc, bash versions and combinations of them. Finally, gcc-2.95 and GNU bash, version 3.00.16(1)-release (i386-pc-linux-gnu) from Hoary worked for me. Only nam is not installed but I can live with that. cheers, -- Luqman
[ns] Mobile WiMAX (802.16e)
Hi, I'm preparing master thesis for Mobile WiMAX (802.16e) . I'm planning to make ns simulation. I would like to exchange opinions, ns codes (if you already have), usefull materials. If you are working on Mobile WiMAX or know some internet links for ns codes, please contact me. Thanks in advance. Best Regards, Jane
Re: [ns] Access to Agents
Hi Jana, you can obtain the address of an agent at a particular port using the node address like so $node agent 2 or o_14 agent 2 --- The above commands return the address of the agent attached to port 2 of a node. Hope it helps. Regards, Sampath -- Sampath Ranasinghe [EMAIL PROTECTED]
[ns] Agents on Particular Ports
Hi Everyone, I have a question regarding setting up an agent to run on a particular port. I have tried doing this with a UDP agent. Below is a tcl code segment I used. set udp0 [new Agent/UDP/UdpSocket] $ns attach-agent $n0 $udp0 $udp0 set agent_port_ 5 set udp1 [new Agent/UDP/UdpSocket] $ns attach-agent $n2 $udp1 $udp1 set agent_port_ 5 $ns connect $udp1 $udp0 Upon running the simulation I get the following error --- Classfier::no-slot{} default handler (tcl/lib/ns-lib.tcl) --- _o83: no target for slot 5 _o83 type: Classifier/Port content dump: classifier _o83 0 offset 0 shift 2147483647 mask 1 slots slot 0: _o82 (Agent/UDP) -- Finished standard no-slot{} default handler -- I have tried to set up both agents to run on port of each node. Could someone tell me if I am using the wrong approach to run particular agents on particular ports? If so what would be the correct method of achieving the require result. Thanks in advance, Sampath -- Sampath Ranasinghe [EMAIL PROTECTED]
[ns] NOAH Routing Problem
ve fixed NOAH's problem, but I notice packets forwarded 2 BS (which are intended for another node) do not get to their destination e.g. if i want to send a packet froma wireless node to a wired node in an hierarchical structure (wired/wireless), if I use NOAH, the packet gets 2 BS, but do not get to the wired node. How can I get around this? Lekkie.
Re: [ns] to resolve to recompile ns2 in cygwin
Dear Sir! Is that after opening startxwin.sh and opening the ns directory in my case ns-2.29? or different. Pls help me it is really urgent to me. Best Regards, Wossenu A. - Original Message - From: Matthias Kuhnert <[EMAIL PROTECTED]> Date: Tuesday, August 22, 2006 7:40 pm Subject: Re: [ns] to resolve to recompile ns2 in cygwin > Hi, > > didn't make work? > Just go to the ns2 directory and type make. > Works fine for me! > > Regards, > Matthias > > [EMAIL PROTECTED] schrieb: > > Hello everyone! > > I want to recompile ns2 after adding TCP WestwoodNR as an agent. > > Is there anyone who recopile ns2 in cygwin? If so pls help me. > > > > Thanks > > Wossenu A. > > > > > > > > > > > > > > > >
Re: [ns] Recording the time a flow monitor exceeds a specific value
> No i actually mean flowmonitor between two nodes. :) Well, that is sort what the LossMonitor is, so my remark is still valid. Look into LossMonitor. It uses the RTP Seq Number field to detect losses. That approach is only suitable for UDP traffic (even if it ain't RTP traffic, NS2 still uses the RTP header). For TCP traffic I think that the Agent/TCP and Agent/TCPSink already includes statistics of retransmissions and other stuff. Hope it helps, Pedro Fortuna INESC Porto On 8/25/06, Nicholas Loulloudes <[EMAIL PROTECTED]> wrote: > > Hello Pedro, > > No i actually mean flowmonitor between two nodes. :) > > Is there any way i can do what you are telling me for pdrops_ ? > > Thank you. > > > > On 8/25/06, Pedro Fortuna <[EMAIL PROTECTED]> wrote: > > If by "flow monitor" you mean the LossMonitor Agent, then the answer > > is no. That Agent pretty much just only detects and counts packet > > losses. But if you look at the code, it will see that it is farly > > trivial to change and implement what you need. > > You set a threshold value and register the last time the nlost_ > > crossed the value. Then register the time using two time counters: > > double bellowThreshold_; > > double above Threshold_; > > > > Seems trivial... > > Good Luck, > > > > Pedro Fortuna > > INESC Porto > > > > On 8/25/06, Nicholas Loulloudes < [EMAIL PROTECTED]> wrote: > > > > > > Hello, > > > > > > Is there any way in NS2 i can record the time the value of nlost_ of a > > > specific flow monitor exceeds a certain value? > > > > > > Thank you. > > > > > > -- > > > Nicholas Loulloudes > > > > > > Postgraduate at Communication Networks and Software. > > > > > > BSc in Computer Science. > > > > > > > > > -- > > Cumprimentos, > > Pedro Fortuna > > > > > > -- > > Nicholas Loulloudes > > Postgraduate at Communication Networks and Software. > > BSc in Computer Science. -- Cumprimentos, Pedro Fortuna
[ns] Need Information about IEEE 802.11 Physical Layer
The short PLCP header is transmitted using the 2 Mbps in 802.11b . But we can not transmit it on NS2.27 because we have not PLCPHeaderRate in its Implementation. Short Preamble: Mac/802_11 set PreambleLength_ 72 Mac/802_11 set PLCPHeaderLength 48 Mac/802_11 set PLCPDataRate 1e6 I found below coding for short preamble Rate. Is it have bug ? diff -urP mac/mac-802_11.cc mac/mac-802_11.cc~ --- mac/mac-802_11.cc 2006-04-09 00:00:00.0 +0200 +++ mac/mac-802_11.cc~ 2006-04-09 00:01:00.0 +0200 -166,7 +166,9 parent->bind("SIFS_", &SIFSTime); parent->bind("PreambleLength_", &PreambleLength); parent->bind("PLCPHeaderLength_", &PLCPHeaderLength); - parent->bind_bw("PLCPDataRate_", &PLCPDataRate); + parent->bind_bw("PLCPhdrRate_", &PLCPhdrRate); + parent->bind_bw("PLCPpreambleRate_", &PLCPpreambleRate); + parent->bind("basicRate_", &basicRate_); } MAC_MIB::MAC_MIB(Mac802_11 *parent) -1397,10 +1399,12 double Mac802_11::txtime(double psz, double drt) { - double dsz = psz - phymib_.getPLCPhdrLen(); - int plcp_hdr = phymib_.getPLCPhdrLen() << 3; + double dsz = psz - phymib_.getPLCPhdrLen() - phymib_.getPLCPpreambleLen(); + int plcp_preamble = phymib_.getPLCPpreambleLen() << 3; + int plcp_hdr = phymib_.getPLCPhdrLen() << 3; int datalen = (int)dsz << 3; - double t = (((double)plcp_hdr)/phymib_.getPLCPDataRate()) + double t = (((double)plcp_hdr)/phymib_.getPLCPhdrRate()) + + (((double)plcp_preamble)/phymib_.getPLCPpreambleRate()) + (((double)datalen)/drt); return(t); } diff -urP mac/mac-802_11.h mac/mac-802_11.h~ --- mac/mac-802_11.h 2006-04-09 00:00:00.0 +0200 +++ mac/mac-802_11.h~ 2006-04-09 01:00:00.0 +0200 -143,30 +143,38 inline double getEIFS() { // see (802.11-1999, 9.2.10) return(SIFSTime + getDIFS() - + (8 * getACKlen())/PLCPDataRate); + + (8.0 * ((double) ((getACKlen() << 3) - getPreambleLength() - getHdrLength())) / basicRate_) + + ((8.0 + 1.0) * (((double) getPreambleLength())/getPLCPpreambleRate())) + + ((8.0 + 1.0) * (((double) getHdrLength())/getPLCPhdrRate(; } inline u_int32_t getPreambleLength() { return(PreambleLength); } - inline double getPLCPDataRate() { return(PLCPDataRate); } + inline u_int32_t getHdrLength() { return(PLCPHeaderLength); } + inline double getPLCPpreambleRate() { return (PLCPpreambleRate); } + inline double getPLCPhdrRate() { return(PLCPhdrRate); } - inline u_int32_t getPLCPhdrLen() { - return((PreambleLength + PLCPHeaderLength) >> 3); + inline u_int32_t getPLCPpreambleLen() { + return(PreambleLength >> 3); } + inline u_int32_t getPLCPhdrLen() { + return(PLCPHeaderLength >> 3); + } + inline u_int32_t getHdrLen11() { - return(getPLCPhdrLen() + sizeof(struct hdr_mac802_11) + return(getPLCPpreambleLen() + getPLCPhdrLen() + sizeof(struct hdr_mac802_11) + ETHER_FCS_LEN); } inline u_int32_t getRTSlen() { - return(getPLCPhdrLen() + sizeof(struct rts_frame)); + return(getPLCPpreambleLen() + getPLCPhdrLen() + sizeof(struct rts_frame)); } inline u_int32_t getCTSlen() { - return(getPLCPhdrLen() + sizeof(struct cts_frame)); + return(getPLCPpreambleLen() + getPLCPhdrLen() + sizeof(struct cts_frame)); } inline u_int32_t getACKlen() { - return(getPLCPhdrLen() + sizeof(struct ack_frame)); + return(getPLCPpreambleLen() + getPLCPhdrLen() + sizeof(struct ack_frame)); } private: -180,7 +188,9 double SIFSTime; u_int32_t PreambleLength; u_int32_t PLCPHeaderLength; - double PLCPDataRate; + double PLCPhdrRate; + double PLCPpreambleRate; + double basicRate_; }; __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Re: [ns] Help: scheduler going backwards in time...problem
Hi, all: I found that on the trace file, only 20.0 seconds id recorded. The program is actually stuck in scheduler.cc file and cann't get out. Is it a timer related problem? Any clue? Have nice weekend! Robin Quoting [EMAIL PROTECTED]: > > Hello: >I made some modification on gpsr routing protocol and trying to do > > some simulation on cbr traffic. When I run the tcl script, an error > occured like this: > ns: scheduler going backwards in time from from 20.05 to > 0.00 > > Actually I manipulated the GPSR packet and do triangle routing. > Each > path use standard gpsr. I was wondering if it is related that the > packet is somehow changed(but I didn't change it, all I do is to > change > the source and destination address)? > > Does anybody has experience on this error? > > > Thanks > robin > > >