170 likes | 309 Views
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
E N D
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
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
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