Protokół FTP, zdefiniowany w dokumencie RFC 959 uaktualnionym przez RFC 2228, jest jednym z najstarszych protokołów internetowych i pozostaje jednym z najszerzej stosowanych. Wykorzystuje on oddzielne połączenia do poleceń i do danych — interpretator protokołów implementuje operacje protokołu FTP, a proces przesyłania danych (DTP) przesyła dane. Protokół i ruch przesyłu danych korzystają z całkowicie oddzielnych sesji TCP. Serwery FTP oczekują na sygnał z portu 21, a serwer inicjuje połączenia transmisji danych z portu 20 serwera do określonego portu w kliencie. Połączenie transmisji danych może być stosowane w obu kierunkach i nie musi istnieć przez cały czas.
Ustalonym celem protokołu FTP jest osłanianie użytkowników przed wahaniami w systemach przechowywania plików na hostach oraz niezawodny i wydajny przesył danych. Chociaż można go używać bezpośrednio na terminalu za pomocą polecenia ftp, jest on zaprojektowany głównie do wykorzystywania przez aplikacje. Protokół FTP może przesyłać pliki o różnym formacie danych i różnej długości słów. Dane są pakowane w 8-bitowe bajty transmisji na hoście wysyłającym i rozpakowywane do formatu macierzystego na hoście odbierającym.