Comparison of file transfer protocols
This article lists communication protocols that are designed for file transfer over a telecommunications network.
Protocols for shared file systems—such as 9P and the Network File System—are beyond the scope of this article, as are file synchronization protocols.
Protocols for packet-switched networks
A packet-switched network transmits data that is divided into units called packets. A packet comprises a header and a payload. The Internet is a packet-switched network, and most of the protocols in this list are designed for its protocol stack, the IP protocol suite.They use one of two transport layer protocols: the Transmission Control Protocol or the User Datagram Protocol. In the tables below, the "Transport" column indicates which protocol the transfer protocol uses at the transport layer. Some protocols designed to transmit data over UDP also use a TCP port for oversight.
The "Server port" column indicates the port from which the server transmits data. In the case of FTP, this port differs from the listening port. Some protocols—including FTP, FTP Secure, FASP, and Tsunami—listen on a "control port" or "command port", at which they receive commands from the client.
Similarly, the encryption scheme indicated in the "Encryption" column applies to transmitted data only, and not to the authentication system.
Overview
Features
The "Managed" column indicates whether the protocol is designed for managed file transfer. MFT protocols prioritise secure transmission in industrial applications that require such features as auditable transaction records, monitoring, and end-to-end data security. Such protocols may be preferred for electronic data interchange.Protocol | Encryption | Transfer resuming | Multicast capable | Managed | |
BitTorrent | |||||
Cross File Transfer | |||||
EForward | |||||
Ether File Transfer Protocol | |||||
Fast and Secure Protocol | |||||
File Delivery over Unidirectional Transport | |||||
File Service Protocol | |||||
File Transfer Access and Management | |||||
File Transfer Protocol | |||||
FTP Secure | |||||
HTTP Secure | |||||
Host Unix Linkage File Transfer | |||||
Hypertext Transfer Protocol | |||||
Micro Transport Protocol | |||||
Multicast Dissemination Protocol | |||||
Multicast File Transfer Protocol | |||||
NACK-Oriented Reliable Multicast Transport Protocol | |||||
Odette File Transfer Protocol | |||||
Odette File Transfer Protocol 2 | |||||
Reliable Blast UDP | |||||
Remote copy | |||||
Secure copy | |||||
Secure Hypertext Transfer Protocol | |||||
Simple Asynchronous File Transfer | |||||
Simple File Transfer Protocol | |||||
SSH file transfer protocol | |||||
T.127 | |||||
Trivial File Transfer Protocol | |||||
Tsunami UDP Protocol | |||||
Tus open protocol for resumable file uploads | |||||
UDP-based Data Transfer Protocol | |||||
UDP-based File Transfer Protocol | |||||
Unix-to-Unix Copy | |||||
Warp Speed Data Transfer |
Ports
In the table below, the data port is the network port or range of ports through which the protocol transmits file data. The control port is the port used for the dialogue of commands and status updates between client and server.The column "Assigned by IANA" indicates whether the port is listed in the Service Name and Transport Protocol Port Number Registry, which is curated by the Internet Assigned Numbers Authority. IANA devotes each port number in the registry to a specific service with a specific transport protocol. The table below lists the transport protocol in the "Transport" column.