Upload
britton-harmon
View
218
Download
2
Embed Size (px)
DESCRIPTION
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 6403
Citation preview
CS 640 1
Overlay Networks
OutlineOverlay networks overviewRouting overlaysResilient Overlay NetworksContent Distribution Networks
*Image from: http://www.cs.virginia.edu/~mngroup/hypercast/general.html
CS 6402
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
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:
• Optimal, by DVMRP:
• The best we can get with end system multicast:
CS 640 4
A
B
C
DR1 R2
A
B
C
DR1 R2
A
B
C
DR1 R2
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