
1
FTP (RFC 959)
• Generalized file transfer
– Allow transfer of arbitrary files
– Accommodate different file types
– Convert between heterogeneous systems
• Data types
• Word lengths
• Rules for file names
– User login
File transfer Protocol (FTP)
• TCP/IP standard is File Transfer Protocol (FTP)
• General purpose protocol
– Operating system and hardware independent
– Transfers arbitrary files
– Accommodates file ownership and access restrictions
• Predates TCP/IP; adapted to TCP/IP later
Interface
• Protocol actions include:
– List contents of directory
– Change to a different working directory
– Retrieve a file
– Put a file
ftp client commands
• Two-step process:
– Launch ftp
– Connect to remote host
• Connect involves using user account on remote host
• Some FTP servers provide anonymous FTP
• ftp client interface from BSD UNIX is de facto
standard
– Many commands archaic and no longer used: tenex,
carriage control
– Most often used: cd, dir, ls, get, put
– Other useful: cr, pwd, lcd
Two-way file transfer
• get: from FTP server to local host
• put: to FTP server from local host
• Default uses same name on both hosts; ftp client
allows specification of different names
• mget, mput transfer multiple files
– UNIX-like wildcard expansion
File name translation
• File name syntaxes may be incompatible
• UNIX - 128 character, mixed case; DOS - 8+3
character, upper case
• Some names may not be legal in all systems
• BSD ftp allows rules for filename translation