exor: opportunistic multi-hop routing for wireless networks sigcomm 2005 sanjit biswas and robert...
TRANSCRIPT
ExOR: Opportunistic Multi-Hop Routing for Wireless Networks
Sigcomm 2005
Sanjit Biswas and Robert MorrisMIT 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
packet
src
A B
dst
C
Motivation Radio is not wired
Every packet is broadcast Reception is probabilistic
123456123 63 51 42345612 456 src
A B
dst
C
Basic concept of ExOR exploiting probabilistic broadcast
Decide who forwards after reception Goal: only closest receiver should forward
packet
packetpacketpacketpacketpacket src
AB
dst
C
packetpacketpacket
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 dstN1 N2 N3 N4
75%50%
N5
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
src dst
N2
N3
N4
25%
25%
25%
25%
100%
100%
100%
100%
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?
1 kilometer
•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
Traditional Routing ExOR
802.11 unicast with link-level retransmissions
802.11 broadcasts100 packet batch size
Results (1) Median Throughput
240 Kbits/sec for ExOR 121 Kbits/sec for Traditional
Throughput (Kbits/sec)
1.0
0.8
0.6
0.4
0.2
00 200 400 600 800C
um
ula
tive F
ract
ion o
f N
ode P
air
s
ExORTraditional
Results (2) 25 Highest throughput pairs
Node Pair
Thro
ughput
(Kbit
s/se
c)
0
200
400
600
800
1000 ExORTraditional Routing
1 Traditional Hop
1.14x
2 Traditional Hops1.7x
3 Traditional Hops2.3x
Results (3) 25 Lowest throughput pairs
Node Pair
4 Traditional Hops3.3x
Longer Routes
Thro
ughput
(Kbit
s/se
c)
0
200
400
600
800
1000 ExORTraditional Routing
Results (4) ExOR moves packets farther
Fract
ion o
f Tra
nsm
issi
ons
0
0.1
0.2
0.6 ExORTraditional Routing
0 100 200 300 400 500 600 700 800 900 1000
Distance (meters)
25% of ExOR transmissions
58% of Traditional Routing transmissions
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
Thank you