Comparison_of_file_transfer_protocols

Comparison of file transfer protocols

Comparison of file transfer protocols

Add article description


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 (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

Serial protocols

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) ...

See also


Notes

  1. Cohen, Bram (2 July 2001). "The BitTorrent Protocol Specification". Yahoo! Finance Groups. Archived from the original on 16 December 2008. Retrieved 23 February 2018.
  2. Shoch, John (1979). EFTP: A PUP-based Ether File Transfer Protocol.
  3. Snodgrass, Richard (December 1982). A Relational Approach to Monitoring Complex Systems. pp. 119, 149. Retrieved 3 March 2018.
  4. US patent 20090063698, Ying Xu, Michelle Christine Munson, Serban Simu, "Method and system for aggregate bandwith control [sic]", issued 30 May 2017, assigned to Aspera, Inc. and IBM
  5. Paila, Toni; Luby, Michael; Lehtonen, Rami; Roca, Vincent; Walsh, Rod (October 2004). FLUTE - File Delivery over Unidirectional Transport. IETF. doi:10.17487/RFC3926. RFC 3926. Retrieved 7 March 2018.
  6. Petersen, Julie K., ed. (2002). "File Service Protocol". The Telecommunications Illustrated Dictionary (2nd ed.). CRC Press. p. 357. ISBN 978-1-4200-4067-8 via Google Books.
  7. "File Service Protocol (FSP) Frequently Asked Questions [Part 2/2]". FAQs.org. 21 July 1995. Section: "Who writes and maintains FSP software?". Retrieved 3 March 2018.
  8. Bhushan, Abhay (April 1971). A File Transfer Protocol. IETF. doi:10.17487/RFC0114. RFC 114. Retrieved 24 February 2018.
  9. Horowitz, M.; Lunt, S. (October 1997). FTP Security Extensions. IETF. doi:10.17487/RFC2228. RFC 2228. Retrieved 3 March 2018.
  10. Ford-Hutchinson, Paul (October 2005). Securing FTP with TLS. IETF. doi:10.17487/RFC4217. RFC 4217. Retrieved 3 March 2018.
  11. Sliwa, Carol (31 May 1999). "Secure Sockets Layer". Computerworld. p. 69. Retrieved 1 March 2018 via Google Books.
  12. Hickman, Kipp E. B. (April 1995). The SSL Protocol. IETF. I-D draft-hickman-netscape-ssl-00. Retrieved 1 March 2018.
  13. Iwaya, Akemi (10 November 2015). "Why was 80 Chosen as the Default HTTP Port and 443 as the Default HTTPS Port?". How-To Geek. Retrieved 3 March 2018.
  14. Norberg, Arvid (22 June 2009). "uTorrent transport protocol". BitTorrent.org. Retrieved 10 March 2018.
  15. U S patent 7710961, C. Kenneth Miller, Thomas Andresen, Thomas Gardner, Craig Michelson, Kenneth Cates, Marc White, Kary Robertson, "System and method for sending packets over a computer network", issued 20 December 2011, assigned to Darby and Mohaine LLC
  16. Nash, David (September 1997). ODETTE File Transfer Protocol. IETF. doi:10.17487/RFC2204. RFC 2204. Retrieved 22 February 2018.
  17. Friend, Ieuan (November 2007). ODETTE File Transfer Protocol 2. IETF. doi:10.17487/RFC5024. RFC 5024. Retrieved 22 February 2018.
  18. He, Eric; Leigh, Jason; Yu, Oliver; DeFanti, Thomas A. (September 2002). "Reliable Blast UDP: Predictable High Performance Bulk Data Transfer" (PDF). Proceedings: IEEE International Conference on Cluster Computing, ICCC (January 2002). IEEE Cluster Computing 2002. Chicago. pp. 317–24. ISSN 1552-5244. OCLC 5942572037. Retrieved 2 March 2018.
  19. Ylonen, Tatu (31 August 2017). "SSH: Secure Shell § History of the SSH Protocol". SSH.com. Retrieved 3 March 2018.
  20. Rescorla, Eric; Schiffman, Allan M. (August 1999). The Secure HyperText Transfer Protocol. IETF. doi:10.17487/RFC2660. RFC 2660. Retrieved 9 March 2018.
  21. Horlacher, Ulli. "SAFT / sendfile". fex.belwue.de. Retrieved 3 March 2018.
  22. Horlacher, Ulli. "sendfile(1)". manpages.org. Retrieved 3 March 2018.
  23. Lottor (1984), pp. 1, 13
  24. Ylönen, Tatu (30 September 2012). "Re: where are SFTP v0 - 2 defined?". secsh (Mailing list). Retrieved 9 March 2018. I designed and implemented the original SFTP protocol for SSH 2.0 back around 1997. Sami Lehtinen did further development on it.
    It was originally a proprietary protocol at SSH Communications Security (www.ssh.com), though source code was publicly available. It took a while [sic] before we wrote the draft and brought it to the IETF for standardization (seems to have been January 2001).
    [permanent dead link]
  25. Sollins, Karen R. (January 1980). The TFTP Protocol. IETF. IEN 133. Retrieved 24 February 2018.
  26. Wagner, Jan. "Tsunami UDP Protocol". tsunami-udp.sourceforge.net. Jon Wagner via SourceForge.
  27. "Research". anml.iu.edu. Pervasive Technology Labs at Indiana University. Section: "Tsunami". Archived from the original on 29 July 2010.
  28. Bush, Dennis. "Changes". uftp-multicast.sourceforge.net. Dennis Bush. Retrieved 9 March 2018 via SourceForge.
  29. "wdt: Releases". GitHub. Retrieved 7 April 2023.
  30. Villanueva, John Carl (17 February 2015). "Managed File Transfer and Network Solutions". JSCAPE.com. JSCAPE.
  31. Cohen, Bram (4 February 2017) [2008]. "The BitTorrent Protocol Specification". BitTorrent.org. Section: "Trackers". Retrieved 22 February 2018.
  32. "Message Stream Encryption". Vuze Wiki. Azureus Software. 1 December 2007 [2006]. Retrieved 10 March 2018.
  33. "Transfer CFT 3.2.4 Users Guide § Configuring Transfer CFT". Axway.com. Axway Software. Archived from the original on 19 February 2018. Retrieved 18 February 2018.
  34. "Printing at PARC—Appendix: Glossary of Terms § EFTP". 4 August 1978. Retrieved 3 March 2018. A simple, PUP-oriented protocol, designed for file transmission from user programs to servers (especially printing servers). The server must acknowledge each packet before the next is sent. This protocol admits to compact implementation in user programs, offset by some redunction in bandwidth.
  35. Pott, Trevor (1 October 2015). "Aspera high speed file transfer: Let the cloud protocol wars begin". The Register. Retrieved 18 February 2018.
  36. "FASP Security Model". AsperaSoft.com. Aspera. 2017. Retrieved 18 February 2018.
  37. Campos, Andrea (2 June 2016). "Resuming file transfers with ascp". AsperaSoft.com. Aspera. Retrieved 2 March 2018.
  38. Paila, Toni; Walsh, Rod; Luby, Michael; Roca, Vincent; Lehtonen, Rami (November 2012). FLUTE - File Delivery over Unidirectional Transport. IETF. doi:10.17487/RFC3926. RFC 3926. Retrieved 7 March 2018.
  39. Peltotalo, Jani; Peltotalo, Sami; Harju, Jarmo. "Analysis of the FLUTE Data Carousel" (PDF). mad.cs.tut.fi. Tampere University of Technology. p. 1. Retrieved 9 March 2018.
  40. Peltotalo, Jani; Peltotalo, Sami; Harju, Jarmo; Walsh, Rod (June 2007) [2006]. "Performance analysis of a file delivery system based on the FLUTE protocol". International Journal of Communication Systems. 20 (6): 633. doi:10.1002/dac.835. S2CID 260426266.
  41. "File Service Protocol (FSP) Frequently Asked Questions v1.1". FAQs.org. 19 August 1996. Retrieved 18 February 2018.
  42. "Common Ports". Red Hat Enterprise Linux 4: Security Guide. Red Hat. 2005. Retrieved 2 March 2018.
  43. Kozierok, Charles M. (20 September 2005). "FTP Overview, History and Standards". The TCP/IP Guide (v3.0 ed.). Retrieved 21 February 2018.
  44. Bhushan, Abhay (April 1971). A File Transfer Protocol. IETF. doi:10.17487/RFC0114. RFC 114. Retrieved 22 February 2018.
  45. Hethmon, Paul (March 2007). "Restarting in STREAM Mode". Extensions to FTP. IETF. sec. 5.1. doi:10.17487/RFC3659. RFC 3659. Retrieved 13 March 2018.
  46. Rescorla, Eric (May 2000). HTTP Over TLS. IETF. doi:10.17487/RFC2818. RFC 2818. Retrieved 20 February 2018.
  47. Reynolds, Joyce; Postel, Jon (October 1994). Assigned Numbers. IETF. p. 34. doi:10.17487/RFC1700. RFC 1700. Retrieved 3 March 2018.
  48. "The Incredible HULFT – My Favorite B2B Network Protocol". OpenText Blogs. OpenText. 27 August 2009. Retrieved 18 February 2018.
  49. "9.4.1. HULFT § Overview". Enterprise Cloud Knowledge Center. NTT Communications. Retrieved 2 March 2018.
  50. "9.4.1. HULFT § HULFT 8 Cipher Option". Enterprise Cloud Knowledge Center. NTT Communications. Retrieved 18 February 2018.
  51. "導入サービス". HULFT.com (in Japanese). Saison Information Systems. Section: "前提事項、その他". Retrieved 21 February 2018.
  52. Reynolds, Joyce; Postel, Jon (July 1992). Assigned Numbers. IETF. p. 12. doi:10.17487/RFC1340. RFC 1340. Retrieved 3 March 2018.
  53. Adamson, Brian; Macker, Joe. "Multicast Dissemination Protocol (MDP) Developer's Guide". nrl.navy.mil. United States Naval Research Laboratory. Retrieved 22 February 2018.
  54. "Multicast Dissemination Protocol History". nrl.navy.mil. United States Naval Research Laboratory. Retrieved 22 February 2018.
  55. Miller, Kenneth; Robertson, Kary; Tweedly, Alex; White, Marc (April 1998). "IANA Assigned UDP Port". StarBurst Multicast File Transfer Protocol (MFTP) Specification. IETF. p. 10. I-D miller-mftp-spec-03. Retrieved 18 February 2018.
  56. "StarBurst MFTP Compared to Today's File Transfer Protocols: A White Paper". StarBurst Communications. 1996 via University of California, Irvine.
  57. Adamson, Brian; Bormann, Carsten; Handley, Mark; Macker, Joe (November 2009). NACK-Oriented Reliable Multicast (NORM) Transport Protocol. IETF. doi:10.17487/RFC5740. RFC 5740. Retrieved 22 February 2018.
  58. Li, Jie; Veeraraghavan, Malathi (2012). A Reliable Message Multicast Transport Protocol for Virtual Circuits (PDF). 4th International Conference on Communications, Mobility, and Computing (CMC 2012). p. 120. Retrieved 2 March 2018.
  59. "Rlogin, RSH, and RCP". SourceDaddy. Retrieved 18 February 2018.
  60. Rescorla, Eric; Schiffman, Allan M. (August 1999). The Secure HyperText Transfer Protocol. IETF. doi:10.17487/RFC2660. RFC 2660. Retrieved 20 February 2018.
  61. Lottor (1984), p. 10
  62. Ylonen, Tatu (10 October 2017). "SFTP - SSH Secure File Transfer Protocol § SFTP Port Number". SSH.com. Retrieved 3 March 2018.
  63. "A Primer on the T.120 Series" (PDF). DataBeam Corporation. 1997 [1995]. pp. 2, 4. Retrieved 2 March 2018.
  64. "T.120: Multipoint Data Conferencing and Real Time Communication Protocols". Network Protocols Handbook (2 ed.). Javvin Technologies. January 2005. p. 137. ISBN 9780974094526.
  65. Sollins, Karen R. (July 1992). The TFTP Protocol (Revision 2). IETF. doi:10.17487/RFC1350. RFC 1350. Retrieved 22 February 2018.
  66. "Tsunami UDP Protocol – Installation, Setup and Limitations". BluePiIT.com. BluePi Consulting. 13 October 2015. Retrieved 20 February 2018.
  67. Tkaczewski, John (18 June 2012). "Open Source Fast File Transfers". FileCatalyst.com. FileCatalyst. Retrieved 24 February 2018.
  68. Valeros Bernardo, Danilo; Hoang, Doan B. (2010). "End-to-End Security Methods for UDT Data Transmissions". Future Generation Information Technology. International Conference on Future Generation Information Technology. p. 383. doi:10.1007/978-3-642-17569-5_38. ISBN 978-3-642-17569-5.
  69. Valeros Bernardo, Danilo (2012). Network Security Mechanisms and Implementations for the Next Generation Reliable Fast Data Transfer Protocol—UDT (PDF) (Ph.D. thesis). University of Technology Sydney. pp. 22, 91–102. OCLC 830759422. Retrieved 21 February 2018.
  70. "Encrypted UDP based FTP with multicast (UFTP)". Wireshark Wiki. 7 August 2016. Retrieved 21 February 2018.
  71. Reifschneider, Sean (8 January 2004). "Mobile Email with UUCP". ONLamp. O'Reilly Media. Archived from the original on 10 December 2017. Retrieved 20 February 2018.
  72. Ravin, Ed (1996). Using & Managing UUCP (2nd ed.). O'Reilly & Associates. p. 70. ISBN 978-1-56592-153-5.
  73. WDT RocksDB Dec 16 2016. Laurent Demailly. 23 December 2016. Archived from the original on 12 December 2021. Retrieved 23 February 2018 via YouTube.
  74. Demailly, Laurent (17 October 2015). "Getting Started with the WDT command line". GitHub. Retrieved 1 March 2018.
  75. Adamson, Brian; Macker, Joe. "Multicast Dissemination Protocol (MDP) Developer's Guide". nrl.navy.mil. United States Naval Research Laboratory. Retrieved 22 February 2018.
  76. Magidson, Steve (15 May 1989). "Moving Files Can Be a BLAST" (PDF). UNIX Today!. CMP Media. Retrieved 18 February 2018.
  77. da Cruz (1987) p. 3
  78. "OBEX (Object Exchange) Protocol". irdajp.org. Infrared Data Association. 2011. Archived from the original on 21 February 2018. Retrieved 20 February 2018.
  79. Held, Gilbert (1993). "SeaLink". Mastering PC Communications Software. Van Nostrand Reinhold. p. 74.
  80. Woggon, Michele (1995). "SeaLink". Telecommunications Using ProComm & ProComm Plus Made Easy. Prentice Hall. p. 34.
  81. "UUCP protocol internals". University of Utah.
  82. Lucas, Jay (6 September 1982). "Freeware: Modem lets your computers communicate". InfoWorld. IDG. p. 53. Retrieved 18 February 2018.
  83. Glass (1988) p. 87
  84. Glass (1988) p. 89
  85. Boswell, Peter (2007) [1986]. How XModem, XModem CRC, and WXModem work. Archived from the original on 23 September 2014 via Totse.com.
  86. Magidson, Steve (15 May 1989). "Moving Files Can Be a BLAST" (PDF). UNIX Today!. CMP Media. Retrieved 18 February 2018.
  87. da Cruz (1987) pp. 234, 253, 307
  88. Wells, Nicholas (2003). "Using UUCP for Remote Access". Guide to Linux Installation and Administration. Course Technology. p. 140. ISBN 978-0-619-00094-3 via Google Books.
  89. Taylor, Ian Lance. "UUCP 'g' Protocol". FreeBSD Documentation Server. The FreeBSD Project. Retrieved 8 March 2018.

References

Further reading


Share this article:

This article uses material from the Wikipedia article Comparison_of_file_transfer_protocols, and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.