Jun 22, 1998 ... Jim Kurose, Keith Ross ... made by authors of the book (J. F. Kurose ..... Server: ❑
provides requested service to client. ❑ e.g., Web server sends ...
Review of Networking Basics Yao Wang Polytechnic University, Brooklyn, NY11201
[email protected]
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.
Slides based on Computer Networking: A Top Down Approach Featuring the Internet,
Networking Basics
2
From [Kurose/Ross]
2nd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2002. Chapters 1-2
Overview of Telecommunication Networks and Internet Based on Chapter I -- Computer Networks and the Internet
From [Kurose/Ross]
Networking Basics
3
Roadmap What
is the Internet?
Network edge Network core Internet structure and ISPs Protocol layers, service models
From [Kurose/Ross]
Networking Basics
4
What’s the Internet: “nuts and bolts” view
millions of connected computing devices: hosts,
router server
end-systems ❍ ❍
PCs workstations, servers PDAs phones, toasters
workstation mobile
local ISP
running network apps
communication links ❍
❍
regional ISP
fiber, copper, radio, satellite transmission rate =
bandwidth
routers: forward packets (chunks of data)
From [Kurose/Ross]
company network
Networking Basics
5
What’s the Internet: “nuts and bolts” view
protocols control sending, receiving of msgs ❍
e.g., TCP, IP, HTTP, FTP, PPP
Internet: “network of
server
workstation mobile
local ISP
networks” ❍ ❍
router
loosely hierarchical public Internet versus private intranet
regional ISP
Internet standards ❍ ❍
RFC: Request for comments IETF: Internet Engineering Task Force
From [Kurose/Ross]
company network
Networking Basics
6
A closer look at network structure: network edge:
applications and hosts network core: routers ❍ network of networks ❍
access networks,
physical media: communication links
From [Kurose/Ross]
Networking Basics
7
Network edge: connection-oriented service Goal: data transfer
between end systems handshaking: 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 connectionoriented service
From [Kurose/Ross]
TCP service [RFC 793]
reliable, in-order bytestream data transfer ❍
flow control: ❍
loss: acknowledgements and retransmissions sender won’t overwhelm receiver
congestion control: ❍
senders “slow down sending rate” when network congested
Networking Basics
8
Network edge: connectionless service Goal: data transfer
App’s using TCP:
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
From [Kurose/Ross]
HTTP (Web), FTP (file transfer), Telnet (remote login), SMTP (email)
App’s using UDP:
streaming media, teleconferencing, DNS, Internet telephony
Networking Basics
9
The Network Core mesh of interconnected routers the 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
10
Network Core: Circuit Switching End-end resources reserved for “call” link bandwidth, switch capacity dedicated resources: no sharing circuit-like (guaranteed) performance call setup required
From [Kurose/Ross]
Networking Basics
11
Network Core: Circuit Switching network resources (e.g., bandwidth) divided into “pieces” pieces allocated to calls resource piece idle if not used by owning call
dividing link bandwidth into “pieces” ❍ frequency division ❍ time division
(no sharing)
From [Kurose/Ross]
Networking Basics
12
Circuit Switching: TDMA and TDMA Example:
FDMA
4 users
frequency time TDMA
frequency
From [Kurose/Ross]
time
Networking Basics
13
Network Core: Packet Switching each end-end data stream divided into packets user A, B packets share network resources each packet uses full link bandwidth resources used as needed Bandwidth division into “pieces” Dedicated allocation Resource reservation From [Kurose/Ross]
resource contention: aggregate resource demand can exceed amount available congestion: packets queue, wait for link use store and forward: packets move one hop at a time ❍ transmit over link ❍ wait turn at next link
Networking Basics
14
Packet Switching: Statistical Multiplexing 10 Mbs Ethernet
A B
statistical multiplexing
C
1.5 Mbs queue of packets waiting for output link
D
E
Sequence of A & B packets does not have fixed pattern · statistical multiplexing. In TDM each host gets same slot in revolving TDM frame.
From [Kurose/Ross]
Networking Basics
15
Packet switching versus circuit switching Packet switching allows more users to use network! 1 Mbit link each user:
❍ ❍
circuit-switching: ❍
100 kbps when “active” active 10% of time
N users 1 Mbps link
10 users
packet switching: ❍
with 35 users, probability > 10 active less than .0004
From [Kurose/Ross]
Networking Basics
16
Packet switching versus circuit switching Is packet switching a “slam dunk winner?” Great for bursty data ❍ resource sharing ❍ simpler, no call setup Excessive congestion: packet delay and loss ❍ protocols needed for reliable data transfer, congestion control Q: How to provide circuit-like behavior? ❍ bandwidth guarantees needed for audio/video apps ❍ still an unsolved problem (chapter 6)
From [Kurose/Ross]
Networking Basics
17
Packet-switched networks: forwarding
Goal: move packets through routers from source to destination ❍
datagram network: ❍ ❍ ❍
we’ll study several path selection (i.e. routing)algorithms (chapter 4)
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
18
Network Taxonomy Telecommunication networks
Packet-switched networks
Circuit-switched networks
FDM
TDM
Networks with VCs
Datagram Networks
• Datagram network is not either connection-oriented or connectionless. • Internet provides both connection-oriented (TCP) and connectionless services (UDP) to apps. From [Kurose/Ross]
Networking Basics
Internet
19
Internet structure: network of networks roughly hierarchical at center: “tier-1” ISPs (e.g., UUNet, BBN/Genuity, Sprint, AT&T), national/international coverage ❍ treat each other as equals
Tier-1 providers interconnect (peer) privately
From [Kurose/Ross]
Tier 1 ISP
Tier 1 ISP
NAP
Tier-1 providers also interconnect at public network access points (NAPs)
Tier 1 ISP
Networking Basics
20
Tier-1 ISP: e.g., Sprint Sprint US backbone network
From [Kurose/Ross]
Networking Basics
21
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-2 ISP pays tier-1 ISP for connectivity to rest of Internet tier-2 ISP is customer of tier-1 provider
Tier-2 ISP
Tier 1 ISP
Tier 1 ISP Tier-2 ISP
From [Kurose/Ross]
Tier-2 ISP
NAP
Tier 1 ISP
Tier-2 ISPs also peer privately with each other, interconnect at NAP Tier-2 ISP
Tier-2 ISP Networking Basics
22
Internet structure: network of networks
“Tier-3” ISPs and local ISPs ❍
last hop (“access”) network (closest to end systems) local ISP
Local and tier3 ISPs are customers of higher tier ISPs connecting them to rest of Internet
Tier 3 ISP Tier-2 ISP
local ISP
local ISP
local ISP Tier-2 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP local local ISP ISP From [Kurose/Ross]
NAP
Tier 1 ISP Tier-2 ISP local ISP Networking Basics
Tier-2 ISP local ISP 23
Internet structure: network of networks
a packet passes through many networks! local ISP
Tier 3 ISP Tier-2 ISP
local ISP
local ISP
local ISP Tier-2 ISP
Tier 1 ISP
Tier 1 ISP Tier-2 ISP local local ISP ISP From [Kurose/Ross]
NAP
Tier 1 ISP Tier-2 ISP local ISP Networking Basics
Tier-2 ISP local ISP 24
Internet protocol stack
application: supporting network applications ❍
transport: host-host data transfer ❍
IP, routing protocols
link: data transfer between neighboring network elements ❍
TCP, UDP
network: routing of datagrams from source to destination ❍
FTP, SMTP, STTP
application transport network link physical
PPP, Ethernet
physical: bits “on the wire”
From [Kurose/Ross]
Networking Basics
25
Layering: logical communication Each layer: distributed “entities” implement layer functions at each node entities perform actions, exchange messages with peers From [Kurose/Ross]
application transport network link physical application transport network link physical
Networking Basics
network link physical
application transport network link physical
application transport network link physical
26
Layering: logical communication E.g.: transport take data from app add addressing,
reliability check info to form “datagram” send datagram to peer wait for peer to ack receipt analogy: post office
From [Kurose/Ross]
data application transport transport network link physical application transport network link physical
ack data
Networking Basics
network link physical
application transport network link physical
data application transport transport network link physical
27
Layering: physical communication data application transport network link physical application transport network link physical
From [Kurose/Ross]
network link physical
application transport network link physical Networking Basics
data application transport network link physical
28
Protocol layering and data Each layer takes data from above adds header information to create new data unit passes new data unit to layer below source M Ht M Hn Ht M Hl Hn Ht M
application transport network link physical
From [Kurose/Ross]
destination application Ht transport Hn Ht network link Hl Hn Ht physical
Networking Basics
M
message
M
segment
M
datagram
M
frame
29
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
30
Roadmap Principles of app layer protocols ❍ Client-server paradigm ❍ Transport service requirements of common app. DNS Web and HTTP Content distribution ❍ Network Web caching ❍ Content distribution networks
From [Kurose/Ross]
Networking Basics
31
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 transport network data link physical
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)
From [Kurose/Ross]
application transport network data link physical
Networking Basics
application transport network data link physical
32
App-layer protocol defines Types of messages
exchanged, e.g., request & response messages Syntax of message types: what fields in messages & how fields are delineated Semantics of the fields, i.e., meaning of information in fields Rules for when and how processes send & respond to messages From [Kurose/Ross]
Public-domain protocols: defined in RFCs allows for interoperability eg, HTTP, SMTP Proprietary protocols: eg, KaZaA
Networking Basics
33
Client-server paradigm Typical network app has two pieces: client and server Client:
application transport network data link physical
request
initiates contact with server
(“speaks first”) typically requests service from server, Web: client implemented in browser; e-mail: in mail reader
Server: provides requested service to client
reply application transport network data link physical
e.g., Web server sends requested Web
page, mail server delivers e-mail
From [Kurose/Ross]
Networking Basics
34
What transport service does an app need? Data loss some apps (e.g., audio) can tolerate some loss other apps (e.g., file transfer, telnet) require 100% reliable data transfer Timing some apps (e.g., Internet telephony, interactive games) require low delay to be “effective” From [Kurose/Ross]
Bandwidth some apps (e.g., multimedia) require minimum amount of bandwidth to be “effective” other apps (“elastic apps”) make use of whatever bandwidth they get
Networking Basics
35
Transport service requirements of common apps Data loss
Bandwidth
Time Sensitive
file transfer e-mail Web documents real-time audio/video
no loss no loss no loss loss-tolerant
no no no yes, 100’s msec
stored audio/video interactive games instant messaging
loss-tolerant loss-tolerant no loss
elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5Mbps same as above few kbps up elastic
Application
From [Kurose/Ross]
Networking Basics
yes, few secs yes, 100’s msec yes and no
36
How do loss and delay occur? packets queue in router buffers packet arrival rate to link exceeds output link capacity packets queue, wait for turn
packet being transmitted (delay)
A B
From [Kurose/Ross]
packets queueing (delay) free (available) buffers: arriving packets dropped (loss) if no free buffers Networking Basics
37
Packet loss queue (aka buffer) preceding link in buffer
has finite capacity when 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
38
Internet transport protocols services TCP service:
UDP service:
unreliable data transfer
connection-oriented: setup
required between client and server processes reliable transport between sending and receiving process flow control: sender won’t overwhelm receiver congestion control: throttle sender when network overloaded does not providing: timing, minimum bandwidth guarantees
From [Kurose/Ross]
between sending and receiving process does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee Q: why bother? Why is there a UDP?
Networking Basics
39
Internet apps: application, transport protocols Application e-mail remote terminal access Web file transfer streaming multimedia Internet telephony
From [Kurose/Ross]
Application layer protocol
Underlying transport protocol
SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] proprietary (e.g. RealNetworks) proprietary (e.g., Dialpad)
TCP TCP TCP TCP TCP or UDP
Networking Basics
typically UDP
40
DNS: Domain Name System Domain Name System:
People: many identifiers: ❍
SSN, name, passport #
distributed database
application-layer protocol
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 ?
From [Kurose/Ross]
implemented in hierarchy of many name servers host, 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”
Networking Basics
41
DNS name servers Why not centralize DNS? single point of failure traffic volume distant centralized database maintenance doesn’t scale!
From [Kurose/Ross]
no server has all nameto-IP address mappings local name servers:
❍ ❍
each ISP, company has
local (default) name server host DNS query first goes to local name server
authoritative name server: ❍ ❍
for a host: stores that host’s IP address, name can perform name/address translation for that host’s name
Networking Basics
42
DNS: Root name servers contacted by local name server that can not resolve name root name server: ❍ ❍ ❍
contacts authoritative name server if name mapping not known gets mapping returns mapping to local name server a NSI Herndon, VA c PSInet Herndon, VA d U Maryland College Park, MD g DISA Vienna, VA h ARL Aberdeen, MD j NSI (TBD) Herndon, VA
k RIPE London i NORDUnet Stockholm m WIDE Tokyo
e NASA Mt View, CA f Internet Software C. Palo Alto, CA
13 root name servers worldwide
b USC-ISI Marina del Rey, CA l ICANN Marina del Rey, CA
From [Kurose/Ross]
Networking Basics
43
Simple DNS example host surf.eurecom.fr wants IP address of gaia.cs.umass.edu
root name server
2 5
1. contacts its local DNS server, dns.eurecom.fr 2. dns.eurecom.fr contacts local name server dns.eurecom.fr root name server, if necessary 1 6 3. root name server contacts authoritative name server, dns.umass.edu, if requesting host necessary surf.eurecom.fr
From [Kurose/Ross]
Networking Basics
3
4
authorititive name server dns.umass.edu
gaia.cs.umass.edu
44
DNS example
root name server
Root name server: may not know
7
authoritative name server may know
intermediate name server: who to
contact to find authoritative name server
6
2
local name server dns.eurecom.fr
1
8
requesting host
3
intermediate name server dns.umass.edu
4
5
authoritative name server dns.cs.umass.edu
surf.eurecom.fr gaia.cs.umass.edu From [Kurose/Ross]
Networking Basics
45
HTTP overview HTTP: hypertext transfer protocol Web’s application layer
protocol client/server model ❍ client: browser that requests, receives, “displays” Web objects ❍ server: Web server sends objects in response to requests HTTP 1.0: RFC 1945 HTTP 1.1: RFC 2068 From [Kurose/Ross]
HT TP r
equ est PC running HT TP res Explorer pon se
st e u q
re se Server P n T o running HT esp r P T Apache Web HT server
Mac running Navigator
Networking Basics
46
HTTP overview (continued) HTTP is “stateless”
Uses TCP: client initiates TCP
connection (creates socket) to server, port 80 server accepts TCP connection from client HTTP messages (applicationlayer protocol messages) exchanged between browser (HTTP client) and Web server (HTTP server) TCP connection closed
From [Kurose/Ross]
server maintains no
information about past client requests
aside
Protocols that maintain “state” are complex! past history (state) must be maintained if server/client crashes, their views of “state” may be inconsistent, must be reconciled
Networking Basics
47
HTTP connections Nonpersistent HTTP At most one object is sent over a TCP connection. HTTP/1.0 uses nonpersistent HTTP
From [Kurose/Ross]
Persistent HTTP Multiple objects can be sent over single TCP connection between client and server. HTTP/1.1 uses persistent connections in default mode
Networking Basics
48
HTTP request message two types of HTTP messages: request, response HTTP request message:
❍
ASCII (human-readable format)
request line (GET, POST, HEAD commands)
GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 header Connection: close lines Accept-language:fr
Carriage return, line feed indicates end of message
From [Kurose/Ross]
(extra carriage return, line feed)
Networking Basics
49
HTTP request message: general format
From [Kurose/Ross]
Networking Basics
50
HTTP response message status line (protocol status code status phrase) header lines
data, e.g., requested HTML file
From [Kurose/Ross]
HTTP/1.1 200 OK Connection close Date: 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 ...
Networking Basics
51
HTTP response status codes In first line in server->client response message. A few sample 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 server
404 Not Found ❍
requested document not found on this server
505 HTTP Version Not Supported From [Kurose/Ross]
Networking Basics
52
Cookies: keeping “state” Many major Web sites use cookies Four components:
Example: ❍
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 From [Kurose/Ross]
❍
❍
Susan access Internet always from same PC She visits a specific ecommerce 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
Networking Basics
53
Cookies: keeping “state” (cont.) client
ebay: 8734 Cookie file amazon: 1678 ebay: 8734
usual http request msg usual http response +
Set-cookie: 1678 usual http request msg
cookie: 1678 usual http response msg
Cookie file amazon: 1678 ebay: 8734
From [Kurose/Ross]
cookiespecific action
ac ce
ss
ac ce
one week later:
e
n server da try i tab n b creates ID as ac e ke nd 1678 for user
ss
Cookie file
server
usual http request msg
cookie: 1678 usual http response msg Networking Basics
cookiespectific action 54
Cookies (continued) What cookies can bring: authorization shopping carts recommendations user session state (Web e-mail)
From [Kurose/Ross]
aside
Cookies and privacy: cookies permit sites to learn a lot about you you may supply name and e-mail to sites search engines use redirection & cookies to learn yet more advertising companies obtain info across sites Networking Basics
55
Conditional GET: client-side caching Goal: don’t send object if
client has up-to-date cached version client: specify date of cached copy in HTTP request If-modified-since: server: response contains no
object if cached copy is upto-date: HTTP/1.0 304 Not Modified
server
client HTTP request msg If-modified-since:
HTTP response
object not modified
HTTP/1.0 304 Not Modified
HTTP request msg If-modified-since:
HTTP response
object modified
HTTP/1.0 200 OK
From [Kurose/Ross]
Networking Basics
56
Web caches (proxy server) Goal: satisfy client request without involving origin server user sets browser: Web
accesses via cache browser sends all HTTP requests to cache ❍ ❍
object in cache: cache returns object else cache requests object from origin server, then returns object to client
origin server
Proxy HT TP est u q req server re H u P e T T s client TP nse T t o H p res res pon P se TT H st e u eq r P nse T o HT esp r TP T H client
From [Kurose/Ross]
Networking Basics
origin server 57
More about Web caching Cache acts as both client
and server Cache can do up-to-date check using If-modifiedsince HTTP header ❍
❍
Issue: should cache take risk and deliver cached object without checking? Heuristics are used.
Typically cache is installed
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
by ISP (university, company, residential ISP)
From [Kurose/Ross]
Networking Basics
58
More about Web caching Cache acts as both client
and server Cache can do up-to-date check using If-modifiedsince HTTP header ❍
❍
Issue: should cache take risk and deliver cached object without checking? Heuristics are used.
Typically cache is installed
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
by ISP (university, company, residential ISP)
From [Kurose/Ross]
Networking Basics
59
Caching example (1) origin Assumptions servers average object size = 100,000 public bits Internet avg. request rate from institution’s browser to origin serves = 15/sec delay from institutional router 1.5 Mbps to any origin server and back access link to router = 2 sec institutional Consequences network
❍
10 Mbps LAN
utilization on LAN = 15%
Traffic=100K*15 /sec=1.5Mbps
utilization on access link = 100% ❍
Very long delay (minutes)
total delay = Internet delay + access delay + LAN delay = 2 sec + minutes + milliseconds
From [Kurose/Ross]
Networking Basics
institutional cache 60
Caching example (2) origin servers
Possible solution increase bandwidth of access link to, say, 10 Mbps Consequences
=
utilization on LAN = 15% utilization on access link = 15% Total delay = Internet delay + access delay + LAN delay 2 sec + msecs + msecs but a costly upgrade
public Internet
10 Mbps access link institutional network
10 Mbps LAN
institutional cache From [Kurose/Ross]
Networking Basics
61
Caching example (3) origin servers
Install cache
suppose hit rate is .4
public Internet
Consequence
=
40% requests will be satisfied almost immediately 60% requests satisfied by origin server utilization 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
From [Kurose/Ross]
1.5 Mbps access link institutional network
Networking Basics
10 Mbps LAN
institutional cache 62
Content distribution networks (CDNs) origin server in North America
The content providers are
the CDN customers. Content replication CDN company installs CDN distribution node hundreds of CDN servers throughout Internet ❍ in lower-tier ISPs, close to users CDN replicates its customers’ content in CDN servers. When provider updates CDN server CDN server content, CDN updates in S. America CDN server in Asia servers in Europe From [Kurose/Ross]
Networking Basics
63
CDN example
HTTP request for www.foo.com/sports/sports.html
Origin server
1 2 3
DNS query for www.cdn.com
CDNs authoritative DNS server HTTP request for www.cdn.com/www.foo.com/sports/ruth.gif
origin server www.foo.com distributes HTML
Nearby CDN server
Replaces: http://www.foo.com/sports.ruth.gif
with
CDN company cdn.com distributes gif files uses its authoritative DNS server to route redirect requests
http://www.cdn.com/www.foo.com/sports/ruth.gif Networking Basics From [Kurose/Ross]
64
More about CDNs routing requests CDN creates a “map”, indicating distances from leaf ISPs and CDN nodes when query arrives at authoritative DNS server: ❍
❍
not just Web pages streaming stored audio/video streaming real-time audio/video ❍
server determines ISP from which query originates uses “map” to determine best CDN server
From [Kurose/Ross]
CDN nodes create application-layer overlay network
Networking Basics
65
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
66
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? Networking Basics
67