Template:Short description Template:For multi Template:Use dmy dates
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 networksEdit
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.
OverviewEdit
FeaturesEdit
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.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
PortsEdit
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.
Protocol | Data port | Control port | Assigned Template:Small |
Assignee | Template:Abbr | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Server | Client | Transport | Server | Client | Transport | ||||||
BITS | 80/443Template:Efn / 137–139Template:Efn | TCP / UDP | Template:No | Template:N/a | |||||||
BitTorrent | 6881Template:Efn | 6881 | TCP | 6881 | 6881 | TCP | Template:No | Template:N/a | citation | CitationClass=web
}}</ref> | |
CCSDS File Delivery Protocol (CFDP) | |||||||||||
Cross File Transfer (CFT) | 1761Template:Efn | TCP / X.25 | <ref name="Axway Software"/><ref name="docs.axway.com"/> | ||||||||
Ether File Transfer Protocol (EFTP) | Template:N/a | Template:N/a | Template:N/a | Template:N/a | Template:N/a | Template:N/a | Template:N/a | Template:N/a | |||
Fast and Secure Protocol (FASP) | ≥33001 | UDP | 22 | TCP | Template:No | Template:N/a | <ref name="IANA"/> | ||||
File Delivery over Unidirectional Transport (FLUTE) | 4001 | UDP | Template:No | Template:N/a | <ref name="IANA"/> | ||||||
File Service Protocol (FSP) | Template:VariesTemplate:Efn | UDP | Template:No | Template:N/a | <ref name="IANA"/> | ||||||
File Transfer Access and Management (FTAM) | 4800 / 102 | TCP | citation | CitationClass=web
}}</ref> | |||||||
File Transfer Protocol (FTP) | Active mode | 20 | 20 | TCPTemplate:Efn | 21 | ≥1024 | TCP | rowspan="2" Template:Yes | Jon Postel | <ref name="IANA"/> | |
Passive mode | ≥1024Template:Efn | ≥1024 | |||||||||
FTP Secure (FTPS) | 989 | TCP | 990 | TCP | Template:Yes | Christopher Allen | <ref name="IANA"/> | ||||
HTTP Secure (HTTPS) | 443 | TCP | TCP | Template:Yes | IESG | <ref name="IANA"/> | |||||
Host Unix Linkage File Transfer (HULFT) | 30000 | TCP | TCP | Template:No | Template:N/a | <ref name="IANA"/> | |||||
Hypertext Transfer Protocol (HTTP) | 80 | TCP | TCP | Template:Yes | Tim Berners-Lee | <ref name="IANA"/> | |||||
Micro Transport Protocol (μTP) | UDP | Template:No | Template:N/a | <ref name="IANA"/> | |||||||
Multicast Dissemination Protocol (MDP) | Template:Varies | UDP | citation | CitationClass=web
}}</ref><ref name="nrl.navy.mil"/> | |||||||
Multicast File Transfer Protocol (MFTP) | 5402 | UDP | Template:Yes | Steve Bannister | <ref name="IANA"/> | ||||||
NACK-Oriented Reliable Multicast Transport Protocol (NORM) | UDP | <ref name="NACK-Oriented Reliable Multicast N"/><ref name="Adamson"/> | |||||||||
Odette File Transfer Protocol (OFTP) | 3305 | TCP / X.25 | TCP / X.25 | <ref name="Nash"/> | |||||||
Odette File Transfer Protocol 2 (OFTP2) | 6619 | TCP / X.25 | TCP / X.25 | <ref name="Friend"/> | |||||||
Reliable Blast UDP (RBUDP) | Template:Varies | UDP | Template:No | Template:N/a | <ref name="IANA"/> | ||||||
Remote copy (rcp) | 514 | TCP | TCP | Template:Yes | <ref name="IANA"/> | ||||||
Secure copy (SCP) | 22 | TCP | TCP | Template:Yes | <ref name="IANA"/> | ||||||
Secure Hypertext Transfer Protocol (S-HTTP) | 80 | TCP | TCP | Template:No | Template:N/a | <ref name="IANA"/> | |||||
Simple Asynchronous File Transfer (SAFT) | 487 | TCP | Template:Yes | Ulli Horlacher | <ref name="IANA"/> | ||||||
Simple File Transfer Protocol (SFTP) | 115 | TCP | TCP | Template:Yes | Mark Lottor | <ref name="IANA"/> | |||||
SSH file transfer protocol (SFTP) | 22 | TCP | TCP | Template:Yes | <ref name="IANA"/> | ||||||
T.127 | 1503 | TCP | TCP | Template:Yes | Jim Johnston | <ref name="IANA"/> | |||||
Trivial File Transfer Protocol (TFTP) | 69 | UDP | Template:Yes | David Clark | <ref name="IANA"/> | ||||||
Tsunami UDP Protocol | Template:Varies | UDP | TCP | Template:No | Template:N/a | <ref name="IANA"/> | |||||
Tus open protocol for resumable file uploads (tus) | 80Template:Efn | TCP | TCP | Template:No | Template:N/a | <ref name="IANA"/> | |||||
UDP-based Data Transfer Protocol (UDT) | Template:Varies | UDP | Template:No | Template:N/a | <ref name="IANA"/> | ||||||
UDP-based File Transfer Protocol (UFTP) | 1044 | UDP | Template:No | Template:N/a | <ref name="IANA"/> | ||||||
Unix-to-Unix Copy (UUCP) | 540 | TCP | TCP | Template:Yes | <ref name="IANA"/> | ||||||
Warp Speed Data Transfer (WDT) | Template:Varies | TCP | TCP | Template:No | Template:N/a | <ref name="IANA"/> |
Serial protocolsEdit
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.
OverviewEdit
Protocol | Author | First released | License | Description | Template:Abbr | |
---|---|---|---|---|---|---|
BiModem | Erik Labs | 1989 | Bi-directional transfers. | |||
BLAST | Communications Research Group | 1981 | Powerful protocol originating on the Data General Nova minicomputer, and then ported to micros and mainframes. | <ref>Template:Cite news</ref> | ||
C-MODEM | Lavio Pareschi | 1989 | Packet lengths from 32 to 4096 bytes, optional (but normally used) streaming mode. | |||
B protocol | CompuServe | 1981 | Offered file transfer as well as a command stream. | |||
JMODEM | Richard B. Johnson | Template:Dunno | XMODEM derivative with blocks from 512 to 8192 bytes and RLE compression. | |||
HS/Link | Samuel H. Smith | 1991 | ||||
Kermit | Frank da Cruz et al. | 1981 | Open Source (BSD) as of 2011 | Transport- and platform-independent transfer of text and binary files across full- or half-duplex connections with conversion of text file formats and character sets. | <ref>da Cruz (1987) p. 3</ref> | |
LeechModem | Sam Brown | Template:Dunno | Variations of X and Y that faked failed downloads in order to avoid BBS download quotas. | |||
Lynx | Matthew Thomas | 1989 | Similar to Kermit: 64-byte packets, 2 to 16 packets per window, CRC-32. Little or no support outside the Lynx program itself. | |||
NMODEM | L. B. Neal | 1990 | Essentially XMODEM-CRC with 2048 byte blocks. | |||
OBEX File Transfer Protocol | Template:Dunno | Template:Dunno | A synchronous file transfer protocol in the OBject EXchange (OBEX) Bluetooth profile. | |||
OBEX Push | Template:Dunno | Template:Dunno | An asynchronous file transfer protocol in the OBject EXchange (OBEX) Bluetooth profile. | citation | CitationClass=web
}}</ref> | |
Punter | Steve Punter | Template:Dunno | Suite of similar-but-different XMODEM-like protocols for various Commodore machines. | |||
SEAlink | Thom Henderson | 1986 | A MODEM7/XMODEM-compatible protocol with sliding window support developed to avoid propagation delays in satellite transmissions and packet networks. | <ref>Template:GitHub</ref><ref>Template:Cite book</ref><ref>Template:Cite book</ref> | ||
SMODEM | Arisoft | Template:Dunno | ||||
TMODEM | Mike Bryeans | Template:Dunno | ||||
UUCP | Mike Lesk | 1979 | Suite 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. | citation | CitationClass=web
}}</ref> | |
MODEM7 | Mark M. Zeigler, James K. Mills | 1980 | Slight extension of XMODEM to add filename support and batch transfers. | <ref>Template:Cite magazine</ref> | ||
XMODEM | Ward Christensen | 1977 | Template:Good | Very simple protocol that saw widespread use and provided the pattern for many following protocols. | <ref>Glass (1988) p. 87</ref> | |
WXMODEM | Peter Boswell | 1986 | Template:Good | Version of XMODEM with sliding windows for higher performance. | <ref name="Glass_p89">Glass (1988) p. 89</ref><ref>Template:Cite book</ref> | |
YMODEM | Chuck Forsberg | 1985 | Template:Good | Series of optional expansions on XMODEM for higher performance. | <ref name="Glass_p89"/> | |
ZMax | Mike Bryeans | Template:Sort | Modifications to ZMODEM to allow packets up to 32 kB in length. | |||
ZMODEM | Chuck Forsberg | 1986 | Template:Good | 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. | <ref name="Glass_p89"/> |
FeaturesEdit
See alsoEdit
NotesEdit
ReferencesEdit
- Template:Cite book
- {{#invoke:citation/CS1|citation
|CitationClass=web }}
Further readingEdit
- {{#invoke:citation/CS1|citation
|CitationClass=web }}
- Template:Citation
- Template:Cite thesis
- Template:Cite book
- {{#invoke:citation/CS1|citation
|CitationClass=web }}
- {{#invoke:citation/CS1|citation
|CitationClass=web }}