270 likes | 444 Views
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. Dense 802.11-based mesh Goal is high-throughput and capacity. 1 kilometer.
E N D
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 • Dense 802.11-based mesh • Goal is high-throughput and capacity 1 kilometer
Initial approach: Traditional routing packet packet • Identify a route, forward over links • Abstract radio to look like a wired link A B src dst packet C
Radios aren’t wires • Every packet is broadcast • Reception is probabilistic A B src dst 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 1 1 2 3 4 5 6 1 C
ExOR: exploiting probabilistic broadcast packet packet packet packet • Decide who forwards after reception • Goal: only closest receiver should forward • Challenge: agree efficiently and avoid duplicate transmissions A B src dst packet packet packet packet packet C
Outline • Introduction • Why ExOR might increase throughput • ExOR protocol • Measurements • Related Work
Why ExOR might increase throughput (1) • 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 src N1 N2 N3 N4 N5 dst 75% 50% 25%
Why ExOR might increase throughput (2) N1 • Traditional routing: 1/0.25 + 1 = 5 tx • ExOR: 1/(1 – (1 – 0.25)4) + 1 = 2.5 transmissions • Assumes independent losses 25% 100% N2 25% 100% src dst 100% 25% N3 100% 25% N4
Outline • Introduction • Why ExOR might increase throughput • ExOR protocol • Measurements • Related Work
rx: 40 rx: 0 rx: 57 rx: 85 rx: 22 rx: 0 rx: 99 rx: 88 rx: 53 rx: 23 ExOR batching • 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 tx:0 N2 N4 tx:100 tx:57 -23 24 tx:9 src dst N1 N3 tx: 8 tx:23
Reliable summaries tx: {2, 4, 10 ... 97, 98} summary:{1,2,6, ... 97, 98, 99} • Repeat summaries in every data packet • Cumulative: what all previous nodes rx’d • This is a gossip mechanism for summaries N2 N4 src dst N1 N3 tx: {1, 6, 7 ... 91, 96, 99} summary:{1, 6, 7 ... 91, 96, 99}
Priority ordering • 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 N2 N4 src dst N1 N3
TCP TCP ExOR Batches (not TCP) Using ExOR with TCP • Batching requires more packets than typical TCP window Web Server Client PC Node Gateway Proxy Web Proxy ExOR
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
ExOR: 2x overall improvement 1.0 • Median throughputs: 240 Kbits/sec for ExOR, 121 Kbits/sec for Traditional 0.8 0.6 Cumulative Fraction of Node Pairs 0.4 0.2 ExOR Traditional 0 0 200 400 600 800 Throughput (Kbits/sec)
25 Highest throughput pairs 3 Traditional Hops 2.3x 2 Traditional Hops 1.7x 1 Traditional Hop 1.14x 1000 ExOR TraditionalRouting 800 600 Throughput (Kbits/sec) 400 200 0 Node Pair
25 Lowest throughput pairs 1000 ExOR 4 Traditional Hops 3.3x TraditionalRouting 800 600 Throughput (Kbits/sec) 400 200 0 Node Pair Longer Routes
Traditional Routing 3 forwarders 4 links ExOR 7 forwarders 18 links ExOR uses links in parallel
58% of Traditional Routing transmissions 25% of ExOR transmissions ExOR moves packets farther • ExOR average: 422 meters/transmission • Traditional Routing average: 205 meters/tx 0.6 ExOR Traditional Routing Fraction of Transmissions 0.2 0.1 0 0 100 200 300 400 500 600 700 800 900 1000 Distance (meters)
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/