1 / 36

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. Problem. Network distance = Round Trip Time.

tameka
Télécharger la présentation

A Network Positioning System for the Internet

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Network Positioning System for the Internet T. S. Eugene Ng and Hui Zhang USENIX ’04 Presented By: ImranulHoque

  2. 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?

  3. 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)

  4. Challenges • Accuracy • Stability • Adaptability • Scalability

  5. 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

  6. Global Network Positioning Step 1: Measure inter-landmark distance Landmark 1 Landmark 2 Landmark 3

  7. Global Network Positioning Step 2: Send measured distance to coordinator Landmark 1 Landmark 3 Landmark 2

  8. 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

  9. 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

  10. 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

  11. 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

  12. Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 Membership Server

  13. Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 Membership Server Host h1

  14. Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 Membership Server I need some reference points Host h1

  15. Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 Membership Server L1, L2, L3 Host h1

  16. 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

  17. Network Positioning System Layer 0 Landmark 1 Landmark 2 Landmark 3 PING Membership Server Layer 1 Host h1 Ref: [L1, L2, L3]

  18. 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]

  19. 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?

  20. 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

  21. 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)

  22. 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]

  23. 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)

  24. Accuracy of NPS Among landmarks, end Among ordinary hosts, end

  25. 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

  26. Effect of Topology Change With triggered update Without triggered update Topology replaced

  27. Discussion • Stable and accurate coordinates [Ledlie06] • Data from PlanetLab: 2 random nodes RTT varies a lot over time

  28. 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

  29. 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

  30. Questions?

  31. Downhill Simplex Method • Simplex = N+1 vertices in N dimensions • Moves: • Reflection • Reflection and Expansion • Contraction • Multiple Contraction

  32. Downhill Simplex Method • (a) is highest (c) is lowest

  33. Reflection

  34. Reflection and Expansion • (d) is less than (c)

  35. Contraction • (d) is higher than second highest: (b)

  36. Multiple Contraction • (e) is still the highest among: (b), (c), (e)

More Related