OARnet Akamai Technologies - Distributed Content
Download
Report
Transcript OARnet Akamai Technologies - Distributed Content
OARtech
Patrick W. Gilmore
[email protected], [email protected]
April 11, 2001
Agenda
Who is Akamai?
– Akamai’s Origins & Backgrounds
– Content Distribution Network
Edge Caches
– Akamai Accelerated Network Program
– Regions
– Buddy System
Agenda
Content Delivery
– Object Delivery
– Site Delivery
– Video Streaming
Mapping
– DNS
ä'•kuh•my
Who Is Akamai?
Akamai’s
Origins and Background
IPO on 10/29 raised $250M
• Based in Cambridge, MA
4th best in 1999
• Founded by MIT research team
– F. Thomson Leighton, Chief Scientist
– Danny Lewin, CTO
– Seeded in 1995 as an MIT research effort to improve
Internet’s content distribution problem
• Team of 1,300 world class professionals
• Investors: Apple ($12M), Microsoft ($15M) and
Cisco ($49M)
Current Akamai Customers
What is a Content Distribution
Network?
Akamai is a Content Distribution Network (CDN)
That’s nice, but what is a CDN?
– Three main components:
• Edge caches
• Content delivery
• Mapping
What is a CDN?
Edge Caches
– Working with ISPs and networks all over the world to
install edge caches
– More is better
Content Delivery
– Getting content to the edge
– Includes object, videos, and whole web sites
What is a CDN?
Mapping
– Akamai’s Secret Sauce
– Finding the closest edge server for each user
– Network proximity, not necessarily the same as
geographical proximity
How does Akamai’s CDN work?
How does a Akamai’s CDN work?
– All content must be hosted on an “origin server”
accessible to all edge caches
• Working on Hierarchy, some customers using now
– End users only speak to edge caches, not origin
server, to get distributed content
– Edge caches pull content once from origin server,
then deliver content to many end users
How does Akamai’s CDN work?
Why is this good?
– Allows nearly infinite scalability (if deployed properly)
– Good economies at large scales
– Avoids congestion and long latency
• Speed of light issues, undersea fiber, etc.
– Extremely reliable
• Mitigates some DoS attacks
• Massive redundancy
Edge Caches
Akamai Accelerated Network
Program (AANP)
What is the Akamai Accelerated Network Program?
– Gives free edge caches to qualified networks
• Internet Service Providers
• Educational Institutions (usually Universities and
K-12)
• Government networks
• Anyone else with “eyeballs”
AANP Benefits
Performance
– Content served locally, increasing performance
Bandwidth Savings
– Saves money on upstream, reduces congestion
Reliability
– A cache on a local LAN is more reliable than a web
server on the Internet
Interoperability
– No routing or DNS changes, already using it today
AANP Benefits
No Cost – FREE!!
– Akamai pays for all equipment, shipping, etc.
Easy to implement
– Each Cache is just another another host on the LAN
Akamai Support
– 24 x 7 NOC
Co-Marketing
– Logo use, press releases, trade shows, etc.
“Region” – set of edge caches
All Regions
– Intel based rack-mount PCs
HTTP Regions
– Linux based server
– Proprietary HTTP server / cache
Streaming Regions
– Shrink wrapped software installed on our servers
– Linux used for QT & Real
– Win2K used for WMT
Regions
Server Configuration
– Dual Pentium III processors
– Gigabyte of RAM
– Two or four SCSI hard drives
– Two 100BaseT network cards
Additional Hardware
– Ethernet switch(es)
• 100BaseT or Gigabit ethernet uplinks
– Patch Cables
Buddy System
Each server has two public IP addresses
– “Service” address
• This is the address given to end users who want
to retrieve content
– “Physical” address
• This is the address used to manage and test the
server
• If the physical address is not responding, the box
is considered to be down
Buddy System
Server Failure
– Servers do fail occasionally
– Each server has a “buddy” which is constantly
trading hellos with the physical address
– When a server stops responding to hellos, its buddy
will respond to requests directed at the failed
server’s service address
– Users in the middle of a download may have to hit
“reload”
– No one else will notice any interruption
Content Delivery
Possible bottlenecks on the
Internet
Last Mile
Problem
First Mile
Problem
End User
Host Server
Internet
Peering
Problem
Backbone
Problem
Process Flow
XYZ
1
1. User wants to download distributed web content
Process Flow
XYZ
2
1
2. User is directed through Akamai’s dynamic mapping to the
“closest” edge cache
Process Flow
XYZ
2
1
3
3. Edge cache searches local hard drive for content
Process Flow
XYZ
3a
2
1
3
3a
3b. If requested object is not on local hard drive, edge cache checks
other edge caches in same region for object
Process Flow
3b
XYZ
3a
2
1
3
3a
3b. If requested object is not cached or not fresh, edge cache sends
an HTTP GET the origin server
Process Flow
XYZ
3b
3a
2
1
3c
3
3a
3c. Origin server delivers object to edge cache over optimized
connection
Process Flow
XYZ
3b
3a
2
3c
3
1
4
3a
4. Edge server delivers content to end user
The Old Internet
The New Internet with Akamai
Case Study on Reliability and
Scalability: The 2000 Election
Customer Visits (Millions)
22
20
17
15
12
Crash Zone
Without Akamai
this site could not
have served
customers above
their crash zone
10
7
5
2
0
Time
How a Non-Akamaized
Website Works
Customer Web
Server
End User
enters
Customer’s Web
User’s browser
Objects served
1User
2
3
4
standard URL
Server returns
requests embedded
with round trips
www.customer.com
HTML with
embedded URLs
objects from customer
Web server
<img src=/images/logo.gif>
across the Internet
FreeFlow – Akamai’s Object
Delivery Service
HTTP request
user enters standard URL
HTTP request
for embedded
content
Akamai
Server
Client’s
Servers
HTML code
contains Akamai URLs (ARL)
Content Served
Locally
Example ARL: img src=
a1000.g.akamai.net/…/www.customer.com/images/logo.gif
EdgeSuite – Akamai’s Site
Delivery Service
Customer CNAME’s (aliases) www.customer.com
– Anyone looking up www.customer.com will be
redirected to an Akamai hostname “customer.d4p.net”
• No, I do not know why we use “d4p.net”.
– customer.d4p.net is CNAME’d to aXXX.g.akamai.net
– Standard Akamai mapping magic sends returns the
closest edge server for aXXX.g.akamai.net
EdgeSuite – Akamai’s Site
Delivery Service
End user never communicates with origin server
– Akamai retrieves content from private hostname
• Something like “origin.customer.com”
– High reliability
• Thousands of servers backing each other up
• If one geographic area is disabled, no other area
will be affected
• Mitigates some DoS attacks
EdgeSuite – Akamai’s Site
Delivery Service
Uncacheable content is tunneled back to origin
– Can reduce need for tunneling with server-side
scripts running on edge caches
Persistent TCP connections increase performance
– Helps with downloading of objects to end caches
– Helps with tunneling to origin
– (More on this later)
Video on Demand
Akamai uses HTTP to transit content to edge caches
– Allows lossless transport of content to edge
– Origin server does not need streaming software,
licenses, etc.
– HTTP 1.1 byte-range request used to pull only required
data
User connects to edge cache with streaming protocol
– Content is streamed in native format from cache to user
– User experience is enhanced through “origin” file
available on a “close” server
Live
Akamai uses UDP to transit content to edge caches
– Proprietary reflector network of servers
– Akamai translates all streaming formats into UDP
– Propagates live stream through reflector network
Akamai Streaming Accomplishments:
– First 1 Mbps stream live stream fed over public
Internet
– Single largest streaming event in Internet history
• Broke own record 3 times
Live “SteadyStream”
User connects to edge cache with streaming protocol
– Edge cache “subscribes” to reflector network to
receive live streaming content
– Three streams are delivered to each edge cache
– Packet loss is eliminated through redundancy
– Content is streamed from edge cache to user
Entry Point
Encoding
Top-level refelectors
4
3
4
Dropped packets don’t
3
X
degrade stream to regions 2
1
X4
3
Lost connections don’t
X
2 2
degrade stream to regions
1 X
X
X1
Regions
4
3
2
1
Akamai SteadyStreamSM
technology can deliver
streams reliably to the
edge with effectively 0%
packet loss.
Live
Pros:
– Allows global distribution of real-time video
– Users can connect anywhere and get good video quality
over public Internet
Cons:
– Each region must have 3 users for effective bandwidth use
– If streaming rate is > 1/3 access bandwidth to edge cache,
congestion will occur
– Reflector network uses bandwidth even if no users connect
QuickTime Streaming via HTTP
Akamai can deliver Apple’s QuickTime files via HTTP
– Delivered over HTTP caching network
– HTTP network is more widely deployed than
streaming networks
– Packet loss is eliminated
– Only good for VoD
– More overhead than streaming protocols (uses TCP)
Live Streaming Over Satellite
Network
Satellite Uplink Facility
Uplink
platform
Satellite
Akamai Servers
ISP/Network Datacenter
Satellite DVB Receiver
Internet
Akamai Switch
Akamai Streaming Servers
IP Encoded Stream
To ISP Subscribers
x
Core Hierarchy Regions
XYZ
1.
User requests content and is mapped to optimal edge Akamai server
Core Hierarchy Regions
XYZ
2. If content is not present in the region, it is requested from most optimal core region
Core Hierarchy Regions
XYZ
3. Core region makes one request back to origin server
Core Hierarchy Regions
XYZ
4. Core region can serve many edge regions with one request to origin server
Core Hierarch Features
Reduces traffic back to origin server
– Reduces infrastructure needs of customer
– Provides best protection against flash crowds
• Especially important for large files (e.g. Operating
System updates or video files)
Improved end-user response time
– Core regions are well connected
– Optimized connection speeds object delivery
Persistent TCP connections
Avoids TCP slow-start and connection set up
– Each TCP connection has to be set up with three
packets
– Once set up, a TCP connection starts at a low
speed, and increases speed during connection
• Many web connections do not last long enough to
reach top speed
Persistent TCP connections
Reduces load on origin server
– Maintain connections to a small set of Akamai
servers instead of millions of end users
– No new connections to be negotiated
• Setting up a new connection is significantly more
CPU intensive than maintaining an existing
connection
Mapping
Mapping
Mapping algorithms
– Heart of Akamai’s secret sauce
– Directs end users to connect to nearest edge cache
– Uses DNS to direct users to closest edge cache
– Completely transparent to networks and end users –
you are already using it today for the world’s most
popular web sites
Mapping
Mapping algorithms
– Three main components to finding “closest” edge
cache to end user from a Network point of view:
• Packet Loss
• Throughput
• Latency
– Listed in order of importance (roughly)
Mapping
Mapping algorithms
– Mapping also takes into account edge cache
performance
• Does a server have an object on its hard drive?
– Uses consistent hashing algorithm (patent pending)
• Does the edge cache have CPU, RAM,
bandwidth, etc. available to serve end-user?
Mapping
Which is the best Akamai server to serve this end user?
Mapping
Name Resolution
– Computer asks local name server for
IP address which matches hostname
– Name will either be aXXX.g.akamai.net
or an alias of that
Local Name Server
Mapping
Global Top Level Domain Server
gTLD Servers
– Local name server asks the global Top
Level Domain (gTLD) servers who is
authoritative for domain “akamai.net”
Local Name Server
Mapping
HLNS
Root Name
Servers
15 minutes
Akamai High-Level name Servers
Local Name Server
– gTLD servers point local name server at
Akamai High-Level name servers
(HLNS)
– Local name server requests IP address
of aXXX.g.akamai.net from HLNS
Mapping
HLNS
Root Name
Servers
15 minutes
Akamai High-Level name Servers
Local Name Server
– HLNS looks at IP address of local
name server and returns a subdelegation for “g.akamai.net” pointing
at a close Low Level name server
(LLNS)
Mapping
Sub-Delegation
– Standard part of Domain Name System
– Tells local name server “I do not know aXXX, but
g.akamai.net is at this IP address”
– Local name server automatically asks LLNS for IP
address – transparent to end user
Mapping
Mapping based on Local Name Server IP address
– Note that the Akamai system has not seen the IP
address of the end user
– Leads to a small percentage of sub-optimally
mapped end users
– Working on ways around this
• Auto-Akamaizer
• Dynamic HTML in EdgeSuite
• Others
Mapping
HLNS
– HLNS has a “map” or matrix of IP blocks to LLNS
• Map weighs network proximity heavily, using
geography only when all else is equal
– HLNS “map” of network conditions is refreshed every
15-20 minutes
– Downed servers updated more frequently –
approximately every minute
• Handled through Overflow Controller
Mapping
Time To Live
– Every time an IP address is returned to a name
server, it is accompanied with a Time To Live (TTL)
– Akamai returns the sub-delegation with a TTL of
approximately 20 minutes
Mapping
LLNS
Root Name
Servers
15 minutes
Akamai High-Level DNS Servers
3-20 seconds
Local Name Server
Akamai Low-Level DNS Servers
– LLNS picks local Akamai server which is not busy to serve
content and returns that IP address
Mapping
LLNS
– Most edge caches do double duty as a LLNS
– At least one LLNS outside local region is returned
during sub-delegation to ensure end-user always
gets a response
– LLNS polls servers every 3 to 20 seconds for
availability, load, etc.
– At least two IP addresses are returned
Mapping
TTL
– The TTL of the final IP addresses is 20 seconds
– This means if a machine goes down, the local name
server will ask for a new IP address in 20 seconds
– During that 20 seconds, the buddy will take over for
the dead edge cache
– If an entire region goes dies (rack loses power, etc.),
the end user will experience a maximum of 20
seconds down time
Mapping
Which is the best Akamai server to serve this end user?
Root Name
Servers
15 minutes
Akamai High-Level DNS Servers
3-20 seconds
Local Name Server
Content
Served Locally
Best Akamai Server
for End User
Akamai Low-Level DNS Servers
Akamai \ ä'•kuh•my \ , adj. (Hawaiian)
1. Intelligent, clever.
2. “Cool.”
Thank You !!!
Questions