Академический Документы
Профессиональный Документы
Культура Документы
2: Application Layer 1
HTTP connections
Nonpersistent HTTP Persistent HTTP
At most one object is Multiple objects can
sent over a TCP be sent over single
connection. TCP connection
between client and
server.
2: Application Layer 2
Non-Persistent HTTP: Response time
Definition of Round Trip
Time: time for a small
packet to travel from client
to server and back. initiate TCP
connection
RTT
Response time: request
file
one RTT to initiate TCP RTT
time to
transmit
connection file
file
one RTT for HTTP request received
and first few bytes of
HTTP response to return time time
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
2: Application Layer 4
Web caches (proxy server)
Goal: satisfy client request without involving origin server
user sets browser: origin
Web accesses via cache server
2: Application Layer 7
Electronic Mail: mail servers
2: Application Layer 8
Electronic Mail: SMTP [RFC 2821]
2: Application Layer 9
Scenario: Alice sends message to Bob
1) Alice uses User Agent (UA) to compose message and send to
bob@someschool.edu
2) Alice’s UA sends message to her mail server; message placed
in message queue
3) Client side of SMTP opens TCP connection with Bob’s mail
server
4) SMTP client sends Alice’s message over the TCP connection
5) Bob’s mail server places the message in Bob’s mailbox
6) Bob invokes his user agent to read message
1 mail
mail
server user
user server
2 agent
agent 3 6
4 5
2: Application Layer 10
SMTP
SMTP uses persistent connections
SMTP requires message (header & body) to
be in 7-bit ASCII
SMTP server uses Carriage Return/Line Feed
(CRLF).CRLF to determine end of message
in any OS
2: Application Layer 11
Mail message format
body
body
the “message”,
ASCII characters only
2: Application Layer 12
Message format: multimedia extensions
MIME: multimedia mail extension, RFC 2045, 2056
additional lines in msg header declare MIME content type
From: alice@crepes.fr
MIME version To: bob@hamburger.edu
Subject: Picture of yummy crepe.
method used MIME-Version: 1.0
to encode data Content-Transfer-Encoding: base64
Content-Type: image/jpeg
multimedia data
type, subtype, base64 encoded data .....
parameter declaration .........................
......base64 encoded data
encoded data
2: Application Layer 13
Mail access protocols
SMTP access user
user
agent protocol agent
2: Application Layer 14
DNS: Domain Name System
People: many identifiers:
name, passport #
Internet hosts, routers:
IP address (32 bit) - used for addressing datagrams
“name”, e.g., ww.yahoo.com - used by humans
Domain Name System:
distributed database implemented in hierarchy of many name
servers
application-layer protocol 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”
2: Application Layer 15
DNS services
hostname to IP address translation
host aliasing
Canonical, alias names
load distribution
replicated Web servers: set of IP addresses for one
canonical name
2: Application Layer 16
Distributed, Hierarchical Database
Root DNS Servers
2: Application Layer 18
FTP: separate control, data connections
TCP control connection
port 21
FTP client contacts FTP server
at port 21
client authorized over TCP data connection
FTP port 20 FTP
control connection client server
client browses remote directory
by sending commands over control connection.
when server receives file transfer command, server opens 2nd TCP
connection (for file) to client
after transferring one file, server closes data connection.
server opens another TCP data connection to transfer another file.
FTP server maintains “state”: current directory, earlier
authentication
2: Application Layer 19
FTP issues
Multiple connections are used
for each directory listing and file transmission
Solution
Secure FTP (SSH FTP)
• allows a range of operations on remote files
FTPS ( FTP over Secure Sockets Layer (SSL) )
Transport Layer Security (TLS) encryption
2: Application Layer 20