File Transfer Protocol - PowerPoint PPT Presentation

About This Presentation
Title:

File Transfer Protocol

Description:

Client connect from a random unprivileged port (n 1023) to the ... Store, upload the specified ... APPE O Append, upload file to server, if file name exists, ... – PowerPoint PPT presentation

Number of Views:124
Avg rating:3.0/5.0
Slides: 21
Provided by: dickst
Category:

less

Transcript and Presenter's Notes

Title: File Transfer Protocol


1
File Transfer Protocol
  • CS-328
  • Dick Steflik

2
FTP
  • RFC 959
  • uses two TCP Ports
  • one for control
  • one for data transfers
  • command-response protocol
  • control port uses telnet protocol to negotiate
    session
  • US-ASCII
  • ltcrlfgt is end-of-line character

3
Active Mode FTP
  • Client connect from a random unprivileged port (n
    gt 1023) to the servers command port (21) and
    sends port command to tell server to connect to
    n1 then listens on the next higher unprivileged
    port (n1) for server responses. The server
    connects from its data port (20) to the client
    data port (n1)

Client
Server
20
21
1026
1027
1
2
3
4
4
Passive Mode FTP
  • Client opens two random unprivileged ports ( n gt
    1023 and n1 ex 1026 and 1027) and connects the
    first port (n) to server command port 21 and
    issues a pasv command (server sends port to use
    for data) client connects to servers specified
    data port, server completes connection.

Client
Server
20
21
1026
1027
2024
1
2
3
4
5
Transfer Files in a Heterogeneous Host Environment
  • Due to multiple hardware types and operating
    systems file are converted to four
    environmentally neutral data type for transport
    and the converted to local types at the
    destination
  • ASCII A NVT-ASCII
  • EBCDIC E EBCDIC Text
  • IMAGE I Raw binary, series of octets
  • LOCAL L Raw binary using a variable byte size
  • Client responsibility to tell server data type to
    use
  • Default data type, unless otherwise specified is
    ASCII

6
File Structures
  • Operating System store files in different
    structures
  • FTP defined file structures for transporting
    files
  • File F Unstructured, sequence of bytes
  • Record R Series of records
  • Page P Series of data blocks (pages)
  • Default file structure is File (F)
  • File Structure specified using STRU command

7
Transmission Modes
  • Mode is used to specify additional coding or
    sequencing performed on data
  • independent of data type and file structure
  • Stream S stream of bytes, if record structure
    EOF sent as record indication if file
    eof indicated by closing stream
  • Block B file sent as sequence of blocks
    preceded by header info allows restart
    of an interruped transfer
  • Compressed C data compressed using run length
    encoding

8
FTP Commands
  • USER R User name, userid for access control
  • PASS O Password for access control
  • ACCT O Account info
  • CWD O Change working directory
  • CDUP O Change to parent directory
  • SMNT O Structure mount, mount a different file
    system
  • QUIT R informs server that client wants out
  • REIN O restarts session at authentication phase
  • PORT R Host addr and data port to use

9
FTP Commands (more)
  • PASV O Passive informs server that client will
    contact to set up data connections, ask
    server to sent port info
  • TYPE R Data type, type of subsequent transfers
  • STRU R File structure
  • MODE R Transfer mode
  • RETR R Retrieve, download the file from server
  • STOR R Store, upload the specified to server
  • STOU O Store unique, same as store but server
    picks unique file name

10
FTP Commands (more)
  • APPE O Append, upload file to server, if file
    name exists, append the upload
  • ALLO O Allocate, sometimes used to preallocate
    space
  • REST O Restart, restart an interrupted transfer
  • RNFR O Rename file from filename
  • RNTO O Rename file to
  • ABOR O Abort, ask server to abort last command
  • DELE O Delete specified file
  • RMD O Remove directory
  • MKD O Make directory

11
FTP Commands (more)
  • PWD O Print working directory
  • LIST O Request directory listing
  • NLST O Request just a file name list
  • SITE O Site parameters, allow client to specify
    site specific options and parameters
  • SYST O request server operating system
  • STAT O Request server to send status of current
    xfr
  • HELP O general and command specific
  • NOOP R ask server to send a positive reply

12
FTP Responses
  • Each command generates a server response
  • 3 digit code, text, ltcrlfgt
  • use 3 digit code as driver for GUI Clients or
    programatic implementations
  • use text for Command line clients

13
Responses
  • 1yz - Positive preliminary reply - command is
    being acted upon expect a final reply code
    before sending another command
  • 2yz - Positive completion reply - command was
    successfully executed new command may be
    sent
  • 3yz - Positive intermediate reply - command was
    accepted, but the final result is being
    delayed because other information needs to be
    supplied from the client reply is used for
    sequencing command groups
  • 4yz - Transient negative completion reply -
    command failed, but the condition is
    temporary
  • 5yz - Permanent negative completion reply -
    command failed and will always fail if
    given again the command should not be
    attempted again

14
Response
  • x0z - Refers to command syntax
  • x1z - Indicates information returned by commands
    requesting information such as status or
    help
  • x2z - Refers to the state of the control or data
    connections
  • x3z - The reply is associated with the login
    process and accounting procedures
  • x4z - Reserved for future use
  • x5z - Refers to the state of the requested file
    transfer or other file system command

15
Trivial File Transfer Protocol
  • RFC 1782
  • UDP port 69
  • Simple protocol, usually used to transfer
    configuration files
  • Usually used for transferring boot file for
    diskless hosts (X-Stations) or updating NVRAM

16
TFTP
  • Typically used in short distance, low noise
    environments
  • Server is usually implement in firmware for
    updating things like routers, bios...

17
TFTP
  • Because of its compact size
  • no error recovery like TCP based FTP
  • no command structure like FTP
  • cannot list directories
  • transfers to server are to a single configured
    directory

18
Transfer Modes
  • netascii (8-bit ASCII)
  • raw binary
  • mail (obsolete, not used)

19
TFTP Transfers
  • client send a RRQ or WRQ to server
  • server sends ACK 0
  • client sends DAT1
  • repeat until done

20
TFTP Formats
  • Type Op Format without header
    2 bytes string 1 byte
    string 1 byte
    --------------------------------------------------
    ---- RRQ/ 01/02 Filename 0
    Mode 0 WRQ
    --------------------------------------------------
    ----- 2 bytes 2 bytes n
    bytes -----------------------------
    ---- DATA 03 Block Data
    ---------------------------------
    2 bytes 2 bytes
    ----------------------------- ACK 04
    Block
    ----------------------------- 2
    bytes 2 bytes string 1
    byte -----------------------------
    ------------------------ ERROR 05
    ErrorCode ErrMsg 0
    ----------------------------------------------
    -------
Write a Comment
User Comments (0)
About PowerShow.com