Sunday, May 25, 2014

Applications (Example with HTTP and FTP)

Some parts of this presentation are copied from
● Roger Dannenberg, Srinivasan Seshan, lecture notes in Computer Network,
CMU http://www.cs.cmu.edu/~srini/15-441/F11/
● Jorg Liebeherr, lecture notes in Internet Engineering, Virginia Uni.,
http://www.cs.virginia.edu/~cs458/
● TCP/IP Protocol Suite lecture notes, The McGraw-Hill Companies, Inc., 2000

Client-Server Paradigm                                                

  
Client:
• Initiates contact with server
(“speaks first”)
• Typically requests service from
server,
• For Web, client is implemented in
browser; for e-mail, in mail reader
Server:
• Provides requested service to
client
• e.g., Web server sends requested
Web page, mail server delivers e-mail




Client-Server with Socket API


What Service Does an Application 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”

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

Transport Service Reqs of Common Apps.

Other Requirements
Network reliability
– Network service must always be available
Security: privacy, denial of service,
authentication, …
Scalability.
– Scale to large numbers of users, traffic flows, …

Manageability: monitoring, control, …

FTP: The File Transfer Protocol


Transfer file to/from remote host
● Client/server model
– Client: side that initiates transfer (either to/from remote)
– Server: remote host
● FTP: RFC 959

● FTP server: port 21

FTP: Separate Control, Data Connection
FTP client contacts FTP server                                            
at port 21, specifying TCP as
transport protocol
● Two parallel TCP connections
opened:
– Control: exchange
commands, responses
between client, server. “out
of band control”
– Data: file data to/from server
● FTP server maintains “state”:
current directory, earlier

authentication




FTP: Commands, Response


Trivial File Transfer Protocol (TFTP)

Use UDP instead of TCP
Serve at port 69



0 comments:

Post a Comment