Sobes.tech
Intern

What is FTP?

sobes.tech AI

Answer from AI

File Transfer Protocol (FTP) is a standard network protocol used for transferring files between a client and a server in a computer network based on TCP/IP. It allows uploading files to the server and downloading them from the server.

Main features:

  • Two channels: FTP uses two separate TCP connections:
    • Control channel (port 21): For transmitting commands and responses between the client and server.
    • Data channel (port 20 in active mode, or dynamically assigned in passive mode): For the actual transfer of file data.
  • Modes of operation:
    • Active mode: The client sends its IP address and port to the server, which then establishes a connection for data transfer. This can cause issues with client firewalls.
    • Passive mode: The client requests the server to specify a port, on which the client will then establish a connection for data transfer. It is more common and less problematic with firewalls.
  • Authentication: Supports user authentication with login and password, as well as anonymous access.
  • Commands: A set of standard commands for performing file operations (e.g., GET, PUT, LIST).

Disadvantages:

  • Lack of encryption: By default, FTP transmits data (including credentials) in plain text.
  • Firewall issues: Active mode can be hindered by firewalls.
  • Automation complexity: Writing scripts for automation can be inconvenient.

More secure alternatives exist, such as SFTP (FTP over SSH) or FTPS (FTP over SSL/TLS).

What is FTP? — Java - sobes.tech