Towards a global IP Anycast service Hitesh Ballani, Paul Francis - - PowerPoint PPT Presentation

towards a global ip anycast service
SMART_READER_LITE
LIVE PREVIEW

Towards a global IP Anycast service Hitesh Ballani, Paul Francis - - PowerPoint PPT Presentation

Towards a global IP Anycast service Hitesh Ballani, Paul Francis Cornell University ACM SIGCOMM 2005 What is IP Anycast? One-to-Any communication with no changes to Internet routing IP Address IP Address 2.1.1.1 2.1.1.1 Robust and


slide-1
SLIDE 1

Towards a global IP Anycast service

Hitesh Ballani, Paul Francis Cornell University

ACM SIGCOMM 2005

slide-2
SLIDE 2

What is IP Anycast?

One-to-Any communication with no changes to Internet routing

IP Address IP Address 2.1.1.1 2.1.1.1

Robust and efficient service discovery

◮ Query-Reply Services : DNS Root-Servers etc. ◮ Routing Services : IPv6 transition (6to4) etc.

slide-3
SLIDE 3

What is IP Anycast?

One-to-Any communication with no changes to Internet routing

IP Address IP Address 2.1.1.1 2.1.1.1

C

to 2.1.1.1

Robust and efficient service discovery

◮ Query-Reply Services : DNS Root-Servers etc. ◮ Routing Services : IPv6 transition (6to4) etc.

slide-4
SLIDE 4

What is IP Anycast?

One-to-Any communication with no changes to Internet routing

IP Address IP Address 2.1.1.1 2.1.1.1

C

to 2.1.1.1

C

to 2.1.1.1

Robust and efficient service discovery

◮ Query-Reply Services : DNS Root-Servers etc. ◮ Routing Services : IPv6 transition (6to4) etc.

slide-5
SLIDE 5

What is IP Anycast?

One-to-Any communication with no changes to Internet routing

IP Address IP Address 2.1.1.1 2.1.1.1

C

to 2.1.1.1

C

to 2.1.1.1

Robust and efficient service discovery

◮ Query-Reply Services : DNS Root-Servers etc. ◮ Routing Services : IPv6 transition (6to4) etc.

But its use has been limited?

slide-6
SLIDE 6

Limitations of Inter-domain IP Anycast

◮ Wastes address space ◮ Does not scale by

number of groups

2.1.1.0/24 2.1.1.0/24

◮ Difficult to deploy

◮ obtain an address prefix ◮ a certain level of expertise

◮ Is limited by IP routing

◮ inability to offer load-based selection

slide-7
SLIDE 7

Proxy IP Anycast Service (PIAS)

What is PIAS? A practical anycast deployment architecture

◮ addresses native IP Anycast limitations ◮ offers new features

◮ opens new anycast usage avenues

Key Insight

CLIENT Native IP Anycast MEMBER

PIAS

slide-8
SLIDE 8

Talk outline

◮ PIAS : basic design ◮ Design challenges ◮ PIAS : actual design ◮ New anycast applications ◮ Unanswered questions

(simulations/measurements)

slide-9
SLIDE 9

PIAS: Basic Idea

Deploy Anycast Proxies( All proxies advertise the same prefix(

Anycast Proxy

slide-10
SLIDE 10

PIAS: Basic Idea

Group Members register with proxies( (

Anycast Proxy Member (group 1) IP Anycast

slide-11
SLIDE 11

PIAS: Basic Idea

Client (C) ⇒ Group 1 (blue group)( (

Anycast Proxy Member (group 1) IP Anycast

C

slide-12
SLIDE 12

PIAS: Basic Idea

Native IP Anycast delivers packets to proxies( (

Anycast Proxy Member (group 1) IP Anycast

C

slide-13
SLIDE 13

PIAS: Basic Idea

Proxies tunnel to appropriate member( (

Anycast Proxy Member (group 1) IP Anycast

C

IP Tunnel

slide-14
SLIDE 14

PIAS: Basic Idea

Different client might go to a different member( (

Anycast Proxy Member (group 1) IP Anycast

C

IP Tunnel

C

slide-15
SLIDE 15

PIAS: Basic Idea

Multiple groups can register( (

Anycast Proxy Member (group 1) IP Anycast Member (group 2)

slide-16
SLIDE 16

What does PIAS solve?

◮ Address Usage ◮ Effort Amortization ◮ Ease-of-Use ◮ Backwards Compatible ◮ Selection Criteria

Efficient use of address space Thousands of groups per IP address in prefix Group address - [IP-Address]:[Port]

slide-17
SLIDE 17

What does PIAS solve?

◮ Address Usage ◮ Effort Amortization ◮ Ease-of-Use ◮ Backwards Compatible ◮ Selection Criteria

Amortization of effort Deployment effort spread across thousands of groups

slide-18
SLIDE 18

What does PIAS solve?

◮ Address Usage ◮ Effort Amortization ◮ Ease-of-Use ◮ Backwards Compatible ◮ Selection Criteria

Ease of join/leave No interaction with routing

slide-19
SLIDE 19

What does PIAS solve?

C

◮ Address Usage ◮ Effort Amortization ◮ Ease-of-Use ◮ Backwards Compatible ◮ Selection Criteria

No changes to clients just as native IP Anycast

slide-20
SLIDE 20

What does PIAS solve?

C

◮ Address Usage ◮ Effort Amortization ◮ Ease-of-Use ◮ Backwards Compatible ◮ Selection Criteria

Multiple selection criteria for example, load balance, proximity

slide-21
SLIDE 21

What does PIAS solve?

C

◮ Address Usage ◮ Effort Amortization ◮ Ease-of-Use ◮ Backwards Compatible ◮ Selection Criteria

Multiple selection criteria for example, load balance, proximity Group members can be clients for the group!

slide-22
SLIDE 22

What does PIAS solve?

Issues Transferred Routing PIAS Infrastructure

◮ Address Usage ◮ Effort Amortization ◮ Ease-of-Use ◮ Backwards Compatible ◮ Selection Criteria

All this just by proxying?

◮ decoupled issues from routing ◮ can be easily addressed in proxy infrastructure

slide-23
SLIDE 23

PIAS : design challenges

◮ Scalability by

◮ no. of groups, group size/dynamics ◮ no. of proxies

◮ Robustness and fast-failover

slide-24
SLIDE 24

PIAS : design challenges

◮ Scalability by

◮ no. of groups, group size/dynamics ◮ no. of proxies

◮ Robustness and fast-failover

A B C D E JP JP JP JP

Members register with Join Proxies (JP)( Registration involves member authentication(

slide-25
SLIDE 25

PIAS : design challenges

◮ Scalability by

◮ no. of groups, group size/dynamics ◮ no. of proxies

◮ Robustness and fast-failover

A B C D E JP JP JP JP RP RP

Rendezvous Proxies (RP) : keep group state( group address mapped to RP using consistent hash(

slide-26
SLIDE 26

PIAS : design challenges

◮ Scalability by

◮ no. of groups, group size/dynamics ◮ no. of proxies

◮ Robustness and fast-failover

A B C D E JP JP JP JP RP RP

Rendezvous Proxies (RP) : keep group state( JPs inform RPs of member leave/joins(

slide-27
SLIDE 27

PIAS : design challenges

◮ Scalability by

◮ no. of groups, group size/dynamics ◮ no. of proxies

◮ Robustness and fast-failover

A B C D E JP JP JP JP RP RP

Hierarchy : reduce load on RPs( RPs track JPs, JPs track members(

slide-28
SLIDE 28

PIAS : design challenges

◮ Scalability by

◮ no. of groups, group size/dynamics ◮ no. of proxies

◮ Robustness and fast-failover

Overlay and Routing issues( (

slide-29
SLIDE 29

PIAS : design challenges

◮ Scalability by

◮ no. of groups, group size/dynamics ◮ no. of proxies

◮ Robustness and fast-failover

Proxy and Member failures( (

slide-30
SLIDE 30

PIAS : putting it all together

Anycast : Client (C) to Group 1 (blue)

Anycast Proxy JP JP Member (group 1)

C

slide-31
SLIDE 31

PIAS : putting it all together

C ⇒ Ingress Proxy

Anycast Proxy JP JP Member (group 1)

C

IP Anycast Ingress

slide-32
SLIDE 32

PIAS : putting it all together

Ingress Proxy ⇒ Join Proxy

Anycast Proxy JP JP Member (group 1)

C

IP Anycast Ingress IP Unicast

slide-33
SLIDE 33

PIAS : putting it all together

Join Proxy ⇒ Member

Anycast Proxy JP JP Member (group 1)

C

IP Anycast Ingress IP Unicast

slide-34
SLIDE 34

PIAS : putting it all together

Client ⇒ Ingress P. ⇒ Join P.⇒ Member

Anycast Proxy JP JP Member (group 1)

C

IP Anycast Ingress IP Unicast

slide-35
SLIDE 35

New anycast applications

Anycast service offered by PIAS

◮ practical ◮ easy-to-use ◮ scales by group number/size/dynamics ◮ group members can be clients too

Applications

◮ Peer discovery : network games, p2p

applications etc.

◮ Reaching an overlay network : querying

OpenDHT, global RON, i3 etc.

slide-36
SLIDE 36

PIAS : possible problems

◮ Stretch ◮ Affinity ◮ Proximity

slide-37
SLIDE 37

PIAS : possible problems

Client Member Ingress Proxy Join Proxy Direct Path PIAS path

Stretch = PIAS path len. / Direct path len. What is the stretch imposed by PIAS?

◮ Stretch ◮ Affinity ◮ Proximity

slide-38
SLIDE 38

PIAS : possible problems

Topology

◮ POP-level topology for tier-1 ISPs (Rocketfuel) ◮ 22 ISPs, 687 POPs, 2825 inter-POP links ◮ Annotated links with actual distance (kms)

Simulation

◮ SSFNET for BGP route calculation ◮ Stretch : simulation ◮ Affinity ◮ Proximity

slide-39
SLIDE 39

PIAS : possible problems

0.5 1 1.5 2 2.5 3 3.5 100 200 300 400 500 600 Stretch Factor # of Proxies 0.5 1 1.5 2 2.5 3 3.5 100 200 300 400 500 600 Stretch Factor # of Proxies

10-25-50-75-90 percentile

◮ Stretch : simulation ◮ Affinity ◮ Proximity

slide-40
SLIDE 40

PIAS : possible problems

0.5 1 1.5 2 2.5 3 3.5 100 200 300 400 500 600 Stretch Factor # of Proxies 0.5 1 1.5 2 2.5 3 3.5 100 200 300 400 500 600 Stretch Factor # of Proxies

10-25-50-75-90 percentile

Median Stretch : 1.01 90th percentile: 2.2

◮ Stretch : simulation ◮ Affinity ◮ Proximity

slide-41
SLIDE 41

PIAS : possible problems

B C D E A JP JP

C

Ingress

Affinity : same client to same ingress g

◮ Stretch ◮ Affinity ◮ Proximity

slide-42
SLIDE 42

PIAS : possible problems

B C D E A JP JP

C Oops!!

Ingress FLAP

Affinity : same client to same ingress What is the affinity offered by native IP Anycast?

◮ Stretch ◮ Affinity ◮ Proximity

slide-43
SLIDE 43

PIAS : possible problems

Traceroute-Servers

◮ 244 vantage points ◮ Duration : 7 days ◮ Europe-centric

distribution Planetlab

◮ 163 Planetlab sites ◮ Duration : 3 months

(Dec’04-Mar’05)

◮ US-centric

distribution

◮ Stretch ◮ Affinity : measured anycasted DNS root-servers ◮ Proximity

slide-44
SLIDE 44

PIAS : possible problems

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.01 0.1 1 CDF Average time between flaps (DAYS) j-root f-root i-root k-root 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.01 0.1 1 CDF Average time between flaps (DAYS) j-root f-root i-root k-root

Tracert-Server Probing

◮ Stretch ◮ Affinity : measured anycasted DNS root-servers ◮ Proximity

slide-45
SLIDE 45

PIAS : possible problems

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.01 0.1 1 CDF Average time between flaps (DAYS) j-root f-root i-root k-root 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.01 0.1 1 CDF Average time between flaps (DAYS) j-root f-root i-root k-root

Tracert-Server Probing Less than 1 flap per day for ∼95% of nodes

◮ Stretch ◮ Affinity : measured anycasted DNS root-servers ◮ Proximity

slide-46
SLIDE 46

PIAS : possible problems

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.01 0.1 1 CDF Average time between flaps (DAYS) j-root f-root i-root k-root 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.01 0.1 1 CDF Average time between flaps (DAYS) j-root f-root i-root k-root

FLAPS/(20 min)

Tracert-Server Probing Less than 1 flap per day for ∼95% of nodes

◮ Stretch ◮ Affinity : measured anycasted DNS root-servers ◮ Proximity

slide-47
SLIDE 47

PIAS : possible problems

C Member Ingress JP

Poor Native IP Anycast Proximity

Is native IP anycast based proximity useful?

◮ Stretch ◮ Affinity ◮ Proximity

slide-48
SLIDE 48

PIAS : possible problems

Does IP Anycast offer latency-based proximity?

◮ measured the proximity offered by root-server

anycast deployments

◮ from ∼40000 clients ◮ Stretch ◮ Affinity ◮ Proximity : measuring proximity

slide-49
SLIDE 49

PIAS : possible problems

Does IP Anycast offer latency-based proximity?

◮ measured the proximity offered by root-server

anycast deployments

◮ from ∼40000 clients

Results (details in technical report)

◮ No (for a naive deployment)

◮ 5-6 times the ideal proximity was common

◮ Stretch ◮ Affinity ◮ Proximity : measuring proximity

slide-50
SLIDE 50

PIAS : possible problems

C Member

ISP 1 ISP 2

(

◮ Stretch ◮ Affinity ◮ Proximity : example of poor proximity

slide-51
SLIDE 51

PIAS : possible problems

C Member Ingress JP

ISP 1 ISP 2

(

◮ Stretch ◮ Affinity ◮ Proximity : example of poor proximity

slide-52
SLIDE 52

PIAS : possible problems

C Member Ingress JP

(

◮ Stretch ◮ Affinity ◮ Proximity : example of poor proximity

slide-53
SLIDE 53

PIAS : possible problems

Ingress JP C

Member ISP 1

Planned deployment to attain proximity(

◮ Stretch ◮ Affinity ◮ Proximity : a simple alleviative

slide-54
SLIDE 54

Why bother?

Application-layer anycast is already out there

slide-55
SLIDE 55

Why bother?

Application-layer anycast is already out there Advantages of PIAS . . .

✓ use for low-level protocols ✓ proximity is a lot easier

✓ easier management

✓ faster failover ✓ no extra round-trip

✗ the overhead of proxy traversal

slide-56
SLIDE 56

Summary

Proxy IP Anycast Service

◮ practical anycast deployment architecture ◮ addresses native IP and application-layer

anycast limitations

◮ opens new usage avenues

Anycast for the network community

◮ currently deploying PIAS ◮ publicly usable in the near future

http://pias.gforge.cis.cornell.edu

slide-57
SLIDE 57

PIAS : the metrics that can be offered

Client Member Ingress Proxy Join Proxy

C⇒Member is about the same as IngressP.⇒JoinP.

slide-58
SLIDE 58

PIAS : the metrics that can be offered

Client Member Ingress Proxy Join Proxy

Metric?? C⇒Member is about the same as IngressP.⇒JoinP. can support metrics such as latency, prop. delay etc. scalably

slide-59
SLIDE 59

PIAS : reverse path

Anycast Proxy JP JP RP Member (group 1)

C

IP Anycast Ingress IP Unicast

slide-60
SLIDE 60

PIAS : the real picture

Anycast Proxy JP JP RP Member (group 1)

C

IP Anycast Ingress IP Unicast

slide-61
SLIDE 61

PIAS : the real picture

Anycast Proxy JP JP RP Member (group 1)

C

IP Anycast Ingress IP Unicast

slide-62
SLIDE 62

PIAS : the real picture

Anycast Proxy JP JP RP Member (group 1)

C

IP Anycast Ingress IP Unicast

slide-63
SLIDE 63

PIAS : engineering issues

Scalability by no. of proxies

◮ a clustered deployment model ◮ decouples proxy dynamics from inter-domain

routing

ROUTER IGP BGP PROXY CLUSTER

slide-64
SLIDE 64

PIAS : engineering issues

Failures

◮ no impact on inter-domain routing

ROUTER IGP BGP PROXY CLUSTER

slide-65
SLIDE 65

Inter-domain routing and Anycast!!

AS J AS J I1 - B I2 - NY AS J I1 - B I2 - NY

Anycast’ed AS appears similar to a multihomed AS

AS J I1- NY I2 - NY AS J I1-B I2 - B

(multi-homed to providers in Berkeley) (multi-homed to providers in New York)

But is different from typical multihoming!