100 likes | 124 Views
Learn how routing overlays, resilient overlays, and content distribution networks work in CS 640. Explore the importance of end-system multicast and managing overlays for efficient network performance. Discover alternative routes and policies for optimal content delivery.
E N D
Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks CS 640
Overlay Networks Overview • Logical network on top of the physical network • Underlying idea: Let the applications make their own forwarding decisions • Enables us to introduce new functionality into the network • How it works: • Each node processes and forwards packets in an application specific way • The links are implemented as tunnels *Image from: http://www.cs.virginia.edu/~mngroup/hypercast/general.html CS 640
Routing Overlays • Can we try routing algorithms not supported by router vendors? • YES! Using Overlays. • Experimental Versions of IP • IP multicast deployed in Mbone and 6BONE as an overlay • Multicast-aware routers tunnel through legacy routers • End System Multicast • Lets the end hosts implement their own multicast trees • The goal is to find the embedded multicast tree that spans all group members CS 640
End System Multicast Cont. • Using unicast naïvely is not efficient: • Optimal, by DVMRP: • The best we can get with end system multicast: A A C C R1 R1 R2 R2 B B D D A C R1 R2 B D CS 640
Managing the Overlay • For joining the network, the host needs to know the IP address of at least one other node in the network • A connected node sends periodic “keep alive” message to its neighbors • Each node exchanges the list of all nodes that it knows of with its neighbors • These messages propagate through the mesh similar to the Distance Vector algorithm • Before leaving the mesh, a node sends a “leave mesh” message to its neighbors • Once a node detects a partition, it creates a new edge by sending a “join mesh” message • End hosts measure the round-trip latency to other nodes • Add new links or drop links based on these measurements CS 640
Resilient Overlay Networks • Idea: To find alternative routes for traditional unicast applications • Why do we need alternative routes? • BGP Does not guarantee shortest paths • Tradeoff: • Getting optimal routes vs. scalability • BGP scales well, but does not give optimal routes • RON can give optimal routes, but does not scale well • The bad: Needs active monitoring of links -> Expensive • Monitors Latency, available bandwidth, and loss probability • The good: Fast recovery from network failures CS 640
Content Distribution Networks • CDNs use replication to overcome bottlenecks in the underlying system • Geographically distribute server surrogates that cache pages in backend servers • Helps increase response time in flash crowds • Data distribution • Servers proactively replicate their data across surrogates • If a surrogate does not have a page, it asks the backend server • Only static and not dynamic pages are distributed CS 640
Redirectors • Redirectors forward client requests to the appropriate server. • Objective is to • Reduce response time • Maximize system throughput: # Requests satisfied in a specific period • Implementing Redirection • DNS-based: Augment DNS to return different addresses. • This requires use of short TTLs. • Http redirect: The server responds with a new/better server • Incurs an additional round-trip latency • Servers can be overloaded with the redirection task CS 640
Policies • Naïve: Round Robin, or select servers randomly • Network proximity: Minimize response time • One way to implement is to choose servers from the same ISP as the client • Balance the load: Maximize system throughput • Locality: Select a server that is likely to have the page in cache • One way to implement is to use hashing to map URLs to servers • Finding the right balance between these criterion is a subject of ongoing research. CS 640