q File Transfer Protocol (FTP)
q Trivial File Transfer Protocol (TFTP)
q HyperText Transfer Protocol (HTTP)
q Network File System (NFS)
q Web Distributed Authoring and Versioning (WebDAV)- Rozproszone tworzenie i obsługa wersji w WWW
q Remote Copy Protocol (RCP) – Protokół zdalnego kopiowania
Protokół FTP, zdefiniowany w dokumencie RFC 959 uaktualnionym przez RFC 2228,
Jeden z najstarszych protokołów internetowych i zarazem jeden z najszerzej stosowanych
Wykorzystuje oddzielne połączenia dla poleceń i dla danych
q Proces przesyłania danych (DTP – Data Transfer Processes) przesyła dane pomiędzy klientem a serwerem FTP
q Interpretator protokołu (PI – Protocol Interpreter) przesyła polecenia pomiędzy klientem a serwerem FTP
DTP i PI korzystają z oddzielnych sesji TCP.
Serwer FTP oczekują na sygnał od klienta na porcie 21
Serwer inicjuje połączenia przesyłania danych z portu 20 serwera do przydzielonego losowo portu klienta.
Połączenie przesyłania danych może być stosowane w obu kierunkach i nie musi istnieć przez cały czas.
Passive FTP – w odpowiedzi na wysłane przez klienta polecenie PASVserver przesyła do niego numer portu (powyżej 1024), na którym oczekuje połączenia inicjowanego przez klienta oraz przesyłu danych.
q Polecenia sterujące dostępem
q Polecenia sterujące przesyłaniem
q Polecenia przesyłania plików
q Polecenia zarządzania plikami i katalogami
q Polecenia pomocy i kontroli sesji
q Odpowiedzi serwera FTP
Polecenie
Opis
OPEN [serwer]
Ustanawia sesję FTP z serwerem
USER [nazwa]
Określa użytkownika (pierwsze polecenie)
PASS [hasło]
Przesłanie hasła użytkownika (drugie polec.)
...
QUIT
Koniec sesji
PORT ##
Wybór gniazda po stronie klienta##=a,a,a,a,p,p
gdzie a i p - kolejne bajty adresu IP i nr portu
PASV
Polecenie Passive – serwer będzie pasywnie oczekiwał na ustanowienie sesji danych przez klienta
TYPE
Polecenie Representation Type – określa format repr. danych serwera: ASCII, EBCDIC, Image
STRU
Polecenie File Structure: files, records, pages
MODE
Polecenie Transfer Mode: Stream, Block, Compressed
Struktura plików i tryby przesyłania protokołu FTP
struktura pliku — nie ma żadnej struktury wewnętrznej, a plik uważany jest za nieprzerwany ciąg bajtów danych,
struktura rekordu — plik składa się z rekordów sekwencyjnych,
struktura strony — plik składa się z niezależnych stron indeksowanych.
Strukturą domyślną jest struktura pliku, ale zarówno struktura pliku, jak i struktura rekordu są akceptowane dla plików tekstowych, takich jak pliki ASCII, przez wszystkie implementacje protokołu FTP. Struktura pliku ma wpływ zarówno na jego tryb przesyłania, jak i na jego interpretację i przechowywanie.
Są trzy tryby przesyłania:
Tryb strumieniowy — plik jest transmitowany jako strumień bajtów, bez żadnych ograniczeń dotyczących wykorzystywanego typu danych. Dozwolone są struktury rekordu.
W pliku o strukturze rekordu, koniec rekordu (End-of-Record, EOR) oraz koniec pliku (End-of-File, EOF) identyfikowane są po 2-bajtowym kodzie kontrolnym. W strukturze pliku, zamknięcie połączenia przesyłania danych przez hosta wysyłającego wyznacza EOF. Wszystkie bajty w komunikacie o strukturze pliku są więc bajtami danych.
Tryb blokowy — plik jest transmitowany jako szereg bloków danych poprzedzonych jednym lub większą ilością bajtów nagłówka. Bajty nagłówka zawierają pole liczby oraz kod deskryptora. Pole liczby zawiera całkowitą długość bloku danych w bajtach, oznaczając w ten sposób początek następnego bloku danych. Kod deskryptora definiuje atrybuty bloków, takie jak ostatni blok w pliku (EOF), ostatni blok w rekordzie (EOR), znacznik ponownego uruchomienia, czy dane podejrzane. W tym trybie dozwolone są struktury rekordu i może być stosowany każdy typ reprezentacji.
Tryb skompresowany — umożliwia kompresję danych składających się z bajtów wypełniacza lub replikacji. Nagłówek trybu zagęszczonego określa liczbę takich bajtów (do 127). Te są następnie wysyłane po upakowaniu do pojedynczego bajta.
ASCII
Włącza tryb ASCII jest to tryb domyślny
BINARY
Włącza tryb binarny – stosowany do przesyłania wszystkich typów plików – poza tekstowymi
Kontrola trybu
PUT [plokalny] [pzdalny]
= SEND
GET [pzdalny] [plokalny]
= RECV
MPUT [plokalny]
MGET [pzdalny]
PROMPT
DELETE [pzdalny]
MDELETE [pzdalny]
LCD [katalog]
CD [katalog]
MKDIR [katalog]
RMDIR [katalog]
RENAME [naz1] [naz2]
DIR, LS
PWD
sliwak