Usługa sieciowa, a zarazem protokół komunikacyjny warstwy aplikacji, czyli FTP (ang. File Transfer Protocol), wykorzystywana jest przez administratorów i użytkowników w dwóch zasadniczych celach:

R19Ff9nKY06Cu1
Źródło: dostępny w internecie: freesvg.org, domena publiczna.
  1. do przesyłania plików strony internetowej na serwer WWW (w taki sposób administratorzy i twórcy stron internetowych umieszczają pliki stron na serwerach WWW);

  2. do udostępniania plików innym użytkownikom (usługa FTP może być wykorzystywana jako magazyn danych, w którym np. pracownicy firm czy uczniowie w szkole mogą gromadzić i wymieniać między sobą pliki).

Protokół FTP działa w architekturze klient‑serwer, a to oznacza, że oprócz skonfigurowanego serwera (usługi) FTP potrzebny jest jeszcze klient. Klientem usługi FTP mogą być wewnętrzne narzędzia systemu operacyjnego. W przypadku systemów Windows może to być eksplorator plikóweksplorator plikóweksplorator plików czy też konsola systemowa (program cmd). Protokół FTP jest również obsługiwany przez zewnętrzne oprogramowanie, takie jak przeglądarki internetowe czy dedykowane programy do zarządzania i wymiany plików korzystające z protokołu FTP.

Rv6Yh7syUErzm1
Połączenie z serwerem FTP poprzez konsolę Windows.

Dostęp do zasobów serwera FTP

Dostęp do serwera FTP, czyli do przechowywanych na nim plików, może być realizowany na dwa sposoby:

  • poprzez konto użytkownika oraz hasło,

  • z wykorzystaniem tak zwanego użytkownika anonimowego (ang. Anonymous).

RNJQxDkM6TnAu1
Źródło: dostępny w internecie: commons.wikimedia.org, licencja: CC BY-SA 3.0.

Rodzaj dostępu determinowany jest przez zastosowanie i środowisko, w jakim pracuje usługa FTP.

Jeśli mamy stronę internetową, która przechowywana jest na zdalnym serwerze (czyli takim, który może znajdować się w innej lokalizacji niż my), to aby mieć możliwość wgrania plików na ten serwer, musimy posiadać konto użytkownika utworzone przez administratora firmy świadczącej nam usługi hostingowe. Do tego konta musimy mieć oczywiście login i hasło – nie chcemy przecież, aby każdy miał dostęp do „naszego” serwera i jego zawartości.

Innym przykładem wykorzystania usługi FTP, gdzie można zastosować logowanie anonimowe, jest sieć lokalna w szkolnej pracowni. Serwer FTP przechowuje pliki, które uczniowie przesyłają nauczycielowi do sprawdzenia. W takim wypadku tworzenie użytkowników, nadawanie im loginów i haseł może być zwyczajnie uciążliwe. Nikt z zewnątrz nie będzie mógł się do tych plików dostać, ponieważ dostęp do serwera możliwy jest tylko w ramach LAN pracowni szkolnej.

Na nagraniu przedstawione zostało połączenie z serwerem FTP z wykorzystaniem loginu i hasła, za pomocą programu WinSCP.

RRUULuPtRhRSv
Film nawiązujący do treści materiału: Nawiązanie sesji z serwerem FTP na przykładzie aplikacji WinSCP.

Działanie usługi FTP

Ważne!

Protokół FTP skonstruowany został w taki sposób, że do sprawnej komunikacji klienta z serwerem usługi wymagane są dwa połączenia (w przypadku protokołu HTTP wystarczy jedno).

Połączenie pierwsze, zwane połączeniem sterującym, odpowiada za przesyłanie komunikatów i poleceń (port aplikacji numer 21), drugie natomiast służy do właściwego przesyłania plików (port aplikacji numer 20).

Serwer (usługa FTP) może działać w jednym z dwóch trybów:

  • aktywnym,

  • pasywnym.

W trybie aktywnym klient FTP rozpoczyna komunikację i nawiązuje próbę połączenia z serwerem przez port 21, czyli ten, który przesyła komunikaty i polecenia. Jeśli wszystko przebiega pomyślnie, serwer odpowiada komunikatem informującym, że połączenie zostało nawiązane. Następnie wysyła komunikat do klienta w celu nawiązania drugiego połączenia – tym razem połączenia do przesyłania danych. W odpowiedzi klient wysyła do serwera (na jego port 20) komunikat potwierdzający uruchomienie drugiego połączenia. Klient w tej komunikacji zwyczajowo używa portów o numerach większych niż 1024.

W trybie pasywnym oba połączenia inicjowane są przez klienta. Do przesyłania danych i plików z serwera i do serwera wykorzystywany jest port o numerze większym niż 1024 (w przypadku trybu aktywnego był to port 20).

Protokół TFTP

Protokół uproszczony w stosunku do FTP. Nie ma większości jego funkcji – nie może wyświetlać katalogów, ani uwierzytelniać użytkowników, a jego jedynym zadaniem jest odczytywanie plików z komputera zdalnego i transmitowanie do niego plików.

Słownik

eksplorator plików
eksplorator plików

natywny program systemu operacyjnego, będący menadżerem plików pozwalającym na ich tworzenie, kopiowanie i modyfikowanie