Title: Network Routing: Metrics and NonTraditional Routing
1Network Routing Metrics and Non-Traditional
Routing
- Y. Richard Yang
- 2/26/2009
2Admin.
- Project propose due
- Friday
3Recap Key Problems
- Forwarding and location management
- Routing
- due to node mobility/wireless connectivity, link
connectivity/quality can be highly dynamic - need to design routing protocols that are
effective in handling dynamic topologies - there can be interference among links and paths
- need good link performance metrics or scheduling
4Recap Routing Protocols
- Proactive protocols
- distance vector
- e.g., DSDV
- link state
- link reversal
- e.g., partial link reversal, TORA
- Reactive protocols
- DSR
- AODV
5Recap 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
- Problems of using ETX in 802.11 networks?
6Problems of ETX
- ETX does not handle multirate 802.11 networks
- ETX does not work out well when nodes have
multiple radios working on 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 total network
occupation time?
9Extending ETX Channel Diversity with Multiradio
10Impact of Interference
- 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
11Combining Link Metric into Path Metric Proposal 2
- 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
- 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
- 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
16Evaluations
17Media Throughput (Baseline, single radio)
18Media Throughput (Baseline, two radios)
19Impact of ß value
Channel diversity is important especially for
shorter paths
20Summary
- Link metrics are still an active research area
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
- Problems dont fully exploit path (spatial)
diversity and wireless broadcast opportunities
22Outline
- Admin.
- Link metrics
- Non-traditional routing
23Motivating Scenario I
- Assumes independent loss
- Tradition routing has to follow one pre-committed
route - Does not allow exploration of opportunities
24Motivating Scenario II
- Traditional routing picks a single route, e.g.,
src -gt B -gt D -gt dst - packets received off path are useless
- However, one should take advantage of
transmissions that reach unexpectedly far or
unexpectedly short
25Motivating Scenario III
- A sends 1 packet to B B sends packet 3 to A
- 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
27Coding
- 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
29Outline
- Admin.
- Link metrics
- Non-traditional routing
- motivation
- network coding exploiting network broadcast
- opportunistic routing ExOR
30Opportunistic Routing (ExOR)
- Group packets into batches
- 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
31ExOR Forwarding
- 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
- 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
32Batch Map Example
- Batch map indicates, for each packet in a batch,
the highest-priority node known to have received
a copy of that packet
33Example Timeline
Forwarder list N24(dst), N20, N18, N11, N8, N17,
N13, N5(src)
34Evaluations
- 65 Node pairs
- 1.0MByte file transfer
- 1 Mbit/s 802.11 bit rate
- 1 KByte packets
- EXOR bacth size 100
35Evaluation 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
3625 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
37ExOR uses links in parallel
- ExOR
- 7 forwarders
- 18 links
- Traditional Routing
- 3 forwarders
- 4 links
38ExOR 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
39Comments
- 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 and
mobility - Cons
- maybe hard to scale to a large network
- overhead in packet header (batch info)
- batches increase delay
40Outline
- Admin.
- Link metrics
- Non-traditional routing
- motivation
- network coding exploiting network broadcast
- opportunistic routing ExOR
- opportunistic routing MIXIT
41Mesh Networks Borrowed the Internet API
42Wireless Naturally Provides Reliability Across
Links
99 (10-3 BER)
0
D
S
0
99 (10-3 BER)
Even 1 bit in 1000 incorrect ? Packet loss of 99
43Implication
99 (10-3 BER)
Loss
0
D
S
Loss
0
99 (10-3 BER)
Link by link reliability ? 50 transmissions
44Wireless Naturally Provides Reliability Across
Links
99 (10-3 BER)
0
D
S
0
99 (10-3 BER)
Spatial diversity Even if no correct packets,
every bit is likely received correctly at some
node
Current contract ? 50 tx ? Low throughput
Exploit wireless characteristics ?3 tx ? High
throughput
Exploit wireless characteristics ?3
transmissions
45Useful with High Quality Links?
R1
1
0
Loss
Sa
Da
0
Pa
2
R2
Loss
R3
1
Loss
0
Db
Sb
0
R4
3
Pb
Loss
46Useful with High Quality Links?
R1
1
0
Sa
Da
0
Pa
2
R2
R3
1
0
Current contract ? Inhibits concurrency Exploit
wireless characteristics ? Enables high
concurrency
Db
Sb
0
R4
3
Pb
47Current Contract
- Limits throughput, inhibits concurrency
New Contract Exploiting Wireless Characteristics
- High throughput, high concurrency
48MIXIT
- New contract between layers to harness wireless
characteristics - Novel symbol-level network code that scalably
routes correct symbols - High concurrency MAC
- Implementation and evaluation
- 3-4x gain over shortest path routing
- 2-3x gain over packet-level opp. routing
49How does a Router Identify Correct Symbols?
- PHY already estimates a confidence for every
decoded symbol JB07 - PHY LL delivers high confidence symbols to
network layer
PHY Confidence
Packet
50What Should Each Router Forward?
D
S
P1
P2
P1
P2
P1
P2
51What Should Each Router Forward?
D
S
P1
P2
P1
P2
P1
P2
- But overlap in correctly received symbols
- Potential solutions
- Forward everything ? Inefficient
- Coordinate ? Unscalable
52MIXIT Prevents Duplicates using Symbol Level
Network Coding
D
S
P1
P2
P1
P2
P1
P2
Forward random combinations of correct symbols
53MIXIT Prevents Duplicates using Symbol Level
Network Coding
Routers create random combinations of correct
symbols
54MIXIT Prevents Duplicates using Symbol Level
Network Coding
Solve 2 equations
Randomness prevents duplicates without
co-ordination
Destination decodes by solving linear equations
55MIXIT Prevents Duplicates using Symbol Level
Network Coding
Routers create random combinations of correct
symbols
56MIXIT Prevents Duplicates using Symbol Level
Network Coding
Solve 2 equations
- Symbol Level Network Coding
- No duplicates ? Efficient
- No coordination ? Scalable
Destination decodes by solving linear equations
57Destination needs to know which combinations it
received
(if both symbols were correct)
(if only s1 was correct)
(if only s2 was correct)
Nothing
(if neither symbol was correct)
58Destination needs to know which combinations it
received
Use run length encoding
Coded Packet
Original Packets
59Destination needs to know which combinations it
received
Use run length encoding
Coded Packet
Original Packets
60Destination needs to know which combinations it
received
Use run length encoding
Coded Packet
Original Packets
61Destination needs to know which combinations it
received
Use run length encoding
Coded Packet
Original Packets
62Destination needs to know which combinations it
received
Use run length encoding
Run length encoding efficiently expresses
combinations
63Symbol-level Network Coding
Forward random combinations of correct symbols
Coded Packet
Original Packets
64Symbol-level Network Coding
Forward random combinations of correct symbols
Coded Packet
Original Packets
65Symbol-level Network Coding
Forward random combinations of correct symbols
Coded Packet
Original Packets
66Symbol-level Network Coding
Forward random combinations of correct symbols
Coded Packet
Original Packets
67Symbol-level Network Coding
Forward random combinations of correct symbols
Use run length encoding to efficiently expresses
combinations in header
68MIXIT Efficient and Scalable Symbol-level
Opportunistic Routing
Solve 2 equations
Original Symbols
- Symbol Level Network Coding
- No duplicates ? Efficient
- No coordination ? Scalable
Destination decodes by solving linear equations
69Routers May Forward Erroneous Bits Despite High
Confidence
MIXIT has E2E error correction capability!
Decode ECC
Symbol-Level Network Coding
ECC
Data
Data
Source
Destination
- MIXITs Error Correcting Code (ECC)
- Routers are oblivious to ECC
- Optimal error correction capability
- Rateless
70High Concurrency MAC
w x ? NO! w u? YES!
u
w
x
- Each node maintains a map of conflicting
transmissions - Map is based on empirical measurements and built
in distributed, online manner
71Evaluation
- 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
72Throughput Comparison
CDF
2.1x
MIXIT
3x
MORE
Shortest Path
Throughput (Kbps)
Throughput increase 3x over SPR, 2x over MORE
73Where do the gains come from?
CDF
MIXIT
MORE
Shortest Path
Throughput (Kbps)
Take concurrency away from MIXIT
74Where do the gains come from?
CDF
MIXIT without concurrency
1.5x
MORE
Shortest Path
Throughput (Kbps)
Without concurrency, 1.5x gain over MORE
Take concurrency away from MIXIT
75Where do the gains come from?
MIXIT
CDF
MIXIT without concurrency
MORE
Shortest Path
Gains come from both moving to the symbol level
and high concurrency
Throughput (Kbps)
76Where do the gains come from?Higher Concurrency?
CDF
1.4x
Throughput (Kbps)
MORE, enhanced with higher concurrency is only
1.4x better
77Where do the gains come from?
CDF
1.5x
2.1x
Higher concurrency MAC fully exploits
symbol-level diversity
Throughput (Kbps)
78Multiple Flows
MORE/SPR Higher congestion ? Lower
concurrency MIXIT Higher congestion ? High
concurrency
79(No Transcript)
80Geographical Routing
81Motivations
- A need for geographical based distribution
- e.g., sensornets and location-based services
- Reducing state overhead
- the routing protocols we discussed so far may not
scale to large-scale networks - maintain (end-to-end) routing states for each
destination - thus overhead proportional to network size
82GeoRouting Greedy Distance
S
D
- Find neighbors who are the closest to destination
D - To make progress, the chosen neighbor should be
closer to destination
83Geographical Routing
- Each node only needs to keep state for its
neighbors - Beaconing mechanism
- each node broadcasts its MAC and position
- to minimize costs piggybacking
84Greedy Routing Not Always Works
D
85Greedy Routing Works Well in Dense Networks
D
- If node density is high, it is a low probability
event for the region to have no nodes
86Dealing with Void Right-Hand Rule
Right-hand rule When arriving at node x from
node y, the next edge traversed is the next one
sequentially counterclockwise about x from edge
(x,y)
87Right Hand Rule on Convex Subdivision
Applying the right hand rule to convex
subdivision (namely a planar graph where every
internal face is a polytope) first remove the
edges crossing the line from source to
destination, and then apply the right hand rule
If not convex subdivision, removing crossing
edges may not work
88Right-Hand Rule Does Not Work Well with Cross
Edges
z
v
D
u
- x originates a packet to u
- Right-hand rule results in the long detour
x-u-z-w-u-x
w
x
89Removing Cross Edges
z
v
D
u
w
- Remove (w,z) from the graph
- Right-hand rule results in the route x-u-z-v-D
x
90How to Make a Graph Planar?
- Convert a connectivity graph to planar
non-crossing graph by removing bad edges - make sure the original graph will not be
disconnected - two types of planar graphs
- Relative Neighborhood Graph (RNG)
- Gabriel Graph (GG)
91Relative Neighborhood Graph
- Edge uv can exist only if there does not exist
another node w inside the intersection of the
two circles centered at u and v with radius d(u,
v) - i.e., no w such that d(w, u) lt d(u, v) and d(w,
v) lt d(u, v) - Or equivalently ?w ? u, v d(u,v)
maxd(u,w),d(v,w)
not empty ? remove uv
92Gabriel Graph
- An edge (u,v) exists between vertices u and v if
no other vertex w is present within or on the
circle whose diameter is uv. - ?w ? u, v d2(u,v) lt d2(u,w) d2(v,w)
Not empty ? remove uv
93Examples
Full graph
GG subset
RNG subset
- 200 nodes
- randomly placed on a 2000 x 2000 meter region
- radio range of 250 m
- Bonus remove redundant, competing path ? less
collision
94Properties of GG and RNG
RNG
- RNG is a sub-graph of GG
- because RNG removes more edges
- GG is a planar graph
- and thus RNG is also planar
- Connectivity
- if the original graph isconnected, RNG is also
connected
GG
95Connectedness of RNG Graph
- Key observation
- any edge on the minimumspanning tree of the
originalgraph is not removed - Assume (u,v) is such an edge but removed in RNG
due to w
u
v
96Delaunay Triangulation
- Let disk(u,v,w) be a disk defined by the three
points u,v,w - The Delaunay Triangulation (Graph)
- There is a triangle of edges between three nodes
u,v,w iff the disk(u,v,w) contains no other
points - Properties of the Delaunay Triangulation graph
- it is the dual of the Voronoi diagram
- DT graph is planar
97Some Interesting Properties
- Since the MST(V) is connected and the DT(V) is
planar, all the planar graphs above are connected
and planar
98Final Algorithm Greedy Perimeter Stateless
Routing (GPSR)
- Maintenance
- all nodes maintain a single-hop neighbor table
- Use RNG or GG to make the graph planar
- Routing
- use greedy forwarding whenever possible
- resort to perimeter routing when greedy
forwarding fails and record current location Lc - resume greedy forwarding when we are closer to
destination than Lc
99Example
d
d
D
D
e
e
c
c
a
a
f
S
S
b
For details about GPSR algorithm, please GPSR.
100Evaluations
- 50, 112, and 200 nodes with 802.11 WaveLAN radios
- Maximum velocity of 20 m/s
- 30 CBR traffic flows, originated by 22 sending
nodes - Each CBR flows at 2 Kbps, and uses 64-byte
packets
101Packet Delivery Success Rate
Very dense network 20 neighbors
102Routing Protocol Overhead
103Routing State
- State per router for 200-node
- GPSR node stores state for 26 nodes on average in
pause time-0
104Path Length
105Worst Case of GeoRouting in Terms of Hop Count
- A worst case scenario
- destination is central node
- source is any node on ring
- any spine can go to middle
- O(c) nodes along ring and O(c) nodes along each
spine - Best path length O(c)O(c)
- Geographic routing
- Test O(c) spines of length O(c)
- Cost O(c2) instead of O(c)
106Geographic Routing
107Pros and Cons of GPSR
- Pros
- low routing state and control traffic
- scalable
- handles mobility well
- Cons
- planarized graph is hard to guarantee under
mobility - location might not be available everywhere (we
will see the problem next week) - geographic distance does not correlate well with
network proximity
108Why Geographic Routing Without Location?
- Location is hard to get
- GPS takes power, doesnt work indoors, difficult
to incorporate in small sensors - the network localization problem is difficult
- True location may not be useful if there are
obstacles
In the connectivity space, B is closer to
destination!!
109Overview
- Objective assign virtual coordinates to nodes
so that - the coordinates are computed efficiently,
- routing works well using the computed coordinates
- Progress in three steps
- the perimeter nodes and their locations are known
- the perimeter nodes are known but not their
coordinates are not known - nothing is known
- We cover the first two steps
110The Perimeter Nodes and Their Locations Are Known
- Image a rubber band from each node to each
(connected) neighbor - The force of a rubber band is proportional to
its length, directedto the neighbor
111The Perimeter Nodes and Their Locations Are Known
- The equilibrium is achievedwhen the position p
of a node is equal to the average of its
neighbors - where n is number of neighbors
- Algorithm
- each node sends its position to its neighbors
- a node updates its new position to be the average
of those of its neighbors
112Perimeter Nodes Are Known (True Positions)
3200 nodes 64 perimeter nodes on the boundary
113Perimeter Nodes Are Known (10 iterations)
Internal nodes initialized as the center of the
square
114Perimeter Nodes Are Known (100 iterations)
Internal nodes initialized as the center of the
square
115Perimeter Nodes Are Known (1000 iterations)
Internal nodes initialized as the center of the
square
116Routing Performance
- 32000 packets with random source-destination pairs
Success rate using (distance) greedy routing
117Two More Scenarios
Success rate 0.981 Avg. path length 17.3
Success rate 0.99 Avg. path length 17.1
118Weird Shapes
119The Perimeter Nodes Are Known But Their Locations
Are Not Known
- Assume the distance between two nodes is the
(minimum) number of hops to go from one to the
other - Distances can be derived by flooding the network
- each perimeter node sends a HELLO message with a
hop counter of 0 - when seeing a message from a perimeter node with
a lower hop counter, a node increases the counter
by 1 and forwards it
120Virtual Coordinates by Triangulation
- Each perimeter node solves the minimization
problem - Detail
121Convergence and Performance
One iteration success rate 0.992 avg. path
length 17.2 Ten iterations success rate
0.994 avg. path length 17.2
122Backup Slides
123Improving Resiliency
- If perimeter vector is inaccurate, it results in
inconsistent information - Augment with two beaconing nodes which provide
two coordinate axes - special perimeter nodes or run leader election to
select the two nodes - Origin is chosen as the center of gravity of all
perimeter nodes - more robust to lost information
124Selecting Perimeter Nodes
- Rule A node is a perimeter node if
- It is farthest away from the first beacon node
among all its one-hop neighbors
125Perimeter Node Detection
126Convergence and Performance
Ten iterations success rate 0.996 avg. path
length 17.3
127Projecting on Circle After First Computation
- Circle center is center of gravity radius is
average of distance of the perimeter nodes to the
CG - Motivation maintain a consistent coordinate
space
128Virtual Polar Coordinate Space
- Each node is assigned a label
- label is number of hops to root and virtual angle
range
Discussion how to do routing?
129Build the Tree
- Root node
- starts as root
- broadcasts level 0
- A non-root node
- receives message level n marks parent
- broadcasts message saying level n1
- All subtrees report size back to parent.
- Root does assignment of virtual angles.
Question what about the issues of the described
algorithm?
130Motivation for a Better Metric
131Implementation 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
132ETX Performance
DSDV
DSR