Addressing: Anycast

Download Report

Transcript Addressing: Anycast

Anycast
Jennifer Rexford
Advanced Computer Networks
http://www.cs.princeton.edu/courses/archive/fall08/cos561/
Tuesdays/Thursdays 1:30pm-2:50pm
Naming and Addressing
• Some definitions
– Name: what we seek
– Address: where it is located
• Examples
– Wide area: www.cnn.com vs. 63.251.179.13
– LAN: 63.251.179.13 vs. 00:16:CF:1C:D0:24
• What should we name and address?
– Objects: http://www.cnn.com/election-over.htm
– Hosts: www.cnn.com or 63.251.179.13
– ASes: 7018
Anycast:
Application-Level vs. IP-Level
Many Services are Replicated
• Servers in many locations
– Reliability: copies that fail independently
– Performance: clients directed to nearby replicas
Anycast
• Anycast
– One-to-many association of name to endpoints
– Each destination represents a set of receivers
– Only one receives information from a given sender
• Questions
– How to name the (replicated) service?
• URL, host name, IP address, …
– How to decide which instance receives traffic?
• Network proximity, load balancing policies, …
– How “sticky” should the binding be?
• Each packet independent? Connection-oriented?
IP Anycast
• Announce IP prefix in interdomain routing
– At each replica location
• Rely on global routing to direct traffic
– To the “nearest” replica
63.251.179.13
63.251.179.13
63.251.179.13
IP Anycast: Pros and Cons
• Advantages
– Completely transparent to clients and routers
– Scales well for a large group of replicas
– End-to-end paths automatically efficient
• Disadvantages
– Pollutes the global routing system
– Separate /24 for each replicated service
– Does not consider server load
– Different packets may reach different replicas
– Slow BGP convergence after a withdrawal
Application-Level Anycast
• URL rewriting
– Server dynamically rewrites HTML page
– E.g., image at foo23.bar.com vs. foo46.bar.com
• Application-level redirection
– Explicit redirection of a request to new location
– E.g., HTTP 302 “Moved Temporarily”
• DNS redirection
– Change mapping of domain name to address
– E.g., www.cnn.com to 8.15.7.117
Application-Layer Anycast: Pros and Cons
• Advantages
– Fine-grain control of load across group members
– Can easily incorporate variety of criteria
– Successive packets delivered to the same replica
• Disadvantages
– Need to identify location of the requesting client
• Especially difficult for DNS-based redirection
– Extra round-trip times for redirection
– Small TTLs to prevent long DNS caching
– Boot-strapping to find redirecting/lookup server
Anycast in Practice
• Content Distribution Networks (CDNS)
– Direct Web clients to site replica
– E.g., URL rewriting, HTTP redirection, or DNS
• Reliable root DNS servers
– Direct DNS queries to nearby DNS server
– E.g., IP anycast
Improving IP Anycast
• Improvements
– Considering network and server load
– Ensuring successive packets reach same replica
• Anycast proxies
– Proxies announce common IP prefix
– And tunnel packets to group members
• Route control platforms
– Collects networks and server load information
– Determines which replica receives the requests
Other Uses of Anycast-Like BGP
Prefix Announcements
Evolvability: Opt-In to Partially Deployed Solution
• New protocol partially deployed as overlay
– E.g., IPv6
• Nodes announce common IP prefix
– To suck user traffic into the overlay
• Participating host tunnels its traffic
Mobility: Dynamic Announcements & Withdrawals
• Boeing Connexion service
12.78.3.0/24
Internet
http://www.nanog.org/mtg-0405/abarbanel.html
Security: Hijacking the Hijacker
• Prevent BGP route hijacking
– Group of nodes collectively announce prefix
– And form overlay to deliver to the destination
12.1.0.0/16
Tries to
hijack
http://www.cs.princeton.edu/research/techreps/TR-808-07
Discussion
• Application vs. IP anycast
– Early binding vs. late binding?
• Granularity of naming and addressing?
– Services, hosts, or ASes?
• Handling change in replica selection?
– Unplanned: failure and physical mobility
– Planned: maintenance, load balancing, migration
• Protecting health of the Internet?
– DNS abuse (with small, cache-busting TTLs)
– BGP abuse (with many prefixes and updates)
Next Class, on Thursday
• I will be out of town
– At NSF serving on a proposal review panel
• Guest lecture by Changhoon Kim
– Scalable Ethernet architecture for large enterprises
– Flat addressing, separating host name and
location, route caching, reactive cache invalidation