Title: CS 577 / EE 537 Advanced Computer Networks Fall 2006
1ExOR Opportunistic Multi-Hop Routing for
Wireless Networks
Sanjit Biswas and Robert Morris M.I.T. Computer
Science and Artificial Intelligence Laboratory
Sigcomm 2005, Philadelphia
Presented by Saurabh Gupta
2Content
- Background
- ExOR Overview
- ExOR Design
- ExOR Protocol
- Evaluation
- Summary
3Wired Networks differ from Wireless Networks
- Fixed nodes and fixed topology
- Fixed Links between nodes
- Independent Links between neighboring nodes
- No great variance in link quality
4Challenges for Wireless Routing
- Capability constraints
- Limited and varying range of transmission
- Low Bandwidth Link
- Common transmission medium shared by all nodes
- Transmit power limitation
- Mobility Dynamics
- Topology changes frequently
- Varying capacity
- Transmission loss
- Interference
- Fading
5Challenges for Wireless Routing (contd..)
- Power Conservation
- Asymmetry in forward and reverse links
- Ease of snooping
6ETX
- The predicted number of data transmissions
required to send a packet over a link - The ETX of a path is the sum of the ETX values of
the links over that path - Examples
- ETX of a 3-hop route with perfect links is 3
- ETX of a 1-hop route with 50 loss is 2
- Expected probability that a transmission is
successfully received and acknowledged is df x dr - df is forward delivery ratio
- dr is reverse delivery ratio
- Each attempt to transmit a packet is a Bernoulli
trial, so
7Traditional Routing
packet
packet
A
B
C
dst
src
packet
D
- Abstract radio to look like a wired link
- Identify a route
- Packets get forwarded on fixed path
- Retried on failures
- Looks like a circuit switched network
8Cooperative Diversity
A
B
dst
1
2
3
4
5
6
1
2
3
6
3
5
4
2
3
4
5
6
1
2
4
5
6
src
1
C
- Broadcast transmission over Wireless Links
involves probabilistic delivery - Sends information through multiple relays,
concurrently - Destination chooses best of many relayed signals,
or combine information from multiple signals - Requires radios capable of simultaneous,
synchronized repeating of signals or additional
radio channels for each relay
9- Background
- ExOR Overview
- ExOR Design
- ExOR Protocol
- Evaluation
- Summary
10ExOR (Extremely Opportunistic Routing)
- Integrated link/network-layer diversity routing
technique - Realizes some of the gains of cooperative
diversity on standard radio hardware, such as
802.11 - Uses broadcasts for large unicast transfers in
multi-hop wireless networks - Uses Delayed Forwarding
- does not make the forwarding decision until after
reception - only the best receiver of each packet forwards
it - avoids duplication
- Operates on batches of packets, to reduce
communication cost of agreement
11ExOR Basic Functionality
A
B
src
dst
packet
packet
packet
packet
packet
C
packet
packet
packet
packet
- Decide which nodes receive broadcasts
- Decide who forwards, after reception
- Node closest to the destination forwards
12ExOR Basic Functionality(contd)
packet
packet
packet
packet
A
B
src
dst
packet
packet
packet
packet
packet
C
13How ExOR might provide more throughput
N5
N1
N3
N7
N6
N2
N4
N8
S
D
Traditional Path
- Traditional routing must compromise between hops
to choose ones that are long enough to make good
progress but short enough for low loss rate - With ExOR each transmission may have more
independent chances of being received and
forwarded - It takes advantage of transmissions that reach
unexpectedly far, or fall unexpectedly short
14How ExOR might provide more throughput (contd..)
N1
25
100
N2
25
100
src
dst
100
25
N3
100
25
N4
- Traditional routing 1/0.25 1 5 transmissions
- ExOR 1/(1 (1 0.25)4) 1 2.5 transmissions
- Assumes independent losses
15- Background
- ExOR Overview
- ExOR Design
- ExOR Protocol
- Evaluation
- Summary
16ExOR Design Challenges
- Agreement amongst the nodes on which sub-set of
them received each packet - Algorithm to decide, from amongst the receiving
nodes, the node closest to the ultimate
destination that forwards the packet - requires a metric reflecting the likely cost of
moving a packet from any node to the destination - Algorithm to choose only the most useful nodes as
participants - Avoid simultaneous transmissions by different
nodes to minimize collisions
17Node States for each batch it participates in
- Packet Buffer
- stores successfully received packets, according
to the batch numbers - Local Forwarder List
- is the copy of prioritized list of nodes, copied
from one of the packets - for a given batch, all nodes use same forwarder
list as specified by the sender - Forwarding Timer
- time at which the node predicts that it should
forward packets - timer set far enough ahead to give higher
priority nodes enough time to send - adjusted when packets from other nodes heard
18Node States for each batch it participates in
(contd)
- Transmission Tracker
- records measured rate of current sending node and
expected number of packets left to send - used by node to adjust forwarding timer
- adapts to competing traffic
- Batch map
- indicates, for each packet in a batch, the
highest-priority node to have received a copy of
that packet
19ExOR Packet Format
- HdrLen PayloadLen indicate size of ExOR header
and payload respectively - PktNum is current packets offset in the batch,
corresponding to the current batch-map entry - FragSz is size of currently sending nodes
fragment (in packets) - FragNum is current packets offset within the
fragment - FwdListSise is is number of forwarders in list
- ForwarderNum is current senders offset within
the list - Forwarder List is copy of senders local
forwarder list - Batch Map is copy of sending nodes batch map,
where each entry is an index into Forwarder List
20- Background
- ExOR Overview
- ExOR Design
- ExOR Protocol
- Evaluation
- Summary
21ExOR Protocol
- How often should ExOR run?
- Per packet is expensive
- Use batches
- Who should participate in the forwarding?
- Too many participants cause large overhead
- When should each participant forward?
- Avoid simultaneous transmission
- What should each participant forward?
- Avoid duplicate transmission
- How and When does the process complete?
- Identify the convergence of the algorithm
22Who should participate?
- The source chooses the participants (forwarder
list) using ETX-like metric - Only considers forward delivery rate
- The source runs a simulation and selects only the
nodes which transmit at least 10 of the total
transmission in a batch - A background process collects ETX information via
periodic link-state flooding
23When should each participant forward?
- Forwarders are prioritized by ETX-like metric to
the destination - Receiving nodes buffer successfully received
packets till the end of the batch - The highest priority forwarder transmits from its
buffer when the batch ends - These transmissions are called the nodes
fragment of the batch - The remaining forwarders transmit in prioritized
order - Question How does each forwarder know it is its
turn to transmit - Assume other higher priority nodes send for five
packet durations if not hearing anything from them
24What should each participant forward?
- Packets it receives yet not received by higher
priority forwarders - Each packet includes a copy of the senders batch
map, containing the senders best guess of the
highest priority node to have received each
packet in the batch - Question How does a node know the set of packets
received by higher priority nodes? - Using batch map
25How and When does the process complete?
- If a nodes batch map indicates that over 90 of
the batch has been received by higher priority
nodes, the node sends nothing when its turn comes - When ultimate destinations turn comes to send,
it transmits 10 packets including only its batch
map and no data - Question How is the remaining 10 data
delivered? - Using traditional routing
26Gossip Mechanism for Reliable summaries
Forwarder list N3(dst), N2, N1, N0 (src)
2nd round Tx 3,6
Batch map 13032012
N2
Rx2,5,8
Tx 5,8
1st round Tx 1, 2, 3, 4, 5, 6, 7, 8
Batch map 03032002
N0
N3
N1
Rx 2,4
Batch map 03030000
Rx 1,2,7,8
Tx 1,7
Batch map 13032012
- Repeat summaries in every data packet
- Cumulative what all previous nodes rxd
27Transmission Timeline for an ExOR transfer
N24 not able to listen to N5.
N8 does not send
N17 might have missed some batch-maps
28- Background
- ExOR Overview
- ExOR Design
- ExOR Protocol
- Evaluation
- Summary
2965 Roofnet node pairs
1 kilometer
30Evaluation Details
- 65 Node pairs
- 1.0MByte file transfer
- 1 Mbit/s 802.11 bit rate
- 1 KByte packets
- Batch size 100 packets
- ExOR Header 44-114 bytes
Traditional Routing ExOR
802.11 unicast with link-level retransmissions Hop-by-hop batching UDP, sending as MAC allows 802.11 broadcasts 100 packet batch size
- Reported values are median of nine experimental
runs, to reduce effect from other user traffic
and other sources
31ExOR 2x Improvement in throughput
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)
Figure 8 The distribution of throughputs of ExOR
and traditional routing between the 65 node
pairs. The plots shows the median throughput
achieved for each pair over nine experimental
runs.
Median throughputs 240 Kbits/sec for ExOR,
121 Kbits/sec for Traditional
3225 Highest throughput pairs
1 Traditional Hop 1.14x
2 Traditional Hops 1.7x
3 Traditional Hops 2.3x
1000
ExOR
Traditional Routing
800
600
Throughput (Kbits/sec)
400
200
0
Node Pair
Figure 9 The 25 highest throughput pairs, sorted
by traditional routing throughput. The bars show
each pair's median throughput, and the error bars
show the lowest and highest of the nine
experiments.
- For single hop pairs ExOR provides the advantage
of lower probability of source resending packets,
as theres higher probability of source receiving
the destinations 10 batch-map packets
3325 Lowest throughput pairs
1000
ExOR
4 Traditional Hops 3.3x
Traditional Routing
800
600
Throughput (Kbits/sec)
400
200
0
Node Pair
Longer Routes
Figure 10 The 25 lowest throughput pairs. The
bars show each pair's median throughput, and the
error bars show the lowest and the highest of the
nine experiments. ExOR outperforms traditional
routing by a factor of two or more.
- As number of node pairs increases along a route,
the likelihood of increased choice of forwarding
nodes and multiple ways to gossip back
batch-maps, increases - With greater routing length ExOR is able to take
advantage of asymmetric links also
34Retransmissions affected by selection of hops
Figure 11 The number of transmissions made by
each node during a 1000-packet transfer from N5
to N24. The X axis indicates the sender's ETX
metric to N24. The Y axis indicates the number of
packet transmissions that node performs. Bars
higher than 1000 indicate nodes that had to
re-send packets due to losses.
35ExOR moves packets farther
Figure 12 Distance traveled towards N24 in ETX
space by each transmission. The X axis indicates
the dierence in ETX metric between the sending
and receiving nodes the receiver is the next hop
for traditional routing, and the highest-priority
receiving node for ExOR. The Y axis indicates the
number of transmissions that travel the
corresponding distance. Packets with zero
progress are not received by the next hop (for
traditional routing) or by any higher-priority
node (for ExOR).
36ExOR moves packets farther
0.6
ExOR
Traditional Routing
0.2
Fraction of Transmissions
0.1
0
0
100
200
300
400
500
600
700
800
900
1000
Distance (meters)
- Delivery Probability decreases with distance
- ExOR average 422 meters/transmission
- Traditional Routing average 205 meters/tx
37ExOR uses links in parallel
Traditional Routing 3 forwarders 4 links
ExOR 7 forwarders 18 links
38Batch Size
- ExOr header grows with the batch size
- Large batches work well for low-throughput pairs
due to redundant batch map transmissions - Small batches work well for high throughput pairs
due to lower header overhead
39- Background
- ExOR Overview
- ExOR Design
- ExOR Protocol
- Evaluation
- Summary
40Summary
- Integrated routing and MAC protocol for Multi-Hop
Wireless Networks - Uses Delayed forwarding mechanism, whereby the
forwarding decision is made only after reception
of packets - Takes advantage of the probabilistic nature of
wireless broadcast transmissions, and does not
hide it - ExOR does not require separate control signals
for agreement - Forwarding based on reception of the given data
packets and not on signal strength measurements
or previous control/data packets - Less dependent upon channel stability
- Gossip mechanism reduces the likelihood of
duplicate transmissions
41Summary (contd..)
- Fewer transmissions of each packet
- Utilizes long asymmetric links
- Increases total network capacity
- Increases individual connection throughput
(approx. 2x) - Requires link-state graphs
- Introduces overhead in form of batch info
- Difficult to scale over large, dense networks
42Acknowledgements
- Many sketches, animated-diagrams, as well as some
text have been sourced from the following
materials- - Course material on Net Centric Systems taught
at TECHNISCHE UNIVERSITÄT DARMSTADT - Presentation on A High Throughput Route-Metric
for Multi-Hop Wireless Routing by Eric Rozner of
University of Texas, Austin - Presentation on ExOR Opportunistic Multi-Hop
Routing for Wireless Networks, by Sanjit Biswas
and Robert Morris at Siggcomm - ExOR Opportunistic Multi-Hop Routing for
Wireless Networks - Sanjit Biswas and Robert
Morris - Presentation on ExOR Opportunistic Multi-Hop
Routing for Wireless Networks, by Avijit of
University of California, Santa Barbara - Presentation on ExOR Opportunistic Multi-Hop
Routing for Wireless Networks, by Yu Sun of
University of Texas, Austin - Presentation on ExOR Opportunistic Multi-Hop
Routing for Wireless Networks, by Gaurav Gupta,
University of Southern California - Presentation on ExOR Opportunistic Multi-Hop
Routing for Wireless Networks, by Ao-Jan Su,
Northwestern University
43Questions? Thank you!!