What is FTP?
Nitin Sharma
MikroTik Consultant || Entrepreneur || Networking professional with 23+ Years Exp in #Routing #Switching #Network Designing #ISP Setup #Wi-Fi Solution #MikroTik #Huawei #CISCO #netElastic vBNG #Firewall #FTTH #Zyxel
File Transfer Protocol (FTP) is a network protocol?for transmitting files between computers over TCP/IP?connections. Within the TCP/IP suite, FTP is considered an application layer protocol.
FTP is useful for anyone who transfers or downloads files over the internet or to the cloud and for developers who manage websites.
The end user's computer is typically called the?local host in an FTP transaction. The second computer involved in FTP is a?remote host, which is usually a server. Both computers must be connected via a network and configured properly to transfer files via FTP. Servers must be set up to run FTP services, and the client must have FTP software installed to access these services.
Although many file transfers can be conducted using HTTP?-- another protocol in the TCP/IP suite -- FTP is still commonly used to transfer files behind the scenes for other applications, such as banking services. It's also sometimes used to download new apps via web browsers.
There are multiple free FTP clients available to download; however, most web browsers also come with FTP clients.
How does FTP work?
FTP is a client-server protocol that relies on two communication channels between the client and server: a command channel for controlling the conversation and a data channel for transmitting file content.
A typical FTP transfer works in the following way:
FTP sessions work in active or passive modes in the following ways:
?
While active FTP initiates a data connection through port 20, passive FTP initiates data connections from a high port on the client to a high port on the server.
Users can work with FTP via a simple command-line interface from a console or terminal window in Microsoft Windows, Apple macOS or Linux. They can also use a dedicated graphical user interface designed for FTP. Web browsers can also serve as FTP clients. Using FTP through an FTP client is the most common use case, as FTP clients are easier to manage, more flexible and more powerful.
FTP's uses and benefits
FTP is a standard network protocol that enables expansive file transfer capabilities across IP networks. File and data transfer can be managed with other mechanisms besides FTP -- such as email or an HTTP web service. But these other options lack the clarity of focus, precision and control that FTP and its later iterations provide. Likewise, without FTP's ability to transfer large file sizes simultaneously, users would have to transfer multiple large files one by one.
FTP is used for file transfers between systems and has multiple common use cases, including the following:
领英推荐
Although FTP can transfer large files, activities like streaming video content, playing online games, using cloud storage and sharing files, might require more advanced protocols.
FTP types
An FTP server and client software can conduct a file transfer using FTP in the following ways:
FTP security
By default, FTP doesn't encrypt traffic, and individuals can capture packets to read usernames, passwords and other data. FTP is vulnerable to brute-force attacks against user and password authentication spoofing, an FTP bounce attack or a distributed denial-of-service attack. FTP was initially defined in 1971, predating TCP and IP, and has been redefined several times since to accommodate new technologies, including the use of TCP/IP, Request for Comments (RFC) 765, RFC 959, Internet Protocol Version 6?and RFC 2428.
FTP has also undergone several updates to enhance FTP security. These include types of FTP that encrypt via an implicit TLS connection (FTPS) or explicit TLS connection (FTPES) or that work with SFTP.
History of FTP
The first specification for FTP was published as RFC 114 on April 16, 1971, and was written by Abhay Bhushan, then a student at the Massachusetts Institute of Technology. The original idea behind FTP was to enable the transfer of files over ARPANET, the precursor to the internet.
As the modern internet began to take shape, the FTP specification underwent several revisions to align with networking standards, including TCP/IP. In 1980, a new version of FTP was defined in RFC 765 by Jon Postel, who at the time was a research scientist at the Information Sciences Institute at the University of Southern California. Five years later, FTP was redefined yet again with RFC 959, which introduced new management capabilities for the protocol, including the ability to make and remove a file directory. Prior iterations of FTP were largely limited to transferring files to and from existing file directory structures.
In 1997, RFC 959 was updated with new capabilities defined in RFC 2228 to provide security capabilities. Two years later, FTP was updated with RFC 2428 to support the IPv6 protocol.
In 2005, RFC 4217 was implemented, which defined how to use the TLS protocol with FTP to secure connections.
In 2007, RFC 3659 focused on adding extensions to the protocol which added functionality. These functionalities included providing detailed information about files, their sizes and support for restarting interrupted transfers.
In 2010, RFC 5797 established a registry for FTP commands and extensions. This began to ensure consistent implementations across different FTP clients and servers.
FTP use began to diminish after 2010, primarily in favor of more secure alternatives like SFTP and FTPS. The decline was particularly due to security flaws and the growing importance of secure data transmissions. In 2021, for example, major web browsers Google Chrome, Mozilla Firefox and Microsoft Edge all dropped support for FTP, citing security concerns.
FTP clients
FTP clients are used to upload, download and manage files on a server. Examples of FTP clients include the following: