Počítačové sítě Systém pro přenos souborů – protokol FTP

20
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ů)

description

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 - PowerPoint PPT Presentation

Transcript of Počítačové sítě Systém pro přenos souborů – protokol FTP

Page 1: 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ů)

Page 2: Počítačové sítě Systém pro přenos souborů – protokol FTP

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

Page 3: Počítačové sítě Systém pro přenos souborů – protokol FTP

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

Page 4: Počítačové sítě Systém pro přenos souborů – protokol FTP

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í

Page 5: Počítačové sítě Systém pro přenos souborů – protokol FTP

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

Page 6: Počítačové sítě Systém pro přenos souborů – protokol FTP

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

Page 7: Počítačové sítě Systém pro přenos souborů – protokol FTP

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

Page 8: Počítačové sítě Systém pro přenos souborů – protokol FTP

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

Page 9: Počítačové sítě Systém pro přenos souborů – protokol FTP

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í

Page 10: Počítačové sítě Systém pro přenos souborů – protokol FTP

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

Page 11: Počítačové sítě Systém pro přenos souborů – protokol FTP

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ěď

Page 12: Počítačové sítě Systém pro přenos souborů – protokol FTP

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

Page 13: Počítačové sítě Systém pro přenos souborů – protokol FTP

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

Page 14: Počítačové sítě Systém pro přenos souborů – protokol FTP

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

Page 15: Počítačové sítě Systém pro přenos souborů – protokol FTP

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

Page 16: Počítačové sítě Systém pro přenos souborů – protokol FTP

Protokol TFTP – Write Request

16

69

69

69

WRQ

TFTP Klient TFTP Server

ACK 0

DAT 1

Page 17: Počítačové sítě Systém pro přenos souborů – protokol FTP

Protokol TFTP – Read Request

17

69

69

69

RRQ

TFTP Klient TFTP Server

ACK 1

DAT 1

Page 18: Počítačové sítě Systém pro přenos souborů – protokol FTP

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ý

Page 19: Počítačové sítě Systém pro přenos souborů – protokol FTP

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

Page 20: Počítačové sítě Systém pro přenos souborů – protokol FTP

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