[ns] TKN 802.11e RTS/CTS not working ... need help
Dear ns users; When the RTS/CTS is enabled, the following trace is obtained; s 10.110075000 _1_ MAC --- 0 RTS 44 [239e 0 1 0] r 10.110427170 _0_ MAC --- 0 RTS 44 [239e 0 1 0] s 10.110437170 _0_ MAC --- 0 CTS 38 [2264 1 0 0] D 10.110741339 _1_ MAC STA 0 CTS 38 [2264 1 0 0] s 10.110995000 _1_ MAC --- 0 RTS 44 [239e 0 1 0] D 10.111347170 _0_ MAC BSY 0 RTS 44 [239e 0 1 0] s 10.112115000 _1_ MAC --- 0 RTS 44 [239e 0 1 0] D 10.112467170 _0_ MAC BSY 0 RTS 44 [239e 0 1 0] s 10.114015000 _1_ MAC --- 0 RTS 44 [239e 0 1 0] D 10.114367170 _0_ MAC BSY 0 RTS 44 [239e 0 1 0] s 10.115915000 _1_ MAC --- 0 RTS 44 [239e 0 1 0] D 10.116267170 _0_ MAC BSY 0 RTS 44 [239e 0 1 0] D 10.116585000 _1_ MAC RET 0 RTS 44 [239e 0 1 0] D 10.116585000 _1_ MAC --- 6 cbr 1060 [13a 0 1 0] --- [1:1 0:1 32 0] [0] 0 0 After I read the code in the file Mac802_11e.cc, I found that other priorities than priority 0 are not supported. RTS does not convey the priority information, and the responding node always reply with a priority-0 CTS. Therefore, I guess that the initiating node having a packet with priority 1, 2, or 3 will have the wrong state (STA in the above trace). The successive RTS's retransmitted by the initiator are all discarded by the responder which is waiting DATA packet. I know that TKN group said that they did not test the RTS/CTS mechanism. Is there anybody who had this experience? Any comments, patch or help will be appreciated very much. Thank you for reading. K. Lee [EMAIL PROTECTED]
Re: [ns] What's wrong with this code?
- It has several errors, which you can spot in the code that I send you, which should work. I also have included a simple trace output for you, so that you will be able to see the packets that were actually sent between the 2 agents. As I understand from the code, you are trying to connect both-way 2 agents (FullTCP) and send packets between them. The error message that you are getting is caused by the start and later the send methods that you are using in your code since: 1.) You are executing the start and/or the send methods naked, meaning that you do not specify a specific time point (i.e. $ns at 0.1 $client_app start, or $ns at 1.2 $client_app send 100). 2.) You are not running the simulator from within your script at all This error message means that there is no target defined for the application that is trying to send the packet, or in other words, the simulator has not yet actually created the target addresses of the nodes, since you did not run it. You have to issue AT THE END of your script, the command $ns run, to actually start the simulator and just before that command a finish command (a procedure) that will actually stop the simulator at a specific point in (the simulated) time. In the code below which works, I also include some potentialy helpful comments. Just copy+paste the code to a tcl file and run it. Then examine the traces.tr file to see the packets that your applications have sent to each other. #** # finish proc executed at the end proc finish {} { global tf close $tf exit 0 } set ns [new Simulator] set client [$ns node] set server [$ns node] set tf [open traces.tr w] $ns trace-all $tf $ns duplex-link $client $server 10Mb 10ms DropTail $ns duplex-link-op $client $server queuePos 0.5 set client_tcp [new Agent/TCP/FullTcp] set server_tcp [new Agent/TCP/FullTcp] #Why do you keep that list? lappend agents_(source) $client_tcp $server_tcp #You have to put both of them in listening state in order to have a bi-directional send-packet flow #meaning for both applications to send to each other application packets beyond the acknowledgements $server_tcp listen $client_tcp listen $ns attach-agent $client $client_tcp $ns attach-agent $server $server_tcp #You have to connect them only once - The opposite direction is redundant $ns connect $client_tcp $server_tcp #You do not need to connect to the opposite direction - erase that line #$ns connect $server_tcp $client_tcp #You can also try the Application/FTP subclass if you like. set client_app [new Application] $client_app attach-agent $client_tcp set server_app [new Application] $server_app attach-agent $server_tcp #You do not need these as well since you are just sending a single packet - Nevertheless, with the class Application #the start method does not do anything. You can go and use the send method directly. You can use the FTP subclass #to use the start method, but not concurrently with the send methods below - either one or the other. #$ns at 0.0 $client_app start #$ns at 0.1 $server_app start #Just send the packet at the specified time $ns at 1.0 $client_app send 100 $ns at 1.5 $server_app send 300 #Schedule the finish time $ns at 3.0 finish #Run (begin) the simulator $ns run Hope that I have helped Regards, -Fk On 8/24/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: -- Forwarded message -- From: 임인택 (Intaek Lim) [EMAIL PROTECTED] To: ns-users@ISI.EDU Date: Wed, 23 Aug 2006 11:39:44 +0900 Subject: [ns] What's wrong with this code? Hello, I just wrote simple tcl script for ns but it did not work. - set ns [new Simulator] set client [$ns node] set server [$ns node] $ns duplex-link $client $server 10Mb 10ms DropTail $ns duplex-link-op $client $server queuePos 0.5 set client_tcp [new Agent/TCP/FullTcp] set server_tcp [new Agent/TCP/FullTcp] lappend agents_(source) $client_tcp $server_tcp $server_tcp listen $ns attach-agent $client $client_tcp $ns attach-agent $server $server_tcp $ns connect $client_tcp $server_tcp $ns connect $server_tcp $client_tcp set client_app [new Application] $client_app attach-agent $client_tcp set server_app [new Application] $server_app attach-agent $server_tcp $client_app start $server_app start $client_app send 100 _ When I run this script, I get an error like below: --- Classfier::no-slot{} default handler (tcl/lib/ns-lib.tcl) --- _o12: no target for slot -1 _o12 type: Classifier/Hash/Dest content dump: classifier _o12 0 offset 0 shift 2147483647 mask 1 slots slot 0: _o30 (Classifier/Port) -1 default -- Finished standard no-slot{} default handler -- Please tell me what should I do. thanks. -- Filippos N Kolovos Software Systems Analyst Engineer M.Sc. (Eng.) in Data Communications Automation Networking Department University of Macedonia Library Egnatia 156, P.O.Box 1591 540 06 Thessaloniki, Greece
Re: [ns] Need 802.11e Implementation For NS2
Hamid, I know one site: http://www.tkn.tu-berlin.de/research/802.11e_ns2/ Try it for the basic access. Their code contains the RTS/CTS mode. However, they said that they did not test RTS/CTS mode. It looks to me that the RTS/CTS mode seems not working. Refer to my mail one up above on the archive. Best Regards, Kye Sang Lee -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of hamid reza Sent: Thursday, August 24, 2006 8:06 PM To: ns-users@ISI.EDU Subject: [ns] Need 802.11e Implementation For NS2 Dear All, We knew that real package of NS 2.27 didnt support 802.11e Protocol. Do you have a link for a good package that implemented 802.11e For NS2? Best Regards Hamid Reza __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
[ns] ns2 energy model with hierarchical addressing
Hi All, I tried simulating (using ns2.29) an infrastructure wireless LAN (hierarchical addressing is used) with energy model enabled, however, no trace is produced for energy consumption. The problem, I guess, is that the if statement if (thisnode) in the trace file is always false. thisnode is defined as Node* thisnode = Node::get_node_by_address(src_). Is there any reason why this is happening. Thanks, A. Barnawi
[ns] Fwd: how to realize this scenario in ns2 - is it possble ?
Hello I have to realize a simple simulation using ns2. The topography of the network is presented on the picture below . First question is whether it is possible with ns2 ? n1 n2 n3 | | n4 I have to realize a simulation in which: n1 - client n2 - router n3 - node with one aplication n4 - node with second application The scenario of simulation is that: 1. n1 send a request for data from n3 2. Router with firewall check if the information can be passed 3 n3 sends back data to n1 4. n1 send request to n3 5 n3 request data form n4 6 n4 sends back data to n3 7 n3 sends back data to n1 Short description: It is something like talking between application. I would like to use fulltcp agent and write agent which base on fulltcp agent. And then create application and protocol which realize this scenario. Maybe someone realize similar task, i will be gracefull for any advice. And most of all i would like to know whether it is possible in ns2 and how to start. (I readed documentation about creating new protocols and agent but i do not know how overload fulltcp agent) Best regards Przemyslaw Krekora -- Zostan Chlopakiem Lata! http://link.interia.pl/f1998
[ns] Access to Agents
Hello, is it possible in C++ to access the agents of a node when I have the node ID or rather the name of the nodeobejct(e.g. o_14)??? - Or to find out which Agents belong to my node? jana -- Echte DSL-Flatrate dauerhaft für 0,- Euro*. Nur noch kurze Zeit! Feel free mit GMX DSL: http://www.gmx.net/de/go/dsl
[ns] Help: scheduler going backwards in time...problem
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
[ns] Recording the time a flow monitor exceeds a specific value
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.