Comparison of file transfer protocols

{{Short description|none}}

{{for multi|file sharing software|Comparison of file-sharing applications|file synchronization software|Comparison of file synchronization software}}

{{Use dmy dates|date=February 2018}}

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=

class="wikitable sortable" style="text-align:center"

|+ style="font-weight:normal; line-height:2em" | {{smaller|Color key:}} {{pad|2ex}} {{legend2|#acf|International standard}} {{pad|2ex}} {{legend2|#d2ffd2|Internet Standard}} {{pad|2ex}} {{legend2|#ffb|Proposed Standard}} {{pad|2ex}} {{legend2|wheat|Internet Draft}}

! scope="col" colspan="2" | Protocol !! scope="col" rowspan="2" | Original author !! scope="col" rowspan="2" | First published !! scope="col" rowspan="2" | Protocol suite !! scope="col" rowspan="2" | Standard !! scope="col" rowspan="2" class="unsortable" | {{abbr|Refs|References}}

scope="col" | Full namescope="col" | Abbreviation
style="text-align:left" | Background Intelligent Transfer ServiceBITSMicrosoft2001{{n/a}}{{nonpartisan|No}}{{cite web |url=https://learn.microsoft.com/en-us/windows/win32/bits/background-intelligent-transfer-service-portal |title=Background_Intelligent Transfer Service |date=25 May 2021 |website=Microsoft Learn }}
style="text-align:left" | BitTorrentBTBram Cohen2001{{n/a}}{{nonpartisan|No}}{{cite web |url=http://finance.groups.yahoo.com/group/decentralization/message/3160 |title=The BitTorrent Protocol Specification |date=2 July 2001 |last=Cohen |first=Bram |author-link=Bram Cohen |website=Yahoo! Finance Groups |archive-url=https://web.archive.org/web/20081216141736/http://finance.groups.yahoo.com/group/decentralization/message/3160 |archive-date=2008-12-16 |access-date=2018-02-23}}
style="text-align:left" | CCSDS File Delivery ProtocolCFDP2002{{n/a}}{{operational|ISO [https://www.iso.org/standard/43829.html 17355:2007 (v4)]
CCSDS [https://public.ccsds.org/Pubs/727x0b5.pdf 727.0-B-5]}}
style="text-align:left" | Cross File TransferCFT{{n/a}}{{nonpartisan|No}}
style="text-align:left" | Ether File Transfer ProtocolEFTPJohn Shoch1979PARC Universal Packet{{nonpartisan|No}}{{cite book |title=EFTP: A PUP-based Ether File Transfer Protocol |last=Shoch |first=John |author-link=John Shoch |year=1979}}{{cite book |title=A Relational Approach to Monitoring Complex Systems |last=Snodgrass |first=Richard |author-link=Richard T. Snodgrass |date=December 1982 |pages=[https://archive.org/details/DTIC_ADA125988/page/n129 119], 149 |url=https://archive.org/details/DTIC_ADA125988 |access-date=2018-03-03}}
style="text-align:left" | Fast and Secure ProtocolFASPYing Xu, Michelle Munson, Serban Simu2007{{n/a}}{{nonpartisan|No}}{{cite patent |country=US |number=20090063698 |status=patent |title=Method and system for aggregate bandwith control [sic] |pubdate= |gdate=30 May 2017 |fdate=5 March 2009 |pridate=4 September 2007 |inventor=Ying Xu, Michelle Christine Munson, Serban Simu |assign1=Aspera, Inc. |assign2=IBM |url=https://patents.google.com/patent/US20090063698}}
style="text-align:left" | File Delivery over Unidirectional TransportFLUTEInternet Society2004{{n/a}}{{partial|{{IETF RFC|6726}}}}{{cite IETF |title=FLUTE - File Delivery over Unidirectional Transport |rfc=3926 |last=Paila |first=Toni |last2=Luby |first2=Michael |last3=Lehtonen |first3=Rami |last4=Roca |first4=Vincent |last5=Walsh |first5=Rod |date=October 2004 |publisher=IETF |accessdate=2018-03-07}}
style="text-align:left" | File Service ProtocolFSPWen-King Su1991{{n/a}}{{nonpartisan|No}}{{cite book |title=The Telecommunications Illustrated Dictionary |edition=2nd |editor-last=Petersen |editor-first=Julie K. |publisher=CRC Press |year=2002 |isbn=978-1-4200-4067-8 |via=Google Books |chapter-url=https://books.google.com/books?id=YH_LBQAAQBAJ&pg=PA357 |chapter=File Service Protocol |page=357 }}{{cite web |url=http://www.faqs.org/faqs/fsp-faq/part2/ |title=File Service Protocol (FSP) Frequently Asked Questions [Part 2/2] |date=21 July 1995 |at=Section: "Who writes and maintains FSP software?" |website=FAQs.org |access-date=2018-03-03}}
style="text-align:left" | File Transfer Access and ManagementFTAM1988{{operational|ISO [https://www.iso.org/standard/15851.html 8571-4:1988]}}
style="text-align:left" | File Transfer ProtocolFTPAbhay Bhushan1971Internet protocol suite{{ya|text={{IETF RFC|959}}}}{{cite IETF |title=A File Transfer Protocol |rfc=114 |last=Bhushan |first=Abhay |authorlink=Abhay Bhushan |date=April 1971 |publisher=IETF |accessdate=2018-02-24}}
style="text-align:left" | FTP SecureFTPSInternet Society1997Internet protocol suite{{partial|{{IETF RFC|2228|4217}}}}{{cite IETF |title=FTP Security Extensions |rfc=2228 |last=Horowitz |first=M. |last2=Lunt |first2=S. |date=October 1997 |publisher=IETF |accessdate=2018-03-03}}{{cite IETF |title=Securing FTP with TLS |rfc=4217 |last=Ford-Hutchinson |first=Paul |date=October 2005 |publisher=IETF |accessdate=2018-03-03}}
style="text-align:left" | HTTP SecureHTTPSTaher Elgamal et al.1995Internet protocol suite{{ya|text={{IETF RFC|9110}}}}{{cite magazine |title=Secure Sockets Layer |last=Sliwa |first=Carol |date=31 May 1999 |magazine=Computerworld |access-date=2018-03-01 |page=69 |via=Google Books |url=https://books.google.com/books?id=KQMeZfQuVxoC&pg=PT37}}{{cite IETF |title=The SSL Protocol |draft=draft-hickman-netscape-ssl-00 |last=Hickman |first=Kipp E. B. |date=April 1995 |publisher=IETF |accessdate=2018-03-01}}
style="text-align:left" | Host Unix Linkage File TransferHULFT{{dunno}}1993{{n/a}}{{nonpartisan|No}}
style="text-align:left" | Hypertext Transfer ProtocolHTTPTim Berners-Lee et al.1991Internet protocol suite{{ya|text={{IETF RFC|9110}}}}{{cite web |url=https://www.w3.org/Protocols/HTTP/AsImplemented.html |title= The Original HTTP as defined in 1991 |last=Berners-Lee |first=Tim |author-link=Tim Berners-Lee |website=W3.org |access-date=2018-03-03}}{{cite web |url=https://www.howtogeek.com/233383/why-was-80-chosen-as-the-default-http-port-and-443-as-the-default-https-port/ |title=Why was 80 Chosen as the Default HTTP Port and 443 as the Default HTTPS Port? |last=Iwaya |first=Akemi |date=10 November 2015 |website=How-To Geek |access-date=2018-03-03}}
style="text-align:left" | Micro Transport ProtocolμTPLudvig Strigeus, Greg Hazel, Stanislav Shalunov, Arvid Norberg, Bram Cohen2007{{n/a}}{{nonpartisan|No}}{{cite web |url=http://bittorrent.org/beps/bep_0029.html |title=uTorrent transport protocol |last=Norberg |first=Arvid |date=22 June 2009 |website=BitTorrent.org |access-date=2018-03-10}}{{cite web |url=https://www.slideshare.net/eCommConf/eric-klinker-presentation-at-emerging-communication-conference-awards-2010-america/11 |title=Eric Klinker Presentation at Emerging Communication Conference & Awards 2010 America § Status of uTP |last=Klinker |first=Eric |date=16 May 2010 |publisher=eCommConf |access-date=2018-03-10}}
style="text-align:left" | Multicast Dissemination ProtocolMDP1993{{nonpartisan|No}}
style="text-align:left" | Multicast File Transfer ProtocolMFTPC. Kenneth Miller et al.1995{{n/a}}{{partial failure|[https://tools.ietf.org/html/draft-miller-mftp-spec-03 IETF Draft] {{small|(1998)}}}}{{cite patent |country=U S |number=7710961 |status=patent |title=System and method for sending packets over a computer network |pubdate= |gdate=20 December 2011 |fdate=12 August 2010 |pridate=19 January 1995 |inventor=C. Kenneth Miller, Thomas Andresen, Thomas Gardner, Craig Michelson, Kenneth Cates, Marc White, Kary Robertson |assign1=Darby and Mohaine LLC |url=https://patents.google.com/patent/US8081629B2/en}}
style="text-align:left" | NACK-Oriented Reliable Multicast Transport ProtocolNORM2000{{partial|{{IETF RFC|5740}}}}
style="text-align:left" | Odette File Transfer ProtocolOFTPOrganisation for Data Exchange by Tele Transmission in Europe1986X.25{{partial|{{IETF RFC|6726}}}}{{cite IETF |title=ODETTE File Transfer Protocol |rfc=2204 |last=Nash |first=David |date=September 1997 |publisher=IETF |accessdate=2018-02-22}}
style="text-align:left" | Odette File Transfer Protocol 2OFTP2Organisation for Data Exchange by Tele Transmission in Europe2007X.25, Internet protocol suite{{partial|{{IETF RFC|5024}}}}{{cite IETF |title=ODETTE File Transfer Protocol 2 |rfc=5024 |last=Friend |first=Ieuan |date=November 2007 |publisher=IETF |accessdate=2018-02-22}}
style="text-align:left" | Reliable Blast UDPRBUDPEric He et al.2002{{n/a}}{{nonpartisan|No}}{{cite conference |url=https://www.evl.uic.edu/eric/papers/He-Cluster-02.pdf |title=Reliable Blast UDP: Predictable High Performance Bulk Data Transfer |first1=Eric |last1=He |first2=Jason |last2=Leigh |first3=Oliver |last3=Yu |first4=Thomas A. |last4=DeFanti |date=September 2002 |conference=IEEE Cluster Computing 2002 |location=Chicago |book-title=Proceedings: IEEE International Conference on Cluster Computing, ICCC (January 2002) |oclc=5942572037 |issn=1552-5244 |pages=317–24 |access-date=2018-03-02}}
style="text-align:left" | Remote copyrcp{{dunno}}1982Internet protocol suite{{nonpartisan|No}}{{cite book |title=Open Sources: Voices from the Open Source Revolution |last=McKusick |first=Marshall Kirk |author-link=Marshall Kirk McKusick |year=1999 |isbn=978-1-56592-582-3 |chapter=Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable |chapter-url=http://www.oreilly.com/openbook/opensources/book/kirkmck.html |publisher=O'Reilly & Associates |at=[https://archive.org/details/isbn_9781565925823/page/ Section: "4.2BSD"] |title-link=Open Sources: Voices from the Open Source Revolution }}
style="text-align:left" | Secure copySCPTatu Ylönen1995Secure Shell{{nonpartisan|No}}{{cite web |url=https://www.ssh.com/ssh/#sec-History-of-the-SSH-protocol |title=SSH: Secure Shell § History of the SSH Protocol |last=Ylonen |first=Tatu |date=31 August 2017 |website=SSH.com |access-date=2018-03-03}}
style="text-align:left" | Secure Hypertext Transfer ProtocolS-HTTPIETF Web Transaction Security Working Group1999{{n/a}}{{partial|{{IETF RFC|2660}}}}{{cite IETF |title=The Secure HyperText Transfer Protocol |rfc=2660 |last=Rescorla |first=Eric |last2=Schiffman |first2=Allan M. |date=August 1999 |publisher=IETF |accessdate=2018-03-09}}
style="text-align:left" | Simple Asynchronous File TransferSAFTUlli Horlacher1995{{n/a}}{{nonpartisan|No}}{{cite web |url=https://fex.belwue.de/saft/ |title=SAFT / sendfile |last=Horlacher |first=Ulli |website=fex.belwue.de |access-date=2018-03-03}}{{cite web |url=http://manpages.org/sendfile |title=sendfile(1) |last=Horlacher |first=Ulli |website=manpages.org |access-date=2018-03-03}}
style="text-align:left" | Simple File Transfer ProtocolSFTPMark K. Lottor1984{{n/a}}{{partial|{{IETF RFC|913}}}}Lottor (1984), pp. 1, 13
style="text-align:left" | SSH file transfer protocolSFTPTatu Ylönen{{sort|1997|c. 1997}}Secure Shell{{partial failure|[https://tools.ietf.org/html/draft-ietf-secsh-filexfer-13 IETF Draft] {{small|(2006)}}}}{{cite mailing list |url=ftp://ftp.ietf.org/ietf-mail-archive/secsh/2012-09.mail |title=Re: where are SFTP v0 - 2 defined? |date=30 September 2012 |access-date=9 March 2018 |mailing-list=secsh |last=Ylönen |first=Tatu |quote=I designed and implemented the original SFTP protocol for SSH 2.0 back around 1997. Sami Lehtinen did further development on it.{{pb}}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). }}{{Dead link|date=December 2023 |bot=InternetArchiveBot |fix-attempted=yes }}
style="text-align:left" | T.127T.127ITU{{cite web |url=https://www.itu.int/rec/T-REC-T.127 |title=T.127: Multipoint binary file transfer protocol |access-date=2021-03-23 |publisher=ITU}}1995 {{cite web |url=https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-T.127-199508-S!!PDF-E&type=items |title=T.127 (08/95) Multipoint binary file transfer protocol |access-date=2021-03-23 |publisher=ITU}}{{n/a}}{{operational|ITU [http://www.itu.int/rec/T-REC-T.127 T.127]}}
style="text-align:left" | Trivial File Transfer ProtocolTFTPNoel Chiappa1980Internet protocol suite{{ya|text={{IETF RFC|1350}}}}{{cite IETF |title=The TFTP Protocol |ien=133 |last=Sollins |first=Karen R. |date=January 1980 |publisher=IETF |accessdate=2018-02-24}}
style="text-align:left" | Tsunami UDP ProtocolTsunamiMark Meiss et al.2002{{n/a}}{{nonpartisan|No}}{{cite web |url=http://tsunami-udp.sourceforge.net/ |title=Tsunami UDP Protocol |last=Wagner |first=Jan |website=tsunami-udp.sourceforge.net |publisher=Jon Wagner |via=SourceForge}}{{cite web |url=http://anml.iu.edu/research.shtml?prim=lab_research |title=Research |archive-url=https://web.archive.org/web/20100729055331/http://anml.iu.edu/research.shtml?prim=lab_research |at=Section: "Tsunami" |website=anml.iu.edu |publisher=Pervasive Technology Labs at Indiana University |archive-date=2010-07-29}}
style="text-align:left" | Tus open protocol for resumable file uploadstusFelix Geisendörfer, Marius Kleidl et al.2014{{n/a}}{{nonpartisan|No}}{{GitHub|tus/tus-resumable-upload-protocol/blob/master/protocol.md}}{{cite web |url=https://tus.io |title=tus - resumable file uploads}}
style="text-align:left" | UDP-based Data Transfer ProtocolUDTYunhong Gu2004{{n/a}}{{nonpartisan|No}}
style="text-align:left" | UDP-based File Transfer ProtocolUFTPDennis Bush2001{{n/a}}{{nonpartisan|No}}{{cite web |url=http://uftp-multicast.sourceforge.net/Changes.txt |title=Changes |website=uftp-multicast.sourceforge.net |last=Bush |first=Dennis |publisher=Dennis Bush |via=SourceForge |access-date=2018-03-09}}
style="text-align:left" | Unix-to-Unix CopyUUCPMike Lesk1979{{n/a}}{{nonpartisan|No}}
style="text-align:left" | Warp Speed Data TransferWDTLaurent Demailly et al.2015{{n/a}}{{nonpartisan|No}}{{cite web |url=https://github.com/facebook/wdt/releases |title=wdt: Releases |website=GitHub |access-date=2023-04-07}}

=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.{{cite web |url=http://www.jscape.com/blog/oftp-odette-file-transfer-protocol |title=Managed File Transfer and Network Solutions |last=Villanueva |first=John Carl |date=17 February 2015 |website=JSCAPE.com |publisher=JSCAPE}}

class="wikitable sortable" style="text-align:center"

! scope="col" | Protocol !! scope="col" | Encryption
{{small|(data)}} !! scope="col" | Transfer
resuming !! scope="col" | Multicast
capable !! scope="col" | Managed !! scope="col" class="unsortable" | {{abbr|Refs|References}}

style="text-align:left" | BITS{{ya|text=Optional TLS / AES-128}}{{efn|TLS when BITS is used with HTTPS, AES-128 when used with SMB 3, none with HTTP or SMB version below 3.0}}{{yes}}{{no}}{{no}}
style="text-align:left" | BitTorrent{{n/a|None}}{{efn|name=a}}{{yes}}{{Yes-No|Peer-to-peer}}{{no}}{{cite web |url=http://www.bittorrent.org/beps/bep_0003.html |title=The BitTorrent Protocol Specification |date=4 February 2017 |last=Cohen |first=Bram |author-link=Bram Cohen |orig-year=2008 |at=Section: "Trackers" |website=BitTorrent.org |access-date=2018-02-22}}{{cite web |url=https://wiki.vuze.com/w/Message_Stream_Encryption |title=Message Stream Encryption |website=Vuze Wiki |date=1 December 2007 |orig-year=2006 |publisher=Azureus Software |access-date=2018-03-10}}
style="text-align:left" | CCSDS File Delivery Protocol (CFDP){{None}}{{yes}}{{no}}{{no}}
style="text-align:left" | Cross File Transfer (CFT){{ya|text=TLS / SSL}}{{yes}} {{cite web |url=https://docs.axway.com/bundle/TransferCFT_324_UsersGuide_allOS_en_HTML5/page/Content/UNIX/UNIX_operations/Running_CFT/cft_installation_test_in_tcp_mode.htm |title=Transfer CFT 3.2.4 Users Guide § Configuring Transfer CFT |website=Axway.com |publisher=Axway Software |access-date=2018-02-18 |archive-url=https://web.archive.org/web/20180219090305/https://docs.axway.com/bundle/TransferCFT_324_UsersGuide_allOS_en_HTML5/page/Content/UNIX/UNIX_operations/Running_CFT/cft_installation_test_in_tcp_mode.htm |archive-date=19 February 2018 |url-status=dead }}{{cite web |url=https://docs.axway.com/bundle/Transfer_CFT_322_UsersGuide_LocalAdministration_allOS_en_HTML5/page/Content/architecture/intro_security.htm#Transport_Security |title=Transfer CFT 3.2.2 Local Administration Guide § Transport Security |website=Axway.com |publisher=Axway Software |access-date=2018-02-22}}
style="text-align:left" | Ether File Transfer Protocol (EFTP){{n/a|None}}{{dunno}}{{no}}{{no}}{{cite web |url=http://xeroxalto.computerhistory.org/Indigo/Spruce/documents/PrintingAtParc.dm!1_/.appprinting.bravo.html |title=Printing at PARC—Appendix: Glossary of Terms § EFTP |quote=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. |date=4 August 1978 |access-date=2018-03-03}}
style="text-align:left" | Fast and Secure Protocol (FASP){{ya|text=AES-256 / AES-192 / AES-128}}{{yes}}{{no}}{{cite web |url=https://www.theregister.co.uk/2015/10/01/aspera/ |title=Aspera high speed file transfer: Let the cloud protocol wars begin |last=Pott |first=Trevor |date=1 October 2015 |website=The Register |access-date=2018-02-18}}{{cite web |url=http://asperasoft.com/technology/transport/fasp/fasp-security-model/ |title=FASP Security Model |date=2017 |website=AsperaSoft.com |publisher=Aspera |access-date=2018-02-18}}{{cite web |url=https://support.asperasoft.com/hc/en-us/articles/216125578-Resuming-file-transfers-with-ascp |title=Resuming file transfers with ascp |last=Campos |first=Andrea |date=2 June 2016 |website=AsperaSoft.com |publisher=Aspera |access-date=2018-03-02}}
style="text-align:left" | File Delivery over Unidirectional Transport (FLUTE){{optional|Optional/Unspecified}}{{efn|RFC 6726 suggests IPSec as one option.}}{{no}}{{yes}}{{cite IETF |title=FLUTE - File Delivery over Unidirectional Transport |rfc=3926 |last=Paila |first=Toni |last2=Walsh |first2=Rod |last3=Luby |first3=Michael |last4=Roca |first4=Vincent |last5=Lehtonen |first5=Rami |date=November 2012 |publisher=IETF |accessdate=2018-03-07}}{{cite web |title=Analysis of the FLUTE Data Carousel |url=http://mad.cs.tut.fi/doc/Analysis_of_the_FLUTE_Data_Carousel_paper.pdf |last1=Peltotalo |first1=Jani |last2=Peltotalo |first2=Sami |last3=Harju |first3=Jarmo |website=mad.cs.tut.fi |page=1 |publisher=Tampere University of Technology |access-date=2018-03-09}}{{cite journal |title=Performance analysis of a file delivery system based on the FLUTE protocol |last1=Peltotalo |first1=Jani |last2=Peltotalo |first2=Sami |last3=Harju |first3=Jarmo |last4=Walsh |first4=Rod |orig-year=2006 |doi=10.1002/dac.835 |volume=20 |issue=6 |date=June 2007 |page=633 |journal=International Journal of Communication Systems|s2cid=260426266 }}
style="text-align:left" | File Service Protocol (FSP){{n/a|None}}{{yes}}{{no}}{{no}}{{cite web |url=http://www.faqs.org/faqs/fsp-faq/part1/ |title=File Service Protocol (FSP) Frequently Asked Questions v1.1 |date=19 August 1996 |website=FAQs.org |access-date=2018-02-18}}{{cite book |chapter-url=http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-sg-en-4/ch-ports.html |chapter=Common Ports |title=Red Hat Enterprise Linux 4: Security Guide |year=2005 |publisher=Red Hat |access-date=2018-03-02}}
style="text-align:left" | File Transfer Access and Management (FTAM){{dunno}}{{efn|name=ii}}{{cite web |url=https://sp.ts.fujitsu.com/dmsp/Publications/public/dp-openft-connection-to-customs-atlas-em-en.pdf |title=openFT v11.0: Setting Up a Connection to Customs (Atlas) with openFT FTAM |publisher=Fujitsu |year=2010 |page=2 |access-date=2018-02-18 }}
style="text-align:left" | File Transfer Protocol (FTP){{n/a|None}}{{yes}}{{efn|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.}}{{no}}{{no}}{{cite IETF |title=File Transfer Protocol (FTP) |rfc=959 |last=Postel |first=Jon |authorlink=Jon Postel |last2=Reynolds |first2=Joyce |authorlink2=Joyce K. Reynolds |date=October 1985 |publisher=IETF |accessdate=2018-02-22}}{{cite book |chapter-url=http://www.tcpipguide.com/free/t_FTPOverviewHistoryandStandards.htm |chapter=FTP Overview, History and Standards |title=The TCP/IP Guide |edition=v3.0 |last=Kozierok |first=Charles M. |date=20 September 2005 |access-date=2018-02-21}}{{cite IETF |title=A File Transfer Protocol |rfc=114 |last=Bhushan |first=Abhay |authorlink=Abhay Bhushan |date=April 1971 |publisher=IETF |accessdate=2018-02-22}}{{cite IETF |title= Requirements for Internet Hosts—Application and Support |rfc=1123 |sectionname=FTP Restart Mechanism |section=4.1.3.4 |pages=36–7 |last=Braden |first=Robert |authorlink=Bob Braden |date=October 1989 |publisher=IETF |page-url=https://tools.ietf.org/html/rfc1123#page-36 |accessdate=2018-03-13}}{{cite IETF |title=Extensions to FTP |rfc=3659 |sectionname=Restarting in STREAM Mode |section=5.1 |page= |last=Hethmon |first=Paul |date=March 2007 |publisher=IETF |accessdate=2018-03-13}}
style="text-align:left" | FTP Secure (FTPS){{ya|text=TLS / SSL}}{{yes}}{{no}}{{no}}
style="text-align:left" | HTTP Secure (HTTPS){{ya|text=TLS / SSL}}{{yes}}{{no}}{{no}}{{cite IETF |title=HTTP Over TLS |rfc=2818 |last=Rescorla |first=Eric |date=May 2000 |publisher=IETF |accessdate=2018-02-20}}{{cite IETF |title=Assigned Numbers |rfc=1700 |page=34 |last=Reynolds |first=Joyce |authorlink=Joyce K. Reynolds |last2=Postel |first2=Jon |authorlink2=Jon Postel |date=October 1994 |publisher=IETF |accessdate=2018-03-03}}
style="text-align:left" | Host Unix Linkage File Transfer (HULFT){{ya|text=AES}}{{dunno}}{{no}}{{cite web |url=http://www.gxsblogs.com/keifers/2009/08/the-incredible-hulft-my-favorite-b2b-network-protocol.html |title=The Incredible HULFT – My Favorite B2B Network Protocol |date=27 August 2009 |website=OpenText Blogs |publisher=OpenText |access-date=2018-02-18}}{{cite web |url=https://ecl.ntt.com/en/documents/service-descriptions/rsts/hulft/hulft.html#id7 |title=9.4.1. HULFT § Overview |website=Enterprise Cloud Knowledge Center |publisher=NTT Communications |access-date=2018-03-02}}{{cite web |url=https://ecl.ntt.com/en/documents/service-descriptions/rsts/hulft/hulft.html#hulft-8-cipher-option |title=9.4.1. HULFT § HULFT 8 Cipher Option |website=Enterprise Cloud Knowledge Center |publisher=NTT Communications |access-date=2018-02-18}}{{cite web |url=https://www.hulft.com/support/introduce |title=導入サービス |at=Section: "前提事項、その他" |website=HULFT.com |publisher=Saison Information Systems |language=ja |access-date=2018-02-21}}
style="text-align:left" | Hypertext Transfer Protocol (HTTP){{n/a|None
(see HTTPS and S-HTTP)}}
{{yes}}{{no}}{{no}}{{cite IETF |title=Assigned Numbers |rfc=1340 |page=12 |last=Reynolds |first=Joyce |authorlink=Joyce K. Reynolds |last2=Postel |first2=Jon |authorlink2=Jon Postel |date=July 1992 |publisher=IETF |accessdate=2018-03-03}}
style="text-align:left" | Micro Transport Protocol (μTP){{n/a|None}}{{yes}}{{Yes-No|Peer-to-peer}}{{no}}
style="text-align:left" | Multicast Dissemination Protocol (MDP){{n/a|None}}{{yes}}{{yes}}{{cite web |url=https://downloads.pf.itd.nrl.navy.mil/docs/mdp/MdpDevGuide.html |archive-url=https://web.archive.org/web/20151209021755/http://downloads.pf.itd.nrl.navy.mil/docs/mdp/MdpDevGuide.html |url-status=dead |archive-date=9 December 2015 |title=Multicast Dissemination Protocol (MDP) Developer's Guide |last1=Adamson |first1=Brian |last2=Macker |first2=Joe |website=nrl.navy.mil |publisher=United States Naval Research Laboratory |access-date=2018-02-22}}{{cite web |url=https://www.nrl.navy.mil/itd/ncs/products/mdp/history/ |title=Multicast Dissemination Protocol History |website=nrl.navy.mil |publisher=United States Naval Research Laboratory |access-date=2018-02-22}}
style="text-align:left" | Multicast File Transfer Protocol (MFTP){{n/a|None}}{{yes}}{{yes}}{{no}}{{cite IETF |title=StarBurst Multicast File Transfer Protocol (MFTP) Specification |draft=miller-mftp-spec-03 |sectionname=IANA Assigned UDP Port |page=10 |last=Miller |first=Kenneth |last2=Robertson |first2=Kary |last3=Tweedly |first3=Alex |last4=White |first4=Marc |date=April 1998 |publisher=IETF |accessdate=2018-02-18}}{{cite web |url=https://www.ics.uci.edu/~ejw/hidden/mftp.htm |title=StarBurst MFTP Compared to Today's File Transfer Protocols: A White Paper |year=1996 |publisher=StarBurst Communications |via=University of California, Irvine}}
style="text-align:left" | NACK-Oriented Reliable Multicast Transport Protocol (NORM){{ya|text=IPsec}}{{yes}}{{yes}}{{cite web |url=https://www.nrl.navy.mil/Our-Work/Areas-of-Research/Information-Technology/NCS/NORM/ |title=NACK-Oriented Reliable Multicast (NORM) |website=nrl.navy.mil |publisher=United States Naval Research Laboratory |access-date=2018-02-22}}{{cite IETF |title=NACK-Oriented Reliable Multicast (NORM) Transport Protocol |rfc=5740 |last=Adamson |first=Brian |last2=Bormann |first2=Carsten |last3=Handley |first3=Mark |last4=Macker |first4=Joe |date=November 2009 |publisher=IETF |accessdate=2018-02-22}}
style="text-align:left" | Odette File Transfer Protocol (OFTP){{n/a|None}}{{yes}}
style="text-align:left" | Odette File Transfer Protocol 2 (OFTP2){{ya|text=TLS}}{{yes}}
style="text-align:left" | Reliable Blast UDP (RBUDP){{n/a|None}}{{no}}{{no}}{{cite conference |url=http://www.ece.virginia.edu/mv/pubs/confs/2012/CMC2012/447.pdf |title=A Reliable Message Multicast Transport Protocol for Virtual Circuits |last1=Li |first1=Jie |last2=Veeraraghavan |first2=Malathi|author2-link= Malathi Veeraraghavan |year=2012 |conference=4th International Conference on Communications, Mobility, and Computing (CMC 2012) |page=120 |access-date=2018-03-02}}{{GitHub|Holdo/RBUDP}}
style="text-align:left" | Remote copy (rcp){{n/a|None}}{{no}}{{no}}{{no}}{{cite web |url=http://sourcedaddy.com/networking/rlogin-rsh-and-rcp.html |title=Rlogin, RSH, and RCP |website=SourceDaddy |access-date=2018-02-18}}
style="text-align:left" | Secure copy (SCP){{ya|text=Secure Shell}}{{no}}{{no}}{{no}}
style="text-align:left" | Secure Hypertext Transfer Protocol (S-HTTP){{ya|text=CMS / MOSS / other}}{{no}}{{no}}{{no}}{{cite IETF |title=The Secure HyperText Transfer Protocol |rfc=2660 |last=Rescorla |first=Eric |last2=Schiffman |first2=Allan M. |date=August 1999 |publisher=IETF |accessdate=2018-02-20}}
style="text-align:left" | Simple Asynchronous File Transfer (SAFT){{ya|text=PGP}}{{dunno}}{{no}}{{no}}{{cite web |url=https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?&page=9 |title=Service Name and Transport Protocol Port Number Registry |website=IANA.org |publisher=Internet Assigned Numbers Authority |date=21 February 2018 |access-date=2018-02-22}}
style="text-align:left" | Simple File Transfer Protocol (SFTP){{n/a|None}}{{yes}}{{no}}{{no}}Lottor (1984), p. 10
style="text-align:left" | SSH file transfer protocol (SFTP){{ya|text=Secure Shell}}{{yes}}{{no}}{{no}}{{cite web |url=https://www.ssh.com/ssh/sftp/#sec-SFTP-Port-Number |title=SFTP - SSH Secure File Transfer Protocol § SFTP Port Number |last=Ylonen |first=Tatu |date=10 October 2017 |website=SSH.com |access-date=2018-03-03}}
style="text-align:left" | T.127{{n/a|None}}{{yes}}{{yes}}{{no}}{{cite web |url=https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-T.127-200708-I!!PDF-E&type=items |title=ITU-T Rec. T.127 (08/2007) Multipoint binary file transfer protocol |page=4 |year=2008 |publisher=International Telecommunication Union}}{{cite web |url=https://www.packetizer.com/ipmc/t120/primer/t120_primer.pdf |title=A Primer on the T.120 Series |year=1997 |orig-year=1995 |pages=2, 4 |publisher=DataBeam Corporation |access-date=2018-03-02}}{{cite book |title=Network Protocols Handbook |chapter=T.120: Multipoint Data Conferencing and Real Time Communication Protocols |date=January 2005 |chapter-url=https://books.google.com/books?id=D_GrQa2ZcLwC&pg=PA137 |edition=2 |page=137 |publisher=Javvin Technologies|isbn=9780974094526 }}
style="text-align:left" | Trivial File Transfer Protocol (TFTP){{n/a|None}}{{no}}{{no}}{{no}}{{cite IETF |title=The TFTP Protocol (Revision 2) |rfc=1350 |last=Sollins |first=Karen R. |date=July 1992 |publisher=IETF |accessdate=2018-02-22}}
style="text-align:left" | Tsunami UDP Protocol{{n/a|None}}{{no}}{{no}}{{no}}{{cite web |url=https://www.bluepiit.com/blog/tsunami-udp-protocol-installation-setup-and-limitations/ |title=Tsunami UDP Protocol – Installation, Setup and Limitations |date=13 October 2015 |website=BluePiIT.com |publisher=BluePi Consulting |access-date=2018-02-20}}{{cite web |url=http://filecatalyst.com/open-source-fast-file-transfers/ |title=Open Source Fast File Transfers |last=Tkaczewski |first=John |date=18 June 2012 |website=FileCatalyst.com |publisher=FileCatalyst |access-date=2018-02-24}}
style="text-align:left" | Tus open protocol for resumable file uploads (tus){{optional|Optional/Unspecified}}{{efn|It's recommended to use HTTPS provided by a webserver, proxy, or SSL terminator.}}{{yes}}{{no}}{{no}}
style="text-align:left" | UDP-based Data Transfer Protocol (UDT){{unofficial|Experimental}}{{no}}{{no}}{{no}}{{cite conference |last1=Valeros Bernardo |first1=Danilo |last2=Hoang |first2=Doan B. |year=2010 |title=End-to-End Security Methods for UDT Data Transmissions |conference=International Conference on Future Generation Information Technology |book-title=Future Generation Information Technology |page=383 |doi=10.1007/978-3-642-17569-5_38 |isbn=978-3-642-17569-5 }}{{cite thesis |last=Valeros Bernardo |first=Danilo |year=2012 |title=Network Security Mechanisms and Implementations for the Next Generation Reliable Fast Data Transfer Protocol—UDT |type=Ph.D. thesis |publisher=University of Technology Sydney |oclc=830759422 |url=https://opus.lib.uts.edu.au/bitstream/10453/21431/2/02Whole.pdf |pages=22, 91–102 |access-date=2018-02-21}}
style="text-align:left" | UDP-based File Transfer Protocol (UFTP){{ya|text=AES-256 / AES-128 / 3DES / DES}}{{efn|name=f}}{{yes}}{{yes}}{{no}}{{cite web |url=https://wiki.wireshark.org/Protocols/uftp |title=Encrypted UDP based FTP with multicast (UFTP) |date=7 August 2016 |website=Wireshark Wiki |access-date=2018-02-21}}
style="text-align:left" | Unix-to-Unix Copy (UUCP){{n/a|None}}{{some}}{{efn|The BNU implementation of UUCP can resume an interrupted file transfer.}}{{no}}{{no}}{{cite web |url=http://www.onlamp.com/pub/a/onlamp/2004/01/09/uucp.html |title=Mobile Email with UUCP |last=Reifschneider |first=Sean |date=8 January 2004 |website=ONLamp |publisher=O'Reilly Media |access-date=2018-02-20 |archive-date=10 December 2017 |archive-url=https://web.archive.org/web/20171210150712/http://www.onlamp.com/pub/a/onlamp/2004/01/09/uucp.html |url-status=dead }}{{cite book |title=Using & Managing UUCP |last=Ravin |first=Ed |year=1996 |edition=2nd |page=70 |publisher=O'Reilly & Associates |isbn=978-1-56592-153-5}}
style="text-align:left" | Warp Speed Data Transfer (WDT){{ya|text=AES-128 (OFB / CTR)}}{{yes}}{{no}}{{no}}{{cite AV media |url=https://www.youtube.com/watch?v=WSjvNPgrGRE |archive-url=https://ghostarchive.org/varchive/youtube/20211212/WSjvNPgrGRE| archive-date=2021-12-12 |url-status=live|title=WDT RocksDB Dec 16 2016 |date=23 December 2016 |publisher=Laurent Demailly |via=YouTube |access-date=2018-02-23}}{{cbignore}}{{cite web |url=https://github.com/facebook/wdt/wiki/Getting-Started-with-the-WDT-command-line |title=Getting Started with the WDT command line |last=Demailly |first=Laurent |date=17 October 2015 |website=GitHub |access-date=2018-03-01}}{{GitHub|LazyZhu/wdt}}

{{notelist|refs=

{{efn|name=a|Some implementations can obfuscate traffic using RC4 et al. See BitTorrent protocol encryption.}}

{{efn|name=ii|One implementation, Fujitsu openFT, applies AES.}}

{{efn|name=f|These are the options in the reference implementation, which uses OpenSSL.}}

}}

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

class="wikitable sortable" style="text-align:center"

! scope="col" rowspan="2" colspan="2" | Protocol !! scope="col" colspan="3" | Data port !! scope="col" colspan="3" | Control port !! scope="col" rowspan="2" | Assigned
{{small|by IANA}} !! scope="col" rowspan="2" | Assignee !! scope="col" rowspan="2" class="unsortable" | {{abbr|Refs|References}}

scope="col" | Serverscope="col" | Clientscope="col" | Transport

! scope="col" | Server

scope="col" | Clientscope="col" | Transport
style="text-align:left" colspan="2" | BITS80/443{{efn|When used with HTTP/HTTPS, configurable}} / 137–139{{efn|When used with SMB}}TCP / UDP{{no}}{{n/a}}
style="text-align:left" colspan="2" | BitTorrent6881{{efn|name=BT_port}}6881TCP68816881TCP{{no}}{{n/a}}{{cite web |url=https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt |title=Service Name and Transport Protocol Port Number Registry |date=28 February 2018 |website=IANA.org |publisher=Internet Assigned Numbers Authority |access-date=2018-03-17}}
style="text-align:left" colspan="2" | CCSDS File Delivery Protocol (CFDP)
style="text-align:left" colspan="2" | Cross File Transfer (CFT)1761{{efn|name=i}}TCP / X.25
style="text-align:left" colspan="2" | Ether File Transfer Protocol (EFTP){{n/a}}{{n/a}}{{n/a|None}}{{n/a}}{{n/a}}{{n/a|None}}{{n/a}}{{n/a}}
style="text-align:left" colspan="2" | Fast and Secure Protocol (FASP)≥33001UDP22TCP{{no}}{{n/a}}
style="text-align:left" colspan="2" | File Delivery over Unidirectional Transport (FLUTE)4001UDP{{no}}{{n/a}}
style="text-align:left" colspan="2" | File Service Protocol (FSP){{varies|Chosen by user}}{{efn|UDP port 21 is sometimes chosen for FSP.}}UDP{{no}}{{n/a}}
style="text-align:left" colspan="2" | File Transfer Access and Management (FTAM)4800 / 102TCP{{cite web |url=https://sp.ts.fujitsu.com/dmsp/Publications/public/dp-openft-connection-to-customs-atlas-em-en.pdf |title=openFT v11.0: Setting Up a Connection to Customs (Atlas) with openFT FTAM |publisher=Fujitsu |year=2010 |page=2 |access-date=2018-02-18 }}
style="text-align:left" rowspan="2" | File Transfer Protocol (FTP)style="text-align:right" | Active mode2020rowspan="2" | TCP{{efn|name=d}}rowspan="2" | 21rowspan="2" | ≥1024rowspan="2" | TCProwspan="2" {{yes}}rowspan="2" | Jon Postelrowspan="2" |
style="text-align:right" | Passive mode≥1024{{efn|name=c}}≥1024
style="text-align:left" colspan="2" | FTP Secure (FTPS)989TCP990TCP{{yes}}Christopher Allen
style="text-align:left" colspan="2" | HTTP Secure (HTTPS)443TCPTCP{{yes}}IESG
style="text-align:left" colspan="2" | Host Unix Linkage File Transfer (HULFT)30000TCPTCP{{no}}{{n/a}}
style="text-align:left" colspan="2" | Hypertext Transfer Protocol (HTTP)80TCPTCP{{yes}}Tim Berners-Lee
style="text-align:left" colspan="2" | Micro Transport Protocol (μTP)UDP{{no}}{{n/a}}
style="text-align:left" colspan="2" | Multicast Dissemination Protocol (MDP){{varies|Chosen by user}}UDP{{cite web |url=https://downloads.pf.itd.nrl.navy.mil/docs/mdp/MdpDevGuide.html |archive-url=https://web.archive.org/web/20151209021755/http://downloads.pf.itd.nrl.navy.mil/docs/mdp/MdpDevGuide.html |url-status=dead |archive-date=9 December 2015 |title=Multicast Dissemination Protocol (MDP) Developer's Guide |last1=Adamson |first1=Brian |last2=Macker |first2=Joe |website=nrl.navy.mil |publisher=United States Naval Research Laboratory |access-date=2018-02-22}}
style="text-align:left" colspan="2" | Multicast File Transfer Protocol (MFTP)5402UDP{{yes}}Steve Bannister
style="text-align:left" colspan="2" | NACK-Oriented Reliable Multicast Transport Protocol (NORM)UDP
style="text-align:left" colspan="2" | Odette File Transfer Protocol (OFTP)3305TCP / X.25TCP / X.25
style="text-align:left" colspan="2" | Odette File Transfer Protocol 2 (OFTP2)6619TCP / X.25TCP / X.25
style="text-align:left" colspan="2" | Reliable Blast UDP (RBUDP){{varies|Chosen by user}}UDP{{no}}{{n/a}}
style="text-align:left" colspan="2" | Remote copy (rcp)514TCPTCP{{yes}}
style="text-align:left" colspan="2" | Secure copy (SCP)22TCPTCP{{yes}}
style="text-align:left" colspan="2" | Secure Hypertext Transfer Protocol (S-HTTP)80TCPTCP{{no}}{{n/a}}
style="text-align:left" colspan="2" | Simple Asynchronous File Transfer (SAFT)487TCP{{yes}}Ulli Horlacher
style="text-align:left" colspan="2" | Simple File Transfer Protocol (SFTP)115TCPTCP{{yes}}Mark Lottor
style="text-align:left" colspan="2" | SSH file transfer protocol (SFTP)22TCPTCP{{yes}}
style="text-align:left" colspan="2" | T.1271503TCPTCP{{yes}}Jim Johnston
style="text-align:left" colspan="2" | Trivial File Transfer Protocol (TFTP)69UDP{{yes}}David Clark
style="text-align:left" colspan="2" | Tsunami UDP Protocol{{varies|Chosen by user}}UDPTCP{{no}}{{n/a}}
style="text-align:left" colspan="2" | Tus open protocol for resumable file uploads (tus)80{{efn|name=f}}TCPTCP{{no}}{{n/a}}
style="text-align:left" colspan="2" | UDP-based Data Transfer Protocol (UDT){{varies|Chosen by server}}UDP{{no}}{{n/a}}
style="text-align:left" colspan="2" | UDP-based File Transfer Protocol (UFTP)1044UDP{{no}}{{n/a}}
style="text-align:left" colspan="2" | Unix-to-Unix Copy (UUCP)540TCPTCP{{yes}}
style="text-align:left" colspan="2" | Warp Speed Data Transfer (WDT){{varies|Chosen by server or by user}}TCPTCP{{no}}{{n/a}}

{{notelist|refs=

{{efn|name=BT_port|Typically, if port 6881 is unavailable as a listening port, the peer incrementally tries 6882–6889. Another port may be specified in software.}}

{{efn|name=i|1761 is the default port, but 1761–1768 are allocated by IANA.}}

{{efn|name=c|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.{{pb}}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.}}

{{efn|name=d|FTP was originally designed for NCP, a protocol used on ARPANET before the advent of TCP. The TCP implementation of FTP was standardized in {{IETF RFC|959}}.}}

{{efn|name=f|Can be chosen by user, but layers on top of HTTP(S) so often 80/443}}

}}

Serial protocols

File:RS-232-Cable-9-25.jpg 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=

class="wikitable sortable" style="text-align:center"

! scope="col" | Protocol !! scope="col" | Author !! scope="col" | First released !! scope="col" | License !! scope="col" | Description !! scope="col" class="unsortable" | {{abbr|Refs|References}}

style="text-align:left" | BiModemErik Labs1989Bi-directional transfers.
style="text-align:left" | BLASTCommunications Research Group1981Powerful protocol originating on the Data General Nova minicomputer, and then ported to micros and mainframes.{{cite news |url=http://www.birds-of-the-air-press.com/bota/blast/unix_today.pdf |title=Moving Files Can Be a BLAST |last=Magidson |first=Steve |date=15 May 1989 |newspaper=UNIX Today! |publisher=CMP Media |access-date=2018-02-18}}
style="text-align:left" | C-MODEMLavio Pareschi1989Packet lengths from 32 to 4096 bytes, optional (but normally used) streaming mode.
style="text-align:left" | B protocolCompuServe1981Offered file transfer as well as a command stream.
style="text-align:left" | JMODEMRichard B. Johnson{{dunno}}XMODEM derivative with blocks from 512 to 8192 bytes and RLE compression.
style="text-align:left" | HS/LinkSamuel H. Smith1991
style="text-align:left" | KermitFrank da Cruz et al.1981Open Source (BSD) as of 2011Transport- and platform-independent transfer of text and binary files across full- or half-duplex connections with conversion of text file formats and character sets.da Cruz (1987) [https://books.google.com/books?id=_FEvBQAAQBAJ&pg=PA3 p. 3]
style="text-align:left" | LeechModemSam Brown{{dunno}}Variations of X and Y that faked failed downloads in order to avoid BBS download quotas.
style="text-align:left" | LynxMatthew Thomas1989Similar to Kermit: 64-byte packets, 2 to 16 packets per window, CRC-32. Little or no support outside the Lynx program itself.
style="text-align:left" | NMODEML. B. Neal1990Essentially XMODEM-CRC with 2048 byte blocks.
style="text-align:left" | OBEX File Transfer Protocol{{dunno}}{{dunno}}style="text-align:left" | A synchronous file transfer protocol in the OBject EXchange (OBEX) Bluetooth profile.
style="text-align:left" | OBEX Push{{dunno}}{{dunno}}style="text-align:left" | An asynchronous file transfer protocol in the OBject EXchange (OBEX) Bluetooth profile.{{cite web |url=http://www.irdajp.org/irdajp.info/obex.html |title=OBEX (Object Exchange) Protocol |year=2011 |website=irdajp.org |publisher=Infrared Data Association |access-date=2018-02-20 |archive-url=https://web.archive.org/web/20180221095941/http://www.irdajp.org/irdajp.info/obex.html |archive-date=21 February 2018 |url-status=dead }}
style="text-align:left" | PunterSteve Punter{{dunno}}Suite of similar-but-different XMODEM-like protocols for various Commodore machines.
style="text-align:left" | SEAlinkThom Henderson1986style="text-align:left" | A MODEM7/XMODEM-compatible protocol with sliding window support developed to avoid propagation delays in satellite transmissions and packet networks.{{GitHub|cpeterso/sealink/blob/master/sealink.c}}{{cite book |title=Mastering PC Communications Software |last=Held |first=Gilbert |publisher=Van Nostrand Reinhold |year=1993 |page=74 |chapter=SeaLink}}{{cite book |title=Telecommunications Using ProComm & ProComm Plus Made Easy |last=Woggon |first=Michele |publisher=Prentice Hall |year=1995 |page=34 |chapter=SeaLink}}
style="text-align:left" | SMODEMArisoft{{dunno}}
style="text-align:left" | TMODEMMike Bryeans{{dunno}}
style="text-align:left" | UUCPMike Lesk1979Suite of protocols for copying files between Unix machines, used for many purposes including the distribution of email. Also allows commands to be sent, which led to the first internet worms. The file transfer protocol within UUCP is the "g" protocol.{{cite web |title=UUCP protocol internals |url=http://www.math.utah.edu/docs/info/uucp_5.html#SEC53 |website=University of Utah }}
style="text-align:left" | MODEM7Mark M. Zeigler, James K. Mills1980Slight extension of XMODEM to add filename support and batch transfers.{{cite magazine |last=Lucas |first=Jay |date=6 September 1982 |title=Freeware: Modem lets your computers communicate |url=https://books.google.com/books?id=CDAEAAAAMBAJ&pg=PA53 |magazine=InfoWorld |publisher=IDG |page=53 |access-date=2018-02-18}}
style="text-align:left" | XMODEMWard Christensen1977{{good|Public domain}}Very simple protocol that saw widespread use and provided the pattern for many following protocols.Glass (1988) [https://books.google.com/books?id=4D4EAAAAMBAJ&pg=PA87 p. 87]
style="text-align:left" | WXMODEMPeter Boswell1986{{good|Public domain}}Version of XMODEM with sliding windows for higher performance.Glass (1988) [https://books.google.com/books?id=4D4EAAAAMBAJ&pg=PA89 p. 89]{{cite book |url=http://www.zoklet.net/totse/en/technology/telecommunications/wxmodem.html |archive-url=https://web.archive.org/web/20140923084745/http://www.zoklet.net/totse/en/technology/telecommunications/wxmodem.html |archive-date=2014-09-23 |title=How XModem, XModem CRC, and WXModem work |last=Boswell |first=Peter |year=2007 |orig-year=1986 |via=Totse.com}}
style="text-align:left" | YMODEMChuck Forsberg1985{{good|Public domain}}Series of optional expansions on XMODEM for higher performance.
style="text-align:left" | ZMaxMike Bryeans{{sort|1991|c. 1991}}Modifications to ZMODEM to allow packets up to 32 kB in length.
style="text-align:left" | ZMODEMChuck Forsberg1986{{good|Public domain}}Streaming protocol that forsakes XMODEM compatibility but offers a wide variety of new features and improved performance. Became almost universal on BBS systems in the early 1990s.

=Features=

class="wikitable sortable" style="text-align:center"

! scope="col" | Protocol !! scope="col" | Data block size
{{small|(bytes)}} !! scope="col" | Data
compression
!! scope="col" | Error detection !! Transfer
resuming !! scope="col" | Bidirectional !! scope="col" | Sliding window !! scope="col" class="unsortable" | {{abbr|Refs|References}}

style="text-align:left" | BiModem{{yes}}
style="text-align:left" | BLAST84–1024+RLECRC{{yes}}{{yes}}{{yes}}{{cite news |url=http://www.birds-of-the-air-press.com/bota/blast/unix_today.pdf |title=Moving Files Can Be a BLAST |last=Magidson |first=Steve |date=15 May 1989 |newspaper=UNIX Today! |publisher=CMP Media |access-date=2018-02-18}}
style="text-align:left" | C-MODEM32–4096CRC{{yes}}
style="text-align:left" | B protocol128–2048CRC32 / CRC16 / 8-bit checksum{{yes}}{{yes}}
style="text-align:left" | JMODEM64–8192RLE
style="text-align:left" | HS/LinkCRC32{{yes}}{{yes}}
style="text-align:left" | Kermit≤9024 (negotiated)RLE (run length encoding, negotiated)Checksum or CRC16 (negotiated){{yes}} (binary files only, negotiated){{no}}{{optional|Over full-duplex only (negotiated)}}da Cruz (1987) pp. [https://books.google.com/books?id=_FEvBQAAQBAJ&pg=PA234 234], [https://books.google.com/books?id=_FEvBQAAQBAJ&pg=PA253 253], [https://books.google.com/books?id=_FEvBQAAQBAJ&pg=PA307 307]
style="text-align:left" | LeechModem
style="text-align:left" | LynxRLECRC32{{yes}}
style="text-align:left" | NMODEM2048
style="text-align:left" | OBject EXchange
style="text-align:left" | Punter
style="text-align:left" | SEAlink{{yes}}{{yes}}
style="text-align:left" | SMODEM{{yes}}
style="text-align:left" | Tmodem{{no}}
style="text-align:left" | UUCP "g"≤4096{{no}}{{no}}{{cite book |title=Guide to Linux Installation and Administration |last=Wells |first=Nicholas |page=140 |chapter=Using UUCP for Remote Access |chapter-url=https://books.google.com/books?id=jQE-iUCjUKAC&pg=PA140 |publisher=Course Technology |isbn=978-0-619-00094-3 |year=2003 |via=Google Books }}{{cite web |url=https://docs.freebsd.org/info/uucp/uucp.info.g_Protocol.html |title=UUCP 'g' Protocol |last=Taylor |first=Ian Lance |website=FreeBSD Documentation Server |publisher=The FreeBSD Project |access-date=2018-03-08}}
style="text-align:left" | MODEM7128{{no}}Checksum{{partial|Stop-and-wait ARQ}}
style="text-align:left" | XMODEM128{{no}}Checksum{{partial|Stop-and-wait ARQ}}
style="text-align:left" | WXMODEM≤512{{yes}}
style="text-align:left" | YMODEM1024{{no}}CRC16
style="text-align:left" | ZMax≤~32,768CRC32
style="text-align:left" | ZMODEM256 / 1024{{no}}CRC32{{yes}}{{yes}}

See also

Notes

{{Reflist}}

References

  • {{cite book |title=Kermit: A File Transfer Protocol |last=da Cruz |first=Frank |location=Bedford |publisher=Digital Press |year=1987 |isbn=978-0-932376-88-6 |oclc=751527576 |via=Google Books |url=https://archive.org/details/kermitfiletransf0000dacr }}
  • {{cite web |url=http://www.kermitproject.org/kproto.pdf |title=Kermit Protocol Manual |last=da Cruz |first=Frank |date=June 1986|website=KermitProject.org

|publisher=The Kermit Project}}

  • {{cite magazine |title=Xmodem Popular for Its Simplicity, Public Domain Status |last=Glass |first=Brett |date=30 May 1988 |magazine=InfoWorld |via=Google Books}}
  • {{cite IETF |title=Simple File Transfer Protocol |rfc=913 |last=Lottor |first=Mark K. |date=September 1984 |publisher=IETF |accessdate=2018-03-01}}

Further reading

  • {{cite web |url=http://www.tldp.org/HOWTO/Multicast-HOWTO-9.html |title=Multicast Transport Protocols |work=Multicast over TCP/IP HOWTO |last=de Goyeneche |first=Juan-Mariano |date=20 March 1998 |via=The Linux Documentation Project}}
  • {{citation |title=Survey of Protocols and Mechanisms for Enhanced Transport over LONG FAT PIPES |last1=He |first1=Eric |last2=Kettimuthu |first2=Rajkumar |last3=Gu |first3=Yunhong |display-authors=etal |chapter=Reliable UDP Variants |pages=6–11 |chapter-url=https://www.globus.org/sites/default/files/Survey.pdf}}
  • {{cite thesis |last=Kaplan |first=Ali |title=Collaborative Framework for High-Performance P2P-based Data Transfer in Scientific Computing |type=Ph.D. thesis |publisher=Indiana University Bloomington |year=2009 |isbn=978-1-109-50327-2 |oclc=648765323 |chapter=Literature Survey |pages=12–39 |url=http://dsc.soic.indiana.edu/publications/ali.kaplan.proofreading.V6.docx |format=DOCX}}
  • {{cite book |title=The Working Programmer's Guide to Serial Protocols |last=Kientzle |first=Tim |year=1995 |publisher=Coriolis Group Books |isbn=978-1-883577-20-9 |oclc=441637109}}
  • {{cite web |url=http://kermitproject.org/kermit.html |title=About Kermit |website=KermitProject.org |publisher=The Kermit Project}}
  • {{cite web |url=http://kermitproject.org/archive.html |title=The Kermit Software Archive |website=KermitProject.org |publisher=The Kermit Project}}

{{DEFAULTSORT:File transfer protocols}}

*

Category:Lists of software

Category:Lists of network protocols

Category:Network software comparisons