| 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, dlategonie 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.
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. |