6.4 Přenos souborů

6.4.1 Základy

Přenos souborů je ekvivalentní jejich dálkovému kopírování z počítače na počítač.
Komunikace se ale účastní různé:

A)- počítače,
B)- operační systémy na počítačích
C)- komunikační programy

a proto potřebujeme pro dálkový přenos souborů používat krátké programy tzv. přenosové protokoly,
které běží na obou zúčastněných počítačích a jsou součástí velkých komunikačních programů.

Při přenosu souborů tedy nemusíme používat stejné komunikační programy, ale komunikační
programy musí zvládnout stejné přenosové protokoly.

Užijeme-li nestandardní firemní přenosový protokol, musíme na obou počítačích použít i komunikační programy stejného výrobce, protože standardní komunikační programy většinou speciální firemní protokoly nepodporují.

6.4.2 UPLOADING / DOWNLOADING

Pro odeslání datového souboru na vzdálený počítač se často používá anglický termín uploading.

Pro příjem souboru se používá výraz downloading.
Obecně musí vždy jeden komunikační program vyslat příkaz pro odeslání souborů a druhý pro příjem souboru.
Přetahujete-li soubory mezi počítači běžným způsobem, musí obsluha jednoho počítače vydat příkaz pro uploading a druhá strana pro downloading. Každý tedy řídí program na své straně linky.

6.4.3 Xmodem

Xmodem je nejobvyklejší protokol. Jedná se o poloduplexní protokol, data jsou přenášena současně jen jedním směrem , a s kontrolou chyb. Soubor je rozdělen do bloků 128bajtů a na konci každého je přidán kontrolní součet bloku.
Vysílající počítač zašle společně s blokem dat tzv. paketizační znaky
označující : počátek bloku
konec bloku
číslo bloku
jeho kontrolní součet.
Přijímající počítač vypočte kontrolní součet přijatého bloku a porovná ho s přijatou hodnotou. Pokud obě čísla souhlasí, má se za to, že data byla přenesena správně a pokračuje se dalším blokem.
Jsou-li kontrolní čísla rozdílná, celá procedura se vysílá znovu a kontrola se opakuje.
Přenos je pomalý a i jiné nevýhody vedly k jeho modifikaci.

6.4.4 Xmodem/CRC

CRC je zkratka pro Cyclic redundancy Checking, což je účinnější metoda kontroly dat něž kontrolní součet. Tento modem se pokouší navázat spojení nejprve s kontrolou CRC a pokud neuspěje přejde na kontrolní součet.

6.4.5 1K-Xmodem

Další varianta Xmodemu s délkou bloků 1kbajt, která dala označení modemu 1K-Xmodem nebo Xmodem-1K.
Jeho variantou je 1K-Xmodem-g. Detekce chyb je ponechána hardwaru (modemu). Tento protokol vysílá bloky 1Kbajt až do vydání příkazu k zastavení přenosu.
Nevýhodou je, že modemy nemohou kontrolovat správnost dat mezi modemem a PC.

6.4.6 Ymodem

Ymodem je rozšíření protokolu 1K-Xmodem/CRC o přenos časového údaje a více souborů najednou. Je příkladem dávkového přenosového protokolu.

6.4.7 Zmodem

Zmodem je v současnosti nejpopulárnějším přenosovým protokolem.
Je rychlejší než Xmodem,
- dokáže přenášet více souborů najednou včetně jejich jmen a dalších informací,
- umí lépe kontrolovat správnost přenesených dat a
- obsahuje prostředky pro obnovení souboru, pokud je jeho přenos přerušen.

Zmodem má implementován ještě dokonalejší způsob kontroly chyb než Xmodem/CRC.
Předchozí modemy používají tzv. 16-ti bitový CRC, přičemž
Zmodem využívá podle potřeby 16-bitový nebo 32-bitový režim, který je účinnější.
32-bitový režim je náročnější na rychlost PC na výpočet, proto má uživatel PC řady 386 a nižším možnost použít 16-bitové CRC.
Na rychlých počítačích nemá volba kontrolního režimu vliv na rychlost přenosu.

Zmodem umožňuje nastavit velikost bloku dat od 64bajtů do 8kbajtů, což má vliv na úspěšnost přenosu na rušených linkách.

Zmodem automaticky reguluje velikost bloků dvěma způsoby:
1) Při metodě půlení bloků jsou všechny chybně přenesené bloky zmenšeny na polovinu, takže se nakonec data přenesou i na špatné lince.

2) Při metodě škálování se zmenšuje velikost bloků, které mají být teprve přeneseny.
Zmodem je protokolem, který zajištˇuje kontrolu chyb průběžným způsobem, čímž se dále zrychlí přenos dat.
Každá metoda kontroly správnosti dat vede ke zpomalení přenosu .
Při průběžném způsobu kontroly (tzv. streaming) se ale vysílají kontinuálně až do konce souboru nebo do chvíle, kdy přijímající počítač detekoval chybu.
Xmodemm a Ymodem přenáší data v bloku s kontrolním kódem a pak čeká na zprávu, jak přenos dopadl.
Zmodem oznámí pouze špatně přenesený blok a ihned opakuje jeho přenos, což vede k vysoké účinnosti přenosu (98 -99%; účinnost protokolu je relativní rychlost vztažená na rychlost přenosu bez kontroly chyb).
Účinnost Xmodemu nebo Ymodemu může vzhledem k modemovým a linkovým zpožděním na dlouhých trasách klesnout i pod 10%.

6.4.8 Kermit

je nejčastěji podporovaným speciálním protokolem. Kermit je velmi pružný protokol, který umožňuje přenos více souborů, se jménem a časovým údajem a robustním mechanismem kontroly chyb.
Při komunikaci PC-PC se příliš nerozšířil a je užíván při spojení s mainframe (pevnými) počítači vzhledem k 7-bitovému kódování dat. I z tohoto důvodu se užívá hlavně mimo naši republiku. Ačkoliv umí dynamicky měnit velikost přenášených bloků podle kvality spojení a umí komprimovat data, je ještě pomalejší než Xmodem.

6.4.9 Výběr přenosového protokolu

Výběr vhodného přenosového protokolu nebývá složitý.
Jeho výběr se většinou řídí nabídkou a doporučením vzdáleného programu, popřípadě schopnostmi komunikačního programu uživatele.
Výběr přenosového protokolu je tedy ovlivněn správnou volbou komunikačního programu, který by měl podporovat všechny standardní přenosové protokoly zde uvedené.
ASCII protokol se hodí výhradně pro textové soubory
Zmodem použijte vždy když je to možné.

Je rychlý, spolehlivý a při přerušení spojení obnovuje přenos na místě, kde skončil, tj. není nutné znovu odesílat celý soubor nebo se domlouvat, kterou část je třeba ještě poslat.

Pro internet je to pak protokol TCP/IP