Review of Networking Basics - University of...
Transcript of Review of Networking Basics - University of...
From [Kurose/Ross] Networking Basics 2
Slides based on Computer Networking: A Top Down Approach Featuring the Internet, 2nd edition. Jim Kurose, Keith RossAddison-Wesley, July 2002. Chapters 1-2
These slides are extracted from the slides made by authors of the book (J. F. Kurose and K. Ross), available from the publisher site for instructors. We would like to thank the authors for the excellent book and the slides.
From [Kurose/Ross] Networking Basics 3
Overview of Telecommunication Networks and Internet
Based on Chapter I -- Computer Networks and the Internet
From [Kurose/Ross] Networking Basics 4
Roadmap
What is the Internet?Network edgeNetwork coreInternet structure and ISPsProtocol layers, service models
From [Kurose/Ross] Networking Basics 5
What’s the Internet: “nuts and bolts” viewmillions of connected computing devices: hosts, end-systems
❍ PCs workstations, servers❍ PDAs phones, toastersrunning network apps
communication links❍ fiber, copper, radio,
satellite❍ transmission rate =
bandwidthrouters: forward packets (chunks of data)
local ISP
companynetwork
regional ISP
router workstationserver
mobile
From [Kurose/Ross] Networking Basics 6
What’s the Internet: “nuts and bolts” view
protocols control sending, receiving of msgs
❍ e.g., TCP, IP, HTTP, FTP, PPPInternet: “network of networks”
❍ loosely hierarchical❍ public Internet versus
private intranetInternet standards
❍ RFC: Request for comments❍ IETF: Internet Engineering
Task Force
local ISP
companynetwork
regional ISP
router workstationserver
mobile
From [Kurose/Ross] Networking Basics 7
A closer look at network structure:
network edge:applications and hostsnetwork core:❍ routers❍ network of
networksaccess networks, physical media:communication links
From [Kurose/Ross] Networking Basics 8
Network edge: connection-oriented service
Goal: data transfer between end systemshandshaking: setup (prepare for) data transfer ahead of time
❍ Hello, hello back human protocol
❍ set up “state” in two communicating hosts
TCP - Transmission Control Protocol
❍ Internet’s connection-oriented service
TCP service [RFC 793]reliable, in-order byte-stream data transfer
❍ loss: acknowledgements and retransmissions
flow control:❍ sender won’t overwhelm
receivercongestion control:
❍ senders “slow down sending rate” when network congested
From [Kurose/Ross] Networking Basics 9
Network edge: connectionless service
Goal: data transfer between end systems
❍ same as before!UDP - User Datagram Protocol [RFC 768]: Internet’s connectionless service❍ unreliable data
transfer❍ no flow control❍ no congestion control
App’s using TCP:HTTP (Web), FTP (file transfer), Telnet (remote login), SMTP (email)
App’s using UDP:streaming media, teleconferencing, DNS, Internet telephony
From [Kurose/Ross] Networking Basics 10
The Network Core
mesh of interconnected routersthe fundamental question: how is data transferred through net?❍ circuit switching:
dedicated circuit per call: telephone net
❍ packet-switching: data sent thru net in discrete “chunks”
From [Kurose/Ross] Networking Basics 11
Network Core: Circuit Switching
End-end resources reserved for “call”link bandwidth, switch capacitydedicated resources: no sharingcircuit-like (guaranteed) performancecall setup required
From [Kurose/Ross] Networking Basics 12
Network Core: Circuit Switchingnetwork resources
(e.g., bandwidth) divided into “pieces”pieces allocated to callsresource piece idle if not used by owning call (no sharing)
dividing link bandwidth into “pieces”❍ frequency division❍ time division
From [Kurose/Ross] Networking Basics 13
Circuit Switching: TDMA and TDMA
FDMA
frequency
timeTDMA
frequency
time
4 usersExample:
From [Kurose/Ross] Networking Basics 14
Network Core: Packet Switchingeach end-end data stream
divided into packetsuser A, B packets sharenetwork resourceseach packet uses full link bandwidth resources used as needed
resource contention:aggregate resource demand can exceed amount availablecongestion: packets queue, wait for link usestore and forward: packets move one hop at a time❍ transmit over link❍ wait turn at next
link
Bandwidth division into “pieces”Dedicated allocationResource reservation
From [Kurose/Ross] Networking Basics 15
Packet Switching: Statistical Multiplexing
Sequence of A & B packets does not have fixed pattern statistical multiplexing.
In TDM each host gets same slot in revolving TDM frame.
A
B
C10 MbsEthernet
1.5 Mbs
D E
statistical multiplexing
queue of packetswaiting for output
link
From [Kurose/Ross] Networking Basics 16
Packet switching versus circuit switching
1 Mbit linkeach user:
❍ 100 kbps when “active”❍ active 10% of time
circuit-switching: ❍ 10 users
packet switching: ❍ with 35 users,
probability > 10 active less than .0004
Packet switching allows more users to use network!
N users1 Mbps link
From [Kurose/Ross] Networking Basics 17
Packet switching versus circuit switching
Great for bursty data❍ resource sharing❍ simpler, no call setup
Excessive congestion: packet delay and loss❍ protocols needed for reliable data transfer,
congestion controlQ: How to provide circuit-like behavior?❍ bandwidth guarantees needed for audio/video
apps❍ still an unsolved problem (chapter 6)
Is packet switching a “slam dunk winner?”
From [Kurose/Ross] Networking Basics 18
Packet-switched networks: forwarding
Goal: move packets through routers from source to destination
❍ we’ll study several path selection (i.e. routing)algorithms (chapter 4)
datagram network:❍ destination address in packet determines next hop❍ routes may change during session❍ analogy: driving, asking directions
virtual circuit network:❍ each packet carries tag (virtual circuit ID), tag
determines next hop❍ fixed path determined at call setup time, remains fixed
thru call❍ routers maintain per-call state
From [Kurose/Ross] Networking Basics 19
Network TaxonomyTelecommunication
networks
Circuit-switchednetworks
FDM TDM
Packet-switchednetworks
Networkswith VCs
DatagramNetworks
• Datagram network is not either connection-oriented or connectionless.• Internet provides both connection-oriented (TCP) and connectionless services (UDP) to apps.
Internet
From [Kurose/Ross] Networking Basics 20
Internet structure: network of networks
roughly hierarchicalat center: “tier-1” ISPs (e.g., UUNet, BBN/Genuity, Sprint, AT&T), national/international coverage❍ treat each other as equals
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
Tier-1 providers interconnect (peer) privately
NAP
Tier-1 providers also interconnect at public network access points (NAPs)
From [Kurose/Ross] Networking Basics 21
Tier-1 ISP: e.g., SprintSprint US backbone network
From [Kurose/Ross] Networking Basics 22
Internet structure: network of networks
“Tier-2” ISPs: smaller (often regional) ISPs❍ Connect to one or more tier-1 ISPs, possibly other tier-2 ISPs
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
Tier-2 ISP pays tier-1 ISP for connectivity to rest of Internet
tier-2 ISP is customer oftier-1 provider
Tier-2 ISPs also peer privately with each other, interconnect at NAP
From [Kurose/Ross] Networking Basics 23
Internet structure: network of networks
“Tier-3” ISPs and local ISPs ❍ last hop (“access”) network (closest to end systems)
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
Local and tier-3 ISPs are customers ofhigher tier ISPsconnecting them to rest of Internet
From [Kurose/Ross] Networking Basics 24
Internet structure: network of networks
a packet passes through many networks!
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP
NAP
Tier-2 ISPTier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP
localISPlocal
ISPlocalISP
localISP
localISP Tier 3
ISP
localISP
localISP
localISP
From [Kurose/Ross] Networking Basics 25
Internet protocol stackapplication: supporting network applications
❍ FTP, SMTP, STTPtransport: host-host data transfer
❍ TCP, UDPnetwork: routing of datagrams from source to destination
❍ IP, routing protocolslink: data transfer between neighboring network elements
❍ PPP, Ethernetphysical: bits “on the wire”
application
transport
network
link
physical
From [Kurose/Ross] Networking Basics 26
Layering: logical communication
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical application
transportnetwork
linkphysical
applicationtransportnetwork
linkphysical
networklink
physical
Each layer:distributed“entities” implement layer functions at each nodeentities perform actions, exchange messages with peers
From [Kurose/Ross] Networking Basics 27
Layering: logical communication
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical application
transportnetwork
linkphysical
applicationtransportnetwork
linkphysical
networklink
physical
data
dataE.g.: transport
take data from appadd addressing, reliability check info to form “datagram”send datagram to peerwait for peer to ack receiptanalogy: post office
data
transport
transport
ack
From [Kurose/Ross] Networking Basics 28
Layering: physical communication
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
networklink
physical
data
data
From [Kurose/Ross] Networking Basics 29
Protocol layering and data
Each layer takes data from aboveadds header information to create new data unitpasses new data unit to layer below
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
source destinationMMMM
Ht
HtHnHtHnHl
MMMM
Ht
HtHnHtHnHl
messagesegmentdatagramframe
From [Kurose/Ross] Networking Basics 30
Application Layer Functions and Protocols with focus on Content Distribution/Retrieval on the Web
Based on Chapter II ---Application Layer
From [Kurose/Ross] Networking Basics 31
Roadmap
Principles of app layer protocols❍ Client-server paradigm❍ Transport service requirements of common app.
DNS Web and HTTPContent distribution❍ Network Web caching❍ Content distribution networks
From [Kurose/Ross] Networking Basics 32
Applications and application-layer protocols
Application: communicating, distributed processes
❍ e.g., e-mail, Web, P2P file sharing, instant messaging
❍ running in end systems (hosts)
❍ exchange messages to implement application
Application-layer protocols❍ one “piece” of an app❍ define messages
exchanged by apps and actions taken
❍ use communication services provided by lower layer protocols (TCP, UDP)
applicationtransportnetworkdata linkphysical
applicationtransportnetworkdata linkphysical
applicationtransportnetworkdata linkphysical
From [Kurose/Ross] Networking Basics 33
App-layer protocol defines
Types of messages exchanged, e.g., request & response messagesSyntax of message types: what fields in messages & how fields are delineatedSemantics of the fields, i.e., meaning of information in fieldsRules for when and how processes send & respond to messages
Public-domain protocols:defined in RFCsallows for interoperabilityeg, HTTP, SMTP
Proprietary protocols:eg, KaZaA
From [Kurose/Ross] Networking Basics 34
Client-server paradigmTypical network app has two
pieces: client and serverapplicationtransportnetworkdata linkphysical
applicationtransportnetworkdata linkphysical
Client:initiates contact with server (“speaks first”)typically requests service from server, Web: client implemented in browser; e-mail: in mail reader
request
reply
Server:provides requested service to cliente.g., Web server sends requested Web page, mail server delivers e-mail
From [Kurose/Ross] Networking Basics 35
What transport service does an app need?
Data losssome apps (e.g., audio) can tolerate some lossother apps (e.g., file transfer, telnet) require 100% reliable data transfer
Timingsome apps (e.g., Internet telephony, interactive games) require low delay to be “effective”
Bandwidthsome apps (e.g., multimedia) require minimum amount of bandwidth to be “effective”other apps (“elastic apps”) make use of whatever bandwidth they get
From [Kurose/Ross] Networking Basics 36
Transport service requirements of common apps
Application
file transfere-mail
Web documentsreal-time audio/video
stored audio/videointeractive gamesinstant messaging
Data loss
no lossno lossno lossloss-tolerant
loss-tolerantloss-tolerantno loss
Bandwidth
elasticelasticelasticaudio: 5kbps-1Mbpsvideo:10kbps-5Mbpssame as above few kbps upelastic
Time Sensitive
nononoyes, 100’s msec
yes, few secsyes, 100’s msecyes and no
From [Kurose/Ross] Networking Basics 37
How do loss and delay occur?packets queue in router buffers
packet arrival rate to link exceeds output link capacitypackets queue, wait for turn
A
B
packet being transmitted (delay)
packets queueing (delay)free (available) buffers: arriving packets dropped (loss) if no free buffers
From [Kurose/Ross] Networking Basics 38
Packet loss
queue (aka buffer) preceding link in buffer has finite capacitywhen packet arrives to full queue, packet is dropped (aka lost)lost packet may be retransmitted by previous node, by source end system, or not retransmitted at all
From [Kurose/Ross] Networking Basics 39
Internet transport protocols services
TCP service:connection-oriented: setup required between client and server processesreliable transport between sending and receiving processflow control: sender won’t overwhelm receiver congestion control: throttle sender when network overloadeddoes not providing: timing, minimum bandwidth guarantees
UDP service:unreliable data transfer between sending and receiving processdoes not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee
Q: why bother? Why is there a UDP?
From [Kurose/Ross] Networking Basics 40
Internet apps: application, transport protocols
Application
e-mailremote terminal access
Web file transfer
streaming multimedia
Internet telephony
Applicationlayer protocol
SMTP [RFC 2821]Telnet [RFC 854]HTTP [RFC 2616]FTP [RFC 959]proprietary(e.g. RealNetworks)proprietary(e.g., Dialpad)
Underlyingtransport protocol
TCPTCPTCPTCPTCP or UDP
typically UDP
From [Kurose/Ross] Networking Basics 41
DNS: Domain Name System
People: many identifiers:❍ SSN, name, passport #
Internet hosts, routers:❍ IP address (32 bit) -
used for addressing datagrams
❍ “name”, e.g., gaia.cs.umass.edu - used by humans
Q: map between IP addresses and name ?
Domain Name System:distributed databaseimplemented in hierarchy of many name serversapplication-layer protocolhost, routers, name servers to communicate to resolve names (address/name translation)
❍ note: core Internet function, implemented as application-layer protocol
❍ complexity at network’s “edge”
From [Kurose/Ross] Networking Basics 42
DNS name servers
no server has all name-to-IP address mappings
local name servers:❍ each ISP, company has
local (default) name server❍ host DNS query first goes
to local name serverauthoritative name server:
❍ for a host: stores that host’s IP address, name
❍ can perform name/address translation for that host’s name
Why not centralize DNS?single point of failuretraffic volumedistant centralized databasemaintenance
doesn’t scale!
From [Kurose/Ross] Networking Basics 43
DNS: Root name serverscontacted by local name server that can not resolve nameroot name server:
❍ contacts authoritative name server if name mapping not known❍ gets mapping❍ returns mapping to local name server
b USC-ISI Marina del Rey, CAl ICANN Marina del Rey, CA
e NASA Mt View, CAf Internet Software C. Palo Alto, CA
i NORDUnet Stockholmk RIPE London
m WIDE Tokyo
a NSI Herndon, VAc PSInet Herndon, VAd U Maryland College Park, MDg DISA Vienna, VAh ARL Aberdeen, MDj NSI (TBD) Herndon, VA
13 root name servers worldwide
From [Kurose/Ross] Networking Basics 44
Simple DNS example
host surf.eurecom.frwants IP address of gaia.cs.umass.edu
1. contacts its local DNS server, dns.eurecom.fr
2. dns.eurecom.fr contacts root name server, if necessary
3. root name server contacts authoritative name server, dns.umass.edu, if necessary requesting host
surf.eurecom.frgaia.cs.umass.edu
root name server
authorititive name serverdns.umass.edu
local name serverdns.eurecom.fr
1
23
45
6
From [Kurose/Ross] Networking Basics 45
DNS example
Root name server:may not know authoritative name servermay know intermediate name server: who to contact to find authoritative name server
requesting hostsurf.eurecom.fr
gaia.cs.umass.edu
root name server
local name serverdns.eurecom.fr
1
23
4 5
6
authoritative name serverdns.cs.umass.edu
intermediate name serverdns.umass.edu
7
8
From [Kurose/Ross] Networking Basics 46
HTTP overview
HTTP: hypertext transfer protocolWeb’s application layer protocolclient/server model
❍ client: browser that requests, receives, “displays” Web objects
❍ server: Web server sends objects in response to requests
HTTP 1.0: RFC 1945HTTP 1.1: RFC 2068
PC runningExplorer
Server running
Apache Webserver
Mac runningNavigator
HTTP request
HTTP request
HTTP response
HTTP response
From [Kurose/Ross] Networking Basics 47
HTTP overview (continued)
Uses TCP:client initiates TCP connection (creates socket) to server, port 80server accepts TCP connection from clientHTTP messages (application-layer protocol messages) exchanged between browser (HTTP client) and Web server (HTTP server)TCP connection closed
HTTP is “stateless”server maintains no information about past client requests
Protocols that maintain “state” are complex!past history (state) must be maintainedif server/client crashes, their views of “state” may be inconsistent, must be reconciled
aside
From [Kurose/Ross] Networking Basics 48
HTTP connections
Nonpersistent HTTPAt most one object is sent over a TCP connection.HTTP/1.0 uses nonpersistent HTTP
Persistent HTTPMultiple objects can be sent over single TCP connection between client and server.HTTP/1.1 uses persistent connections in default mode
From [Kurose/Ross] Networking Basics 49
HTTP request message
two types of HTTP messages: request, responseHTTP request message:
❍ ASCII (human-readable format)
GET /somedir/page.html HTTP/1.1Host: www.someschool.edu User-agent: Mozilla/4.0Connection: close Accept-language:fr
(extra carriage return, line feed)
request line(GET, POST,
HEAD commands)
headerlines
Carriage return, line feed
indicates end of message
From [Kurose/Ross] Networking Basics 50
HTTP request message: general format
From [Kurose/Ross] Networking Basics 51
HTTP response message
HTTP/1.1 200 OK Connection closeDate: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html
data data data data data ...
status line(protocol
status codestatus phrase)
headerlines
data, e.g., requestedHTML file
From [Kurose/Ross] Networking Basics 52
HTTP response status codes
200 OK❍ request succeeded, requested object later in this message
301 Moved Permanently❍ requested object moved, new location specified later in
this message (Location:)400 Bad Request
❍ request message not understood by server404 Not Found
❍ requested document not found on this server505 HTTP Version Not Supported
In first line in server->client response message.A few sample codes:
From [Kurose/Ross] Networking Basics 53
Cookies: keeping “state”
Many major Web sites use cookies
Four components:1) cookie header line in
the HTTP response message
2) cookie header line in HTTP request message
3) cookie file kept on user’s host and managed by user’s browser
4) back-end database at Web site
Example:❍ Susan access Internet
always from same PC❍ She visits a specific e-
commerce site for first time
❍ When initial HTTP requests arrives at site, site creates a unique ID and creates an entry in backend database for ID
From [Kurose/Ross] Networking Basics 54
Cookies: keeping “state” (cont.)
client serverusual http request msgusual http response +Set-cookie: 1678
usual http request msgcookie: 1678
usual http response msg
usual http request msgcookie: 1678
usual http response msg
cookie-specificaction
cookie-spectific
action
servercreates ID
1678 for user
entry in backend
database
access
access
Cookie file
amazon: 1678ebay: 8734
Cookie file
ebay: 8734
Cookie file
amazon: 1678ebay: 8734
one week later:
From [Kurose/Ross] Networking Basics 55
Cookies (continued)What cookies can bring:
authorizationshopping cartsrecommendationsuser session state (Web e-mail)
Cookies and privacy:cookies permit sites to learn a lot about youyou may supply name and e-mail to sitessearch engines use redirection & cookies to learn yet moreadvertising companies obtain info across sites
aside
From [Kurose/Ross] Networking Basics 56
Conditional GET: client-side caching
Goal: don’t send object if client has up-to-date cached versionclient: specify date of cached copy in HTTP requestIf-modified-since:
<date>
server: response contains no object if cached copy is up-to-date: HTTP/1.0 304 Not
Modified
client serverHTTP request msgIf-modified-since:
<date>
HTTP responseHTTP/1.0
304 Not Modified
object not
modified
HTTP request msgIf-modified-since:
<date>
HTTP responseHTTP/1.0 200 OK
<data>
object modified
From [Kurose/Ross] Networking Basics 57
Web caches (proxy server)
user sets browser: Web accesses via cachebrowser sends all HTTP requests to cache
❍ object in cache: cache returns object
❍ else cache requests object from origin server, then returns object to client
Goal: satisfy client request without involving origin server
client
Proxyserver
client
HTTP request
HTTP request
HTTP response
HTTP response
HTTP request
HTTP response
origin server
origin server
From [Kurose/Ross] Networking Basics 58
More about Web caching
Cache acts as both client and serverCache can do up-to-date check using If-modified-since HTTP header
❍ Issue: should cache take risk and deliver cached object without checking?
❍ Heuristics are used.Typically cache is installed by ISP (university, company, residential ISP)
Why Web caching?Reduce response time for client request.Reduce traffic on an institution’s access link.Internet dense with caches enables “poor” content providers to effectively deliver content
From [Kurose/Ross] Networking Basics 59
More about Web caching
Cache acts as both client and serverCache can do up-to-date check using If-modified-since HTTP header
❍ Issue: should cache take risk and deliver cached object without checking?
❍ Heuristics are used.Typically cache is installed by ISP (university, company, residential ISP)
Why Web caching?Reduce response time for client request.Reduce traffic on an institution’s access link.Internet dense with caches enables “poor” content providers to effectively deliver content
From [Kurose/Ross] Networking Basics 60
Caching example (1)Assumptions
average object size = 100,000 bitsavg. request rate from institution’s browser to origin serves = 15/secdelay from institutional router to any origin server and back to router = 2 sec
Consequencesutilization on LAN = 15%
❍ Traffic=100K*15 /sec=1.5Mbpsutilization on access link = 100%
❍ Very long delay (minutes)total delay = Internet delay + access delay + LAN delay
= 2 sec + minutes + milliseconds
originservers
publicInternet
institutionalnetwork 10 Mbps LAN
1.5 Mbps access link
institutionalcache
From [Kurose/Ross] Networking Basics 61
Caching example (2)Possible solution
increase bandwidth of access link to, say, 10 Mbps
Consequencesutilization on LAN = 15%utilization on access link = 15%Total delay = Internet delay + access delay + LAN delay
= 2 sec + msecs + msecsbut a costly upgrade
originservers
publicInternet
institutionalnetwork 10 Mbps LAN
10 Mbps access link
institutionalcache
From [Kurose/Ross] Networking Basics 62
Caching example (3)
Install cachesuppose hit rate is .4
Consequence40% requests will be satisfied almost immediately60% requests satisfied by origin serverutilization of access link reduced to 60%, resulting in negligible delays (say 10 msec)total delay = Internet delay + access delay + LAN delay
= .6*(2 sec + .01 secs + ms) + 0.4*ms) < 1.3 secs
originservers
publicInternet
institutionalnetwork 10 Mbps LAN
1.5 Mbps access link
institutionalcache
From [Kurose/Ross] Networking Basics 63
Content distribution networks (CDNs)
The content providers are the CDN customers.
Content replicationCDN company installs hundreds of CDN servers throughout Internet
❍ in lower-tier ISPs, close to users
CDN replicates its customers’ content in CDN servers. When provider updates content, CDN updates servers
origin server in North America
CDN distribution node
CDN serverin S. America CDN server
in Europe
CDN serverin Asia
From [Kurose/Ross] Networking Basics 64
CDN example
origin serverwww.foo.comdistributes HTMLReplaces:http://www.foo.com/sports.ruth.gif
withhttp://www.cdn.com/www.foo.com/sports/ruth.gif
HTTP request for www.foo.com/sports/sports.html
DNS query for www.cdn.com
HTTP request for www.cdn.com/www.foo.com/sports/ruth.gif
1
2
3
Origin server
CDNs authoritative DNS server
NearbyCDN server
CDN companycdn.comdistributes gif filesuses its authoritative DNS server to route redirect requests
From [Kurose/Ross] Networking Basics 65
More about CDNsrouting requests
CDN creates a “map”, indicating distances from leaf ISPs and CDN nodeswhen query arrives at authoritative DNS server:
❍ server determines ISP from which query originates
❍ uses “map” to determine best CDN server
not just Web pagesstreaming stored audio/videostreaming real-time audio/video
❍ CDN nodes create application-layer overlay network
Networking Basics 66
What you should know
Generic networks❍ Two types of services:
• connection-oriented and connectionless❍ Two types of switching (routing)
• Circuit switching and packet switching (datagram and VC)• Internet uses datagram packet switching
Internet structure and protocol layers❍ Edges (workstations, servers), core (routers), physical
links, coordinated by protocols❍ Protocol layers of the Internet
• Application (HTTP, email), transport (TCP,UDP), network (IP), link, physical
Networking Basics 67
What you should know
Application layer functionalities and protocols❍ Client-server model❍ Makes use of underlying transport protocol
How does DNS works? (how does your computer find the IP address of a desired destination?)Web applications
❍ Web browser and server in the client-server model❍ HTTP (uses TCP, stateless, request and response)
• Pros and cons of using “cookies”• Why using client-side caching? What are the trade-offs
when determining the cache size?❍ Why using a Proxy server?❍ Why would a content provider use a CDN?