Anycast Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm
Naming and Addressing Some definitions –Name: what we seek –Address: where it is located Examples –Wide area: vs –LAN: vs. 00:16:CF:1C:D0:24 What should we name and address? –Objects: –Hosts: or –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 –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
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., to
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 Internet /24
Security: Hijacking the Hijacker Prevent BGP route hijacking –Group of nodes collectively announce prefix –And form overlay to deliver to the destination /16 Tries to hijack
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