Definition: File Transfer Protocol (FTP) is the standard mechanism provided by TCP/IP for transferring files between hosts.
Challenges:
Different file name conventions between systems
Different representations for text and data
Different directory structures
Solution: FTP resolves these issues elegantly, allowing for effective file transfers despite differences.
Protocol Overview:
Uses TCP, which is connection-oriented, ensuring reliable data transfer.
Requires two TCP connections:
Control connection on well-known port 21
Data connection on well-known port 20
21.2 FTP Operation
Control Connection:
Step 1: Server performs a passive open on port 21.
Step 2: Client performs an active open using an ephemeral port.
Data Connection:
Step 1: Client sends a passive open request.
Step 2: Port number for data transfer is sent through the control connection.
Step 3: Server performs an active open on the ephemeral port provided by the client.
21.3 File Transfer Details
File Transfer Process:
The client specifies the file type, data structure, and transmission mode.
Ensures that both local and remote file systems are compatible during the transfer.
Example: Illustrates a directory listing retrieval using FTP. The client sends commands to the server, displayed with responses indicating successful connections and data transfers.
21.4 Anonymous FTP
Purpose: Allows users to access public data without needing specific credentials.
Example: Public data available at internic.net demonstrates the functionality of anonymous FTP.
21-2 TFTP
Definition: Trivial File Transfer Protocol (TFTP) is used for simpler file copying needs without the complexities of FTP.
Use Case: Ideal for situations like booting diskless workstations or routers where only configuration and bootstrap files are needed.
Protocol Overview:
Runs over UDP (User Datagram Protocol).
Uses well-known port 69 for file transfers, enabling quick and simple file copying tasks without overhead.