200 likes | 363 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ů)
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 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
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
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 YZ) + 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 YZ) + 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
Typ zprávy Data záhlaví Počítačové sítěSystém pro přenos souborů – protokol TFTP IP záhlaví UDP záhlaví TFTP data (u datových zpráv) TFTP záhlaví • 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 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)