file transfer protocol l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
File Transfer Protocol PowerPoint Presentation
Download Presentation
File Transfer Protocol

Loading in 2 Seconds...

play fullscreen
1 / 20

File Transfer Protocol - PowerPoint PPT Presentation


  • 207 Views
  • Uploaded on

File Transfer Protocol. CS-328 Dick Steflik. 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 <crlf> is end-of-line character. Active Mode FTP.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'File Transfer Protocol' - jolanta


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
file transfer protocol

File Transfer Protocol

CS-328

Dick Steflik

slide2
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
    • <crlf> is end-of-line character
active mode ftp
Active Mode FTP
  • Client connect from a random unprivileged port (n > 1023) to the servers command port (21) and sends port command to tell server to connect to n+1 then listens on the next higher unprivileged port (n+1) for server responses. The server connects from it’s data port (20) to the client data port (n+1)

Server

Client

20

21

1026

1027

1

2

3

4

passive mode ftp
Passive Mode FTP
  • Client opens two random unprivileged ports ( n > 1023 and n+1; 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.

Server

Client

20

2024

21

1026

1027

1

2

3

4

transfer files in a heterogeneous host environment
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
file structures
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
transmission modes
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
ftp commands
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
ftp commands more
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
ftp commands more10
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
ftp commands more11
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
ftp responses
FTP Responses
  • Each command generates a server response
    • 3 digit code, text, <crlf>
  • use 3 digit code as driver for GUI Clients or programatic implementations
  • use text for Command line clients
responses
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
response
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
trivial file transfer protocol
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
slide16
TFTP
  • Typically used in short distance, low noise environments
  • Server is usually implement in firmware for updating things like routers, bios...
slide17
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
transfer modes
Transfer Modes
  • netascii (8-bit ASCII)
  • raw binary
  • mail (obsolete, not used)
tftp transfers
TFTP Transfers
  • client send a RRQ or WRQ to server
  • server sends ACK 0
  • client sends DAT1
  • repeat until done
tftp formats
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 | -----------------------------------------------------