microsoft powerpoint - network_overview

67
Review of Networking Basics Yao Wang Polytechnic University, Brooklyn, NY11201 [email protected]

Upload: networksguy

Post on 15-Jan-2015

872 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Microsoft PowerPoint - network_overview

Review of Networking Basics

Yao WangPolytechnic University, Brooklyn, NY11201

[email protected]

Page 2: Microsoft PowerPoint - network_overview

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.

Page 3: Microsoft PowerPoint - network_overview

From [Kurose/Ross] Networking Basics 3

Overview of Telecommunication Networks and Internet

Based on Chapter I -- Computer Networks and the Internet

Page 4: Microsoft PowerPoint - network_overview

From [Kurose/Ross] Networking Basics 4

Roadmap

What is the Internet?Network edgeNetwork coreInternet structure and ISPsProtocol layers, service models

Page 5: Microsoft PowerPoint - network_overview

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

Page 6: Microsoft PowerPoint - network_overview

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

Page 7: Microsoft PowerPoint - network_overview

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

Page 8: Microsoft PowerPoint - network_overview

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

Page 9: Microsoft PowerPoint - network_overview

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

Page 10: Microsoft PowerPoint - network_overview

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”

Page 11: Microsoft PowerPoint - network_overview

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

Page 12: Microsoft PowerPoint - network_overview

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

Page 13: Microsoft PowerPoint - network_overview

From [Kurose/Ross] Networking Basics 13

Circuit Switching: TDMA and TDMA

FDMA

frequency

timeTDMA

frequency

time

4 usersExample:

Page 14: Microsoft PowerPoint - network_overview

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

Page 15: Microsoft PowerPoint - network_overview

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

Page 16: Microsoft PowerPoint - network_overview

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

Page 17: Microsoft PowerPoint - network_overview

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?”

Page 18: Microsoft PowerPoint - network_overview

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

Page 19: Microsoft PowerPoint - network_overview

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

Page 20: Microsoft PowerPoint - network_overview

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)

Page 21: Microsoft PowerPoint - network_overview

From [Kurose/Ross] Networking Basics 21

Tier-1 ISP: e.g., SprintSprint US backbone network

Page 22: Microsoft PowerPoint - network_overview

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

Page 23: Microsoft PowerPoint - network_overview

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

Page 24: Microsoft PowerPoint - network_overview

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

Page 25: Microsoft PowerPoint - network_overview

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

Page 26: Microsoft PowerPoint - network_overview

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

Page 27: Microsoft PowerPoint - network_overview

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

Page 28: Microsoft PowerPoint - network_overview

From [Kurose/Ross] Networking Basics 28

Layering: physical communication

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

applicationtransportnetwork

linkphysical

networklink

physical

data

data

Page 29: Microsoft PowerPoint - network_overview

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

Page 30: Microsoft PowerPoint - network_overview

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

Page 31: Microsoft PowerPoint - network_overview

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

Page 32: Microsoft PowerPoint - network_overview

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

Page 33: Microsoft PowerPoint - network_overview

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

Page 34: Microsoft PowerPoint - network_overview

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

Page 35: Microsoft PowerPoint - network_overview

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

Page 36: Microsoft PowerPoint - network_overview

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

Page 37: Microsoft PowerPoint - network_overview

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

Page 38: Microsoft PowerPoint - network_overview

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

Page 39: Microsoft PowerPoint - network_overview

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?

Page 40: Microsoft PowerPoint - network_overview

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

Page 41: Microsoft PowerPoint - network_overview

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”

Page 42: Microsoft PowerPoint - network_overview

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!

Page 43: Microsoft PowerPoint - network_overview

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

Page 44: Microsoft PowerPoint - network_overview

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

Page 45: Microsoft PowerPoint - network_overview

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

Page 46: Microsoft PowerPoint - network_overview

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

Page 47: Microsoft PowerPoint - network_overview

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

Page 48: Microsoft PowerPoint - network_overview

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

Page 49: Microsoft PowerPoint - network_overview

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

Page 50: Microsoft PowerPoint - network_overview

From [Kurose/Ross] Networking Basics 50

HTTP request message: general format

Page 51: Microsoft PowerPoint - network_overview

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

Page 52: Microsoft PowerPoint - network_overview

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:

Page 53: Microsoft PowerPoint - network_overview

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

Page 54: Microsoft PowerPoint - network_overview

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:

Page 55: Microsoft PowerPoint - network_overview

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

Page 56: Microsoft PowerPoint - network_overview

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

Page 57: Microsoft PowerPoint - network_overview

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

Page 58: Microsoft PowerPoint - network_overview

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

Page 59: Microsoft PowerPoint - network_overview

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

Page 60: Microsoft PowerPoint - network_overview

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

Page 61: Microsoft PowerPoint - network_overview

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

Page 62: Microsoft PowerPoint - network_overview

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

Page 63: Microsoft PowerPoint - network_overview

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

Page 64: Microsoft PowerPoint - network_overview

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

Page 65: Microsoft PowerPoint - network_overview

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

Page 66: Microsoft PowerPoint - network_overview

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

Page 67: Microsoft PowerPoint - network_overview

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?