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

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

  • Upload
    jeff

  • View
    42

  • Download
    0

Embed Size (px)

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

Citation preview

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

• 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)– Řízení formátu (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

3

– 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í4

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 PopisRETR 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