Počítačové sítě Systém pro přenos souborů – protokol FTP
description
Transcript of Počítačové sítě Systém pro přenos souborů – protokol FTP
1
Počítačové sítěSystém pro přenos souborů – protokol FTP
• Autorizovaný přístup do souborového systému hostitelského uzlu
• Informace o obsahu souborového systému hostitelského uzlu
• Obousměrný přenos kopií souborů mezi serverem a klientem
• Modifikace struktury souborového systému hostitelského uzlu (výmaz, vytváření, změna jmen a modifikace obsahu adresářů/souborů)
2
Počítačové sítěSystém pro přenos souborů – protokol FTP
• FTP používá TCP transport, vytváří 2 TCP spojení – TCP spojení pro řízení (příkazy a odpovědi) – well-
known port 21 – spojení trvá po celou dobu FTP relace
– TCP spojení pro vlastní přesun dat – well-known port 20 – spojení trvá po dobu přenosu
Souborový systém
Souborový systém
Modul přenosu dat
Modul přenosu dat
Interpretprotokolu FTP
Interpretprotokolu FTP
Uživatelské rozhraní
FTP server
FTP klient
21
20
3
• Datové definice v protokolu FTP – RFC 959– Typ souboru
• „ASCII“ soubor (výchozí)• „EBCDIC“ soubor• „Image“ file type - binární soubor (posloupnost bytů)• „Local“ - lokální binární soubory (délka bytu je určena
odesílající stranou)
– Formát řízení (Format Control) – pouze pro ASCII a EBCDIC soubory
• „Nonprint“ (výchozí) – soubor neobsahuje řídící znaky pro vertikální formátování
• „Telnet“ format control – soubor obsahuje řídící znaky pro tisk souboru podle protokolu Telnet
• „Fortran“ carriage control – první znak každé řádky je znak podle specifikace jazyka Fortran
4
– Struktura souborů• „File“ struktura (výchozí) – proud bytů• „Record“ struktura – záznamy – používá se pouze u
textových souborů (ASCI nebo EBCDIC)• „Page“ struktura – posloupnost stránek s číslem
stránky – pro soubory s náhodným přístupem k obsahu
– Přenosový režim• „Stream“ režim (výchozí) – posloupnost bytů –
režim lze použít pro všechny datové typy• „Block“ režim – posloupnost bloků s hlavičkami
(velikost bloku, deskriptor bloku)• „Compressed“ režim – přenos s jednoduchou
kompresí
5
• Příkazy protokolu FTP (klient)– Příkazy pro řízení přístupu
– Příkazy stanovení parametrů přenosu
– Příkazy služeb
• Příkazy pro řízení přístupuPříkaz Parametr Popis
USER username Identifikace uživatele
PASS password Autentizace uživatele
CWD cesta / adresář Změna pracovního adresáře
CDUP - Změna prac. adresáře na adresář nadřazený
REIN - Reset parametrů na výchozí nastavení
LOGOUT/QUIT - Odpojení od relace
6
• Příkazy stanovení parametrů přenosu
Příkaz Parametr Popis
PORT p1 p2 p3 p4 p5 p6 (dekadické hodnoty)
Specifikace datového portu (klienta):
p1.p2.p3.p4 .…….IP adresa
(p5 x 256) + p6…..č.portu
PASV - Žádost o zaslání specifikace datového portu serveru
TYPE p1 – dva znaky (typ formát)
p2 – dekadická hodnota velikosti souboru v B
Specifikace typy souboru
typ (A–ASCII E – EBCDIC I– Image)
format (N-Nonprint….)
STRU p1 (F-file, R-record, P-page)
Specifikace struktury souboru
MODE p1 (S-stream, B-block, C-compressed)
Specifikace přenosového režimu souboru
7
• Příkazy služeb (1)
Příkaz Parametr Popis
RETR cesta / adresář Žádost o přenos kopie souboru – směr „IN“
STOR cesta / adresář Žádost o přenos kopie souboru – směr „OUT“ s možným
přepisem souboru existujícího
STOU cesta / adresář Žádost o přenos kopie souboru – směr „OUT“ –unikátní jméno
APPE cesta / adresář Žádost o přenos kopie souboru – směr „OUT“ – s
připojením k existujícímu
ALLO dekadická hodnota (počet B)
Žádost o alokaci paměťové oblasti (následuje příkaz
STOR/APPE)
REST - Reset probíhajícího přenosu souboru
8
• Příkazy služeb (2)
Příkaz Parametr Popis
RNFR cesta Přejmenování souboru: výchozí soubor
RNTO cesta Přejmenování souboru: cílový soubor
(musí předcházet RNFR)
ABOR Ukončení předcházejícího příkazu souvisejícího s
přenosem souboru
DELE cesta Výmaz souboru
RMD cesta / adresář Výmaz adresáře
MKD cesta / adresář Vytvoření adresáře
9
• Příkazy služeb (3)
Příkaz Parametr Popis
PWD - Výpis cesty pracovního adresáře
LIST [cesta / adresář]
Výpis obsahu adresáře
HELP - Nápověda – výpis všech příkazů, které server
implementuje
NOOP - Prázdná operace, odpověď serveru je vždy pozitivní
10
• Minimální implementace FTP serveru podle RFC 959:
Datové definice :TYPE - ASCII Non-print (AN)MODE - Stream (S)STRUCTURE - File, Record ( F / R )
Příkazy :USER, QUIT, PORT, TYPE, MODE, STRU, RETR, STOR (s výchozími hodnotami) NOOP
11
Odpovědi protokolu FTP (server): číselný tříciferný kód (X Y Z) + text
• X – 1 Pozitivní předběžná odpověď– 2 Pozitivní konečná odpověď– 3 Pozitivní přechodná odpověď– 4 Negativní přechodná odpověď– 5 Negativní konečná odpověď
12
Odpovědi protokolu FTP (server): číselný tříciferný kód (X Y Z) + text
• Y– 0 Chyba v syntaxi příkazu– 1 Odpověď informační– 2 Odpověď informuje o stavu datového spojení– 3 Odpověď ve fázi autentizace– 5 Odpověď informuje o statusu souboru
13
• Příklady odpovědí FTP serveru:– 502 Příkaz server neimplementuje
– 503 Chybná sekvence příkazů
– 550 Soubor nenalezen
– 452 Nedostatečný paměťový prostor
– 450 Soubor je obsazen
– 425 Nemůže být otevřeno TCP datové spojení
– 426 Datové spojení bylo uzavřeno, přenos byl zastaven
– 331 User-name přijato, je očekáván password
– 220 Služba FTP připravena pro uživatele
– 225 Datové spojení otevřeno
– 226 Datové spojení se uzavírá
– 221 Řídící spojení se uzavírá
– 125 Datové spojení je již otevřeno, začíná přenos
14
Počítačové sítěSystém pro přenos souborů – protokol TFTP
• Protokol TFTP (Trivial File Transfer Protocol)– jednoduchý protokol, princip klient - server (požadavek
– odpověď) – součástí protokolu není autentizační sekvence –
přístupy jsou autorizovány konfiguračním nastavením na TFTP serveru (ACL – Access Control List)
– používá transportní služby UDP – well known port 69, zprávy jsou potvrzovány. Není-li potvrzení v určeném čase přijato, jsou zprávy opětovně vysílány
– indikace chyby v přijatém požadavku vyslání chybové zprávy
15
Počítačové sítěSystém pro přenos souborů – protokol TFTP
• Formát IP datagramu s TFTP zprávou
• Typy zpráv – 2 B– Read Request – RRQ – kód 1
– Write Request – WRQ – kód 2
– Data – kód 3
– Acknowledgement – ACK – kód 4
– Error – kód 5
IP záhlaví UDP záhlaví TFTP záhlaví TFTP data (u datových zpráv)
512 B
pevná délka
Typ zprávy Data záhlaví
nedatové zprávy
nedatové zprávy
datová zpráva
Protokol TFTP – Write Request
16
69
69
69
WRQ
TFTP Klient TFTP Server
ACK 0
DAT 1
Protokol TFTP – Read Request
17
69
69
69
RRQ
TFTP Klient TFTP Server
ACK 1
DAT 1
18
Počítačové sítěSystém pro přenos souborů – protokol TFTP
• Data záhlaví– pro RRQ/WRQ – jméno souboru a mód dat souboru
(ASCII text, oktet, ..)
– pro DATA – pořadové číslo bloku (offset bloku)
– Pro ACK – pořadové číslo bloku potvrzovaných dat
– Pro ERROR – kód chyby, chybová zpráva
0 Specifikováno v chyb. zprávě 4 Zakázaná operace
1 Soubor nenalezen 5 Neznámý ident. přenosu
2 Nedodržení přístupových práv 6 Soubor již existuje
3 Nedostatečný paměťový prostor
7 Uživatel neznámý
19
Počítačové sítěSystém pro přenos souborů – protokol TFTP
• Využití implementace TFTP - TFTP klient v ROM u bezdiskových pracovních stanicích
• Postup:– Po zapnutí stanice žádá o IP (implementace
protokolů BootP nebo DHCP nebo RARP)– Po obdržení IP žádá TFTP server o data potřebná ke
spuštění– Po obdržení dat se může spustit
Počítačové sítěSystém pro přenos souborů – protokol TFTP
• Implementace TFTP
• Server: tftpd (daemon) - konfigurace /etc/tftpboot/…
• Klient: tftp tftp [options……] [host [port]] [-c command]
Příkazy: get soubor_remote soubor_local
put soubor_local soubor_remote
Volby: -mode (ascii/binary)
-v (verbose mode)
20