6.4 Přenos souborů
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í.
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.
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.
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.
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.
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.
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%.
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