200 likes | 356 Views
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
E N D
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 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 Uživatelské rozhraní 21 Interpret protokolu FTP Interpret protokolu FTP FTP klient FTP server Souborový systém 20 Modul přenosu dat Modul přenosu dat Souborový systém
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
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í
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řístupu
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
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ěď
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
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
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
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 Typ zprávy Data záhlaví IP záhlaví UDP záhlaví TFTP data (u datových zpráv) TFTP záhlaví 512 B pevná délka nedatové zprávy datová zpráva nedatové zprávy
Protokol TFTP – Write Request TFTP Klient TFTP Server WRQ 69 ACK 0 69 DAT 1 69
Protokol TFTP – Read Request TFTP Klient TFTP Server RRQ 69 DAT 1 69 ACK 1 69
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
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)