ExOR:Opportunistic Multi-Hop Routing For Wireless Networks Sanjit Biswas and Robert Morris MIT CSAIL http://pdos.csail.mit.edu/roofnet What is Ex Opportunistic Routing ? A Link/Network Layer diversity routing technique that uses standard radio hardware Achieves substantial increase in throughput for large unicast transfers in mesh network. Thoughts : Does opportunistic mean Greedy ? Do we need Dijkstra’s algorithm? How is it different? Traditional Routing Packet Packet B A Packet D S C Packets get forwarded on fixed path Retried on failures Looks like a circuit switched network Cooperative Diversity / Probabilistic Broadcast B A D S C Packets are broadcasted Selects each hop, after the transmission for that hop. Unlike Coop Diversity only a single node forwards each packet Why ExOR promises high throughput? S N1 N2 N3 N4 N5 N6 N7 N8 D Traditional Path Gradual falloff of probability with distance (80%, 40%, 20%..) Lucky longer path can reduce transmission count Shorter path ensures some forward progress Why ExOR promises high throughput? 25% 25% S 25% S S S 100% 100% D 100% 100% 25% S Reception at different node is independent, no interference Traditional Routing: 1/ 0.25 + 1 = 5tx 4 ExOR: 1/ (1-(1-0.25) ) + 1 = 2.5tx Design Challenges – Order in Anarchy 1) 2) 3) 4) The nodes must agree on which subset of them received each packet – Protocol ? A metric to measure the probable cost of moving packet from any node to destination Choosing most useful participants Avoid simultaneous transmission to minimize collisions. Agreement using Gossip and Batch N7 F N8 F F N1 N2 N5 S F Batch N4 D N3 1st round 2nd round 3rd round N6 F A complete schedule, undelivered packet are retried in subsequent one A subset within a transmission batch is called Fragment (F) After each batch destination sends packet just containing batch map Okay, where is the agreement ? Gossip – Protocol – Very similar to P2P Only one kind of packet/message. Batch Map (Summary) - Map of each packet against the received highest priority node. Forwarder List – A list of nodes ordered in priority i.e. proximity towards the destination. Knowledge is shared by means of Gossip. Each data packet contains summary. Summary is updated, retrofitted and transmitted by each node. Cost Metric and Selection of Participants ETX (Expected Transmission Count) metric based on Forward Delivery Probability Periodically link state flooding Path is weighted shortest path (Dijkstra) The source runs ExOR simulation and selects only the nodes which transmit at least 10% of total transmissions in a batch. Need to know about entire Mesh before hand? Is that okay? Forwarding Timer and Transmission Tracker N7 F N8 F F N1 N2 N5 S F Batch N4 D N3 1st round 2nd round 3rd round N6 F Header contains information to predict source transmission rate Transmission schedule allows high priority node to send first Uses EMWA to set Forwarding Timer Batch? What’s going on with TCP Window? 25 Highest Throughput Pairs ACK might get dropped even for single hop. 25 Lowest Throughput Pairs Asymmetric long links affect ACK handling Transmission Range ExOR requires less packet transmissions to travel far. Going Forward Leverage 802.11 bit rate for throughput improvement. Cooperation between simultaneous flows. Transport level protocol development ? Security ? More organic improvements based on cooperative diversity theory ?