FTP (ang. File Transfer Protocol) - protokół typu klient-serwer, który umożliwia przesyłanie plików z i na serwer poprzez sieć TCP/IP. Protokół ten jest zdefiniowany przez IETF w RFC 959.

FTP jest protokołem 8-bitowym, dlatego nie wymaga specjalnego kodowania danych na postać 7-bitową, tak jak ma to miejsce w przypadku poczty elektronicznej (patrz standardy MIME, base64, quoted-printable, uuencode).

Do komunikacji wykorzystywane są dwa połączenia TCP. Jedno z nich jest połączeniem kontrolnym za pomocą którego przesyłane są np. polecenia do serwera, drugie natomiast służy do transmisji danych m.in. plików. FTP działa w dwóch trybach: aktywnym i pasywnym, w zależności od tego, w jakim jest trybie, używa innych portów do komunikacji.

Jeżeli FTP pracuje w trybie aktywnym, korzysta z portów: 21 dla poleceń (połączenie to jest zestawiane przez klienta) oraz 20 do przesyłu danych. Połączenie nawiązywane jest wówczas przez serwer. Jeżeli FTP pracuje w trybie pasywnym wykorzystuje port 21 do poleceń i port o numerze > 1024 do transmisji danych, gdzie obydwa połączenia zestawiane są przez klienta. W sieciach ukrytych za firewallem komunikacja z aktywnymi serwerami FTP jest możliwa, tylko pod warunkiem, jeżeli odpowiednie porty na firewallu (routerze) są zwolnione. Możliwe jest zainstalowanie wielu serwerów FTP na jednym i tym samem routerze. Warunkiem jest rozdzielenie portów przez router dla każdego serwera.

[edytuj] Dostęp anonimowy

Serwer FTP, zależnie od konfiguracji, może pozwalać na dostęp do jego zawartości bez podawania hasła. Zamiast niego powinno się podawać adres e-mail (wg netykiety). Często jednak nie jest to przestrzegane właśnie ze względu na anonimowy charakter usługi. Większość serwerów FTP loguje jednak każde połączenie i IP klienta.

[edytuj] Zobacz też