Top Qs
Timeline
Chat
Perspective

Comparison of file transfer protocols

From Wikipedia, the free encyclopedia

Remove ads

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.

Remove ads

Protocols for packet-switched networks

Summarize
Perspective

A packet-switched network transmits data that is divided into units called packets. A packet comprises a header (which describes the packet) and a payload (the data). 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 (TCP) or the User Datagram Protocol (UDP). In the tables below, the "Transport" column indicates which protocol(s) 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

More information Protocol, Original author ...

Features

The "Managed" column indicates whether the protocol is designed for managed file transfer (MFT). 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.[38]

More information Protocol, Encryption (data) ...
  1. TLS when BITS is used with HTTPS, AES-128 when used with SMB 3, none with HTTP or SMB version below 3.0
  2. Some implementations can obfuscate traffic using RC4 et al. See BitTorrent protocol encryption.
  3. RFC 6726 suggests IPSec as one option.
  4. One implementation, Fujitsu openFT, applies AES.
  5. RFC 1123 (1989) extends and corrects the provisions for restart/resume that were published in RFC 959 (1985). RFC 3659 (2007) provides for resuming in stream mode.
  6. It's recommended to use HTTPS provided by a webserver, proxy, or SSL terminator.
  7. These are the options in the reference implementation, which uses OpenSSL.
  8. The BNU implementation of UUCP can resume an interrupted file 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). 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.

More information Protocol, Data port ...
  1. When used with HTTP/HTTPS, configurable
  2. When used with SMB
  3. Typically, if port 6881 is unavailable as a listening port, the peer incrementally tries 6882–6889. Another port may be specified in software.
  4. 1761 is the default port, but 1761–1768 are allocated by IANA.
  5. UDP port 21 is sometimes chosen for FSP.
  6. FTP was originally designed for NCP, a protocol used on ARPANET before the advent of TCP. The TCP implementation of FTP was standardized in RFC 959.
  7. The server listens on TCP port 21 (the control port), and the client sends commands to this port from a random port above 1023. To transfer data in active mode, the server initiates a connection from port 20 to the client at the randomly selected port number.
    In passive mode, the client uses a random port above 1023 as a control port, and from this initiates file transfer. The server sends or receives data from a randomly selected port above 1023, and the client sends or receives data from one port number above its own randomly selected control port.
  8. Can be chosen by user, but layers on top of HTTP(S) so often 80/443
Remove ads

Serial protocols

Summarize
Perspective
Thumb
A 9-pin to 25-pin RS-232 adapter cable

The following protocols were designed for serial communication, mostly for the RS-232 standard. They are used for uploading and downloading computer files via modem or serial cable (e.g., by null modem or direct cable connection). UUCP is one protocol that can operate with either RS-232 or the Transmission Control Protocol as its transport. The Kermit protocol can operate over any computer-to-computer transport: direct serial, modem, or network (notably TCP/IP, including on connections secured by SSL, SSH, or Kerberos). OBject EXchange is a protocol for binary object wireless transfer via the Bluetooth standard. Bluetooth was conceived as a wireless replacement for RS-232.

Overview

More information Protocol, Author ...

Features

More information Protocol, Data block size (bytes) ...
Remove ads

See also

Notes

Loading content...

References

Loading content...

Further reading

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads