1 / 34

Opportunistic Routing in Multi-hop Wireless Networks*

Opportunistic Routing in Multi-hop Wireless Networks*. A. Zubow. Sanjit Biswas and Robert Morris, SIGCOMM 2005, pdos.csail.mit.edu/papers/roofnet:exor-sigcomm05/roofnet_exor-sigcomm05.pdf. Traditional wireless routing. Abstraction wireless radio looks like a link

bagosto
Download Presentation

Opportunistic Routing in Multi-hop Wireless Networks*

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Opportunistic Routing in Multi-hop Wireless Networks* A. Zubow Sanjit Biswas and Robert Morris, SIGCOMM 2005, pdos.csail.mit.edu/papers/roofnet:exor-sigcomm05/roofnet_exor-sigcomm05.pdf

  2. Traditional wireless routing • Abstraction • wireless radio looks like a link • wireless network looks like a graph • Routing protocol computes shortest paths on graph • Routing protocols: AODV, DSR, TORA, DSDV, OLSR • Link metrics: hop count, ETX, ETT, WCETT packet packet A B src dst packet C 2

  3. 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 3

  4. Basic Idea • In wireless networks, • use of channel diversity => better performance • e.g., time diversity, spatial diversity, frequency diversity • Probabilistic reception of a single broadcast at different receivers provides such a form of diversity. 4

  5. Key idea • Delayed binding of next hop • Node broadcasts packet • No next hop specified • Due to probabilistic reception, different receiver nodes may/may not receive packet • Receiver “closest” to destination becomes the next hop, i.e., it will forward the packet towards destination. 5

  6. Key idea packet packet packet packet A B src dst packet packet packet packet packet C 6

  7. Why this might work … • Assumes probability falls off gradually with distance • Best traditional route over 50% hops: 3(1/0.5) = 6 tx • Throughput 1/# transmissions • ExOR exploits lucky long receptions: 4 transmissions src N1 N2 N3 N4 N5 dst 75% 50% 25% 7

  8. Why this might work … N1 • Assume independent losses • Traditional routing: 1/0.25 + 1 = 5 tx • ExOR: 1/(1 – (1 – 0.25)4) + 1 = 2.5 transmissions 25% 100% N2 25% 100% src dst 100% 25% N3 100% 25% N4 8

  9. Challenges in protocol design • Agreement protocol: nodes must agree on the subset of them that received the packet • Scheduling protocol: to minimize collisions between different nodes by avoiding simultaneous transmission • Efficiency in forwarding: node “closest” to destination that receives packet should become forwarder • Only nodes that are really useful should participate 9

  10. rx: 40 rx: 0 rx: 85 rx: 57 rx: 22 rx: 0 rx: 88 rx: 99 rx: 53 rx: 23 ExOR batching • 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:12 tx:100 tx: 34 src dst N1 N3 tx: 31 tx:23 10

  11. Protocol Design: Outline • Source sends packets in batches • Source includes a priority list of forwarders, ordered by “distance” to destination in every packet header. • Scheduling: Lower priority nodes wait for higher priority nodes before transmitting. • A “batch map” is used for agreement: indicates the highest priority node that has received each packet • included in the packet header • updated from higher priority nodes back towards lower priority nodes • provides an acknowledgement 11

  12. Protocol Design • Layer 2.5 solution • Batching: BatchSz BatchIDPktNum • Scheduling: FragNum FragSz • Agreement: Batch Map 12

  13. Priority ordering of forwarders • Goal: nodes “closest” to the destination send first • Sort by (modified) ETX metric to dst • Nodes periodically flood ETX “link state” measurements • Path ETX is weighted shortest path (Dijkstra’s algorithm) • Source sorts and includes list in ExOR header N2 N4 src dst N1 N3 13

  14. Digression: ETX primer • Measurement of link ETX metric: • Measure forward probability of loss pf using periodic HELLO packets • Then, ETX = 1/pf • If the link is i.i.d Bernoulli with loss probability pf, then ETX = expected number of retransmissions for success. • Path ETX = sum of link ETX along path • Can be computed using Djikstra or Bellman Ford 14

  15. Digression: ETX primer 15

  16. Batch-map: Reliable summaries tx: {2, 4, 10 ... 97, 98} summary:{1,2,6, ... 97, 98, 99} • Repeat summaries in every data packet in a batch map • Cumulative: what all previous nodes rx’d • This is a gossip mechanism for summaries • Propagate batch map back from destination to sender N2 N4 src dst N1 N3 tx: {1, 6, 7 ... 91, 96, 99} summary:{1, 6, 7 ... 91, 96, 99} 16

  17. Scheduling • Goal: only one node sends at a time • Src sends entire batch • Dst sends 10 empty packets with batch maps • Then highest priority node starts transmitting whatever it has received • Other nodes: on receiving pkt, update batch map and • estimate sending rate of current sender • use FragSz and FragNum to estimate sender’s time to completion • Assume (in absence of information) that each higher priority node transmits at least 5 packets • Schedule repeats after lowest priority node transmits. 17

  18. Scheduling 18

  19. Some more protocol details … • Towards the end of a batch, • overhead of scheduling and agreement spread out over fewer packets • Send last 10% of packets of a batch using traditional routing • Too many forwarders = high overhead • Source runs a ExOR simulation at the beginning and only chooses those nodes which transmitted over 10% of packets 19

  20. 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 20

  21. Evaluation Details 1 kilometer 21

  22. Evaluation Details • 65 Node pairs • 1.0MByte file transfer • 1 Mbps 802.11 bit rate • 1 KByte packets • Link loss measurements used to compute ETX metric offline • Click router user-space implementation • Directly tx and rx raw Ethernet frames: libpcap like interface • IEEE 802.11b, Intersil Prism 2.5 chipset, 200mW transmit power, pseudo-IBSS 22

  23. 25 Highest throughput pairs 3 Traditional Hops 2.3x Moreopportunities for making progress 2 Traditional Hops 1.7x 1 Traditional Hop 1.14x Batch maps ACKs are more robust and efficient 1000 ExOR TraditionalRouting 800 600 Throughput (Kbits/sec) 400 200 0 Node Pair 23

  24. 25 Lowest throughput pairs 1000 ExOR 4 Traditional Hops 3.3x TraditionalRouting 800 600 Throughput (Kbits/sec) 400 200 0 Node Pair Longer Routes ExOR can use longer asymmetric links 24

  25. Throughput improves by 200%!! 25

  26. Packets that fall short help! 26

  27. Packets that travel further help! 27

  28. 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) 28

  29. Discussion • Late binding of next hop is similar to selection diversity • RTS to multiple potential receivers • Decide “best one” after receiving CTS • Another example of diversity use is “opportunistic scheduling” • Different users have different channels • Send to the user with the best channel • Cellular downlink scheduling, OAR 29

  30. Discussion • Implicit design assumptions: • Carrier sense is good enough • RTS/CTS handshake does not buy us much more • Spatial reuse gain is negligible • scheduling protocol ensures only one node to transmit at a time • All of these assumptions are satisfied when • mesh networks are small and don’t have too many high hop-count paths 30

  31. Discussion • Scheduling in ExOR ensures that • higher priority nodes transmit earlier than lower priority nodes • prevents collisions between transmissions of the same flow • No inter-flow collision avoidance is done • I don’t think there are easy ways to handle the scheduling problem in this case 31

  32. Discussion • Scheduling may lead to • collisions • priority inversion 32

  33. Discussion • For long routes, unicast comparison is unfair • hop by hop unicast transmissions does not do any spatial reuse • In IEEE 802.11 settings, there will be some throughput boost due to spatial reuse • No multiple flow evaluations are carried out. 33

  34. Conclusion • ExOR uses a form of selection diversity to bind the next hop only after receiving the current packet • Radio is not a wire: treat it as a broadcast medium instead • ExOR gives 2x throughput improvement • ExOR implemented on Roofnet 34

More Related