340 likes | 361 Views
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
E N D
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 • 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
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
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
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
Key idea packet packet packet packet A B src dst packet packet packet packet packet C 6
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
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
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
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
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
Protocol Design • Layer 2.5 solution • Batching: BatchSz BatchIDPktNum • Scheduling: FragNum FragSz • Agreement: Batch Map 12
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
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
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
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
Scheduling 18
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
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
Evaluation Details 1 kilometer 21
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
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
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
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
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
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
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
Discussion • Scheduling may lead to • collisions • priority inversion 32
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
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