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