* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download overlays
Backpressure routing wikipedia , lookup
Remote Desktop Services wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Network tap wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Distributed firewall wikipedia , lookup
Computer network wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Airborne Networking wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks CS 640 1 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 2 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 3 End System Multicast Cont. • Using unicast naïvely is not efficient: A C R1 R2 B D • Optimal, by DVMRP: A C R1 R2 B D • The best we can get with end system multicast: A C R1 B R2 CS 640 D 4 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 5 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 6 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 7 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 8 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 9