Protokół FTP (File Transfer Protocol) służy do przesyłania plików między klientem a serwerem — upload (wysyłanie na serwer) i download (pobieranie). Działa w warstwie aplikacji; używa TCP. Wyróżnia się dwa połączenia: jedno do poleceń (port 21), drugie do danych (port 20). Na egzaminie INF.02 musisz wiedzieć, do czego służy FTP, jakie porty używa oraz że klasyczny FTP nie szyfruje — do bezpiecznego transferu stosuje się SFTP lub FTPS.
Po tej lekcji będziesz umiał:
- wyjaśnić, do czego służy FTP (upload, download),
- podawać port 21 (sterowanie) i 20 (dane),
- wskazać różnicę między FTP a SFTP/FTPS (szyfrowanie).
Jak działa FTP
Klient łączy się z serwerem FTP (np. przez program FileZilla, WinSCP lub wiersz poleceń). Najpierw nawiązywane jest połączenie sterujące na porcie 21 — klient wysyła polecenia (np. LIST — lista katalogu, GET plik — pobierz, PUT plik — wyślij). Rzeczywista zawartość plików jest przesyłana osobnym połączeniem danych na porcie 20 (w trybie aktywnym serwer inicjuje połączenie danych do klienta; w trybie pasywnym — klient do serwera). Dzięki rozdzieleniu sterowania i danych można np. przeglądać katalog podczas trwania transferu.
Bezpieczeństwo: FTP a SFTP i FTPS
Klasyczny FTP przesyła dane (w tym hasło logowania) w postaci jawnej — kto przechwytuje ruch w sieci, może je odczytać. Dlatego do bezpiecznego przesyłania plików stosuje się: SFTP (SSH File Transfer Protocol) — transfer w tunelu SSH (port 22), wszystko szyfrowane; lub FTPS (FTP over SSL/TLS) — FTP z warstwą szyfrowania. Na egzaminie: FTP = port 21 (sterowanie), 20 (dane), przesyłanie plików; SFTP/FTPS = bezpieczne warianty.
Porty i warstwa
FTP działa w warstwie aplikacji (L7); do transportu używa TCP. Port 21 — kanał sterowania (polecenia i odpowiedzi). Port 20 — kanał danych (zawartość plików).