Your SlideShare is downloading. ×
F T P
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

F T P

334
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
334
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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
      • <crlf> is end-of-line character
  • 3. 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)
    Client Server 20 21 1026 1027 1 2 3 4
  • 4. 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.
    Client Server 20 21 1026 1027 1 2 2024 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, <crlf>
    • 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