24. služby OS Linux: aktivace a konfigurace FTP a TFTP serveru
24. služby OS Linux: aktivace a konfigurace FTP a TFTP serveru
Trivial File Transfer Protocol (TFTP) je velice jednoduchý protokol pro přenos souborů, obsahující jen základní funkce protokolu FTP. Jeho specifikace byla poprvé uveřejněna v roce 1980.
TFTP je určen pro přenos souborů v případech, kdy je běžný protokol FTP nevhodný pro svou komplikovanost. Typickým případem je bootování bezdiskových počítačů ze sítě, kdy se celý přenosový protokol musí vejít do omezeného množství paměti, která je k dispozici na bezdiskovém stroji.
TFTP je založen na části protokolu EFTP, což je část univerzálního balíku PARC.
Původní verze TFTP před RFC 1350 obsahovala závažnou chybu (tzv. Sorcerer’s apprentice syndrome), která za jistých okolností způsobila množení dat přenášených po síti.
Technické informace
Jelikož TFTP funguje nad nespojovaným protokolem UDP, musí obsahovat vlastní řízení spojení. Koncepce sezení je jednoduchá: v jednom spojení lze přenést jen jediný soubor, při komunikaci se na síti pohybuje vždy jen jediný paket (po odeslání jednoho paketu program čeká na jeho potvrzení a teprve poté posílá další). Kvůli tomuto zjednodušení poskytuje protokol na linkách s velkou latencí jen malou přenosovou rychlost. TFTP používá portu 69 (FTP používá spojovaný protokol TCP a port 21).
Oproti FTP má různá omezení a odlišnosti:
· Nelze procházet adresáře.
- Neumožňuje přihlášení uživatele ani zadání hesla.
- Je používaný pro čtení nebo zápis dat na vzdálený server.
- Podporuje tři odlišné přenosové módy: netascii (pro text v ASCII s úpravami z protokolu Telnet), octet (pro syrová binární 8bitová data) a mail (pro zaslání e-mailové zprávy; tento mód by se už neměl používat).
- Maximální velikost přenášeného souboru je 32 MB.
Kvůli nedostatečnému zabezpečení je nebezpečné používat tento protokol k výměně dat přes internet, používá se výhradně v lokálních sítích, kde nehrozí takové nebezpečí zcizení nebo poškození dat.
Další vylepšení byly později implementovány do RFC 2347, ale protokol zůstává zpětně kompatibilní.
Detaily TFTP
· Uživatel A pošle paket RRQ (žádost o čtení) nebo WRQ (žádost o zápis) uživateli B. Tento paket obsahuje jméno souboru, cestu a použitý přenosový mód.
· Po zaslání požadavku musí následovat kladná odpověď, kterou může být buď potvrzovací paket (při zápisu), nebo první datový paket (při čtení).
· Klient si při vytváření spojení zvolí číslo spojení (transmit identifikator – TID). Toto číslo je stálé během celé doby trvání spojení a toto spojení identifikuje (neboť použitý protokol UDP je bezestavový). TID se může volit náhodně, pravděpodobnost, že dva klienti vyberou v jednu dobu dvě shodná čísla je velmi malá. Každému paketu jsou přiřazena dvě TID (zdrojové a cílové). Tato TID se v UDP protokolu (nebo v jiném datagramovém protokolu) použijí jako zdrojový a cílový port.
· Klient si zvolí svoje zdrojové TID a zašle ho s požadavkem na standardní TID (69 dekadicky) serveru. Server posílá odpověď ze svého zdrojového portu (69) a jako cílový port má uvedeno TID klienta.
· Jestliže server povolí spojení, spojení se vytvoří a začne přenos souboru po stejně dlouhých, 512B, blocích.
[editovat] Syntaxe příkazu tftp
Přenos souboru do a z počítače přes TFTP.
TFTP [-i] cíl [GET | PUT] zdroj [umístění]
FTP (File Transfer Protocol) je protokol aplikační vrstvy z rodiny TCP/IP, je určen pro přenos souborů mezi počítači, na kterých mohou běžet velmi rozdílné operační systémy.
Je to jeden z nejstarších protokolů, pracuje 8-bitově na principu klient-server na portech TCP/20 a TCP/21. Port 20 slouží k vlastnímu přenosu dat, port 21 slouží ke kontrole a jsou jím také přenášeny ftp příkazy. Když jsou přenášena data, je kontrolní port nečinný. To může způsobit problémy v případě přenosu velkého množství dat přes firewally, které přenos po delší době nečinnosti kontrolního portu přeruší. I když mohou být data úspěšně přenesena, je přesto generována chyba.
Je definován v RFC959. Protokol je interaktivní a umožňuje řízení přístupu (přihlašování login/heslo), specifikaci formátu přenášeného souboru (znakově - binárně), výpis vzdáleného adresáře atd. V současné době už není považován za bezpečný a z tohoto důvodu pro něj byla definována některá rozšíření (RFC 2228).
Jsou potřebné 2 počítače pro přenos protokolem ftp. Na prvním počítači musí být nakonfigurován a spuštěn ftp server. Tento počítač poskytuje data pro ostatní počítače. Další počítače (nazývaní klienti) se můžou připojovat na ftp server pomocí programu k tomu určenému. Po připojení klienta může dělat řadu operací, jako odesílání dat na server, stahování ze serveru, přejmenování, mazání a řadu dalších.
Výrobci softwaru jsou schopni vytvořit FTP server nebo klienta, protože FTP protokol je definován standardem. Tento standard je použitelný pro všechny platformy (operační systémy). To dovoluje použít pro FTP přenos jakýkoliv počítač, připojený přes TCP/IP protokol k internetu.
Existuje mnoho programů pro FTP servery a klienty a mnoho je jich volně dostupných.