3.4
TFTP
Existuje mnoho případů, kdy stačí soubor zkopírovat, aniž byste museli používat všechny funkce protokolu FTP. Například, když potřebujete zavést spouštěcí a konfigurační soubory na bezdiskové pracovní stanice nebo směrovače. Pro tento typ přenosu je určen protokol TFTP (Trivial File Transfer Protocol). Specifikace protokolu je definována v RFC 1350. TFTP se řadí mezi protokoly aplikační vrstvy modelu OSI.
TFTP je zjednodušená verze protokolu FTP pro přenos souborů. Na rozdíl od FTP nepodporuje ověřování klienta a jako transportní protokol používá UDP (port 69), nikoli TCP. V tomto ohledu se TFTP používá především k řešení problémů spojených s údržbou a provozem síťových zařízení, jmenovitě:
- ke spouštění bezdiskových pracovních stanic,
- k aktualizování a zálohování konfiguračních souborů a obrazů OS (firmwaru) různých síťových zařízení.
3.4.1
Zprávy
Existuje pět typů zpráv TFTP:
- Požadavek na čtení (RRQ, #1) – požadavek na čtení souboru používá klient, když chce navázat spojení pro čtení dat ze serveru.
- Write Request (WRQ, #2) – požadavek na zápis souboru používá klient, když chce navázat spojení pro zápis dat na server.
- Data (DATA, #3) – data přenášená přes TFTP.
- Potvrzení (ACK, #4) – potvrzení paketu.
- Chyba (ERR, #5).
TFTP má architekturu klient-server. Výměna mezi klientem a serverem začíná tím, že klient požádá server o čtení nebo zápis souboru. Při standardním zavádění bezdiskového systému se začíná požadavkem na čtení.
Připojení pro čtení souboru se liší od připojení pro zápis:
- Čtení. Aby klient TFTP navázal spojení pro čtení, odešle zprávu RRQ. V té je uveden název souboru a režim přenosu. Pokud server může soubor přenést, reaguje kladně zprávou DATA obsahující první blok dat. Pokud se vyskytnou problémy, například potíže při otevírání souboru nebo omezení rozlišení, server odpoví negativně odesláním zprávy ERROR.
- Zápis. Aby klient TFTP navázal spojení k zápisu dat, odešle zprávu WRQ. V té je uveden název souboru a režim přenosu. Pokud server může přijmout kopii souboru, odpoví kladně zprávou ACK s hodnotou 0 pro datový blok. Nastanou-li problémy, server odpoví negativně zprávou ERROR.
Po odeslání kompletního souboru lze spojení ukončit. TFTP pro tento krok nemá speciální zprávu. Ukončení následuje odeslání posledního datového bloku, který obsahuje méně než 512 bajtů.
3.4.4
Přenos dat
Pro přenos dat používá TFTP protokol UDP, který je nespolehlivý. Soubor je rozdělen do datových bloků, kdy každý blok kromě posledního obsahuje přesně 512 bajtů. Poslední blok musí mít méně než 512 bajtů. TFTP může přenášet data v ASCII nebo v binárním formátu.
UDP nemá mechanismus řízení toku ani řízení chyb, takže TFTP musí tyto mechanismy vytvořit, aby mohl soubor přenášet v blocích s nepřetržitými daty.
TFTP odesílá datové bloky pomocí zprávy DATA a čeká na zprávu ACK. Pokud odesílatel přijme potvrzovací signály předtím, než vyprší časový limit, odešle další blok. Řízení toku tedy spočívá v číslování datových bloků, kdy ACK čeká před odesláním dalšího datového bloku.
Mechanismus řízení chyb TFTP se od jiných protokolů liší. Je symetrický, což znamená, že s časovým limitem pracuje odesílatel i příjemce. Odesílatel jej aplikuje na datové zprávy, příjemce na potvrzení zpráv. Pokud dojde ke ztrátě datové zprávy, odesílatel ji po uplynutí časového limitu opakuje. Pokud se ztratí potvrzení, příjemce jej po uplynutí časového limitu rovněž opakuje. Tím je zajištěn normální provoz.
3.4.7
Poškozená zpráva
Pokud je datový blok poškozen, příjemce poškození detekuje a blok vymaže. Odesílatel čeká na potvrzení, a nepřijme-li jej během časového limitu (time out), odešle blok znovu.
3.4.8
Ztráta zprávy
Pokud je blok ztracen, nikdy se nedostane k příjemci a ten neodešle potvrzení. Odesílatel po uplynutí časového limitu odesílá blok znovu.
3.4.9
Ztráta potvrzení
Dojde-li ke ztrátě potvrzení, mohou nastat dvě situace. Pokud časovač příjemce pracuje před časovačem odesílatele, příjemce toto potvrzení zopakuje, jinak bude odesílatel opakovat data.
3.4.10
Duplikace zprávy
Duplikaci bloku může příjemce detekovat podle jeho čísla. Pokud je blok duplicitní, příjemce jej jednoduše smaže.
Jaký protokol se používá pro přenos souborů přes sítě TCP/IP?
Který příkaz protokolu FTP umožňuje získat soubor ze vzdáleného serveru FTP?
Který příkaz protokolu FTP umožňuje poslat soubor z počítače na server FTP?
Jaký je účel FTP serverů?
Vyberte hlavní rozdíly mezi TFTP a FTP.
Jakým požadavkem protokolu TFTP naváže klient spojení ke čtení dat ze serveru?
Jaká vrstva modelu OSI se TFTP týká?
Jaký standardní port se používá k přenosu dat FTP?
Jaký standardní port se používá k přenosu příkazů FTP?
Jaký je výchozí port používaný pro službu TFTP?