360 likes | 517 Views
A Network Positioning System for the Internet. T. S. Eugene Ng and Hui Zhang USENIX ’04 Presented By: Imranul Hoque. Problem. Network distance = Round Trip Time.
E N D
A Network Positioning System for the Internet T. S. Eugene Ng and Hui Zhang USENIX ’04 Presented By: ImranulHoque
Problem • Network distance = Round Trip Time Given two Internet hosts, can we accurately estimate the network distance between them without sending any RTT probes between them?
Motivation • Example: • Overlay networks, closest server selection • Why not explicit measurement? Assign coordinates to hosts to enable latency prediction (X1, Y1) (X2, Y2) (X3, Y3)
Challenges • Accuracy • Stability • Adaptability • Scalability
Timeline Vivaldi (Dabek) SIGCOMM04 Secure Internet Coordinate (Kaafar) SIGCOMM07 PIC (Costa) ICDCS04 NPS (Ng) USENIX04 Adversarial Network (Zage) CCS07 PCoord (Lehman) NCA04 Coordinate in Wild (Ledlie) NSDI07 GNP (Ng) INFOCOM02 2003 2006 2002 2004 2007 Virtual Landmarks (Tang) IMC03 Stable-Accurate Coordinate (Ledlie) ICDCS06 LightHouse (Pias) IPTPS03 Big-Bang (Shavitt) INFOCOM03
Global Network Positioning Step 1: Measure inter-landmark distance Landmark 1 Landmark 2 Landmark 3
Global Network Positioning Step 2: Send measured distance to coordinator Landmark 1 Landmark 3 Landmark 2
Global Network Positioning Landmark 1 (x1, y1) Landmark 2 (x2, y2) Landmark 3 (x3, y3) Step 3: Coordinator computes coordinates by minimizing the overall discrepancy between measured distances and computed distances
Global Network Positioning Landmark 1 (x1, y1) Host 1 Landmark 2 (x2, y2) Landmark 3 (x3, y3) Step 4: Each ordinary host measures its distance to the landmarks
Global Network Positioning Landmark 1 (x1, y1) Host 1 (xh, yh) Landmark 2 (x2, y2) 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
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
Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 Membership Server
Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 Membership Server Host h1
Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 Membership Server I need some reference points Host h1
Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 Membership Server L1, L2, L3 Host h1
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
Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 PING Membership Server Layer 1 Host h1 Ref: [L1, L2, L3]
Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 Membership Server Layer 1 Coord(Li), RTT(h1, Li) Host h1 Ref: [L1, L2, L3]
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?
Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 1. PING Membership Server Layer 1 2. Coord(Li), RTT(h1, Li) Host h1 Ref: [L1, L2, L3] 3. Calculate coordinate (using min RTT to each host) Repeats the steps until in 3 consecutive iterations node moves < 1msec
Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 1. PING Membership Server Layer 1 2. Coord(Li), RTT(h1, Li) Host h1 Ref: [L1, L2, L3] 3. Calculate coordinate (using min RTT to each host) Period: 12 hours (hosts), 3 hours (landmarks)
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]
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)
Accuracy of NPS Among landmarks, end Among ordinary hosts, end
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
Effect of Topology Change With triggered update Without triggered update Topology replaced
Discussion • Stable and accurate coordinates [Ledlie06] • Data from PlanetLab: 2 random nodes RTT varies a lot over time
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
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
Downhill Simplex Method • Simplex = N+1 vertices in N dimensions • Moves: • Reflection • Reflection and Expansion • Contraction • Multiple Contraction
Downhill Simplex Method • (a) is highest (c) is lowest
Reflection and Expansion • (d) is less than (c)
Contraction • (d) is higher than second highest: (b)
Multiple Contraction • (e) is still the highest among: (b), (c), (e)