A protocol for file transfer or file transfer protocol is a convention or stanard that controls or enables the transfer of files between two computing endpoints. Unlike with a general-purpose communication protocol, file transfer protocols are not designed to send arbitrary data or facilitate asynchronous communication such as Telnet sessions. They are meant solely to send the stream of bits stored as a single unit in a file system, plus any relevant metadata such as the filename, file size, and timestamp.