Bug 1434

Summary: DSR throughput not comparable to other protocols for manet example
Product: ns-3 Reporter: Tom Henderson <tomh>
Component: dsrAssignee: ns-bugs <ns-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: nikkipui
Priority: P5    
Version: pre-release   
Hardware: All   
OS: All   
Attachments: DSR performance after patches

Description Tom Henderson 2012-05-24 01:34:13 UTC
./waf --run "manet-routing-compare --protocol=4" (i.e. DSR) only shows throughput in the 4-10 packets/sec range, compared to results from other protocols such as AODV and DSDV (12-20 packets/sec).  This seems to be a performance regression from ns-3.13 results.
Comment 1 Daniel L. 2013-03-21 10:24:31 UTC
Not sure if this is the same problem but I believe it is very likely.

I was looking at DSR throughput in a linear network (3 nodes in a line).

1 ---- 2 ---- 3

Node 1 sends packets to node 3.

The problem was that Node 2 have to use an explicit ACK Request since it is the last hop before the destination (i.e. no passive ACK). However, when Node 3 receives the ACK Request, it tries to send an ACK directly to Node 1 (Node 3 sends an ARP Request looking for Node 1), which always failed.

This results in DSR ACK timeout at Node 2, Node 2 then sends Route Error back to Node 1, where the new route discovery process is initiated.

In other words, currently, DSR will periodically find a new route even though the route is actually working fine.

This problem is also present in scenarios with more than 3 nodes.
Comment 2 Daniel L. 2013-03-21 10:35:13 UTC
Actually, this scenario does not affect the throughput in simple networks like this. But I can imagine that the problem will be much worse in dense networks.

Another issue (not a bug) with DSR is that the default "DiscoveryHopLimit" is set to 255. Thus the Route Request packets live *very* long in the network. I had a simulation with 50 nodes and after 2 seconds, the original Route Requests are still being forwarded in the network (with 17 hops in the route).
Comment 3 Daniel L. 2013-04-26 17:57:51 UTC
Created attachment 1570 [details]
DSR performance after patches

I attached the results of DSR after bugs 1608/1609 are patched (ns-3-dev) and compare against the unpatched version (ns-3.15). I only managed to finish two RngRun but I think you can see the improvement already.

- The first page is Kbps, the second page is the number of packets.
- The left column is before patch, the right column is after patch.
- Compare left and right (they are the same RngRun)

Do you think this is good enough to close this bug? DSR performance improved substantially after the patches.
Comment 4 Daniel L. 2013-04-29 08:36:31 UTC
I used "examples/routing/manet-routing-compare" with RngRun 1 and 2.

For some reason, the results of all other protocols also differ between 3.15 and dev. But the overall DSR results in 3.15 and 3.16 are extremely bad. With ns-3-dev, the results of DSR are comparable with the remaining three protocols.
Comment 5 Daniel L. 2013-04-29 08:37:57 UTC
I'm closing this bug as the patches for bugs 1608/1609 seem to fix the throughput problem.