Content-Distribution Networks (March 1)

advertisement
Caching and Content Distribution
Networks
Web Caching
r As an example, we use the web to illustrate
caching and other related issues
request
browser
response
browser
request
Web Proxy
Web
server
request
cache
response
response
Web
server
Web Browser Caching
Web browsers have their own caches. When a
page is downloaded from a site the web page is put
into the browser cache.
This is especially useful in those cases when the
back button is pressed.
If a new copy is needed then a “refresh” can be
done.
No page stays permanently in the cache. There is
limited room.
A replacement algorithm is needed to determine which
cached page should be purged.
Why Web Server Caching
Latency
Reduce latency
Request does not require going to the server
Request is served from the client side which
means that network communication is avoided
Reduce traffic
Consistency
What if the page changes after saved in
the cache?
This means that cached copy is out of date
The copy and the original are not consistent
There are different strategies for dealing
with this
Web Browser Caching
u
Client pull
The server provides the content with instructions on
when the client should ask for a refreshed copy of the
content or if the content should be cached.
Server push
The server transmits page information to the screen.
The browser application displays the information and
leaves the connection to the server open.
With an open connection, the server can continue to push
updated pages for your screen to display on an ongoing
basis. You can close the connection by closing the page.
The server is in control
Browser caches are different from proxy caches (discussed
next).
Web Caching
Proxy caches (also called proxy server)
Intercepts HTTP requests from client
• Serves object if in its cache and the date is still valid
• If not go to object’s home server
– On behalf of user, gets the object and possibly deposits in
its cache before returning to user
• Usually deployed at edges of a network
– Wide area bandwidth savings, improved response time and
increased availability of static web-based objects
A browser may have to be configured to point to
the proxy server.
Usually a proxy cache is purchased and installed by
an organization
Web Caching
Not all web pages can be cached
If the Last-Modified tag then page can be
cached
Refresh is often done when
There is a request; and
Expiry time has passed
Cooperative Caching
Caching infrastructure can have multiple
web proxies
Proxies can be arranged in a hierarchy or other
structures
Proxies can cooperate with one another
• Answer client requests
• Propagate server notifications
Uses a combination of HTTP and ICP (Internet
Caching Protocol).
• ICP can be used by one cache to quickly ask another
cache if it has an object.
• HTTP is used to actually retrieve the object.
Problems
Caching proxies do not serve all Internet
users
Content providers (say, Web servers)
cannot rely on existence and correct
implementation of caching proxies.
Accounting issues with caching proxies:
Example: www.cnn.com needs to know the
number of hits to the advertisements displayed
on the web page.
Content Distribution Networks
(CDN)
Business Model: A content provider such as
www.cnn.com or Yahoo pays a CDN company
(such as Akamai) to get its content to the
requesting users with short delays.
A CDN provides a mechanism for
Replicating content on multiple servers in
the Internet
Providing clients with a means to
determine the servers that can deliver
the content fastest.
Terminology
Content: Any publicly accessible combination
of text, images, applets, frames, MP3, video,
flash, virtual reality objects, etc.
Content Provider: Any individual, organization,
or company that has content that it wishes to
make available to users.
Origin Server: Content provider’s server ,
where the content is first uploaded.
Surrogate Server (sometimes called edge
server): Content distributor’s server, where
the replicated content is kept.
Players
Yahoo,
MSNBC, Content Provider
CNN
CBC
Cisco,
OracleSun
H/W and S/W
Vendor
Content
Distributor
Akamai,
Hosting
Provider
Bell
14
CDN Distribution
Content providers are CDN
customers
origin server
in North America
Content replication
CDN company installs
thousands of servers
throughout Internet
In large datacenters
Or, close to users
CDN replicates customers’
content
When provider updates
content, CDN updates servers
CDN distribution node
CDN server
CDN server
in S. America CDN server
in Asia
in Europe
CDN: Functional Components
Distribution Service
Redirection Service
Accounting and Billing system
CDN:Distribution Service
The content provider determines which of
its objects it wants the CDN to distribute.
The content provider tags and then pushes
this content to a CDN node, which in turn
replicates and pushes the content to all its
CDN servers.
CDN: Redirection
When a browser in a user’s host is
instructed to retrieve a specific object
(specified using a URL), how does the
browser determine whether it should
retrieve the object from the origin server
or from one of the CDN servers?
As an example, suppose the hostname of
the content provider is www.cnn.com
18
How Akamai Works
cnn.com (content provider) DNS root server
GET
index.
html
1
http://a.73.g.akamai.net/7/23/
2 cnn.com/af/cnn.com/foo.jpg
HTTP
End-user
Akamai global
DNS server
Akamai
cluster
Akamai regional
DNS server
Nearby
Akamai
cluster
CDN: Redirection
Users get an html document from
www.cnn.com; this could be index.html
The file index.html uses a modified URL for
content that has been replicated.
Example: If the jpeg files are what has been
replicated then
<img src=“http://cnn.com/af/foo.jpg>
may be modified as follows:
<img
src=http://a73.g.akamai.net/7/23/cnn.com/af/foo.j
pg>
The browser needs to resolve a73.g.akamai.net
CDN: Redirection
What does this mean?
<img
src=http://a73.g.akamai.net/7/23/cnn.com/af/foo.j
pg>
host part: a73.g.akamai.net
Akamai control part: /7/23
Content URL: /af/foo.jpg
CDN: Redirection
DNS is configured so that all queries about
g.akamai.net that arrive at a DNS server are sent
to an authoritative DNS server for g.akamai.net.
This is referred to as a Akamai DNS server
(authoritative DNS server)
How Akamai Works
cnn.com (content provider) DNS root server
DNS lookup
cache.cnn.com
1
2
Akamai global
DNS server
3
4 ALIAS:
g.akamai.net
End-user
Akamai
cluster
Akamai regional
DNS server
Nearby
Akamai
cluster
CDN: Redirection
DNS is configured so that all queries about
g.akamai.net that arrive at a DNS server are sent
to an authoritative DNS server for g.akamai.net.
This is referred to as a Akamai DNS server
(authoritative DNS server)
.
When the Akamai DNS server receives the query,
it extracts the IP address of the requesting
browser.
How Akamai Works
cnn.com (content provider) DNS root server
DNS lookup
g.akamai.net
P
1
2
5
3
4
6
ALIAS
a73.g.akamai.net
End-user
Akamai global
DNS server
Akamai
cluster
Akamai regional
DNS server
Nearby
Akamai
cluster
CDN: Redirection
Based on the IP address and information that it
has about the Internet (called a map), the IP
address of an Akamai regional server is returned
to the requesting browser based on policy
e.g., select the server that is the fewest hops away.
The regional server may choose a surrogate server
for content retrieval
How Akamai Works
cnn.com (content provider) DNS root server
1
HTTP
2
Akamai global
DNS server
5
3
6
4
7
Akamai
cluster
Akamai regional
DNS server
8
Address
1.2.3.4
End-user
Nearby
Akamai
cluster
How Akamai Works
cnn.com (content provider) DNS root server
1
HTTP
2
Akamai global
DNS server
5
3
6
4
7
Akamai
cluster
Akamai regional
DNS server
8
9
End-user
GET /foo.jpg
Host: cache.cnn.com
Nearby
Akamai
cluster
How Akamai Works
cnn.com (content provider) DNS root server
GET foo.jpg
11
12
1
HTTP
2
Akamai global
DNS server
5
3
6
4
7
Akamai
cluster
Akamai regional
DNS server
8
9
End-user
GET /foo.jpg
Host: cache.cnn.com
Nearby
Akamai
cluster
CDN Redirection
The Akamai DNS server IP address is now
in the cache of the local DNS server.
This implies that it is not always
necessary to go to the root DNS server.
The TTL associated with the IP address of
an Akamai server(surrogate) is relatively
small.
This is done for performance reasons.
Akamai content distribution servers are
caches
CDN Redirection
What if content is not there?
If the request content is not found then the
surrogate will ask other surrogates within a
specified region for information.
If requested information is still not found or is
stale, then a request is made to the original web
site.
CDN Selection
The tricky issue is selecting which local
content server to use for a particular
request
Want to spread load evenly
Want minimal impact if server is added or
removed.
In Akamai, each surrogate server sends
measurement results to the Network
Operations Communications Center (NOCC).
Measurement results include number of active
TCP connections, HTTP request arrival rate,
bandwidth availability, etc
This information is used by the Akamai DNS
server.
Accounting Mechanism
Accounting mechanisms collect and track
information related to request routing,
distribution and delivery.
Information is gathered in real time and
put into log files for each CDN component.
This gets sent to the Network Operations
Communications Center (NOCC).
Full Site Delivery vs. Partial
Site Delivery
Full Site Delivery : All the contents are
delivered by the CDN (including HTML,
images, and other objects).
Partial Site delivery: Only images,
streaming media and other bandwidth
intensive objects delivered by the CDN.
Current Akamai Customers
Summary
We have examined replication and issues
related to the design and implementation
of a replicated system.
Many choices and tradeoffs to consider
Download