Application Layer We will learn about protocols by examining popular application-level protocols HTTP FTP SMTP / POP3 / IMAP Focus on client-server model Web HTML applicat ion transpor t network data link physical applicat ion transpor t network data link physical applicat ion transpor t network data link physical 1-1 1-1 Lecture 4
32
Embed
Application Layer We will learn about protocols by examining popular application-level protocols HTTP FTP SMTP / POP3 / IMAP Focus on client-server.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Application Layer We will learn about protocols by examining
popular application-level protocols HTTP FTP SMTP / POP3 / IMAP
Focus on client-server model Web HTML
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1-11-1Lecture 4
Client-server architecture
server: always-on host permanent IP address
clients: communicate with server may be intermittently
connected may have dynamic IP
addresses do not communicate
directly with each other
client/server
1-21-2Lecture 4
Web and HTTPFirst some jargon What is WWW? Web page consists of objects Objects can be HTML file, JPEG image,
JavaScript, video file,… Web page consists of base HTML-file which
includes several referenced objects Each object is addressable by a URL Example URL:
www.someschool.edu/someDept/pic.jpg
host name path name
1-31-3Lecture 4
HTTP overview
HTTP: hypertext transfer protocol Web’s application layer
protocol
Resources to be accessed by HTTP are identified using Uniform Resource Identifiers (URIs)—or, more specifically, Uniform Resource Locators (URLs)
PC runningExplorer
Server running
Apache Webserver
Mac runningNavigator
HTTP request
HTTP request
HTTP response
HTTP response
1-41-4Lecture 4
HTTP overview (continued)
HTTP requires guarantee: HTTP (app.) runs over TCP (transport) client initiates TCP connection (creates socket) to server,
port 80 server accepts TCP connection from client HTTP messages (application-layer protocol messages)
exchanged between browser (HTTP client) and Web server (HTTP server)
TCP connection closed
1-51-5Lecture 4
HTTP connections
Nonpersistent HTTP At most one object is
sent over a TCP connection.
Persistent HTTP Multiple objects can
be sent over single TCP connection between client and server.
1-61-6Lecture 4
Nonpersistent HTTPSuppose user enters URL www.someSchool.edu/someDepartment/home.index
1a. HTTP client initiates TCP connection to HTTP server (process) at www.someSchool.edu on port 80
2. HTTP client sends HTTP request message (containing URL) into TCP connection socket. Message indicates that client wants object someDepartment/home.index
1b. HTTP server at host www.someSchool.edu waiting for TCP connection at port 80. “accepts” connection, notifying client
3. HTTP server receives request message, forms response message containing requested object, and sends message into its socket
time
(contains text, references to 10
jpeg images)
1-71-7Lecture 4
Nonpersistent HTTP (cont.)
5. HTTP client receives response message containing html file, displays html. Parsing html file, finds 10 referenced jpeg objects
6. Steps 1-5 repeated for each of 10 jpeg objects
4. HTTP server closes TCP connection.
time
1-81-8Lecture 4
Non-Persistent HTTP: Response timeDefinition of RTT: time for 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 timetotal = 2RTT+transmit time
time to transmit file
initiate TCPconnection
RTT
requestfile
RTT
filereceived
time time
1-91-9Lecture 4
Persistent HTTP
Nonpersistent HTTP issues: requires 2 RTTs per object OS overhead for each TCP
connection
Improved version: browsers often open
parallel TCP connections to fetch referenced objects
Persistent HTTP server leaves connection
open after sending response
subsequent HTTP messages between same client/server sent over open connection
client sends requests as soon as it encounters a referenced object
as little as one RTT for all the referenced objects
1-101-10Lecture 4
Numerical Example
1-111-11Lecture 4
How to speed up Internet access?
An example: average object size = 100,000 bits
avg. request rate from institution’s browsers to origin servers = 15/sec
Internet delay from institutional router to any origin server and back to router = 2 sec
Consequences utilization on LAN = 15% utilization on access link = 100% total delay = Internet delay +