Review of Networking Basics

53 downloads 38540 Views 1MB Size Report
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