chap2_2ed_5July02 - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

chap2_2ed_5July02

Description:

processes running in different hosts communicate with an application-layer protocol ... congestion control: throttle sender when network overloaded ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 20
Provided by: JimKurosea271
Category:

less

Transcript and Presenter's Notes

Title: chap2_2ed_5July02


1
Applications
Xin Liu ECS 152B
Ref slides by J. Kurose and K. Ross
2
Outline
  • Overview
  • FTP
  • SMTP / POP3 / IMAP
  • NFS
  • DNS
  • HTTP
  • Content distribution

3
Network applications some review
  • Process program running within a host.
  • within same host, two processes communicate using
    interprocess communication (defined by OS).
  • processes running in different hosts communicate
    with an application-layer protocol
  • user agent interfaces with user above and
    network below.
  • implements user interface application-level
    protocol
  • Web browser
  • E-mail mail reader
  • streaming audio/video media player

4
Applications and application-layer protocols
  • Application communicating, distributed processes
  • e.g., e-mail, Web, P2P file sharing, instant
    messaging
  • running in end systems (hosts)
  • exchange messages to implement application
  • Application-layer protocols
  • one piece of an app
  • define messages exchanged by apps and actions
    taken
  • use communication services provided by lower
    layer protocols (TCP, UDP)

5
App-layer protocol defines
  • Types of messages exchanged, eg, request
    response messages
  • Syntax of message types what fields in messages
    how fields are delineated
  • Semantics of the fields, ie, meaning of
    information in fields
  • Rules for when and how processes send respond
    to messages
  • Public-domain protocols
  • defined in RFCs
  • allows for interoperability
  • eg, HTTP, SMTP
  • Proprietary protocols
  • eg, KaZaA

6
Client-server paradigm
  • Typical network app has two pieces client and
    server
  • Client
  • initiates contact with server (speaks first)
  • typically requests service from server,
  • Web client implemented in browser e-mail in
    mail reader
  • Server
  • provides requested service to client
  • e.g., Web server sends requested Web page, mail
    server delivers e-mail

7
Processes communicating across network
  • process sends/receives messages to/from its
    socket
  • socket analogous to door
  • sending process shoves message out door
  • sending process asssumes transport infrastructure
    on other side of door which brings message to
    socket at receiving process

controlled by app developer
Internet
controlled by OS

8
Addressing processes
  • For a process to receive messages, it must have
    an identifier
  • Every host has a unique 32-bit IP address
  • Example port numbers
  • HTTP server 80
  • Mail server 25

9
What transport service does an app need?
  • Data loss
  • 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

10
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
11
Internet transport protocols services
  • UDP service
  • unreliable data transfer between sending and
    receiving process
  • does not provide connection setup, reliability,
    flow control, congestion control, timing, or
    bandwidth guarantee
  • 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 providing timing, minimum bandwidth
    guarantees

12
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., Dialpad)
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
13
Outline
  • Overview
  • FTP
  • SMTP / POP3 / IMAP
  • NFS
  • DNS
  • HTTP
  • Content distribution

14
FTP the file transfer protocol
file transfer
user at host
remote file system
  • 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

15
FTP separate control, data connections
  • FTP client contacts FTP server at port 21,
    specifying TCP as transport protocol
  • Client obtains authorization over control
    connection
  • Client browses remote directory by sending
    commands over control connection.
  • When server receives a command for a file
    transfer, the server opens a TCP data connection
    to client
  • After transferring one file, server closes
    connection.

16
More
  • Server opens a second TCP data connection to
    transfer another file.
  • Three uses of data connection
  • Send a file to server
  • Retrieve a file from server
  • Listing of files
  • Control connection out of band
  • FTP server maintains state current directory,
    earlier authentication
  • Anonymous FTP may require a valid domain name.
  • Control ASCII mode
  • Data ASCII or Binary

17
FTP commands, responses
  • Sample commands
  • sent as ASCII text over control channel
  • USER username
  • PASS password
  • Plain text !
  • Do NOT use it!
  • LIST return list of file in current directory
  • RETR filename retrieves (gets) file
  • STOR filename stores (puts) file onto remote host
  • Sample return codes
  • status code and phrase
  • 331 Username OK, password required
  • 125 data connection already open transfer
    starting
  • 425 Cant open data connection
  • 452 Error writing file

18
liu_at_shannon ftp -v ftp.uu.net Connected to
ftp.uu.net. 220 FTP server ready. 530 Please
login with USER and PASS. 530 Please login with
USER and PASS. KERBEROS_V4 rejected as an
authentication type Name (ftp.uu.netliu)
anonymous 331 Guest login ok, send your complete
e-mail address as password. Password 230- 230-
Welcome to the UUNET archive. 230-
A service of UUNET Technologies Inc, Falls
Church, Virginia 230- For information about
UUNET, call 1 703 206 5600, or see the
files 230- in /uunet-info . 230 Guest login
ok, access restrictions apply. Remote system type
is UNIX. Using binary mode to transfer files.
19
ftpgt ls 227 Entering Passive Mode
(192,48,96,9,118,43) 150 Opening ASCII mode data
connection for /bin/ls. total 20088 drwxr-sr-x
2 1 512 Jun 29 2001
.forward -rw-r--r-- 1 11 0 Jun 29
2001 .hushlogin -rw-r--r-- 1 100 59
Jun 29 2001 .kermrc 226 Transfer complete. ftpgt
ls 227 Entering Passive Mode (192,48,96,9,125,39)
150 Opening ASCII mode data connection for
/bin/ls. total 20088 drwxr-sr-x 2 1
512 Jun 29 2001 .forward -rw-r--r-- 1 11
0 Jun 29 2001 .hushlogin -rw-r--r-- 1
100 59 Jun 29 2001 .kermrc -rw-r--r--
1 100 0 Jun 29 2001 .notar 226
Transfer complete. ftpgt bi 200 Type set to
I. ftpgt quit 221-You have transferred 0 bytes in
0 files. 221-Total traffic for this session was
7739 bytes in 2 transfers. 221-Thank you for
using the FTP service on neo-ftp.uu.net. 221
Goodbye.
Note server does the active open/close of the
data connection. Connection closefile complete
Write a Comment
User Comments (0)
About PowerShow.com