Date post: | 21-May-2015 |
Category: |
Documents |
Upload: | networkingcentral |
View: | 699 times |
Download: | 0 times |
Network Routing: Metrics and
Non-Traditional Routing
Y. Richard Yang
2/26/2009
2
Admin.
Project propose due: Friday
3
Recap: 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
4
Recap: Routing Protocols
Proactive protocols distance vector
• e.g., DSDV link state link reversal
• e.g., partial link reversal, TORA
Reactive protocols DSR AODV
A
ED
CB
F
2
2
13
1
1
2
53
5
5
Recap: 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?
Problems 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
6
7
Extending 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.
8
Extending 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?
9
Extending ETX: Channel Diversity with Multiradio
10
Impact 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
11
Combining 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
12
BG-ETT Example
Path Blue Sum Red Sum
BG-ETT Throughput
All-red
1 Blue
Red-Blue
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
13
BG-ETT May Select Long Paths
14
Path 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
15
Implementation 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
16
Evaluations
17
Media Throughput (Baseline, single radio)
18
Media Throughput (Baseline, two radios)
19
Impact of β value
Channel diversity is important; especially for shorter paths
Summary
Link metrics are still an active research area
20
21
Summary: 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: don’t fully exploit path (spatial) diversity and wireless broadcast opportunities
Outline
Admin. Link metrics Non-traditional routing
22
23
Motivating Scenario: I
Assumes independent loss Tradition routing has to follow one pre-committed route Does not allow exploration of opportunities
24
Motivating Scenario: II
Traditional routing picks a single route, e.g., src -> B -> D -> dst packets received off path are useless
However, one should take advantage of transmissions that reach unexpectedly far or unexpectedly short
25
Motivating 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
A BR
Outline
Admin. Link metrics Non-traditional routing
motivation network coding: exploiting network
broadcast
26
27
Coding
We have covered source coding (FEC, compression)
The new approach uses opportunistic network coding
goal: increase the amount of information that is transported
28
Opportunistic Coding
Outline
Admin. Link metrics Non-traditional routing
motivation network coding: exploiting network
broadcast opportunistic routing: ExOR
29
30
Opportunistic Routing (ExOR)
Group packets into batches
Instead of choosing a fix sequential path (e.g., src->B->D->dst), 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
31
ExOR: 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
32
Batch Map: Example
Batch map indicates, for each packet in a batch, the highest-priority node known to have received a copy of that packet
33
Example: Timeline
Forwarder list: N24(dst), N20, N18, N11, N8, N17, N13, N5(src)
34
Evaluations
65 Node pairs 1.0MByte file
transfer 1 Mbit/s 802.11
bit rate 1 KByte packets EXOR bacth size
100
1 kilometer
35
Evaluation: 2x Overall Improvement
Median throughputs: 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
36
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
37
ExOR uses links in parallel
Traditional Routing3 forwarders
4 links
ExOR7 forwarders
18 links
38
ExOR moves packets farther
ExOR average: 422 meters/transmission Traditional Routing average: 205 meters/tx
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
39
Comments
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
Outline
Admin. Link metrics Non-traditional routing
motivation network coding: exploiting network
broadcast opportunistic routing: ExOR opportunistic routing: MIXIT
40
Mesh Networks Borrowed the Internet API
Network
Forward correct packets to destination
PHY/LL Deliver correct packets
S
R1
R2
D
99% (10-3
BER)
99% (10 -3 BER)
Wireless Naturally Provides Reliability Across Links
0%
0%
Even 1 bit in 1000 incorrect Packet loss of 99%
S
R1
R2
D
99% (10-3
BER)
99% (10 -3 BER)
Implication
0%
0%
Link by link reliability 50 transmissions
Loss
Loss
S
R1
R2
D
99% (10-3
BER)
99% (10 -3 BER)
Wireless Naturally Provides Reliability Across Links
0%
0%
Spatial diversity: Even if no correct packets, every bit is likely received correctly at some node
Exploit wireless characteristics 3 transmissions
Current contract 50 tx Low throughputExploit wireless characteristics 3 tx High throughput
Useful with High Quality Links?R1
R2
R3
R4
Sa
Pb
Db
Da
Sb
Pb
Pa
Pa
Pa
Pb
1%
2%
1%
3%
0%
0%
0%
0%
Loss
Loss
Loss
Loss
Useful with High Quality Links?R1
R2
R3
R4
Sa
Pb
Db
Da
Sb
Pb
Pa
Pa
Pa
Pb
1%
2%
1%
3%
0%
0%
0%
0%Current contract Inhibits concurrency
Exploit wireless characteristics Enables high concurrency
Current Contract
Limits throughput, inhibits concurrency
PHY + LL
Deliver correct symbols to higher layer
Network
Forward correct symbols to destination
PHY + LL
Deliver correct packets
Network
Forward correct packets to destination
High throughput, high concurrency
New Contract Exploiting Wireless Characteristics
MIXIT• 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
How 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
PHY + LL
Deliver correct symbols to higher layer
Network
Forward correct symbols to destination
What Should Each Router Forward?
R1
R2
DSP1P2
P1P2
P1P2
What Should Each Router Forward?
R1
R2
DSP1P2
But overlap in correctly received symbols Potential solutions1)Forward everything Inefficient2)Coordinate Unscalable
P1P2
P1P2
P1P2
P1P2
Forward random combinations of correct symbols
R1
R2
DSP1P2
MIXIT Prevents Duplicates using Symbol Level Network Coding
P1P2
P1P2
1s
…
…R1
R2
D
2s2
1
7s
2s
2
7
…
1s
…
…
2s
Routers create random combinations of correct symbols
2
1
9s
5s
5
9
…
MIXIT Prevents Duplicates using Symbol Level Network Coding
R1
R2
D2
1
7s
2s
…
2
1
9s
5s
…
21 s,sSolve 2
equations
Destination decodes by solving linear equationsRandomness prevents duplicates without co-ordinationRandomness prevents duplicates without co-ordination
MIXIT Prevents Duplicates using Symbol Level Network Coding
1s
…
…R1
R2
D
2s2
1
7s
2s
2
7
…
1s
…
…
2s
Routers create random combinations of correct symbols
15s
5
0
…
MIXIT Prevents Duplicates using Symbol Level Network Coding
R1
R2
D2
1
7s
2s
…
15s …
21 s,sSolve 2
equations
Destination decodes by solving linear equations
Symbol Level Network Coding • No duplicates Efficient • No coordination Scalable
Symbol Level Network Coding • No duplicates Efficient • No coordination Scalable
MIXIT Prevents Duplicates using Symbol Level Network Coding
Destination needs to know which combinations it received
21 9s5s
21 0s5s
21 9s0s
(if both symbols were correct)
(if only s1 was correct)
(if only s2 was correct)
Nothing (if neither symbol was correct)
Destination needs to know which combinations it received
Use run length encoding
5
9
Original Packets Coded Packet
0
9
Original Packets Coded Packet
Use run length encoding
Destination needs to know which combinations it received
9
5
Original Packets Coded Packet
Destination needs to know which combinations it received
Use run length encoding
0
5
Original Packets Coded Packet
Destination needs to know which combinations it received
Use run length encoding
Run length encoding efficiently expresses combinations
Run length encoding efficiently expresses combinations
Destination needs to know which combinations it received
Use run length encoding
Routers May Forward Erroneous Bits Despite High Confidence
MIXIT has E2E error correction capability!
Symbol-LevelNetwork CodingECC Data
MIXIT’s Error Correcting Code (ECC)1.Routers are oblivious to ECC2.Optimal error correction capability3.Rateless
Decode ECCData
PHY + LL
Deliver correct symbols to higher layer
Network
Forward correct symbols to destination
Source Destination
High Concurrency MAC
• Each node maintains a map of conflicting transmissions
• Map is based on empirical measurements and built in distributed, online manner
w & x NO!w & u YES!
xu w
Evaluation
• Implementation on GNURadio SDR and USRP• Zigbee (IEEE 802.15.4) link layer• 25 node indoor testbed, random flows• Compared to:
1. Shortest path routing based on ETX2. MORE: Packet-level opportunistic routing
Throughput (Kbps)
CD
F
Throughput increase: 3x over SPR,
2x over MORE
Throughput increase: 3x over SPR,
2x over MORE
Throughput Comparison
2.1x3x
Shortest PathMOREMIXIT
Throughput (Kbps)
CD
FWhere do the gains come from?
Shortest PathMOREMIXIT
Take concurrency away from MIXIT
Where do the gains come from?
1.5x
Without concurrency, 1.5x gain over MOREWithout concurrency, 1.5x gain over MOREThroughput (Kbps)
CD
F
Shortest PathMORE
MIXIT withoutconcurrency
Take concurrency away from MIXIT
Where do the gains come from?
Throughput (Kbps)
CD
F
MIXIT
Gains come from both moving to the symbol level and high
concurrency
Gains come from both moving to the symbol level and high
concurrency
Shortest PathMORE
MIXIT withoutconcurrency
Multiple Flows
Shortest PathMOREMIXIT
No. of concurrent flows
Avg.
Net
wor
k Th
roug
hput
(Kbp
s)
MORE/SPR: Higher congestion Lower concurrency
MIXIT: Higher congestion High concurrency
MORE/SPR: Higher congestion Lower concurrency
MIXIT: Higher congestion High concurrency
79
Geographical Routing
81
Motivations
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
82
GeoRouting: Greedy Distance
S D
Closest to D
A
-Find neighbors who are the closest to destination D-To make progress, the chosen neighbor should be closer to destination
83
Geographical Routing
Each node only needs to keep state for its neighbors
Beaconing mechanism each node broadcasts its MAC and position to minimize costs: piggybacking
84
Greedy Routing Not Always Works
D
85
Greedy Routing Works Well in Dense Networks
If node density is high, it is a low probability event for the region to have no nodes
Greedy fails if no node in this region
D
86
Dealing 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)
87
Right 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
s t
If not convex subdivision, removing crossing edges may not work
88
Right-Hand Rule Does Not Work Well with Cross Edges
u
z
w
D
x
v
x originates a packet to u
Right-hand rule results in the long detour x-u-z-w-u-x
89
Removing Cross Edges
u
z
w
D
x
v
Remove (w,z) from the graph
Right-hand rule results in the route x-u-z-v-D
90
How 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)
91
Relative 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) < d(u, v) and d(w, v) < d(u, v)
Or equivalently w u, v: d(u,v) ≤ max[d(u,w),d(v,w)]
not empty remove uv
92
Gabriel 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) < [d2(u,w) + d2(v,w)]
Not empty remove uv
93
• 200 nodes
• randomly placed on a 2000 x 2000 meter region
• radio range of 250 m
•Bonus: remove redundant, competing path less collision
Full graph GG subset RNG subset
Examples
94
Properties of GG and 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 is
connected, RNG is also connected
RNG
GG
95
Connectedness of RNG Graph
Key observation any edge on the minimum
spanning tree of the originalgraph is not removed
Assume (u,v) is such an edge but removed in RNG due to w
u v
w
96
Delaunay 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
97
Some Interesting Properties
Since the MST(V) is connected and the DT(V) is planar, all the planar graphs above are connected and planar
98
Final 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
99
a
d
b
c
S
e
f
D
a
S
c
e
D
Example
For details about GPSR algorithm, please [GPSR].
d
100
Evaluations
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
101
Packet Delivery Success RateVery dense network: 20 neighbors
102
Routing Protocol Overhead
103
Routing State
State per router for 200-node GPSR node stores state for 26 nodes on
average in pause time-0
104
Path Length
105
Worst 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)
106
Geographic Routing
107
Pros 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
108
Why Geographic Routing Without Location?
Location is hard to get GPS takes power, doesn’t work indoors,
difficult to incorporate in small sensors the network localization problem is difficult
True location may not be useful if there are obstacles
S DA
B
In the “connectivity” space, B is closer to destination!!
109
Overview
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
110
The 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
111
The 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
n
pppp i
i 0)(
n
tptp i
)()1(
112
Perimeter Nodes Are Known (True Positions)
3200 nodes; 64 perimeter nodes on the boundary
113
Perimeter Nodes Are Known (10 iterations)
Internal nodes initialized as the center of the square
114
Perimeter Nodes Are Known (100 iterations)
Internal nodes initialized as the center of the square
115
Perimeter Nodes Are Known (1000 iterations)
Internal nodes initialized as the center of the square
116
Routing Performance
32000 packets with random source-destination pairs
Success rate
Average path length
True position
0.989 16.8
Virtual position
0.993 17.1
Success rate: using (distance) greedy routing
117
Two More Scenarios
Success rate: 0.981Avg. path length: 17.3
Success rate: 0.99Avg. path length: 17.1
118
Weird Shapes
119
The 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
120
Virtual Coordinates by Triangulation
Each perimeter node solves the minimization problem:
Detail
nodesperimeter ,
2ji, )-(dmin
jiji pp
21
22
2
2
221
2
UX
Uof columns 2first the:
eseigen valu 2largest the:
111 ;/
][ where, Compute
V
U
V
UVUH
JJDH
],...,[eneeIJ
dDD
T
T
ij
121
Convergence and Performance
One iteration: success rate = 0.992; avg. path length = 17.2Ten iterations: success rate = 0.994; avg. path length = 17.2
Backup Slides
123
Improving 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
124
Selecting 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
125
Perimeter Node Detection
126
Convergence and Performance
Ten iterations: success rate = 0.996; avg. path length = 17.3
127
Projecting 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
128
Virtual 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?
129
Build the Tree
Root node starts as root broadcasts “level 0”
A non-root node1. receives message “level n” – marks parent2. broadcasts message saying level “n+1”
All subtrees report size back to parent.Root does assignment of virtual angles.
Question: what about the issues of the described algorithm?
130
Motivation for a Better Metric
131
Implementation 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
132
ETX Performance
DSDV DSR