Który protokół komunikacyjny służy do transferu plików w układzie klient-serwer oraz może działać w dwóch trybach: aktywnym i pasywnym?
A. DNS
B. FTP
C. EI-SI
D. IP
Pytanie z egzaminu CKE, październik 2013 (arkusz E.13-X-13.10).
FTP, czyli File Transfer Protocol, jest protokołem warstwy aplikacji używanym do przesyłania plików między klientem a serwerem. Działa dokładnie w modelu klient-serwer: klient FTP łączy się z usługą FTP uruchomioną na serwerze, loguje się, a potem może wysyłać, pobierać, usuwać albo przeglądać pliki, zależnie od uprawnień. Charakterystyczne dla FTP jest to, że korzysta z osobnego połączenia sterującego i osobnego połączenia danych. Standardowo kanał sterujący używa portu TCP 21, a sposób zestawiania kanału danych zależy od trybu pracy. W trybie aktywnym serwer inicjuje połączenie danych do klienta, co bywa problematyczne za NAT-em i firewallem. W trybie pasywnym to klient łączy się z portem wskazanym przez serwer, dlatego w praktyce jest to dziś częściej spotykane rozwiązanie. Moim zdaniem warto to zapamiętać, bo przy konfiguracji serwera FTP najwięcej kłopotów jest właśnie z portami, zaporą i trybem pasywnym. W dobrych praktykach produkcyjnych często zamiast zwykłego FTP stosuje się FTPS albo SFTP, bo klasyczny FTP przesyła dane logowania bez szyfrowania.
W tym pytaniu chodzi o protokół przeznaczony konkretnie do transferu plików w architekturze klient-serwer oraz o jego tryby aktywny i pasywny, więc odpowiedzi inne niż FTP wynikają zwykle z pomieszania różnych warstw i usług sieciowych. IP jest bardzo ważnym protokołem, ale jego zadanie jest zupełnie inne. Odpowiada za adresowanie i przesyłanie pakietów między sieciami, działa w warstwie sieciowej i nie definiuje mechanizmu logowania do serwera, listowania katalogów ani pobierania plików. Można powiedzieć, że FTP korzysta z komunikacji opartej na TCP/IP, ale IP samo w sobie nie jest usługą transferu plików. DNS też często pojawia się przy usługach internetowych, jednak pełni rolę systemu nazw. Tłumaczy nazwy domenowe, na przykład serwer.example.pl, na adresy IP. Dzięki temu łatwiej znaleźć serwer, ale DNS nie przesyła plików użytkownika i nie ma trybu aktywnego ani pasywnego. EI-SI nie jest standardowym protokołem transferu plików znanym z praktycznej administracji sieciami; być może kojarzy się komuś z ogólnymi skrótami informatycznymi albo modelem OSI, ale to nie to samo. Typowy błąd myślowy polega tu na tym, że wszystkie protokoły sieciowe wrzuca się do jednego worka. W praktyce administrator musi rozróżniać protokoły transportowe, adresujące, nazwowe i aplikacyjne, bo inaczej trudno poprawnie skonfigurować zaporę, NAT, usługi serwerowe i uprawnienia użytkowników. FTP jest protokołem aplikacyjnym do plików, a informacja o trybie aktywnym i pasywnym jest tutaj najważniejszą podpowiedzią.