FTP (ang. File Transfer Protokol) jest kolejnym powszechnie używanym protokołem warstwy aplikacji. Protokół FTP został stworzony do obsługi przesyłania danych pomiędzy klientem i serwerem. Klient FTP jest uruchamianą na komputerze aplikacją, która jest używana do wysyłania i pobierania danych z serwera z uruchomionym demonem FTP (FTPd).
Jak pokazuje rysunek, aby przesyłanie danych zakończyło się powodzeniem, FTP wymaga dwóch połączeń pomiędzy klientem i serwerem, jednego - do przesyłania komend i odpowiedzi, a drugiego - do faktycznego przesyłania pliku.
- Klient ustanawia pierwsze połączenie z serwerem do sterowania ruchu, przenoszącego komendy klienta oraz odpowiedzi serwera.
- Klient ustanawia drugie połączenie z serwerem, służące do faktycznego przesyłania danych. To połączenie jest ustanawiane każdorazowo, gdy dane są do przesłania.
Przesyłanie danych może odbywać się w którymkolwiek kierunku. Klient może pobierać (ang. download, pull) dane z serwera lub przesyłać (ang. upload, push) dane na serwer.