ECE/CS 372 - PowerPoint PPT Presentation

1 / 47
About This Presentation
Title:

ECE/CS 372

Description:

Lecture 5 Announcements: Lab1 is due today Lab2 is posted and is due next Tuesday Chapter 2, : * Acknowledgement: s drawn heavily from Kurose & Ross – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 48
Provided by: JimKurosea181
Category:
Tags: ece | file | protocol | transfer

less

Transcript and Presenter's Notes

Title: ECE/CS 372


1
ECE/CS 372 introduction to computer
networksLecture 5
  • Announcements
  • Lab1 is due today
  • Lab2 is posted and is due next Tuesday

Acknowledgement slides drawn heavily from Kurose
Ross
2
Chapter 1 recap
  • By now, you should know
  • the Internet and its components
  • circuit-switching networks vs. packet-switching
    networks
  • different network access technologies
  • the three Tiers 1, 2, and 3
  • layered architecture of networks
  • types of delays and throughput analysis

3
Chapter 2 Application Layer
  • Our goals
  • aspects of network application protocols
  • transport-layer service models
  • client-server paradigm
  • peer-to-peer paradigm
  • learn about protocols by examining popular
    application-level protocol HTTP

4
Some network apps
  • e-mail
  • web
  • instant messaging
  • remote login
  • P2P file sharing
  • multi-user network games
  • streaming stored video clips
  • voice over IP
  • real-time video conferencing
  • grid computing

5
Creating a network app
  • write programs that
  • run on (different) end systems
  • communicate over network
  • e.g., web server software communicates with
    browser software
  • little software written for devices in network
    core
  • network core devices do not run user applications

6
Chapter 2 Application layer
  • Principles of network applications
  • app architectures
  • app requirements
  • Web and HTTP
  • P2P file sharing

7
Application architectures
  • There are 3 types of architectures
  • Client-server
  • Peer-to-peer (P2P)
  • Hybrid of client-server and P2P

8
Client-server architecture
  • server
  • always-on
  • fixed/known IP address
  • serves many clients at same time
  • clients
  • communicate with server only
  • may be intermittently connected
  • may have dynamic IP addresses
  • do not communicate directly with each other
  • E.g., of client-server archit.
  • Google, Amazon, MySpace, YouTube,

9
Pure P2P architecture
  • no always-on server
  • arbitrary end systems directly communicate
  • peers are intermittently connected and change IP
    addresses
  • example BitTorrent
  • Pros and cons
  • scalable and distributive
  • difficult to manage
  • not secure

10
Hybrid of client-server and P2P
  • Skype
  • voice-over-IP P2P application
  • centralized server finding address of remote
    party
  • client-client connection direct (not through
    server)
  • Instant messaging
  • chatting between two users is P2P
  • centralized service client presence location
  • user registers its IP address with central server
    when it comes online
  • user contacts central server to find IP addresses
    of buddies

11
Processes communicating
  • Client process process that initiates
    communication
  • Server process process that waits to be
    contacted
  • Process is program running within a host.
  • processes in same host communicate using
    inter-process communication (managed by OS).
  • processes in different hosts communicate by
    exchanging messages
  • Note applications with P2P architectures have
    client processes server processes

12
Sockets
  • process sends/receives messages to/from its
    socket
  • socket analogous to door
  • sending process shoves message out door
  • sending process relies on transport
    infrastructure on other side of door which brings
    message to socket at receiving process

controlled by OS
  • App Program Interface (API) (1) choice of
    transport protocol (2) ability to fix a few
    parameters

13
Addressing processes
  • to receive messages, process must have
    identifier
  • host device has unique 32-bit IP address
  • Q does IP address of host on which process runs
    suffice to identify the process?
  • identifier consists of
  • IP address (host)
  • port numbers (process)
  • Example port numbers
  • HTTP server 80
  • Mail server 25
  • to send HTTP message to gaia.cs.umass.edu web
    server
  • IP address 128.119.245.12
  • Port number 80
  • more shortly
  • A No, many processes can be running on same host

14
App-layer protocol defines
Question why do we need an App-layer protocol ?
  • Types of messages exchanged,
  • e.g., request, response
  • Message syntax
  • what fields in messages how fields are
    delineated
  • Message semantics
  • meaning of information in fields
  • Rules for when and how processes send respond
    to messages
  • Public-domain protocols
  • defined in RFCs
  • allows for interoperability
  • e.g., HTTP, SMTP
  • Proprietary protocols
  • e.g., Skype

15
What transport service does an app need?
  • Data loss/reliability
  • some apps (e.g., audio) can tolerate some loss
  • other apps (e.g., file transfer, telnet) require
    100 reliable data transfer
  • 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
  • Timing
  • some apps (e.g., Internet telephony, interactive
    games) require low delay to be effective
  • Security
  • what about it !!!

16
Transport service requirements of common apps
Time Sensitive no no no yes, 100s msec yes,
few secs yes, 100s msec yes and no
Application file transfer e-mail Web
documents real-time audio/video stored
audio/video interactive games instant messaging
Bandwidth elastic elastic elastic audio
5kbps-1Mbps video10kbps-5Mbps same as above few
kbps up elastic
Data loss no loss no loss no loss loss-tolerant
loss-tolerant loss-tolerant no loss
17
What services do Internet transport protocols
provide?
  • UDP service
  • unreliable data transfer 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?
  • TCP service
  • connection-oriented setup required between
    client and server processes
  • reliable transport between sending and receiving
    process
  • flow control sender wont overwhelm receiver
  • congestion control throttle sender when network
    overloaded
  • does not provide timing, minimum bandwidth
    guarantees

18
Internet apps application, transport protocols
Application layer protocol SMTP RFC
2821 Telnet RFC 854 HTTP RFC 2616 FTP RFC
959 proprietary (e.g. RealNetworks) proprietary (
e.g., Vonage, Skype)
Underlying transport protocol TCP TCP TCP TCP TCP
or UDP typically UDP
Application e-mail remote terminal access Web
file transfer streaming multimedia Internet
telephony
19
Chapter 2 Application layer
  • Principles of network applications
  • app architectures
  • app requirements
  • Web and HTTP
  • P2P file sharing

20
Web and HTTP
  • First some terminologies
  • Web page consists of objects
  • Object can be HTML file, JPEG image, Java applet,
    audio file,
  • Web page consists of base HTML-file which
    includes several referenced objects
  • Each object is addressable by a URL
  • Example URL (Uniform Resource Locator)

21
HTTP overview app architecture
  • HTTP hypertext transfer protocol
  • Webs appl-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

HTTP request
PC running Explorer
HTTP response
HTTP request
Server running Apache Web server
HTTP response
Mac running Navigator
22
HTTP overview (continued)
  • HTTP is stateless
  • server maintains no information about past client
    requests
  • Uses TCP
  • client initiates TCP connection (creates socket)
    to server, port 80
  • server accepts TCP connection from client
  • HTTP messages exchanged between browser (HTTP
    client) and Web server (HTTP server)
  • TCP connection closed

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

23
HTTP connections
  • Nonpersistent HTTP
  • At most one object is sent over a TCP connection.
  • HTTP/1.0 uses nonpersistent HTTP
  • Persistent HTTP
  • Multiple objects can be sent over single TCP
    connection between client and server.
  • HTTP/1.1 uses persistent connections in default
    mode

24
Nonpersistent HTTP
(contains text, references to 10 jpeg images)
  • Suppose user enters URL www.someSchool.edu/someDep
    artment/home.index
  • 1a. HTTP client initiates TCP connection to HTTP
    server (process) at www.someSchool.edu on port 80

1b. HTTP server at host www.someSchool.edu
waiting for TCP connection at port 80. accepts
connection, notifying client
2. HTTP client sends HTTP request message
(containing URL) into TCP connection socket.
Message indicates that client wants object
someDepartment/home.index
3. HTTP server receives request message, forms
response message containing requested object, and
sends message into its socket
time
25
Nonpersistent HTTP (cont.)
4. HTTP server closes TCP connection.
  • 5. HTTP client receives response message
    containing html file, displays html. Parsing
    html file, finds 10 referenced jpeg objects

time
6. Steps 1-5 repeated for each of 10 jpeg objects
26
Non-Persistent HTTP Response time
  • Definition of RTT (round trip time) time to send
    a small packet to travel from client to server
    and back.
  • Response time
  • one RTT to initiate TCP connection
  • one RTT for HTTP request and first few bytes of
    HTTP response to return
  • file transmission time
  • 2RTT transmit time

27
Non-Persistent HTTP issues
  • Nonpersistent HTTP
  • Name some issues??
  • requires 2 RTTs per object
  • E.g., a 10-object page needs 20 RTTs
  • Open/close TCP connection for each object gt OS
    overhead
  • Any ideas for improvement?

28
Persistent HTTP
  • Persistent without pipelining
  • client issues new request only when previous
    response has been received
  • one RTT for each referenced object
  • Persistent with pipelining
  • default in HTTP/1.1
  • client sends requests as soon as it encounters a
    referenced object
  • as little as one RTT for all the referenced
    objects
  • Persistent HTTP
  • server leaves connection open after sending
    response
  • subsequent HTTP messages between same
    client/server sent over open connection
  • reduces response time

29
Web and HTTP Review Question
  • A HTTP request consists of
  • 1 basic html object
  • 2 referenced JPEG objects
  • Each object is of size 106bits
  • RTT 1 second
  • Transmission rate 1Mbps
  • Consider transmission delay of
  • objects only
  • Question how long it takes to receive the entire
    page
  • Non-persistent connection
  • Persistent without pipelining
  • Persistent with pipelining

30
Web and HTTP Review Question
  • A HTTP request consists of
  • 1 basic html object
  • 2 referenced JPEG objects
  • Each object is of size 106bits
  • RTT 1 second
  • Transmission rate 1Mbps
  • Consider transmission delay of
  • objects only
  • Answer (transmit time 1 sec)
  • a) 3339 sec
  • (initiate request transmit) for each of all
    3
  • b) 12227 sec
  • initiate (request transmit) for each of all
    3
  • c) 1236 sec initiate (request transmit for
    basic) (one request for 2 two transmits, one
    for each of the 2 objects)

31
ECE/CS 372 introduction to computer
networksLecture 6
  • Announcements
  • Lab2 is due next Tuesday

Acknowledgement slides drawn heavily from Kurose
Ross
32
Web caches (or proxy server)
Goal satisfy client request without involving
origin server
  • If page is needed, browser requests it from the
    Web cache
  • Q what if object not in cache??
  • cache requests object from origin server, then
    returns object to client

origin server
Proxy server
client
client
origin server
33
More about Web caching
  • cache acts as both client and server
  • typically cache is installed by ISP (university,
    company, residential ISP)
  • Why Web caching?
  • reduce response time for client request
  • reduce traffic on an institutions access link.

34
Caching example
origin servers
  • Assumptions
  • avg. object size 0.1x106bits
  • avg. request rate from institution to origin
    servers 10/sec
  • Internet delay 2 sec
  • Consequences
  • utilization on LAN 10
  • (LAN local area network)
  • utilization on access link 100
  • total delay Internet delay access delay
    LAN delay
  • 2 sec sec milliseconds
  • unacceptable delay!

public Internet
1 Mbps access link
institutional network
10 Mbps LAN
institutional cache
35
Caching example (cont)
origin servers
  • possible solution
  • increase bandwidth of access link to, say, 10
    Mbps
  • consequence
  • utilization on LAN 10
  • utilization on access link 10
  • Total delay Internet delay access delay
    LAN delay
  • 2 sec msecs msecs
  • often a costly upgrade
  • total delay still dominated by Internet delay

public Internet
10 Mbps access link
institutional network
10 Mbps LAN
institutional cache
36
Caching example (cont)
origin servers
  • 2nd possible sol web cache
  • suppose hit rate is 0.4
  • (typically, between 0.3 0.7)
  • consequence
  • 40 requests will be satisfied almost immediately
    and 60 requests satisfied by origin server
  • utilization of access link reduced by 40, giving
    an access delay in the order of milliseconds say
    10 millisec

public Internet
1 Mbps access link
institutional network
10 Mbps LAN
  • Total delay 0.4x(0.1) (LAN)
  • 0.6x(0.10.12) (LAN access Internet)
    (about) 1.3 second
  • total avg delay reduced by about 40

institutional cache
37
Web cache (cont)
  • Solution
  • Upon receiving a web request, a cache must
    consult origin server to check whether the
    requested page is up-to-date
  • Conditional GET method
  • What
  • Sent by cache to origin server check page
    status
  • When
  • For each new request client checks with cache
  • Advantages are obvious
  • Reduce response time
  • Reduce internet traffic
  • Any problems with caches??
  • Local cache copies of web pages may not be
    up-to-date??
  • What do we do then?

38
Conditional GET
  • Goal dont send object if cache has up-to-date
    version
  • How cache specifies date of cached copy in HTTP
    request
  • If-modified-since ltdategt
  • Server response contains no object if cached
    copy is up-to-date
  • HTTP/1.0 304 Not Modified

39
Chapter 2 Application layer
  • Principles of network applications
  • app architectures
  • app requirements
  • Web and HTTP
  • P2P file sharing

40
File sharing approaches
  • There are 2 approaches
  • Centralized
  • Client-server architecture
  • Distributed
  • P2P architecture
  • (e.g., BitTorrent)

41
File sharing P2P vs. client-server architectures
Client-Server Single point of failure Not
scalable More secure Bottleneck
P2P Fault-tolerant Scalable Less
secure Better
Robustness to failure Scalability Security Pe
rformance
42
Comparing Client-Server, P2P architectures
  • Question What is the file distribution time
    from one server to N hosts?

43
Client-server file distribution time
Server
  • server sequentially sends N copies
  • NF/us time
  • client i takes F/di time to download

u2
F
d1
u1
d2
us
Network (with abundant bandwidth)
dN
uN
increases linearly in N (for large N)
44
Client-server file distribution time
  • We now show that the distribution time is
    actually equal to maxNF/us, F/min(di)
  • See board notes

45
P2P file distribution time
  • server must send one copy F/us time
  • client i takes F/di time to download

Server
u2
F
d1
u1
d2
us
Network (with abundant bandwidth)
dN
  • NF bits must be downloaded
  • - NF bits must be uploaded
  • - Fastest possible upload rate
  • (assuming all nodes sending file chunks to
    same peer) is
  • us Sui

uN
i1,N
46
Comparing Client-server, P2P architectures
47
Chapter 2 Summary
  • We covered general concepts, like
  • application architectures
  • client-server, P2P
  • application service requirements
  • reliability, bandwidth, delay
  • Web and HTTP
  • Non-Persistent, persistent, web cache
  • Distribution time
  • Client-server, P2P
Write a Comment
User Comments (0)
About PowerShow.com