FTP – File Transfer Protocol
FTP (ang. File Transfer Protocol) to standardowy protokół sieciowy służący do przesyłania plików pomiędzy komputerami w sieci Internet lub w zamkniętych sieciach komputerowych. Został opracowany w latach 1971 i 1973 w ramach projektu ARPANET, a jego specyfikacja została sfinalizowana w dokumentach RFC 959 oraz kolejnych rozszerzeniach.
Historia
Pierwsze implementacje FTP powstały w laboratoriach MIT i Stanford Research Institute. W 1973 roku opracowano wersję 2, która stała się podstawą późniejszych standardów. W 1985 roku protokół został formalnie opisany w RFC 959, co umożliwiło jego szeroką implementację w systemach UNIX, Windows i innych.
Podstawowe zasady działania
FTP działa w modelu klient‑serwer, wykorzystując dwa połączenia TCP:
- Połączenie sterujące – port
21, służy do wymiany komend i odpowiedzi. - Połączenie danych – port
20(tryb active) lub dowolny port wybrany przez klienta (tryb passive).
Komunikacja odbywa się w trybie tekstowym, a komendy są przesyłane w kodowaniu ASCII. Do najważniejszych komend należą USER, PASS, LIST, RETR, STOR, QUIT oraz wiele innych opisanych w RFC 959.
Tryby transmisji
FTP obsługuje dwa tryby kodowania plików:
- ASCII – przeznaczony do tekstu, konwertuje końce linii między systemami.
- Binary (Image) – przesyła dane bajt po bajcie, co jest niezbędne dla plików binarnych (obrazy, archiwa, programy).
Bezpieczeństwo
Podstawowy protokół FTP nie zapewnia szyfrowania, a wszystkie dane (w tym hasła) są przesyłane w postaci niezaszyfrowanej. Z tego powodu w praktyce stosuje się rozszerzenia:
- FTPS – FTP z warstwą TLS/SSL (implicit lub explicit).
- SFTP – protokół SSH zapewniający bezpieczny dostęp do plików, choć nazwa sugeruje „Secure FTP”, protokół ten jest odrębnym standardem.
- FTPES – tryb explicit TLS w standardowym FTP.
Zastosowania
FTP jest wykorzystywany w różnych scenariuszach:
- Udostępnianie dużych zbiorów danych (np. archiwa naukowe).
- Automatyzacja transferu plików w systemach Linux i Windows przy pomocy skryptów (
wget,curl,lftp). - Obsługa witryn WWW przed wprowadzeniem HTTP jako głównego protokołu.
- Wymiana plików w środowiskach przemysłowych (np. aktualizacje oprogramowania w urządzeniach SCADA).
Klienty i serwery FTP
Do najpopularniejszych klientów FTP należą:
- FileZilla
- WinSCP
- Cyberduck
- Komendy wiersza poleceń:
ftp,lftp
Popularne serwery FTP to:
- vsftpd (Very Secure FTP Daemon)
- ProFTPD
- Microsoft IIS FTP Service
- Pure-FTPd
Zobacz także
TCP/IP, HTTP, TLS/SSL, SSH, SFTP, filtracja ruchu, firewall.
Bibliografia
- J. Postel, RFC 959 – File Transfer Protocol, 1985.
- K. Murthy, FTP – The Definitive Guide, 1999.
- C. Anderson, Network Security and Cryptography, 2nd ed., 2002.