Indirection. science can be solved by adding another level of indirection" -- Butler Lampson. "Every problem in computer

Similar documents
Distributed Systems 19. Content Delivery Networks (CDN) Paul Krzyzanowski

How To Understand The Power Of A Content Delivery Network (Cdn)

Distributed Systems. 24. Content Delivery Networks (CDN) 2013 Paul Krzyzanowski. Rutgers University. Fall 2013

Measuring the Web: Part I - - Content Delivery Networks. Prof. Anja Feldmann, Ph.D. Dr. Ramin Khalili Georgios Smaragdakis, PhD

Distributed Systems. 23. Content Delivery Networks (CDN) Paul Krzyzanowski. Rutgers University. Fall 2015

Internet Content Distribution

Distributed Systems. 25. Content Delivery Networks (CDN) 2014 Paul Krzyzanowski. Rutgers University. Fall 2014

802.11: Mobility Within Same Subnet

Multicast vs. P2P for content distribution

Content Delivery Networks (CDN) Dr. Yingwu Zhu

Overview. Tor Circuit Setup (1) Tor Anonymity Network

CDN and Traffic-structure

Akamai CDN, IPv6 and DNS security. Christian Kaufmann Akamai Technologies DENOG 5 14 th November 2013

Demystifying CDNs: Building Video Enabled Networks That Maintain Your Network Integrity And Meet User Demand

The old Internet. Software in the Network: Outline. Traditional Design. 1) Basic Caching. The Arrival of Software (in the network)

IP Multicasting. Applications with multiple receivers

Introduction to IP v6

Data Center Content Delivery Network

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. Caching, Content Distribution and Load Balancing

Web Caching and CDNs. Aditya Akella

From Internet Data Centers to Data Centers in the Cloud

Content Delivery Networks

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

CSC2231: Akamai. Stefan Saroiu Department of Computer Science University of Toronto

8.2 The Internet Protocol

Content Delivery Networks. Shaxun Chen April 21, 2009

VXLAN: Scaling Data Center Capacity. White Paper

Review: Lecture 1 - Internet History

Experimentation with the YouTube Content Delivery Network (CDN)

Enabling Media Rich Curriculum with Content Delivery Networking

DNS, CDNs Weds March Lecture 13. What is the relationship between a domain name (e.g., youtube.com) and an IP address?

Overlay Networks. Slides adopted from Prof. Böszörményi, Distributed Systems, Summer 2004.

DATA COMMUNICATOIN NETWORKING

Making the Internet fast, reliable and secure. DE-CIX Customer Summit Steven Schecter <schecter@akamai.com>

The necessity of multicast for IPTV streaming

Intelligent Content Delivery Network (CDN) The New Generation of High-Quality Network

A DNS Reflection Method for Global Traffic Management

ICP. Cache Hierarchies. Squid. Squid Cache ICP Use. Squid. Squid

IPv6 Tunneling Over IPV4

BGP and Traffic Engineering with Akamai. Caglar Dabanoglu Akamai Technologies AfPIF 2015, Maputo, August 25th

The Effect of Caches for Mobile Broadband Internet Access

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS

Administrivia. CSMA/CA: Recap. Mobility Management. Mobility Management. Channel Partitioning, Random Access and Scheduling

IP Anycast: Point to (Any) Point Communications. Draft 0.3. Chris Metz, Introduction

Internet Peering, IPv6, and NATs. Mike Freedman V Networks

Internet, Part 2. 1) Session Initiating Protocol (SIP) 2) Quality of Service (QoS) support. 3) Mobility aspects (terminal vs. personal mobility)

Superior Disaster Recovery with Radware s Global Server Load Balancing (GSLB) Solution

Content Distribu-on Networks (CDNs)

Demand Routing in Network Layer for Load Balancing in Content Delivery Networks

CHAPTER 10 IP MULTICAST

BGP and Traffic Engineering with Akamai. Christian Kaufmann Akamai Technologies MENOG 14

Implementing Reverse Proxy Using Squid. Prepared By Visolve Squid Team

Globule: a Platform for Self-Replicating Web Documents

COMP 631: COMPUTER NETWORKS. How to distribute content without requiring centralized, heavy-duty servers? Peer-to-peer content distribution

Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application. Author: Fung, King Pong

Glossary of Technical Terms Related to IPv6

Akamai CDN, IPv6 and DNS security. Christian Kaufmann Akamai Technologies APNIC th August 2013

Introduction to IP Multicast Routing

Designing a Cloud Storage System

Content Distribution Networks (CDN)

Full Digital Contents Distribution to the Home using IPv6

DNS ROUND ROBIN HIGH-AVAILABILITY LOAD SHARING

The Value of Content Distribution Networks Mike Axelrod, Google Google Public

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

3. The Domain Name Service

Introduction to Automatic Multicast Tunneling as a Transition Strategy for Local Service Providers

IP and Mobility. Requirements to a Mobile IP. Terminology in Mobile IP

Computer Networks - CS132/EECS148 - Spring

Computer Networks. Wireless and Mobile Networks. László Böszörményi Computer Networks Mobile - 1

Teridion. Rethinking Network Performance. The Internet. Lightning Fast. Technical White Paper July,

Lecture 2 CS An example of a middleware service: DNS Domain Name System

Global Server Load Balancing

Guide to Network Defense and Countermeasures Third Edition. Chapter 2 TCP/IP

How To Model The Content Delivery Network (Cdn) From A Content Bridge To A Cloud (Cloud)

Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer)

Simple Solution for a Location Service. Naming vs. Locating Entities. Forwarding Pointers (2) Forwarding Pointers (1)

Content Networking Fundamentals

REVERSE ENGINEERING THE YOUTUBE VIDEO DELIVERY CLOUD. Vijay Kumar Adhikari, Sourabh Jain, Yingying Chen, and Zhi-Li Zhang

Mobile Routing. When a host moves, its point of attachment in the network changes. This is called a handoff.

Peer-to-Peer Networks. Chapter 6: P2P Content Distribution

The content delivery network (CDN): Delivering the ultimate Web experience

Efficient Parallel Distributed Load Balancing in Content Delivery Networks

Network Positioning System

Terminology. Internet Addressing System

Systems for Fun and Profit

Content Delivery Networks and their interconnection (tutorial) Dr. M. Oskar van Deventer

Why ISPs need SDN: SDN-based Network Service Chaining and Software-defined Multicast

VIA CONNECT PRO Deployment Guide

Transcription:

Indirection Indirection: rather than reference an entity directly, reference it ( indirectly ) via another entity, which in turn can or will access the original entity A x B "Every problem in computer science can be solved by adding another level of indirection" -- Butler Lampson 1

Multicast: One sender to many receivers Multicast: Act of sending datagram to multiple receivers with single transmit operation Analogy: One teacher to many students Question: How to achieve multicast Multicast routers (red) duplicate and forward multicast datagrams Network multicast Router actively participate in multicast, making copies of packets as needed and forwarding towards multicast receivers 2

Internet Multicast Service Model 128.59.16.12 128.119.40.186 multicast group 226.17.30.197 128.34.108.63 128.34.108.60 multicast group concept: use of indirection hosts addresses IP datagram to multicast group routers forward multicast datagrams to hosts that have joined that multicast group 3

Multicast groups Class D Internet addresses reserved for multicast: Host group semantics: o anyone can join (receive) multicast group o anyone can send to multicast group o no network-layer identification to hosts of members Needed: Infrastructure to deliver mcast-addressed datagrams to all hosts that have joined that multicast group 4

Joining a mcast group: Two-step process Local: Host informs local mcast router of desire to join group: IGMP (Internet Group Management Protocol) Wide area: Local router interacts with other routers to receive mcast datagram flow many protocols (e.g., DVMRP, MOSPF, PIM) IGMP IGMP wide-area multicast routing IGMP 5

Multicast via Indirection: Why? Don't need to individually address each member in the group: header savings Looks like unicast; application interface is simple, single group Abstraction, delegating works of implementation to the routers More scalable because, sender doesn't manage the group, as receivers are added, new receivers must do the work to add themselves 6

Mobility and Indirection How do you contact a mobile friend? Consider friend frequently changing addresses, how do you find her? Search all phone books? Call her parents? Expect her to let you know where he/she is? I wonder where Alice moved to? 7

Mobility and indirection: Mobile node moves from network to network Correspondents want to send packets to mobile node Two approaches: Indirect routing: Communication from correspondent to mobile goes through home agent, then forwarded to remote Direct routing: Correspondent gets foreign address of mobile, sends directly to mobile 8

Mobility: Vocabulary Home network: permanent home of mobile (e.g., 128.119.40/24) Home agent: entity that will perform mobility functions on behalf of mobile, when mobile is remote Permanent address: address in home network, can always be used to reach mobile e.g., 128.119.40.186 wide area network correspondent 9

Mobility: more vocabulary Permanent address: remains constant (e.g., 128.119.40.186) Visited network: network in which mobile currently resides (e.g., 79.129.13/24) Care-of-address: address in visited network. (e.g., 79,129.13.2) wide area network Correspondent: wants to communicate with mobile Foreign agent: entity in visited network that performs mobility functions on behalf of mobile. 10

Mobility: registration home network visited network wide area network foreign agent contacts home agent home: this mobile is resident in my network 2 1 mobile contacts foreign agent on entering visited network End result: Foreign agent knows about mobile Home agent knows location of mobile 11

Mobility via Indirect Routing home network home agent intercepts packets, forwards to foreign agent foreign agent receives packets, forwards to mobile 3 visited network correspondent addresses packets using home address of mobile 1 wide area network 2 4 mobile replies directly to correspondent 12

Indirect Routing: comments Mobile uses two addresses: Permanent address: used by correspondent (hence mobile location is transparent to correspondent) Care-of-address: used by home agent to forward datagrams to mobile Foreign agent functions may be done by mobile itself Triangle routing: correspondent-home-network-mobile Inefficient when correspondent, mobile are in same network 13

Indirect Routing: moving between networks Suppose mobile user moves to another network Registers with new foreign agent New foreign agent registers with home agent Home agent update care-of-address for mobile Packets continue to be forwarded to mobile (but with new care-of-address) Mobility, changing foreign networks transparent: Ongoing connections can be maintained! 14

Mobility via Direct Routing home network correspondent forwards to foreign agent foreign agent receives packets, forwards to mobile 4 visited network correspondent requests, receives foreign address of mobile 2 1 wide area network 3 4 mobile replies directly to correspondent 15

Mobility via Direct Routing: comments Overcome triangle routing problem Non-transparent to correspondent: Correspondent must get care-of-address from home agent What happens if mobile changes networks? 16

Mobile IP RFC 3220 Has many features we ve seen: home agents, foreign agents, foreign-agent registration, care-of-addresses, encapsulation (packet-within-a-packet) 3 components to standard: agent discovery registration with home agent indirect routing of datagrams 17

Mobility via indirection: Why indirection? Transparency to correspondent Mostly transparent to mobile (except that mobile must register with foreign agent) transparent to routers, rest of infrastructure potential concerns if egress filtering is in place in origin networks (since source IP address of mobile is its home address): spoofing? 18

Content Delivery Networks: Indirection with DNS 19

Internet Content Content is static web pages and documents images and videos, streaming, Content becomes more and more important! 500 exabytes (10 18 ) created in 2008 alone [Jacobson] Estimated inter-domain traffic rate: 39.8 TB/s [Labovitz] Annual growth rate of Internet traffic: ~40%-60% [Labovitz] Much of web growth due to video (Flash, RTSP, RTP, YouTube, etc.) How to deliver content? How to cope with growth of content? Following slides adapted from Wolfgang Mühlbauer 20

Application mix Source: Alexandre Gerber and Robert Doverspike. Traffic Types and Growth in Backbone Networks. AT&T Labs Research 2011. 21

Application mix in 2009 HTTP dominates Inside HTTP Flash-video dominates Images and RAR files next Source: Gregor Maier et al. On Dominant Characteristics of Residential Broadband Internet Traffic. IMC 2009. 22

Prevalence of CDNs 30 (out of ~30000) ASes contribute 30% of inter-domain traffic July 2009: CDNs originate at least 10% of all inter-domain traffic Top ten origin ASes in terms of traffic Source: Craig Labovitz et al. Internet Inter-Domain Traffic. SIGCOMM 2010. 23

Why not Serving Content from One s Own Site? Enormous demand for popular content Cannot be served from single server Bad performance Due to large distance: TCP-througput depends on RTT! Bad connectivity? Single point of failure High demand leads to crashes or high response times (e.g., flash crowds) High costs Bandwidth and disk space to serve large volumes (e.g., videos) content AS B AS C Download AS A consumer AS D AS E 24

Approaches to Content Delivery Idea: replicate content and serve it locally Centralized hosting Content distribution networks (CDN) Offload content delivery to large number of content servers Put content servers near end-users Peer-to-peer networks Replicate Download content from closest location In theory: infinite scalability Yet: download capacity throttled by uplink capacity of end users 25

Akamai A Large CDN Akamai (Hawaiian: intelligent ) Evolved out of MIT research effort: handle flash crowds > 70000 Servers located in 72 countries, > 1000 ASs Customers: Yahoo!, Airbus, Audi, BMW, Apple, Microsoft, etc. Why using Akamai? Content consumer: Fast download Content provider: Reduce infrastructure cost, quick and easy deployment of network services Task of CDNs: Serve content Static web content: HTML pages, embedded images, binaries Dynamic content: break page into fragments; assemble on Akamai server, fetch only noncacheable content from origin website: Applications: audio and video streaming 26

Akamai: Is the Idea Really That Novel? Local server cluster Bad if data center or upstream ISP fails Mirroring Deploying clusters in a few locations Each mirror must be able to carry all the load Multihoming Using multiple ISPs to connect to the Internet Each connection must be able to carry all the load Akamai vastly increases footprint monitors and controls their worldwide distributed servers directs user requests to appropriate servers handles failures 27

Akamai Relies on DNS Redirection Example: Access of Apple webpage (www.apple.com) Pictures are hosted by Akamai: images.apple.com Type: dig images.apple.com into your Linux shell [ ] ;; ANSWER SECTION: images.apple.com. 3016 IN CNAME images.apple.com.edgesuite.net. [more CNAME redirections] images.apple.com.edgesuite.net.globalredir.akadns.net. 2961 IN CNAME a199.gi3.akamai.net. a199.gi3.akamai.net. 10 IN A 184.84.182.56 a199.gi3.akamai.net. 10 IN A 184.84.182.66 [ ] DNS redirects request to DNS servers controlled by Akamai! 28

Akamai Deployment Edge server organized as content cluster in many Autonomous Systems multiple servers local low-level DNS server Client directed to closest server Content cluster Content cluster Content cluster Content cluster 29

How does Akamai work? (simplified) Root DNS Server Top-Level Domain DNS Server Apple Authoritative DNS Server www.apple.com? IP address www.apple.com? www.apple.com? Local DNS Server Normal web request: First DNS resolval Then HTTP connection www.apple.com? IP address Apple Web Server Web Client Slide adapted from Drafting Behind Akamai, Sigcomm 2006 30

How does Akamai work? (simplified) Root DNS Server Top-Level Domain DNS Server images.apple.com? DNS request for "Akamized" content: Results in CNAME Apple Authoritative Local DNS Server DNS Server CNAME: images.apple.com.edgesuite.net. images.apple.com? Apple Web Server Web Client Slide adapted from Drafting Behind Akamai, Sigcomm 2006 31

How does Akamai work? (simplified) Root DNS Server images.apple.com.edgesuite.net? Akamai High-Level DNS Server Top-Level Domain images.apple.com.edgesuite.net? DNS Server CNAME: a199.gi3.akmai.net images.apple.com? Apple Authoritative Local DNS Server DNS Server CNAME: images.apple.com.edgesuite.net. Akamai Low-Level DNS Server Apple Web Server images.apple.com? Web Client Akamai Edge Server Slide adapted from Drafting Behind Akamai, Sigcomm 2006 32

How does Akamai work? (simplified) Top-Level Domain DNS Server Root DNS Server a199.gi3.akmai.net? Akamai High-Level DNS Server images.apple.com.edgesuite.net? CNAME: a199.gi3.akmai.net images.apple.com? a199.gi3.akamai.net? Apple Authoritative DNS Server Apple Web Server CNAME: images.apple.com.edgesuite.net. images.apple.com? 2 IP addresses of Akamai Low-Level Local DNS Server Akamai edge servers DNS Server Web Client 2 IP addresses of Akamai edge servers fetch image files Akamai Edge Server Slide adapted from Drafting Behind Akamai, Sigcomm 2006 33

Two-level server assignment Akamai top-level DNS server Anycasted Selects location of best content cluster Delegates to content cluster s low-level name server TTL 1 hour Akamai low-level server Return IP addresses of servers that can satisfy the request: consistent hashing TTL 20 seconds: quick adoption to load conditions Most CDNs use similar techniques Some CDNs rely on Anycast to send traffic to closest content server (e.g., Limelight) 34

What is the best location? Service requested Server must be able to satisfy the request (e.g., QuickTime stream) Server health Up and running without errors Server load Server s CPU, disk, and network utilization Network condition minimal packet loss to client, sufficient bandwidth to handle requests Client location Server should be close to client, e.g., in terms of RTT 35

Indirection: Summary We ve seen indirection used in many ways: Multicast Mobility CDNs The uses of indirection: Sender does not need to know receiver id do not want sender to know intermediary identities Load balancing Beauty, grace, elegance Transparency of indirection is important Performance: Is it more efficient? 36