220 likes | 370 Views
ExOR : Opportunistic Multi-Hop Routing for Wireless Networks Sigcomm 2005. Sanjit Biswas and Robert Morris MIT Computer Science and Artificial Intelligence Laboratory. Presented by Sungwon Yang 2009.05.12. What is ExOR?. Extremely Opportunistic Routing
E N D
ExOR: Opportunistic Multi-Hop Routing for Wireless NetworksSigcomm 2005 SanjitBiswas and Robert Morris MIT Computer Science and Artificial Intelligence Laboratory Presented by Sungwon Yang 2009.05.12
What is ExOR? • Extremely Opportunistic Routing • Routing in multi-hop wireless networks • Cross-Layer Protocol: Routing + MAC • Aims to increase the throughput of large unicast transfers • Based on cooperative diversity routing
Motivation • Traditional routing protocols were designed for wired networks • Identify a route, forward over links • These protocols don’t take into account underlying wireless dynamics at MAC and PHY layer packet packet A B src dst packet C
Motivation • Radio is not wired • 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
Basic concept of ExOR • exploiting probabilistic broadcast • Decide who forwards after reception • Goal: only closest receiver should forward packet packet packet packet A B dst src packet packet packet packet packet C
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 • Assumes probability falls off gradually with distance src N1 N2 N3 N4 N5 dst 75% 50% 25%
Why ExOR might increase throughput (2) • Traditional routing: 1/0.25 + 1 = 5 tx • ExOR: 1/(1 – (1 – 0.25)4) + 1 = 2.5 transmissions • Assumes independent losses N1 25% 100% N2 25% 100% src dst 100% 25% N3 100% 25% N4
ExOR Design Challenges • How to determine which nodes have received a packet? • Agreement amongst the nodes which received each packet • What node (of the receivers) should forward a packet? • Need for a metric which decides the node which is closest to the destination • Minimize communication cost of coordination • Not too many nodes should be potential forwarders • Minimize collisions
ExOR Mechanism: Source’s Behavior • Collects enough packets of the same destination to form a batch • ExOR operates on batches of packets for efficiency • Source gathers batch of packets to same destination • Selects a set of nodes to be candidate forwarders, and includes the prioritized list in the header of every packet • Potential forwarders are prioritized by estimated cost to destination (by sender) • ETX (Expected Transmission Count) • Forwarding in order of priority
What is ETX (1) • Expected Transmission Count • Proposed by the MIT AI Lab in MobiCom 2003 • Predict the number of transmission(including retransmission) • Designed for finding the high-throughput path in DSDV & DSR routing protocols • Using periodical probe packets
What is ETX (2) • Forward list: ECDBA • Broadcast in this order
ExOR Mechanism: Intermediate nodes’ Behavior (1) • Q: How can a node know whether it is one of the forwarders or not? • A: Check the forwarder list in the header of the received packet • If the node finds itself in the list, buffer the packet and keep state of this batch • If no, discard the packet
ExOR Mechanism: Intermediate nodes’ Behavior (2) • Q: How can a node know whether the packet it receives has also been received by a node with higher priority or not? • A: ExOR uses “Batch Map” • Acts as a gossip mechanism to carry reception information-- from high priority nodes to low • Included in every transmission so that node’s local batch maps will converge • Low priority node unlikely to forward a packet received by high-priority node
ExOR Mechanism: Intermediate nodes’ Behavior (3) • Q: How can a node know when it should send packets? • A: ExOR uses “Forwarding Timer” • Initially set long-enough • A node adjusts the timer when it hear other nodes’ packets • “Transmission Tracker” keeps track of the remaining number of packets needed to be sent
ExOR Mechanism: Destination’s Behavior • Actually destination is the last intermediate node and has the highest priority. • After the finish of src’s transmission. Destination sends out packets only including the batch map, to inform other nodes about the packets it has received • Upon >90% of batch reception in batch map, packet is not forwarded further -- finish using traditional mechanisms
Evaluation • Does ExOR increase throughput? • When/why does it work well? • Roofnet: 38 nodes • ExOR implemented on Linux with 802.11b • 65 node pairs randomly chosen • 1.0MByte file transfer • 1 Mbit/s 802.11 bit rate • 1 KByte packets • 9 iterations 1 kilometer
Results (1) • Median Throughput • 240 Kbits/sec for ExOR • 121 Kbits/sec for Traditional 1.0 0.8 0.6 Cumulative Fraction of Node Pairs 0.4 0.2 ExOR Traditional 0 0 200 400 600 800 Throughput (Kbits/sec)
Results (2) • 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
Results (3) • 25 Lowest throughput pairs 1000 ExOR 4 Traditional Hops 3.3x TraditionalRouting 800 600 Throughput (Kbits/sec) 400 200 0 Node Pair Longer Routes
58% of Traditional Routing transmissions 25% of ExOR transmissions Results (4) • ExOR moves packets farther 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)
Conclusion & Secret Sauce • Exploits radio properties, instead of hiding them • Benefit from long and lossy link • Also work well on one-hop link • ExOR achieves 2x throughput improvement • Real implementation and experiments • Clearly-defined primary goal • Achieve high throughput in large unicast transfer