FTP is a standard protocol for transferring files over the Internet. It establishes two connections between hosts - one for data transfer and the other for control information like commands. FTP uses ports 21 for control and 20 for data. It supports different transmission modes like stream, block, and compressed. It allows clients to authenticate, specify file formats, and access files anonymously in some cases.