|
Bugzilla – Full Text Bug Listing |
| Summary: | DSR throughput not comparable to other protocols for manet example | ||
|---|---|---|---|
| Product: | ns-3 | Reporter: | Tom Henderson <tomh> |
| Component: | dsr | Assignee: | 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
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. 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). 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.
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. I'm closing this bug as the patches for bugs 1608/1609 seem to fix the throughput problem. |