Implementation vs. Simulation: Evaluating a MANET Multicast Protocol
Thomas Kunz
Systems and Computer Engineering
Carleton University
http://kunz-pc.sce.carleton.ca/
tkunz@sce.carleton.ca

Motivation
Ad hoc networks: infrastructure-less, rapid deployment
Many applications for ad hoc networks require one-to-many and many-to-many communication
Multicast protocols are intended to efficiently support such communication patterns
Multicasting well researched in fixed networks (i.e., the Internet), building efficient distribution structures (typically a multicast tree)
Ad hoc networks: dynamic topology makes it harder to maintain distribution structure with low overhead

Motivation (cont.)
Previous work: studied performance of multicast and broadcast protocols in NS2, determined that broadcast protocols can support one-to-many and many-to-many communications well in a MANET
Choose BCAST as starting point, a protocol that utilizes 2-hop neighborhood information to dynamically prune re-broadcasts
However, even for “best” broadcast protocol, Packet Delivery Ratio (PDR) can be reduced when
Mobility increases
Number of multicast sender (i.e., traffic) increases

“Reliable” Protocol: Key Design Alternatives
Reliability Mechanism?
Forward Error Correction: Overhead with each packet, design often based on worst-case assumptions
Retransmissions: detect packet loss and recover
Ack-based
Nack-based
Which Protocol Layer?
Transport Layer
Routing Layer
Flow Control, Security, etc. (not considered)

Reliable BCAST
Each node keeps cache of recently transmitted packets (FIFO, small)
Each node, upon receiving packet X from sender S, checks whether it received packet X-1 from that sender
If not, broadcast retransmission request (NACK) to 1-hop neighbors
Neighbors listen to overhear other retransmission and cancels theirs
First set of experiments revealed that under high traffic load, too many NACKs were issued, flooding the network and resulting in overall worse performance (70% PDR for 10 sender scenarios)
Added feature: NACK throttle
Results: consistent improvement in PDR compared to best-effort version, at cost of slightly higher packet latency (all performance differences statistically significant at 99% confidence level).

But are simulation results true….?
Idea: compare simulation results with testbed
Implemented BCAST on Linux laptops and IEEE 802.11a/b/g Netgear wireless cards
Compare results
Static network topologies
Dynamic network topologies
Emulate node movement
Used MNE (Mobile Network Emulator from NRL)

Comparison 1: Static Network

Comparison 2: Dynamic Networks

Analysis of Dynamic Network Results
Not the same quantitative results (was expected)
However, also not the same qualitative results!
Reliable BCAST does not increase the PDR for low traffic loads (independent of the mobility rate):
Under light traffic load, the single-sender scenario has a lower PDR than the multiple-sender scenario, yet the reliable protocol version does not recover from the single-transmitter losses (as static network results show, PDR of 100% is possible)
Reliable BCAST performs worse under heavy traffic loads (many multicast sender sending lots of data)
Under heavy traffic load, the increase in the number of senders caused severe congestion, producing a significant drop in PDR for all mobility rates and protocol versions.

Conclusions and Future Work
Implemented a multicast/broadcast protocol both in a popular network simulator (NS2) and on Linux laptops
Compared performance under a range of scenarios
Quantitative and qualitative differences
Quantitative differences expected
Qualitative differences not expected and cause for concern
Future work:
Include additional simulators (GloMoSim) and tests without MNE
Analyze observed differences closer
Isolate the effect of MNE
Additionally, work on core protocol (congestion control, security)