|
FTP daje użytkownikowi dostęp do plików przechowywanych na odległym komputerze. Jeden z komputerów, pełniący rolę serwera udostępnia pewne zasoby plikowe. Drugi komputer łączy się z nim za pomocą programu klienta FTP. Po dokonaniu połączenia (które wymaga autoryzacji) program klienta FTP daje możliwość wysłania plików na serwer lub pobrania ich z serwera. Dostępne są także inne operacje plikowe i katalogowe (zmiana nazwy, tworzenie i usuwanie katalogów, zmiana praw plików itp.)
 Rysunek 6-1. Miejsce protokołu FTP w modelach warstw sieci OSI i TCP. Poniżej opisana została podstawowa idea działania protokołu FTP (rys. 6‑1 i 6‑2). FTP daje użytkownikowi dostęp do plików przechowywanych na odległym komputerze. Jeden z komputerów, pełniący rolę serwera udostępnia pewne zasoby plikowe. Drugi komputer łączy się z nim za pomocą programu klienta FTP. Po dokonaniu połączenia (które wymaga autoryzacji) program klienta FTP daje możliwość wysłania plików na serwer lub pobrania ich z serwera. Dostępne są także inne operacje plikowe i katalogowe (zmiana nazwy, tworzenie i usuwanie katalogów, zmiana praw plików itp.) Na podstawie identyfikatora i hasła użytkownika serwer określa jego uprawnienia do zapisywania, odczytywania i wykonywania plików umieszczonych w poszczególnych katalogach serwera. Większość serwerów udostępnia anonimowe konto FTP (użytkownik anonymous lub ftp, jako hasło należy podać własny e-mail).  DTP – Data Transfer Proccess,PI – Protocol Interpreter Rysunek 6-2. Tradycyjne działanie protokołu FTP (tryb niepasywny) Sesja FTP funkcjonuje na dwóch połączeniach. Połączenie sterujące (control connection) jest nawiązane przez klienta FTP z serwerem (zazwyczaj na port 21 serwera). Tym połączeniem przesyłane są polecenia FTP (np. zmień katalog, pobierz zawartość katalogu, wyślij plik). Rezultaty wykonania poleceń, czyli komunikaty, listingi zawartości katalogów, wysyłane i ściągane pliki wykorzystują tzw. połączenie danych (data connection). Tradycyjnie połączenie danych jest inicjowane przez serwer. Klient inicjuje połączenie sterujące do serwera na 21 port, następnie do przesyłania danych otwiera wybrany dynamicznie port po swojej stronie i wysyła ten nr portu do serwera. Serwer z kolei inicjuje połączenie danych ze swojego portu nr 20 na nr portu otrzymany od klienta. W tym trybie nawet jeśli dane przesyłane są od klienta do serwera, to serwer inicjuje połączenie danych (i czeka na wysyłkę danych przez użytkownika). Tak funkcjonuje połączenie FTP w zwykłym niepasywnym wariancie (non-passive mode). Większość klientów FTP może pracować także w tzw. trybie pasywnym (passive‑mode). W takiej sytuacji po uzyskaniu połączenia sterującego i wysłaniu żądania przez aplikację użytkownika, serwer tworzy pasywne otwarcie dynamicznego portu po swojej stronie i wysyła nr tego portu do klienta. Następnie klient inicjuje połączenia danych z dowolnego swojego dynamicznego portu na nr portu otrzymany od serwera. W trybie pasywnym to klient zawsze otwiera połączenie danych. Klient FTP i jego konfiguracja determinuje tryb, realizowania połączenia. Pasywny często jest wykorzystywany przez klientów FTP wbudowanych w przeglądarki WWW, natomiast klient tekstowy zazwyczaj używa połączenia niepasywnego. Nie wszystkie serwery FTP obsługują pasywne połączenia. |