EE 122: Lecture 22 (Overlay Networks) Ion Stoica November 27, 2001
Motivations Changes in the network happen very slowly Why? Internet network is a shared infrastructure; need to achieve consensus (IETF) Many of proposals require to change a large number of routers (e.g., IP Multicast, QoS); otherwise end-users won’t benefit Proposed changes that haven’t happened yet on large scale: Congestion (RED ‘93); More Addresses (IPv6 ‘91) Security (IPSEC ‘93); Multi-point (IP multicast ‘90) istoica@cs.berkeley.edu
Motivations (cont’d) One size does not fit all Applications need different levels of Reliability Performance (latency) Security Access control (e.g., who is allowed to join a multicast group) … istoica@cs.berkeley.edu
Goals Make it easy to deploy new functionalities in the network accelerate the pace of innovation Allow users to customize their service istoica@cs.berkeley.edu
Solution Deploy processing in the network Have packets processed as they traverse the network AS-1 IP Overlay Network (over IP) AS-1 istoica@cs.berkeley.edu
Examples Overlay multicast Increase robustness and performance Content Distribution Networks (CDNs) istoica@cs.berkeley.edu
Motivations: IP Multicast Problems Scalability with number of groups Routers need to maintain per-group state Aggregation of multicast addresses is complicated Supporting higher level functionality is difficult IP Multicast: best-effort multi-point delivery service Reliability and congestion control for IP Multicast complicated Need to deal with heterogeneous receiver negotiation hard istoica@cs.berkeley.edu
Approach Provide IP multicast functionality above the IP layer application level multicast Challenge: do this efficiently Projects: Narada Overcast Scattercast Yoid … istoica@cs.berkeley.edu
Narada [Yang-hua et al, 2000] Multi-source multicast Involves only end hosts Small group sizes <= hundreds of nodes Typical application: chat istoica@cs.berkeley.edu
Narada (cont’d) Overlay Tree Gatech Stanford Stan1 Stan2 Berk1 CMU Berk1 Berkeley Berk2 Overlay Tree Stan1 Gatech Stan2 CMU Berk1 Berk2 istoica@cs.berkeley.edu
Discussion Scalability (# of groups) Easier to deploy Routers do not maintain per-group state End systems do, but they participate in very few groups Easier to deploy Potentially simplifies support for higher level functionality Leverage computation and storage of end systems For example, for buffering packets, transcoding, ACK aggregation Leverage solutions for unicast congestion control and reliability Scalability (# of receivers) still an open issue Other solutions (e.g., Overcast) are scalable but not as flexible: typically assume single-source multicast trees istoica@cs.berkeley.edu
Examples Overlay multicast Increase robustness and performance Content Distribution Networks (CDNs) istoica@cs.berkeley.edu
Motivation Routing in the Internet is not optimal with respect to Why? Performance: packets do not necessary propagate along the shortest path Robustness: two nodes may not be able to communicate although there is a path between them Why? istoica@cs.berkeley.edu
Solution Control routing at the application level Projects Resilient Overlay Networks Detour istoica@cs.berkeley.edu
Resilient Overlay Networks [Anderson et al, 2001] Make the end to end communication more robust Each node monitor the network conditions to every other node by periodically probing the network If node n1 cannot reach n2 directly, try to reach it through an intermediate node n3 Intended application: robust communication in a small group (<= 50, 60 nodes) istoica@cs.berkeley.edu
Resilient Overlay Networks (cont’d) N1 can no longer communicate directly to N2 N2 N1 istoica@cs.berkeley.edu
Resilient Overlay Networks (cont’d) Find a node N3 such that N1 can communicate with N3 and N3 with N2 N2 N1 istoica@cs.berkeley.edu
Discussion Find an alternate path in most cases when two nodes cannot communicate directly’ Can be used to provide better delay and bandwidth than the direct IP route between two nodes Scalability still an open issue istoica@cs.berkeley.edu
Examples Overlay multicast Increase robustness and performance Content Distribution Networks (CDNs) istoica@cs.berkeley.edu
Motivations Today’s Internet is not optimized for Web traffic Many clients transfer the same information (e.g., CNN front page, software downloads) Identical files are transferred over and over again IP multicast not a solution: Users don’t access the same info at the same time Users have widely different capabilities: Communication: cable modem vs. dial up modem Display: high-resolution workstation monitor vs. Palm Pilot … istoica@cs.berkeley.edu
Solution Have nodes inside the network that store and process the documents Examples: web caching, transcoding istoica@cs.berkeley.edu
“Base-line” Solution Many clients transfer same information Generate unnecessary server and network load Clients experience unnecessary latency Server Backbone ISP ISP-1 ISP-2 Clients istoica@cs.berkeley.edu
Reverse Caches Cache documents close to server decrease server load Typically done by content providers Server Reverse caches Backbone ISP ISP-1 ISP-2 Clients istoica@cs.berkeley.edu
Forward Proxies Cache documents close to clients reduce network traffic and decrease latency Typically done by ISPs or corporate LANs Server Reverse caches Backbone ISP ISP-1 ISP-2 Forward caches Clients istoica@cs.berkeley.edu
Content Distribution Networks (CDNs) Integrate forward and reverse caching functionalities into one overlay network (usually) administrated by one entity Example: Akamai Documents are cached both As a result of clients’ requests (pull) Pushed in the expectation of a high access rate Beside caching do processing, e.g., Handle dynamic web pages Transcoding istoica@cs.berkeley.edu
CDNs (cont’d) Server CDN Backbone ISP ISP-1 ISP-2 Forward caches Clients istoica@cs.berkeley.edu
Discussion CDNs were developed to efficiently handle today’s web traffic Relive server and network load Perform load balancing, caching Increase client performance Process data according to clients needs A basic technique that makes CDNs possible is redirection (see HTTP). How? istoica@cs.berkeley.edu
Conclusions Overlay networks allow to deploy new services in the network today, e.g., Multicast, CDNs Can increase network robustness and client perceived performance, e.g., RON, CDNs Challenges Efficiency A packet may need to be processed above transport layer before reaching the destination Path followed by the packet might be worse than the direct IP route Scalability istoica@cs.berkeley.edu