Title: Network Routing: Link Metrics and NonTraditional Routing
1Network Routing Link Metrics and
Non-Traditional Routing
- Y. Richard Yang
- 2/26/2009
2Admin.
- Homework 3
- Project proposal
- March 6 by email to yry_at_cs.yale.edu and
richard.alimi_at_yale.edu
3Recap Routing Protocols
- Proactive protocols
- distance vector
- e.g., DSDV
- link state
- link reversal
- e.g., partial link reversal, TORA
- Reactive (on-demand) protocols
- DSR
- AODV
4Recap ETX
- ETX The predicted number of data transmissions
required to successfully transmit a packet over a
link - Link loss rate p
- Expected number of transmissions
5ETX Performance
DSDV
DSR
6Problems of ETX
- ETX does not handle multirate 802.11 networks
- ETX does not work out well when nodes have
multiple radios that can operate at different
channels
7Extending ETX Multirate
- In a multirate environment, need to consider link
bandwidth - packet size S, Link bandwidth B
- each transmission lasts for S/B
Routing in Multi-radio, Multi-hop Wireless Mesh
Network, Richard Draves, Jitendra Padhye, and
Brian Zill. Mobicom 2004.
8Extending ETX Multirate
- Add ETTs of all links on the path
- Use the sum as path metric
- Interpretation pick a path with the lowest total
network occupation time - Q under what condition is SETT the network
occupation time?
9Problem of SETT
- In networks with multiple channels/radios, SETT
does not consider channel reuse
2.66 ms
3 Mbps
2.66 ms
6 Mbps
10Observation
- Interference reduces throughput
- throughput of a path is lower if many links are
on the same channel - path metric should be worse for non-diverse paths
11Extending SETT for Multiple Channels
- Group links on a path according to channel
- assumes links on the same channel interfere with
one another - pessimistic for long paths
- Add ETTs of links in each group
- Find the group with largest sum (BG-ETT)
- this is the bottleneck group
- too many links, or links with high ETT (poor
quality links) - Use this largest sum as the path metric
- Lower value implies better path
12BG-ETT Example
0
5.33 ms
5.33 ms
1.5 Mbps
1.33 ms
4 ms
4 ms
2 Mbps
2.66 ms
2.66 ms
2.66 ms
3 Mbps
13BG-ETT May Select Long Paths
14Path Metric Putting it all together
- SETT favors short paths
- BG-ETT favors channel diverse paths
- ß is a tunable parameter
- Higher value more preference to channel
diversity - Lower value more preference to shorter paths
15Implementation and such
- Implemented in a source-routed, link-state
protocol, Multi-Radio Link Quality Source Routing
(MR-LQSR) - Nodes discover links to its neighbors, measure
quality of those links - link information floods through the network
- each node has full knowledge of the topology
- sender selects best path
- packets are source routed using this path
- Measure loss rate and bandwidth
- loss rate measured using broadcast probes similar
to ETX - updated every second
- bandwidth estimated using periodic packet-pairs
- updated every 5 minutes
16Evaluations
17Median Throughput (Baseline, single radio)
18Median Throughput (Baseline, two radios)
19Impact of ß value
20Summary
- Link metrics are still an active research area,
in particular, due to interactions with (channel,
spatial) diversity
21Summary Traditional Routing
- So far, all routing protocols in the framework of
traditional wireline routing - a graph representation of underlying network
- point-to-point graph, edges with costs
- select a lowest-cost route for a src-dest pair
- commit to a specific route before forwarding
- each node forwards a received packet as it is to
next hop - Problems dont fully exploit path (spatial)
diversity and wireless broadcast opportunities
22Motivating Scenario I
23Motivating Scenario II
Motivating question can we take advantage of
transmissions that reach unexpectedly far or
unexpectedly short?
- Traditional routing picks a single route, e.g.,
src -gt B -gt D -gt dst - Packets received off path are useless
24Motivating Scenario III
- Src A sends 1 packet to dst B src B sends packet
3 to dst A - The network needs to transmit 4 packets
- Motivating question can we do better?
A
B
R
25Motivating Scenario III
- If R has both packets 1 and 3, it can combine
them and explore coding and broadcast nature of
wireless
26Outline
- Admin.
- Link metrics
- Non-traditional routing
- motivation
- network coding exploiting network broadcast
27Network Coding
- We have covered source coding (FEC, compression)
- The new approach uses opportunistic network
coding - goal increase the amount of information that is
transported
28Opportunistic Coding Basic Idea
- Each node looks at the packets available in its
buffer, and those its neighbors buffers - It selects a set of packets, computes the XOR of
the selected packets, and broadcasts the XOR
29Opportunistic Coding
30Outline
- Admin.
- Link metrics
- Non-traditional routing
- motivation
- network coding exploiting network broadcast
- opportunistic routing
31Key Issue in Opportunistic Routing
Key Issue opportunistic forwarding may lead to
duplicates.
32Extreme Opportunistic Routing (ExOR)
- Basic idea avoid duplicates by scheduling
- Instead of choosing a fix sequential path (e.g.,
src-gtB-gtD-gtdst), the source chooses a list of
forwarders (a forwarder list in the packets)
using ETX-like metric - a background process collects ETX information via
periodic link-state flooding - Forwarders are prioritized by ETX-like metric to
the destination
33ExOR Forwarding
- Group packets into batches
- The highest priority forwarder transmits when the
batch ends - The remaining forwarders transmit in prioritized
order - each forwarder forwards packets it receives yet
not received by higher priority forwarders - status collected by batch map
34Batch Map
- Batch map indicates, for each packet in a batch,
the highest-priority node known to have received
a copy of that packet
35ExOR Example
N2
N0
N3
N1
36ExOR Stopping Rule
- A nodes stops sending the remaining packets in
the batch if its batch map indicates over 90 of
this batch has been received by higher priority
nodes - the remaining packets transferred with
traditional routing
37Evaluations
- 65 Node pairs
- 1.0MByte file transfer
- 1 Mbit/s 802.11 bit rate
- 1 KByte packets
- EXOR bacth size 100
38Evaluation 2x Overall Improvement
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)
- Median throughputs 240 Kbits/sec for ExOR,
- 121 Kbits/sec for Traditional
39OR uses links in parallel
- ExOR
- 7 forwarders
- 18 links
- Traditional Routing
- 3 forwarders
- 4 links
40OR moves packets farther
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)
- ExOR average 422 meters/transmission
- Traditional Routing average 205 meters/tx
41Comments ExOR
- Pros
- takes advantage of link diversity (the
probabilistic reception) to increase the
throughput - does not require changes in the MAC layer
- can cope well with unreliable wireless medium
- Cons
- scheduling is hard to scale in large networks
- overhead in packet header (batch info)
- batches increase delay
42Outline
- Admin.
- Link metrics
- Non-traditional routing
- motivation
- network coding exploiting network broadcast
- opportunistic routing
- ExOR
- MORE
43MORE MAC-independentOpportunistic Routing
Encoding
- Basic idea
- Replace node coordination with network coding
- Trading structured scheduler for random packets
combination - Previous network coding technique is for
inter-flow - MORE is for intra-flow network coding
44Basic Idea Source
- Chooses a list of forwarders (e.g., using ETX)
- Breaks up file into K packets (p1, p2, , pK)
- Generate random packets
- MORE header includes the code vector cj1, cj2,
cjK for coded packet pj
45Basic Idea Source
46Basic Idea Forwarder
- Check if in the list of forwarders
- Check if linearly independent of new packet with
existing packet - Re-coding and forward
47Basic Idea Destination
- Decode
- Send ACK back to src if success
48Key Practical Question How many packets does a
forwarder send?
- Compute zi the expected number of times that
forwarder i should forward each packet
49Computes zs
?ij loss probability of the link between i and j
Compute zs so that at least one forwarder that is
closer to destination is expected to have
received the packet
50Compute zj for forwarder j
- Only need to forward packets that are
- received by j
- sent by forwarders who are further from
destination - not received by any forwarder who is closer to
destination
51Compute zj for forwarder j
- To guarantee at least one forwarder closer to d
receives the packet
52Evaluations
- 20 nodes distributed in a indoor building
- Path between nodes are 1 5 hops in length
- Loss rate is 0 60 average 27
53Throughput
54Problem of MORE?
55Mesh Networks API So Far
56Motivation
10-3 BER
0
D
S
0
10-3 BER
? Packet loss of 99
570 bytes 1 bit in 1000 incorrect
57Implication
99 (10-3 BER)
Loss
0
D
S
Loss
0
99 (10-3 BER)
Opportunistic Routing ? 50 transmissions
58Outline
- Admin.
- Link metrics
- Non-traditional routing
- motivation
- network coding exploiting network broadcast
- opportunistic routing
- ExOR
- MORE
- MIXIT
59New API
60What Should Each Router Forward?
D
S
P1
P2
P1
P2
P1
P2
61What Should Each Router Forward?
D
S
P1
P2
P1
P2
P1
P2
- Forward everything ? Inefficient
- Coordinate ? Unscalable
62Symbol Level Network Coding
D
S
P1
P2
P1
P2
P1
P2
Forward random combinations of correct symbols
63Symbol Level Network Coding
Routers create random combinations of correct
symbols
64Symbol Level Network Coding
Solve 2 equations
Destination decodes by solving linear equations
65Symbol Level Network Coding
Routers create random combinations of correct
symbols
66Symbol Level Network Coding
Solve 2 equations
Destination decodes by solving linear equations
67Destination needs to know which combinations it
received
Use run length encoding
Coded Packet
Original Packets
68Destination needs to know which combinations it
received
Use run length encoding
Coded Packet
Original Packets
69Destination needs to know which combinations it
received
Use run length encoding
Coded Packet
Original Packets
70Destination needs to know which combinations it
received
Use run length encoding
Coded Packet
Original Packets
71Destination needs to know which combinations it
received
Use run length encoding
72Symbol-level Network Coding
Forward random combinations of correct symbols
Coded Packet
Original Packets
73Symbol-level Network Coding
Forward random combinations of correct symbols
Coded Packet
Original Packets
74Symbol-level Network Coding
Forward random combinations of correct symbols
Coded Packet
Original Packets
75Symbol-level Network Coding
Forward random combinations of correct symbols
Coded Packet
Original Packets
76Evaluation
- Implementation on GNURadio SDR and USRP
- Zigbee (IEEE 802.15.4) link layer
- 25 node indoor testbed, random flows
- Compared to
- Shortest path routing based on ETX
- MORE Packet-level opportunistic routing
77Throughput Comparison
CDF
2.1x
MIXIT
3x
MORE
Shortest Path
Throughput (Kbps)
78Backup Slides
79Motivation for a Better Metric
80Implementation and such
- Modify DSDV or DSR
- Example evaluation
- in DSDV w/ ETX, route table is a snapshot taken
at end of 90 second warm-up period - in DSR w/ ETX, source waits additional 15 sec
before initiating the route request
81Where do the gains come from?
CDF
MIXIT without concurrency
1.5x
MORE
Shortest Path
Throughput (Kbps)
Take concurrency away from MIXIT
82Where do the gains come from?
CDF
MIXIT
MORE
Shortest Path
Throughput (Kbps)
Take concurrency away from MIXIT