Download presentation

Presentation is loading. Please wait.

Published byStefan Rushworth Modified over 2 years ago

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

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

3
Motivation Example: – Overlay networks, closest server selection Why not explicit measurement? Assign coordinates to hosts to enable latency prediction (X 1, Y 1 ) (X 2, Y 2 ) (X 3, Y 3 ) 3

4
Challenges Accuracy Stability Adaptability Scalability 4

5
Timeline GNP (Ng) INFOCOM02 GNP (Ng) INFOCOM02 PIC (Costa) ICDCS04 PIC (Costa) ICDCS04 Vivaldi (Dabek) SIGCOMM04 Vivaldi (Dabek) SIGCOMM04 PCoord (Lehman) NCA04 PCoord (Lehman) NCA04 NPS (Ng) USENIX04 NPS (Ng) USENIX04 Virtual Landmarks (Tang) IMC03 Virtual Landmarks (Tang) IMC03 Big-Bang (Shavitt) INFOCOM03 Big-Bang (Shavitt) INFOCOM03 LightHouse (Pias) IPTPS03 LightHouse (Pias) IPTPS03 Stable-Accurate Coordinate (Ledlie) ICDCS06 Stable-Accurate Coordinate (Ledlie) ICDCS06 Coordinate in Wild (Ledlie) NSDI07 Coordinate in Wild (Ledlie) NSDI07 Adversarial Network (Zage) CCS07 Adversarial Network (Zage) CCS07 Secure Internet Coordinate (Kaafar) SIGCOMM07 Secure Internet Coordinate (Kaafar) SIGCOMM

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

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

8
Global Network Positioning Landmark 2 (x 2, y 2 ) Landmark 3 (x 3, y 3 ) Landmark 1 (x 1, y 1 ) Step 3: Coordinator computes coordinates by minimizing the overall discrepancy between measured distances and computed distances 6

9
Global Network Positioning Landmark 2 (x 2, y 2 ) Landmark 3 (x 3, y 3 ) Landmark 1 (x 1, y 1 ) Step 4: Each ordinary host measures its distance to the landmarks Host 1 6

10
Global Network Positioning Landmark 2 (x 2, y 2 ) Landmark 3 (x 3, y 3 ) Landmark 1 (x 1, y 1 ) Step 5: Ordinary host computes its coordinates relative to the landmarks by minimizing the overall discrepancy between measured distance and computed distance Host 1 (x h, y h ) 6

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 1 Layer 0 Layer 2 Layer 3 Layer 2 7

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

13
Network Positioning System Landmark 1 Landmark 2 Landmark 3 Membership Server Host h 1 Layer 0 8

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

15
Network Positioning System Landmark 1 Landmark 2 Landmark 3 Membership Server Host h 1 L 1, L 2, L 3 Layer 0 8

16
Network Positioning System Landmark 1 Landmark 2 Landmark 3 Membership Server Layer 0 Layer 1 Host h 1 Ref: [L 1, L 2, L 3 ] Host h 1 Ref: [L 1, L 2, L 3 ] Layer = maxLayer(L 1, L 2, L 3 ) + 1 8

17
Network Positioning System Landmark 1 Landmark 2 Landmark 3 Membership Server Host h 1 Ref: [L 1, L 2, L 3 ] Host h 1 Ref: [L 1, L 2, L 3 ] Layer 0 PING Layer 1 8

18
Network Positioning System Landmark 1 Landmark 2 Landmark 3 Membership Server Host h 1 Ref: [L 1, L 2, L 3 ] Host h 1 Ref: [L 1, L 2, L 3 ] Layer 0 Coord(L i ), RTT(h 1, L i ) Layer 1 8

19
Network Positioning System Landmark 1 Landmark 2 Landmark 3 Membership Server Host h 1 Ref: [L 1, L 2, L 3 ] Host h 1 Ref: [L 1, L 2, L 3 ] Layer 0 Calculate coordinate using RTT(h 1, L i ) & Coord(L i ) Layer 1 What if the RTTs are not correct? What if L i was also calculating its coordinate? 8

20
Network Positioning System Landmark 1 Landmark 2 Landmark 3 Membership Server Host h 1 Ref: [L 1, L 2, L 3 ] Host h 1 Ref: [L 1, L 2, L 3 ] Layer 0 3. Calculate coordinate (using min RTT to each host) Layer 1 Repeats the steps until in 3 consecutive iterations node moves < 1msec 1. PING 2. Coord(L i ), RTT(h 1, L i ) 8

21
Network Positioning System Landmark 1 Landmark 2 Landmark 3 Membership Server Host h 1 Ref: [L 1, L 2, L 3 ] Host h 1 Ref: [L 1, L 2, L 3 ] Layer 0 3. Calculate coordinate (using min RTT to each host) Layer 1 Period: 12 hours (hosts), 3 hours (landmarks) 1. PING 2. Coord(L i ), RTT(h 1, L i ) 8

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

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

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

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 12

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

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

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 15

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 16

30
Questions? 17

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

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

33
Reflection 33

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

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

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

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google