0% found this document useful (0 votes)
47 views

Chapter7 ApplicationLayer

Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

Chapter7 ApplicationLayer

Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 88

Application Layer

Chapter 7

• DNS – Domain Name System


• Electronic Mail
• The Web
• Streaming Audio and Video
• Content Delivery

Revised: August
2011
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
The Application Layer

Application
Uses transport services to build
Transport
distributed applications
Network
Link
Physical

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
DNS – Domain Name System

The DNS resolves high-level human readable


names for computers to low-level IP addresses

• DNS name space »


• Domain Resource records »
• Name servers »

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
The DNS Name Space (1)
DNS namespace is hierarchical from the root down
• Different parts delegated to different organizations
• Can register under multiple top-level domains
• Absolute domain names always end in a period, relative domain names do not
– Relative names have to be interpreted in a context to uniquely determine their meaning

250+ Top
Level
Domains:
1. Gene
ric
2. Coun
tries Second Level
Generic The computer robot.cs.washington.edu
Domains run by Registrars
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
appointed by ICANN
The DNS Name Space (2)

The Generic top-level


domains are controlled
by ICANN who appoints
registrars to run them

ICANN = Internet Corporation for


Assigned Names and Numbers

This one was controversial

To create a new domain, permission is required of the domain in which it will be included.
Naming follows organizational boundaries, not physical networks.
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Domain Resource Records (1)
Every domain (all levels) has its own DNS database that is comprised of Resource
Records.
Each Resource Record is a 5 tuple: Domain_Name, TTL, Class, Type, Value (page 616)
The key resource records in the namespace are IP addresses
(A/AAAA) and name servers (NS), but there are others too (e.g.,
MX)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Domain Resource Records (2)

Name server

IP addresses
of
computers

CNAME
and PTR
are aliases; CNAME
allows the same IP
address to have multiple
names; PTR enables
reverse lookups
Mail gateways

A portion of a possible DNS database for cs.vu.nl.


Question: What is cs.vu.nl’s web server’s name and IP address?
Question: What is a reverse lookup?
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Name Servers (1)
DNS name space divided into overlapping zones. Admins determine zone
boundaries. Each zone has one or more name servers.
Name servers contain data for portions of the name
space called zones (circled).

One zone

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Name Servers (2)

Finding the IP address for a given hostname is called


resolution and is done with the DNS protocol.
Resolution:
• Computer requests local name server to resolve
• Local name server asks the root name server
• Root returns the name server for a lower zone
• Continue down zones until a name server can
answer
DNS protocol:
• Runs on UDP port 53, retransmits lost messages
• Caches name server answers for better
performance
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Name Servers (3)

Example of a computer looking up the IP for a name

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Electronic Mail

• Architecture and services »


• The user agent »
• Message formats »
• Message transfer »
• Final delivery »

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Architecture and Services (1)

The key components and steps (numbered) to send email

Architecture of the email system

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Architecture and Services (2)

Envelope

Message
(= header
and
body)

Paper mail Electronic mail

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
The User Agent
What users see – interface elements of a typical user agent

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Message Formats (1)

Header fields related to message transport; headers are


readable ASCII text

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Message Formats (2)

Other header fields useful for user agents

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Message Formats (3)

MIME header fields used to describe what content is in


the body of the message

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Message Formats (4)

Common MIME content types and subtypes

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Message Formats (5)

Putting it all together:


a multipart message
containing HTML and
audio alternatives.

One part
(HTML)

Another
(audio)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Message Transfer (1)

Messages are transferred with SMTP (Simple Mail


Transfer Protocol)

• Readable text commands


• Submission from user agent to MTA on port
587
• One MTA to the next MTA on port 25
• Other protocols for final delivery (IMAP,
POP3)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Message Transfer (2)
Sending a message:
• From Alice to Bob
• SMTP commands
are marked [pink]

. . . (rest of message) . . .

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Message Transfer (3)

Common SMTP extensions (not in simple example)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Final Delivery (1)

User agent uses protocol


like IMAP for final delivery
• Has commands to
manipulate folders /
messages [right]
Alternatively, a Web
interface (with proprietary
protocol) might be used

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
The World Wide Web

• Architectural overview »
• Static Web pages »
• Dynamic pages and Web applications »
• HTTP – HyperText Transfer Protocol »
• The mobile Web »
• Web search »

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Architectural Overview (1)
HTTP transfers pages from servers to browsers

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Architectural Overview (2)
Pages are named with URLs (Uniform Resource Locators)
• Example: http://www.phdcomics.com/comics.php

Protocol Server
Page on server

Our
focus

Common URL protocols


CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Architectural Overview (3)
Steps a client (browser) takes to follow a hyperlink:
– Determine the protocol (HTTP)
– Ask DNS for the IP address of server
– Make a TCP connection to server
– Send request for the page; server sends it back
– Fetch other URLs as needed to display the page
– Close idle TCP connections

Steps a server takes to serve pages:


– Accept a TCP connection from client
– Get page request and map it to a resource (e.g., file name)
– Get the resource (e.g., file from disk)
– Send contents of the resource to the client.
– Release idle TCP connections
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Architectural Overview (4)

Content type is identified by MIME types


• Browser takes the appropriate action to display
• Plug-ins / helper apps extend browser for new types

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Architectural Overview (5)

To scale performance, Web servers can use:


• Caching, multiple threads, and a front end

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Architectural Overview (6)

Server steps, revisited:


• Resolve name of Web page requested
• Perform access control on the Web page
• Check the cache
• Fetch requested page from disk or run program
• Determine the rest of the response
• Return the response to the client
• Make an entry in the server log

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Architectural Overview (7)

Cookies support stateful client/server interactions


• Server sends cookies (state) with page response
• Client stores cookies across page fetches
• Client sends cookies back to server with requests

Examples of cookies

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Static Web Pages (1)

Static Web pages are simply files


• Have the same contents for each viewing

Can be visually rich and interactive nonetheless:


• HTML that mixes text and images
• Forms that gather user input
• Style sheets that tailor presentation
• Vector graphics, videos, and more (over) . . .

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Static Web Pages (2)
Progression of features through HTML 5.0

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Dynamic Pages & Web Applications (1)

Dynamic pages are generated by programs running


at the server (with a database) and the client
• E.g., PHP at server, JavaScript at client
• Pages vary each time like using an application

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Dynamic Pages & Web Applications (2)

Web page that gets


form input and
calls a server
program

PHP calls
PHP server program
that creates a
custom Web page

Resulting Web page


(for inputs
“Barbara” and “32”)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Dynamic Pages & Web Applications (3)

JavaScript program
produces result
page in the browser

First page with form,


gets input and calls
program above

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Dynamic Pages & Web Applications (4)

The difference between server and client programs

Server-side scripting with PHP Client-side scripting with JavaScript

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Dynamic Pages & Web Applications (5)

Web applications use a set of technologies that work


together, e.g. AJAX:
• HTML: present information as pages.
• DOM: change parts of pages while they are
viewed.
• XML: let programs exchange data with the
server.
• Asynchronous way to send and retrieve XML
data.
• JavaScript as a language to bind all this together.

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Dynamic Pages & Web Applications (6)

The DOM (Document Object Model) tree represents


Web pages as a structure that programs can alter

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Dynamic Pages & Web Applications (7)
XML captures document structure, not presentation like
HTML. Ex:

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Dynamic Pages & Web Applications (8)

Web applications use a set of technologies, revisited:

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
HTTP (1)

HTTP (HyperText Transfer Protocol) is a request-


response protocol that runs on top of TCP

• Fetches pages from server to client


• Server usually runs on port 80
• Headers are given in readable ASCII
• Content is described with MIME types
• Protocol has support for pipelining requests
• Protocol has support for caching

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
HTTP (2)
HTTP uses persistent connections to improve performance

One connection for Sequential requests Pipelined requests


each request on one connection on one
connection
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
HTTP (3)

HTTP has several request methods.

Fetch a page

Used to send
input data to a
server program

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
HTTP (4)

Response codes tell the client how the request fared:

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
HTTP (5)

Many headers carry key information:

Function Example Headers


Browser capabilities User-Agent, Accept, Accept-Charset, Accept-
(client  server) Encoding, Accept-Language

Caching related If-Modified-Since, If-None-Match, Date, Last-


(mixed directions) Modified, Expires, Cache-Control, ETag

Browser context Cookie, Referer, Authorization, Host


(client 
server)
Content delivery Content-Encoding, Content-Length, Content-Type,
(server  client) Content-Language, Content-Range, Set-Cookie

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
HTTP (6)

HTTP caching checks to see if the browser has a known


fresh copy, and if not if the server has updated the page
• Uses a collection of headers for the checks
• Can include further levels of caching (e.g., proxy)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
The Mobile Web

Mobiles (phones, tablets) are challenging as clients:


– Relatively small screens
– Limited input capabilities, lengthy input.
– Network bandwidth is limited
– Connectivity may be intermittent.
– Computing power is limited

Strategies to handle them:


• Content: servers provide mobile-friendly versions;
transcoding can also be used
• Protocols: no real need for specialized protocols;
HTTP with header compression sufficient

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Web Search

Search has proved hugely popular, in tandem with


advertising that has proved hugely profitable
• A simple interface for users to navigate the
Web

Search engine requires:


• Content from all sites, accessed by crawling. Follow
links to new pages, but beware programs.
• Indexing, which benefits from known and discovered
structure (such as XML) to increase relevance

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Streaming Audio and Video

Audio and video have become key types of traffic,


e.g., voice over IP, and video streaming.

• Digital audio »
• Digital video »
• Streaming stored media »
• Streaming live media »
• Real-time conferencing »

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Digital Audio (1)
ADC (Analog-to-Digital Converter) produces digital
audio from a microphone
• Telephone: 8000 8-bit samples/second (64 Kbps);
computer audio is usually better quality (e.g., 16 bit)

ADC

Continuous audio Digital audio


(sine wave) (sampled, 4-bit quantized)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Digital Audio (2)

Digital audio is typically compressed before it is sent


• Lossy encoders (like AAC) exploit human perception
• Large compression ratios (can be >10X)

Sensitivity of the ear A loud tone can mask


varies with frequency nearby tones

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Digital Video (1)

Video is digitized as pixels (sampled, quantized)


• TV quality: 640x480 pixels, 24-bit color, 30 times/sec

Video is sent compressed due to its large bandwidth


• Lossy compression exploits human perception
– E.g., JPEG for still images, MPEG, H.264 for video
• Large compression ratios (often 50X for video)
• Video is normally > 1 Mbps, versus >10 kbps for
speech and >100 kbps for music

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Digital Video (2)

JPEG lossy compression sequence for one image:

Step 1 Step 2 Step 3 Step 5

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Digital Video (3)
Step 1: Pixels are mapped to luminance/chrominance
(YCbCr) color space and chrominance is sub-sampled
• The eye is less sensitive to chrominance

Input 24-bit RGB pixels 8-bit luminance 8-bit chrominances


pixels for every 4 pixels

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Digital Video (4)

Step 2: Each component block is transformed to spatial


frequencies with DCT (Discrete Cosine
Transformation)
• Captures the key image features

One component block Transformed block

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Digital Video (5)

Step 3: DCT coefficients are quantized by dividing by


thresholds; reduces bits in higher spatial
frequencies
• Top left element is differenced over blocks (Step
4)

Input / Thresholds = Output

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Digital Video (6)

Step 5: The block is run-length encoded in a zig-zag


order. Then it is Huffman coded before sending (Step 6)

Order in which the block coefficients are sent

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Digital Video (7)

MPEG compresses over a sequence of frames, further


using motion tracking to remove temporal redundancy
– I (Intra-coded) frames are self-contained
– P (Predictive) frames use block motion predictions
– B (Bidirectional) frames may base prediction on future frame

Three consecutive frames with stationary and moving components

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Streaming Stored Media (1)

A simple method to stream stored media, e.g., for video


on demand, is to fetch the video as a file download
• But has large startup delay, except for short files

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Streaming Stored Media (2)

Effective streaming starts the playout during transport


• With RTSP (Real-Time Streaming Protocol)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Streaming Stored Media (3)

Key problem: how to handle transmission errors

Strategy Advantage Disadvantage


Use reliable Repairs all errors Increases jitter significantly
transport (TCP)
Add FEC Repairs most errors Increases overhead, decoding
(e.g., parity) complexity and jitter
Interleave media Masks most errors Slightly increases decoding
complexity and jitter

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Streaming Stored Media (4)

Parity packet can repair one lost packet in a group of N


• Decoding is delayed for N packets

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Streaming Stored Media (5)

Interleaving spreads nearby media samples over


different transmissions to reduce the impact of loss

Packet

stream

Media
samples

Loss reduces temporal resolution; doesn’t leave a gap

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Streaming Stored Media (6)

Key problem: media may not arrive in time for playout


due to variable bandwidth and loss/retransmissions
• Client buffers media to absorb jitter; we still need to
pick an achievable media rate

Safety margin, Can pause server (or go


to avoid a stall ahead and save to disk)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Streaming Stored Media (7)

RTSP commands
• Sent from player to server to adjust streaming

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Streaming Live Media (1)

Streaming live media is similar to the stored case plus:


• Can’t stream faster than “live rate” to get ahead
– Usually need larger buffer to absorb jitter
• Often have many users viewing at the same time
– UDP with multicast greatly improves efficiency. It is rarely
available, so many TCP connections are used.
– For very many users, content distribution is used [later]

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Streaming Live Media (2)

With multicast streaming media, parity is effective


• Clients can each lose a different packet and recover

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Streaming Live Media (2)

Production side of a student radio station.

As before

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Real-Time Conferencing (1)

Real-time conferencing has two or more connected live


media streams, e.g., voice over IP, Skype video call
Key issue over live streaming is low (interactive)
latency
• Want to reduce delay to near propagation
• Benefits from network support, e.g., QoS
• Or, benefits from ample bandwidth (no congestion)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Real-Time Conferencing (2)

H.323 architecture for Internet telephony supports calls


between Internet computers and PSTN phones.

Internet/PSTN
VoIP
call

Internet

Gatekeeper controls
calls for LAN hosts

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Real-Time Conferencing (3)
H.323 protocol stack:
• Call is digital audio/video over RTP/UDP/IP
• Call setup is handled by other protocols (Q.931 etc.)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Real-Time Conferencing (4)

Logical channels that make up an H.323 call

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Real-Time Conferencing (5)

SIP (Session Initiation Protocol) is an alternative to


H.323 to set up real-time calls
• Simple, text-based protocol with URLs for addresses
• Data is carried with RTP / RTCP as before

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Real-Time Conferencing (6)

Setting up a call with the SIP three-way handshake


• Proxy server lets a remote callee be connected
• Call data flows directly between caller/callee

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Real-Time Conferencing (7)

Corrected
by
YES Instructor

Comparison of H.323 and SIP.


CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Content Delivery

Delivery of content, especially Web and video, to


users is a major component of Internet traffic

• Content and Internet traffic »


• Server farms and Web proxies »
• Content delivery networks »
• Peer-to-peer networks »

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Content and Internet Traffic
Internet traffic:
1. Shifts seismically (emailFTPWebP2Pvideo)
2. Has many small/unpopular and few large/popular
flows – mice and elephants

Zipf popularity distribution, 1/k Shows up as a line on log-log plot

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Server Farms and Web Proxies (1)

Server farms enable large-scale Web servers:


• Front-end load-balances requests over servers
• Servers access the same backend database

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Server Farms and Web Proxies (2)

Proxy caches help organizations to scale the Web


• Caches server content over clients for performance
• Also implements organization policies (e.g., access)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
CDNs – Content Delivery Networks (1)

CDNs scale Web servers by having clients get content


from a nearby CDN node (cache)

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Content Delivery Networks (2)

Directing clients to nearby CDN nodes with DNS:


• Client query returns local CDN node as response
• Local CDN node caches content for nearby clients
and reduces load on the origin server

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Content Delivery Networks (3)
Origin server rewrites pages to serve content via CDN

Traditional Web page on server

Page that distributes content via CDN

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Peer-to-Peer Networks (1)

P2P (Peer-to-Peer) is an alternative CDN architecture


with no dedicated infrastructure (i.e., servers)
• Clients serve content to each other as peers

Challenges when servers are removed:


1. How do peers find each other?
2. How do peers support rapid content downloads?
3. How do peers encourage each other to upload?

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Peer-to-Peer Networks (2)
BitTorrent lets peers download torrents
– Peers find each other via Tracker in torrent file
– Peers swap chunks (parts of content) with partners,
preferring those who send most quickly [2]
– Many peers speed download; preference helps
uploads [3]

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Peer-to-Peer Networks (3)

Distributed Hash Tables (DHTs) are a fully distributed


index that scales to very many clients/entries
• Need to follow O(log N) path for N entries
• Can use as Tracker to find peers with no servers
[1]
• Look up torrent (identifier) in DHT to find IP of
peers
• Kademlia is used in BitTorrent

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Peer-to-Peer Networks (3)
A Chord ring of 32 identifiers. Finger tables [at right, and as
arcs] are used to navigate the ring.
• Example: path to look up 16 from 1 is 1  12  15

Identifier
values are
stored at
predecessor

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
End

Chapter 7

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011

You might also like