encyklopedia.space

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

  1. J. Postel, RFC 959 – File Transfer Protocol, 1985.
  2. K. Murthy, FTP – The Definitive Guide, 1999.
  3. C. Anderson, Network Security and Cryptography, 2nd ed., 2002.