A Network Positioning System for the Internet

Download Report

Transcript A Network Positioning System for the Internet

A Network Positioning System for
the Internet
T. S. Eugene Ng and Hui Zhang
USENIX ’04
Presented By: Imranul Hoque
1
Problem
Given two Internet hosts, can we accurately
estimate the network distance between them
without sending any RTT probes between them?
• Network distance = Round Trip Time
2
Motivation
• Example:
– Overlay networks, closest server selection
• Why not explicit measurement?
(X1, Y1)
(X2, Y2)
(X3, Y3)
Assign coordinates to hosts to enable latency
prediction
3
Challenges
•
•
•
•
Accuracy
Stability
Adaptability
Scalability
4
Timeline
Vivaldi (Dabek)
SIGCOMM04
PIC (Costa)
ICDCS04
NPS (Ng)
USENIX04
PCoord (Lehman)
NCA04
GNP (Ng)
INFOCOM02
2003
2002
Adversarial Network (Zage)
CCS07
Coordinate in Wild (Ledlie)
NSDI07
2006
2004
Virtual Landmarks (Tang)
IMC03
Secure Internet Coordinate (Kaafar)
SIGCOMM07
2007
Stable-Accurate Coordinate (Ledlie)
ICDCS06
LightHouse (Pias)
IPTPS03
Big-Bang (Shavitt)
INFOCOM03
5
Global Network Positioning
Landmark 1
Landmark 2
Landmark 3
Step 1: Measure inter-landmark distance
6
Global Network Positioning
Landmark 1
Landmark 2
Landmark 3
Step 2: Send measured distance to coordinator
6
Global Network Positioning
  d
minimize
ij

, dˆ ij ,
i j
Landmark 1 (x1, y1)
Landmark 2 (x2, y2)

where  d ij , dˆ ij

 d ij  dˆ ij 


d


ij
2
Landmark 3 (x3, y3)
Step 3: Coordinator computes coordinates by
minimizing the overall discrepancy between
measured distances and computed distances
6
Global Network Positioning
Landmark 1 (x1, y1)
Landmark 2 (x2, y2)
Host 1
Landmark 3 (x3, y3)
Step 4: Each ordinary host measures its distance
to the landmarks
6
Global Network Positioning
Landmark 1 (x1, y1)
Landmark 2 (x2, y2)
Host 1 (xh, yh)
Landmark 3 (x3, y3)
Step 5: Ordinary host computes its coordinates
relative to the landmarks by minimizing the overall
discrepancy between measured distance and
computed distance
6
Problems of GNP
• Centralized coordinator
– Solution: distributed calculation
• Fixed set of landmarks
– Solution: any set of existing nodes can be
reference points
Layer 0
Layer 0
Layer 0
Layer 1
Layer 2
Layer 2
Layer 3
7
Network Positioning System
Layer 0
Landmark 1
Landmark 2
Landmark 3
Membership
Server
8
Network Positioning System
Layer 0
Landmark 1
Landmark 2
Landmark 3
Membership
Server
Host h1
8
Network Positioning System
Layer 0
Landmark 1
Landmark 2
Landmark 3
Membership
Server
Host h1
8
Network Positioning System
Layer 0
Landmark 1
Landmark 2
Landmark 3
Membership
Server
Host h1
8
Network Positioning System
Layer 0
Landmark 1
Landmark 2
Landmark 3
Membership
Server
Layer 1
Host h1
Ref: [L1, L2, L3]
Layer = maxLayer(L1, L2, L3) + 1
8
Network Positioning System
Layer 0
Landmark 1
Landmark 2
PING
Layer 1
Landmark 3
Membership
Server
Host h1
Ref: [L1, L2, L3]
8
Network Positioning System
Layer 0
Landmark 1
Layer 1
Landmark 2
Coord(Li), RTT(h1, Li)
Landmark 3
Membership
Server
Host h1
Ref: [L1, L2, L3]
8
Network Positioning System
Layer 0
Landmark 1
Landmark 2
Landmark 3
Membership
Server
Layer 1
Host h1
Ref: [L1, L2, L3]
Calculate coordinate using RTT(h1, Li) & Coord(Li)
What if the RTTs are not correct?
What if Li was also calculating its coordinate?
8
Network Positioning System
Layer 0
Landmark 1
Landmark 2
Landmark 3
1. PING
Layer 1
2. Coord(Li), RTT(h1, Li)
Host h1
Ref: [L1, L2, L3]
Membership
Server
3. Calculate coordinate (using
min RTT to each host)
Repeats the steps until in 3 consecutive iterations
node moves < 1msec
8
Network Positioning System
Layer 0
Landmark 1
Landmark 2
Landmark 3
1. PING
Layer 1
2. Coord(Li), RTT(h1, Li)
Host h1
Ref: [L1, L2, L3]
Membership
Server
3. Calculate coordinate (using
min RTT to each host)
Period: 12 hours (hosts), 3 hours (landmarks)
8
Issues in NPS
• How many layers?
– Accuracy vs. Scalability (NPS uses 3 layers)
• Handling malicious nodes
– Calculate fitting error to each reference point
– Reject reference point with largest fitting error if the
error is significantly large
• Sudden change in topology
– Reference points can trigger reposition
• Effect of reference point selection
– Random, close, hybrid [PIC: Costa04]
9
PlanetLab Experiment
• Duration: 20 hours
• 127 nodes: 15 well distributed nodes are
landmarks [PCoord: Lehman04]
• 8 dimensional coordinates (why?)
• Landmarks started 5 minutes prior to ordinary
hosts
• 2 layers: landmarks and ordinary hosts
• Accuracy metric: relative error
|actual – predicted| / min(actual, predicted)
10
Accuracy of NPS
Among landmarks, end
Among ordinary hosts, end
11
Controlled Experiment
• Objective:
– Accuracy under RTT dynamics
– Effect of topology change
– Effect of maliciousness
•
•
•
•
•
Simulation result from 1044 node random topology
8 dimensional coordinates
20 landmarks, 1024 hosts
2 layers, 3 layers
Accuracy metric: 90 percentile relative error
12
Effect of Topology Change
With triggered update
Without triggered update
Topology replaced
13
Discussion
• Stable and accurate coordinates [Ledlie06]
– Data from PlanetLab: 2 random nodes
RTT varies a lot over time
14
Discussion (2)
• Network Coordinates in the Wild [Ledlie07]
– Higher relative error
– More triangle inequality violation
– Higher churn
Behavior in real network is completely different
from behavior under PlanetLab experiments
15
Discussion (3)
• Effect of maliciousness
– Few nodes lying huge vs. many nodes lying small
– Use a random set of verifiers to verify that relative
error is below a certain threshold
Very easy to distort the whole coordinate space
16
Questions?
17
Downhill Simplex Method
• Simplex = N+1 vertices in N dimensions
• Moves:
– Reflection
– Reflection and Expansion
– Contraction
– Multiple Contraction
31
Downhill Simplex Method
• (a) is highest (c) is lowest
32
Reflection
33
Reflection and Expansion
• (d) is less than (c)
34
Contraction
• (d) is higher than second highest: (b)
35
Multiple Contraction
• (e) is still the highest among: (b), (c), (e)
36