Opportunistic Routing in Multi-hop Wireless Networks Sanjit Biswas and Robert Morris MIT CSAIL http://pdos.csail.mit.edu/roofnet/
ExOR: a new approach to routing in multi-hop wireless networks 1 kilometer • Dense 802.11-based mesh • Goal is high-throughput and capacity
Initial approach: Traditional routing packet packet A A B B A A B B src src src src dst dst dst dst packet C C C C • Identify a route, forward over links • Abstract radio to look like a wired link
Radios aren’t wires A A B B A A B B src src src src dst dst dst dst 1 2 1 2 3 4 5 6 1 2 3 2 3 4 56 3 5 4 5 6 4 6 1 C C C C • Every packet is broadcast • Reception is probabilistic
ExOR: exploiting probabilistic broadcast packet packet packet packet A A B B A A B B src src src src dst dst dst dst packet packet packet packet packet C C C C • Decide who forwards after reception • Goal: only closest receiver should forward • Challenge: agree efficiently and avoid duplicate transmissions
Outline • Introduction • Why ExOR might increase throughput • ExOR protocol • Measurements • Related Work
Why ExOR might increase throughput (1) src N1 N2 N3 N4 N5 dst 75% 50% 25% Best traditional route over 50% hops: 3( 1 / 0.5 ) = 6 tx • Throughput ≅ 1 / # transmissions • • ExOR exploits lucky long receptions: 4 transmissions • Assumes probability falls off gradually with distance
Why ExOR might increase throughput (2) N1 % 100% 5 2 N2 % 100% 5 2 src dst 100% 25% N3 100% 25% N4 • Traditional routing: 1 / 0.25 + 1 = 5 tx • ExOR: 1 / (1 – (1 – 0.25) 4 ) + 1 = 2.5 transmissions • Assumes independent losses
Outline • Introduction • Why ExOR might increase throughput • ExOR protocol • Measurements • Related Work
ExOR batching rx: 40 rx: 0 rx: 57 rx: 85 tx: 0 N2 N4 tx: ≅ 9 tx: 100 tx: 57 -23 rx: 22 rx: 0 ≅ 24 src dst rx: 99 rx: 88 rx: 23 rx: 53 N1 N3 tx: ≅ 8 tx: 23 • Challenge: finding the closest node to have rx’d • Send batches of packets for efficiency • Node closest to the dst sends first – Other nodes listen, send remaining packets in turn • Repeat schedule until dst has whole batch
Reliable summaries tx: {2, 4, 10 ... 97, 98} summary: {1,2,6, ... 97, 98, 99} N2 N4 src dst N1 N3 tx: {1, 6, 7 ... 91, 96, 99} summary: {1, 6, 7 ... 91, 96, 99} • Repeat summaries in every data packet • Cumulative: what all previous nodes rx’d • This is a gossip mechanism for summaries
Priority ordering N2 N4 src dst N1 N3 • Goal: nodes “closest” to the destination send first • Sort by ETX metric to dst – Nodes periodically flood ETX “link state” measurements – Path ETX is weighted shortest path (Dijkstra’s algorithm) • Source sorts, includes list in ExOR header • Details in the paper
Using ExOR with TCP Web Server TCP TCP TCP TCP TCP TCP Client PC TCP TCP Node Gateway Proxy ExOR Batches (not TCP) ExOR Batches (not TCP) ExOR ExOR Batches (not TCP) Batches (not TCP) Web Proxy ExOR ExOR ExOR ExOR • Batching requires more packets than typical TCP window
Outline • Introduction • Why ExOR might increase throughput • ExOR protocol • Measurements • Related Work
ExOR Evaluation • Does ExOR increase throughput? • When/why does it work well?
65 Roofnet node pairs 1 kilometer
Evaluation Details • 65 Node pairs • 1.0MByte file transfer • 1 Mbit/s 802.11 bit rate • 1 KByte packets Traditional Routing ExOR 802.11 unicast with link-level 802.11 broadcasts retransmissions 100 packet batch size Hop-by-hop batching UDP, sending as MAC allows
ExOR: 2x overall improvement 1.0 Cumulative Fraction of Node Pairs 0.8 0.6 0.4 0.2 ExOR Traditional 0 0 200 400 600 800 Throughput (Kbits/sec) • Median throughputs: 240 Kbits/sec for ExOR, 121 Kbits/sec for Traditional
25 Highest throughput pairs 3 Traditional Hops 3 Traditional Hops 3 Traditional Hops 3 Traditional Hops 2 Traditional Hops 2 Traditional Hops 2 Traditional Hops 2 Traditional Hops 1 Traditional Hop 1 Traditional Hop 1 Traditional Hop 1 Traditional Hop 2.3x 2.3x 2.3x 2.3x 1.7x 1.7x 1.7x 1.7x 1.14x 1.14x 1.14x 1.14x 1000 ExOR Throughput (Kbits/sec) Traditional Routing 800 600 400 200 0 Node Pair
25 Lowest throughput pairs 1000 ExOR 4 Traditional Hops 4 Traditional Hops 4 Traditional Hops 4 Traditional Hops Throughput (Kbits/sec) Traditional Routing 800 3.3x 3.3x 3.3x 3.3x 600 400 200 0 Node Pair Longer Routes Longer Routes Longer Routes Longer Routes
ExOR uses links in parallel Traditional Routing ExOR 3 forwarders 7 forwarders 4 links 18 links
ExOR moves packets farther 58% of Traditional Routing transmissions 58% of Traditional Routing transmissions 58% of Traditional Routing transmissions 58% of Traditional Routing transmissions Fraction of Transmissions 0.6 ExOR Traditional Routing 0.2 25% of ExOR 25% of 25% of 25% of ExOR transmissions ExOR ExOR transmissions transmissions transmissions 0.1 0 0 100 200 300 400 500 600 700 800 900 1000 Distance (meters) • ExOR average: 422 meters/transmission • Traditional Routing average: 205 meters/tx
Future Work • Choosing the best 802.11 bit-rate • Cooperation between simultaneous flows • Coding/combining
Related work • Relay channels [Van der Meulen][Laneman+Wornell] • Flooding in meshes / sensor nets [Peng][Levis] • Multi-path routing [Ganesan][Haas] • Selection Diversity [Miu][Roy Chowdhury][Knightly][Zorzi]
Summary • ExOR achieves 2x throughput improvement • ExOR implemented on Roofnet • Exploits radio properties, instead of hiding them
Thanks! For more information and source code: http://pdos.csail.mit.edu/roofnet/
Recommend
More recommend