Vyšlo v týdeníku Computerworld č. 8/94,
Vytištěno z adresy: http://www.earchiv.cz/a94/a408c501.php3

Komunikace na všechny způsoby

Tento článek vyšel v tzv. tématu týdne v CW 8/94, jako první ze série článků věnovaných problematice počítačových komunikací.

Firma IBM (International Business Machines) přišla se svými osobními počítači IBM PC v roce 1981. Bylo to v době, kdy pokroky ve výrobních technologií již umožňovaly vyrábět rozumně využitelné počítače takových rozměrů, že je bylo možné umístit přímo na stůl konkrétním uživatelům, a současně s tím je bylo možné vyrábět i za takovou cenu, že bylo i ekonomicky únosné je přidělit k výhradnímu používání jednotlivým uživatelům. Osobní počítače tedy vznikly s cílem poskytnout uživateli takovou výpočetní kapacitu, která by mu měla postačovat pro seriózní práci, ale kterou by měl jen a jen pro sebe, a nemusel se o ni dělit s ostatními uživateli.

Zpočátku se zřejmě moc nepočítalo s tím, že by osobní počítače IBM PC byly nějakým významnějším způsobem využívány i pro komunikace a datové přenosy. Spíše se předpokládalo, že budou tvořit samostatné výpočetní uzly, a že na nich budou provozovány takové aplikace, které si do značné míry "vystačí samy" - případně že jejich nároky na vzájemnou komunikaci bude možné uspokojit například přenosem dat po disketách.

Jen tak si lze vysvětlit skutečnost, že počítače PC byly od začátku vybavovány jen zcela minimálními prostředky, které by bylo možné využít pro potřeby komunikací - jedním či dvěma sériovými rozhraními dle standardu RS-232-C, a jedním paralelním rozhraním dle standardu Centronics. Navíc byla tato rozhraní koncipována spíše s ohledem na potřeby připojování různých periferních zařízení. Jejich programová obsluha - zejména sériových rozhraní - na úrovni tzv. BIOSu i na úrovni samotného DOS-u je přitom tak špatná, že většina aplikací raději DOS i BIOS obchází, a vše si zajišťuje sama.

Počítače IBM PC ovšem doslova "dobily svět". Díky masovosti své výroby se staly běžnou komoditou, a díky relativně dobré standardizaci - neboť všichni výrobci klonů se ve vlastním zájmu přizpůsobili Velkému Modrému Vzoru - otevřely stavidla úplné záplavě programů, které produkuje dobře prosperující softwarový průmysl. Nelze se proto divit, že počítače PC vstoupily významným způsobem i do světa komunikací. Sice nepříliš dobře připravené a vybavené, ale zato s pořádným trumfem v ruce: s podporou obrovského trhu, slibujícího nebývalé zisky.

Pokusme se nyní zamyslet nad tím, jakými principiálními způsoby se počítače PC (ale nejen ony) mohou účastnit "počítačových komunikací". Tím se současně pokusíme vymezit, co všechno se může skrývat za značně vágním pojmem "komunikace na PC", který stojí v názvu dnešního tematu týdne.

Na úvod je ale vhodné si uvědomit, že se na celou věc můžeme dívat z různých pohledů, které mohou být do značné míry nezávislé: například nás může zajímat, v jakém postavení je daný počítač PC vůči ostatním počítačům, se kterými komunikuje. Přitom nemusí být relevantní, jakým konkrétním způsobem je tato komunikace uskutečňována (zda např. po sériové lince, prostřednictvím lokální sítě apod.). Jindy nás zase může zajímat právě tento aspekt, nezávisle na tom, proč vlastně ke komunikaci dochází (zda je využívána pro přenos souborů, pro potřeby sdílení technických či programových prostředků apod.).

Záleží-li na postavení komunikujícího počítače .....

Jeden z možných pohledů si všímá toho, jaké je postavení počítače PC vůči jinému počítači, se kterým komunikuje, resp. jaká je role, ve které počítač PC vystupuje. Zde připadají v úvahu následující možnosti (které ovšem nejsou vždy zcela disjunktní):

  • PC v roli terminálu: v tomto případě počítač PC vystupuje vůči jinému počítači v roli jeho terminálu. Tím tomuto počítači nahrazuje jeho vstupně-výstupní zařízení (jednoúčelový terminál), prostřednictvím kterého uživatel tohoto počítače zadává své vstupy, a nazpět dostává i veškeré výstupy, určené k zobrazení. Míra inteligence, kterou počítač PC v této roli vykazuje, záleží na tom, jaký druh terminálu nahrazuje. Jde-li o nejjednodušší terminál znakového charakteru, počítač PC se veškerou svojí výpočetní kapacitou věnuje tomu, aby každý znak, zadaný z klávesnice, posílal druhému počítači, a každý znak, který od něj přijme, zase pouze zobrazil na svém monitoru. Pokud naopak počítač PC nahrazuje inteligentní terminál formulářového typu, může vykonávat i některé další funkce (například kontrolu správnosti, resp. přípustnosti zadávaných údajů apod.).
  • PC v roli klienta: v tomto případě počítač PC vystupuje vůči jinému počítači v roli žadatele o poskytnutí určitých služeb - zatímco druhý počítač vůči němu vystupuje v roli poskytovatele služeb, neboli tzv. serveru. Počítač PC v roli klienta si zde vesměs ponechává značnou míru autonomie: svou výpočetní kapacitu obvykle využívá k provozování samostatných aplikací, a se žádostmi o poskytnutí nějaké služby se na popud provozované aplikace obrací na server až v okamžiku, kdy je takováto služba skutečně požadována.
  • PC v roli serveru: tento případ je alternativou k předchozímu, a počítač PC zde vystupuje v roli pasivního poskytovatele služeb - pasivního v tom smyslu, že je sám svým klientům nijak nevnucuje, ale poskytuje je až na základě jejich explicitní žádosti. Možný repertoár takovýchto služeb není nijak principiálně omezen: příkladem mohou být služby charakteru uchovávání souborů (pak jde o tzv. souborový server, resp. tzv. file server), o služby tiskové (print server), o služby typu odpovědí na databázové dotazy (databázový server) apod.

Počítač v roli serveru se může věnovat výhradně jen poskytování služeb - pak jde o tzv. dedikovaný server. Je ovšem možná i taková varianta, kdy poskytování služeb je jen jednou z činností, kterou se zabývá (a vedle toho na něm mohou být například provozovány i běžné uživatelské aplikace). Pak jde o tzv. nededikovaný server.

  • PC současně v roli serveru i klienta: počítač PC zde vystupuje v obou předcházejících rolích současně - některé služby poskytuje (v roli serveru) druhým počítačům, zatímco o jiné služby žádá (v roli klienta). Typickým příkladem je postavení jednotlivých uzlů v sítích typu peer-to-peer, kdy jeden počítač zpřístupňuje druhým počítačům část svého disku (tj. chová se jako server), a současně s tím sám využívá i takové disky, které mu obdobným způsobem zpřístupnily jiné počítače (a vůči nim tedy vystupu je v roli klienta).
  • PC v roli ovládaného počítače: vzhledem k osobnímu charakteru počítačů PC se vesměs předpokládá, že uživatel s nimi pracuje přímo - tedy že "sedí přímo u počítače", své příkazy zadává z klávesnice, kterou je tento počítač vybaven, a naopak veškeré výstupy mu jsou zobrazovány přímo na displeji tohoto počítače. Přesto je ale možné zařídit věci i tak, aby určitý počítač vykonával příkazy, které mu jsou zadávány na dálku, obvykle z jiného počítače. Počítač, který své příkazy dostává od jiného počítače, se tak dostává do role ovládaného subjektu, který nevykonává žádné akce z vlastního popudu, ale pouze na explicitní pokyny toho, kdo jej ovládá. Typickým příkladem situace, kdy se počítač PC dostává do této role, je tzv. dálkové ovládání (remote control), popisované dále. V postavení ovládaných počítačů jsou ale například také počítače, které fungují jako stanice BBS
  • PC v roli bezobslužného počítače: pokud si na počítači PC spustíme takový program, který bude zajišťovat nějakou konkrétní činnost trvalejšího charakteru a nebude k tomu vyžadovat spolupráci uživatele, pak jej vlastně postavíme do role bezobslužného počítače, resp. počítače, pracujícího v bezobslužném režimu. Právě v tomto režimu zřejmě bude pracovat většina ovládaných počítačů (ve smyslu předchozího bodu), i když i zde jsou možné výjimky - viz scénář xx (předvádění žákům v učebně). Existuje však i celá řada takových situací situací, kdy bezobslužný počítač není současně počítačem ovládaným - obecně tehdy, když v bezobslužném režimu vykonává určité akce z vlastní iniciativy, a ne pouze z iniciativy někoho jiného. Příkladem může být počítač PC v roli mostu či směrovače v lokální síti: tedy počítač nejméně se dvěma síťovými kartami, na kterém běží program předávající rámce či pakety mezi jednotlivými segmenty sítě (samozřejmě v bezobslužném režimu). Dalším typickým příkladem mohou být všechny počítače PC v roli řídících počítačů, které pracují bez přímé lidské obsluhy (a řídí například výrobu, klimatizaci, přepravní systém apod.).
  • PC v roli partnerského počítače: do této kategorie spadají ostatní případy, kdy mezi komunikujícími počítači není žádný specifický vztah, resp. když jsou rovnocennými partnery. Příkladem může být situace, kdy na dvou vzájemně propojených počítačích běží samostatné aplikační programy, a dva uživatelé si jejich prostřednictvím posílají celé soubory, či spolu pouze "konverzují" v reálném čase (to, co jeden píše na svém počítači, se současně zobrazuje i druhému uživateli na jeho počítači apod.).

Záleží-li na účelu komunikace ......

Dalším důležitým pohledem na "komunikace na PC" je účel, který takováto komunikace sleduje. Zde již není tak dalece relevantní, v jakém postavení se jednotlivé komunikující počítače nachází - zde je naopak podstatné to, co a jak si vlastně přenáší, a za jakým účelem či s jakým cílem tak činí.

Práce na hostitelském počítači

Počítače, které jsou provozovány ve víceuživatelském režimu (tedy více uživateli současně), předpokládají že každý uživatel má k dispozici vlastní terminál, ze kterého zadává veškeré své vstupy, a na který mu jsou naopak zasílány veškeré výstupy, určené k zobrazení na displeji. Terminál je tedy standardním prostředkem interaktivní práce uživatelů na víceuživatelském počítači, kterému se v tomto případě říká obvykle hostitelský počítač (anglicky: host). Počítač PC, který vystupuje v roli terminálu, je nejčastěji používán právě k tomuto účelu - tedy k tomu, aby svému uživateli zprostředkovával přístup k hostitelskému počítači, a umožňoval mu pracovat na něm stejně, jako z kteréhokoli jiného terminálu (např. jednoúčelového).

Existuje ovšem i celá řada jiných situací, ve kterým počítač PC vystupuje také v roli terminálu, ale slouží k jinému účelu. Příkladem může být počítač PC připojený ke stanici BBS, terminál videotexu, přijímač teletextu či účastnická stanice nejrůznějších informačních zdrojů a služeb (viz dále).

Přenos binárních souborů

Možnosti komunikace mezi počítači jsou i v dnešní době zřejmě nejvíce využívány k přenosu souborů. Mají-li tyto soubory povahu textů, je obvykle možné přijmout určité předpoklady o jejich vnitřním formátu, a ty pak využít při vlastním přenosu (viz následující odstavec). V opačném případě není možné o jejich obsahu cokoli předpokládat - pak je nutné tyto soubory chápat jako posloupnosti bitů (odsud: binární soubory), a příjemci doručit přenesený soubor jako přesně takovou posloupnost bitů, jakou odesilatel předal k odeslání.

Přenos binárních souborů přitom může být uskutečňován mezi počítači v bezobslužném režimu i s "lidskou obsluhou", mezi počítači v roli klientů i serverů, a mohou se jej účastnit dokonce i počítače PC, které vystupují v roli terminálů (a pouze dočasně přejdou do režimu, umožňujícího přenos souborů).

Přenos textů

Mají-li přenášená data povahu textů, je možné předpokládat, že jsou tvořena posloupností jednotlivých znaků. Této skutečnosti je pak možné využít například tehdy, pokud příjemce používá jiný způsob kódování znaků než odesilatel (například kód EBCDIC místo ASCII), a zajistit automatické překódování. Další možností je zefektivnění přenosu: pokud je známo, že přenášená data představují text v kódu ASCII, pak je možné přenášet jednotlivé znaky jen jako sedmibitové (i když v původním textu byl nejspíše každý znak znázorněn v jednom osmibitovém bytu). Díky tomu je pak možné přenést v sedmi bytech celkem osm znaků - tedy o jeden více, než by bylo možné přenést bez znalosti toho, že jde o ASCII znaky. Binární soubory ovšem takto přenášet nelze, neboť každý jejich osmý bit by se vlastně nenávratně ztratil. Stejně tak je ale třeba dát pozor i na přenos textů, jejichž znaky nejsou kódovány v sedmibitovém kódu ASCII - například pro češtinu a mnohé jiné národní abecedy již není možné vystačit se sedmibitovým znakovým kódem, a je nutné přenášet každý znak skutečně jako osmibitový.

S přenosem textů se můžeme setkat nejčastěji ve dvou základních podobách: v rámci elektronické pošty (pro přenos jednotlivých zpráv), a jako se speciálním případem přenosu souborů (textových, a nikoli binárních).

On-line komunikace

Elektronická pošta, spočívající v přenosu textových zpráv, je prostředkem komunikace mezi uživateli, který má v zásadě dávkový charakter: jednotlivé zprávy se na straně příjemce pouze ukládají do pomyslných poštovních schránek (ve skutečnosti na disk), a jejich další zpracování je pak již záležitostí majitele této schránky. V době doručení zprávy do poštovní schránky její majitel vůbec nemusí být "přítomen" (tedy být přihlášen k systému a pracovat na příslušném počítači). Existují ovšem i takové formy komunikace mezi uživateli, které mají interaktivní charakter, probíhají v reálném čase (tzv. on-line, též: spřaženě), a vyžadují současnou aktivitu všech komunikujících uživatelů: příkladem může být tzv. chat, neboli situace, kdy jeden uživatel píše určitý text na svém počítači, a druhému uživateli se tento text průběžně zobrazuje i na jeho počítači. Přitom jde většinou o obousměrnou komunikaci, tj. i druhý uživatel může na svém počítači psát text, který se průběžně zobrazuje i jeho partnerovi. Existují ovšem i víceuživatelské varianty, v rámci kterým si právě naznačeným způsobem může "povídat" (či spíše: "psát") více uživatelů současně.

Sdílení technických prostředků

Jednou ze základních myšlenek, na které je postavena celá koncepce osobních počítačů, je představa že výpočetní technika je dostatečně laciná na to, aby ji každý uživatel mohl mít jen a jen pro sebe.

To samozřejmě bude vždy relativní - v některých situacích a pro určitou techniku to jistě platit bude, ale vedle toho zřejmě vždy budou existovat i takové prostředky, u kterých to ekonomicky únosné nebude. Kromě toho bude samozřejmě záležet i na způsobu práce jednotlivých uživatelů, na jejich nárocích, na finančních možnostech atd. Jako příklad se běžně uvádí kvalitní (a tudíž i drahé) laserové tiskárny, plottery, snímače (scannery apod.), které se většinou nevyplatí přidělovat jednotlivým uživatelům jen k jejich výhradnímu použití.

Obvyklým řešením je pak sdílení těchto prostředků více uživateli, resp. více osobními počítači. Tedy takové uspořádání, při kterém má uživatel jednoho osobního počítače možnost využívat technické prostředky, které nemá jen pro sebe, ale které sdílí společně s jinými uživateli.

Konkrétní realizace takovéhoto sdílení je nejčastěji následující: sdílený prostředek je k dispozici na počítači, který vystupuje v roli serveru, a využití sdíleného prostředku nabízí formou poskytování služby ostatním počítačům, kteří vůči němu vystupují v roli jeho klientů. Přitom není příliš podstatné, zda daný server je dedikovaný (viz výše), zda je či není sám současně i klientem jiných serverů (jako tomu může být v sítích typu peer-to-peer) apod.

Sdílení programů a dat

Další ze zásadních myšlenek, ze kterých vzešla koncepce osobních počítačů, je představa, že každý jednotlivý uživatel si se svým počítačem dokáže poradit sám. Tedy že se bude sám starat o veškerou systémovou "údržbu" - například o instalování nových verzí operačního systému i nejrůznějších ovladačů, o instalování a konfiguraci všech aplikací, o zálohování a mnoho a mnoho dalších věcí. Nebo že alespoň bude mít k ruce někoho, kdo to bude dělat za něj.

Také tento předpoklad se vzhledem k masovému nasazování počítačů PC ukázal jako nesplnitelný. Pro drtivou většinu dnešních uživatelů je počítač PC jen nástrojem, který používají ke své práci, a není dost dobře možné od nich požadovat, aby jej dokázali "spravovat" - podobně jako od sekterářky asi nikdo neočekává, že si sama dokáže opravit, seřídit či jen promazat psací stroj, na kterém dnes a denně píše.

Prakticky schůdná je proto jen varianta "mít k ruce někoho, kdo tomu rozumí". Takovýto člověk ale zase nemůže být všude najednou, nebo neustále obíhat mezi jednotlivými počítači a na každém z nich znovu a znovu řešit stejný problém. Pro něj je mnohem výhodnější, je-li maximum všech systémových zdrojů (programů, dat, ale i technických prostředků) soustředěno do jediného centra, a všichni uživatelé tyto prostředky sdílí. Pak je totiž možné, aby příslušný správce řešil každý problém jen jednou, a ne tolikrát, kolik je uživatelů resp. osobních počítačů. Pokud například všichni uživatelé sdílí jednu a tutéž aplikaci (umístěnou na počítači, který vystupuje vůči ostatním v roli file serveru), pak například novou verzi této aplikace stačí nainstalovat jen jednou (na tento file server), a nikoli opakovaně na každý jednotlivý počítač.

Tato úvaha přitom platí jak pro programové objekty, které mají charakter aplikací, tak i pro data. Konkrétní formou takovéhoto sdílení je nejčastěji jejich umístění na počítači, který vůči ostatním vystupuje v roli serveru (konkrétně v roli file serveru).

Společná práce

V době zavádění prvních osobních počítačů standardu IBM PC měla drtivá většina provozovaných aplikací značně "individuální" charakter. Byly to aplikace, které sloužily potřebám jednoho uživatele, a nevyžadovaly spolupráci či jinou součinnost dalších uživatelů.

V současnosti se ale výrazně prosazují i takové aplikace, které mají mnohem více "kolektivní" charakter, a které se vzájemnou součinností více uživatelů od začátku počítají. Příkladem může být společná práce více uživatelů nad jedním dokumentem, rozvrhem, plánem apod., ale také celá široká škála distribuovaných aplikací. Obecně vše, co se dnes zařazuje pod tzv. workgroup computing či pod distributed computing.

Přístup k informačnímu zdroji

V poslední době stále více roste popularita služeb. spočívajících v poskytování informací z jednoho centrálního zdroje širokému okruhu zájemců. Příkladem může být teletext, šířený prostřednictvím televizního vysílání, který je založen na jednosměrné distribuci celých stránek textových a semigrafických informací (bez zpětné vazby od příjemců). Dalším příkladem může být videotex, který je již "čistě počítačovou" záležitostí, a který již má zabudovánu zpětnou vazbu (umožňující příjemci volit, jaké další informace mu mají být zaslány). Na obdobném principu pak fungují i tzv. stanice BBS (Bulletin Board Systems), které navíc nabízí i možnost přenosu souborů oběma směry, i některé další funkce (např. elektornickou poštu).

Všechny tyto informační zdroje přitom očekávají, že na straně příjemce bude zařízení charakteru terminálu s přesně definovanými vlastnostmi: schopné předávat vstupy od uživatele (které on zadává z klávesnice) v takovém tvaru, v jakém to příslušný informační zdroj vyžaduje, a na druhé straně schopné správně zobrazovat informace, předávané opačným směrem. Tímto zařízením samozřejmě může být jednoúčelové zařízení (např. televizní přijímač s dekodérem teletextu, jednoúčelový videotexový terminál apod.), ale také "univerzální" počítač PC s vhodným emulačním programem, který pouze vystupuje v roli terminálu.

Dálkové ovládání

Poměrně specifickým způsobem využití komunikace mezi dvěma počítači PC je tzv. dálkové ovládání (remote control). Spočívá v tom, že uživatel jednoho počítače na dálku ovládá druhý počítač, neboli na jednom počítači zadává příkazy, které jsou ve skutečnosti prováděny na jiném počítači (který vystupuje v roli ovládaného počítače).

Smysl takovéhoto dálkového ovládání může být různý: jednou z možností je situace, kdy vyučující na dálku ovládá počítač svého žáka (či najednou více takovýchto počítačů), a názorně ukazuje, co a jak je třeba dělat. Dalším příkladem může být diagnostika či běžná "systémová údržba", prováděná na dálku - například odborníkem, který sedí ve své kanceláři, a prostřednictvím telefonních linek na dálku ovládá počítač svého zákazníka a provádí na něm potřebné systémové zásahy.

Telecommuting

Mnoho lidí dnes tráví většinu své pracovní doby tím, že "pracují na počítači". Je ale potom vůbec nutné, aby chodili do práce? Vždyť kdyby tento počítač měli doma, a mohli na něm pracovat stejně, jako na svém pracovišti, nebylo by to pro ně (i pro jejich zaměstnavatele) výhodnější?

V principu je to samozřejmě možné - drobný technický problém je pak jen v tom, jak tomuto počítači zajistit stejně "kvalitní" přístup ke všem systémovým zdrojům, jaký by mohl mít, kdyby se nacházel na pracovišti. Ovšem tam, kde jsou k dispozici dostatečně rychlé přženosové cesty, které si uživatelé mohou zavést až domů, to není příliš velkým problémem.

Počítač, který mají pracovníci doma a plní na něm své běžné pracovní úkoly, vystupuje nejčastěji v roli terminálu vzdáleného hostitelského počítače, nebo v roli vzdáleného klienta (vůči serverům, umístěným na pracovišti).

Záleží-li na způsobu komunikace ....

Možnosti vzájemné komunikace dvou či více počítačů jsou do značné míry determinovány způsobem jejich propojení, a především pak celkovou propustností tohoto propojení, danou dosažitelnou přenosovou rychlostí. Podívejme se proto, jaké principiální možnosti se z tohoto pohledu nabízí.

Dva počítače PC, propojené sériovým kabelem

Do vzdálenosti cca 20 metrů můžeme propojit dva počítače PC přes jejich sériová rozhraní. K tomu musíme použít vhodný kabel, uzpůsobený právě tomuto druhu rozhraní (tzv. sériový kabel). Ten musí obsahovat minimálně tři vodiče (dva datové pro oba směry, a jeden společnmý zemnící). Přenosová rychlost, kterou tímto způsobem dosáhneme, je spíše než kabelem dána konstrukčními vlastnostmi obvodů, které v rámci počítačů PC implementují jejich sériová rozhraní: dosahuje maximálně 115 kbitů/sekundu.

Dva počítače PC, propojené paralelním kabelem

Pro vzájemné propojení dvou počítačů PC na krátkou vzdálenost (několika metrů) je možné použít i jejich paralelní rozhraní, která se propojí vhodně zapojeným kabelem (tzv. paralelním kabelem).

Standardní paralelní rozhraní počítačů PC je ovšem výstupním rozhraním, určeným pro připojování výstupních periferií (zejména tiskáren). Je tudíž vybaveno osmi datovými výstupy, přes které lze přenášet najednou celé byty změrem z počítače ven. Pro opačný směr ovšem nejsou použitelné. Zde je pak nutné využívat čtyři jednobitové- vstupy, které jsou při připojování výstupních zařízení používány pro přenos stavových signálů směrem do počítače.

Přes paralelní rozhraní počítačů PC tedy nelze přenášet najednou celé byty ("ven" sice ano, ale nikoli již "dovnitř"). Lze je ovšem přenášet oběma směry po menších částech (maximálně po čtveřicích bitů).

Jednosměrný charakter standardního paralelního rozhraní odstraňuje jeho novější verze (tzv. rozšířené paralelní rozhraní, extended parallel port, EPP), které se dnes hojně používá u notebooku, a prosazuje se i u běžných stolních počítačů). U tohoto rozhraní může být všech osm datových bitů využito nejen pro přenos dat ven z počítače, ale i pro jejich přenos opačným směrem.

Dva počítače, propojené prostřednictvím veřejné telefonní sítě

Pomocí zvláštních prostředků (tzv. linkových budičů) je sice možné poněkud zvýšit dosah sériových kabelů (až na vzdálenosti kilometrů). V praxi se pak ale naráží na technické problémy (spojené s pokládkou kabelů), a hlavně na monopol spojových organizací, který nedovoluje koncovým uživatelům budovat vlastní přenosové cesty na veřejných prostranstvích.

Proto se jako alternativa dvoubododového propojení na větší vzdálenosti nabízí využití veřejné telefonní sítě. Ta je ovšem uzpůsobena pro přenos hlasu (který je analogovým signálem), a nikoli pro přenos digitálních dat. Proto je nutné použití vhodných modemů, které se připojují z jedné strany na sériové rozhraní počítače, a z druhé strany na účastnickou přípojku veřejné telefonní sítě.

Přenosová rychlost, dosažitelná při takovémto uspořádání, je pak dána především druhem (resp. kvalitou) použitých modemů: běžné "přespultové" modemy pracují s přenosovými rychlostmi 2400 bps, kvalitnější a dražší rychlostí 9600 bps. Ještě kvalitnější a dražší pak rychlostí 14 400 a 19 200 bps. Na trhu se však již začínají pomalu objevovat i první modemy, které dosahují přenosových rychlostí mezi 20 a 30 kbps. Další vývoj však již nemůže přinést žádné další výrazné zvýšení přenosové rychlosti - vzhledem k umělému "zúžení" přenosového kanálu veřejné telefonní sítě (na frekvenční pásmo 300 - 3400 Hz) totiž není z principu možném překročit teoretickou hranici, ležící na cca 30 kbps - lze se k ní jen čím dál tím více blížit.

Naštěstí je zde ale ještě možnost komprese přenášených dat, která dokáže redukovat jejich objem až cca 4x. Ve spojení s maximální přenosovou rychlostí 30 kbps to pak dává možnost efektivního přenosu až přes 100 kbitů dat za sekundu.

Dva počítače, propojené prostřednictvím pevného telefonního okruhu

Nestačí-li přenosová rychlost, dosažitelná při spojení prostřednicctvím veřejné telefonní sítě, je možné požádat provozovatele telefonní sítě (u nás SPT Telecom) o zřízení tzv. pevného telefonního okruhu.

Ten se od tzv. komutovaného (též: přepojovaného, vytáčeného) okruhu veřejné telefonní sítě liší v tom, že na telefonních ústřednách, kterými prochází, je trvale "prodrátován" (tj. existuje trvale, a nemusí být vždy znovu sestavován jako okruh komutovaný). Kromě toho nemá výše citované umělé omezení přenosového pásma jako okruh komutovaný. Z těchto dvou důvodů je pak možné dosáhnout s vhodnými modemy na pevném telefonním okruhu výrazně vyšších přenosových rychlostí - například i 64 kbps, bez komprese.

Dva počítače, propojené prostřednictvím veřejné datové sítě

Další možností přenosu dat mezi dvěma počítači je využití veřejné datové sítě (u nás je jejím monopolním provozovatelem a.s. EuroTel).

Veřejnou datovou síť je nejlépe si představit jako obdobu veřejné telefonní sítě, tentokrát ale v digitální podobě a určenou pro přenos číslicových dat. Připojit počítač PC na veřejnou datovou síť lze v zásadě dvěma způsoby: první možností je nechat si zřídit pevnou (trvalou, dedikovanou) přípojku, která pak slouží výhradně pro potřeby přístupu do veřejné datové sítě. Na zřízení této přípojky uživatel obvykle musí obětovat jednu přímou telefonní linku (uživatelskou přípojku veřejné telefonní sítě, kterou spoje na ústředně jen vhodně přepojí). Výhodou je pak ale to, že prostřednictvím této pevné přípojky může uživatel přenášet data přes veřejnou datovou síť vyšší rychlostí (u nás až do 64 kbps). Druhou možností je přístup k veřejné datové síti prostřednictvím veřejné telefonní sítě. přes zařízení zvané PAD (Packet Assembler/Disassembler). Zde je pak dosažitelná přenosová rychlost determinována především tím, jak rychle dokáže uživatel komunikovat "skrz" veřejnou telefonní síť.

Přenosová rychlost je samozřejmě omezena i v rámci veřejné datové sítě. Zde obecně platí, že uživatel si při sjednávání přípojky volí rychlost, s jakou bude komunikovat (a podle toho pak také za služby veřejné datové sítě platí).

Dva počítače, zapojené do lokální počítačové sítě

Při výčtu všech možností vzájemného propojování počítačů samozřejmě nesmíme zapomenout na tu, která je dnes zřejmě nejrozšířenější - na zapojování počítačů PC jako uzlů do lokálních počítačových sítí.

Počítače IBM PC nejsou za tímto účelem nijak standardně vybavovány - jediné, co nabízí, je možnost dodatečně instalovat vhodný síťový adaptér (síťovou kartu), který teprve obsahuje vše potřebné pro připojení k síti příslušného typu.

Dosažitelná přenosová rychlost je dána druhem použité sítě: v případě sítí typu Ethernet je to 10 Mbps, u sítí Token Ring buď 4 nebo 16 Mbps (podle typu), a u sítí ARCnet 2,5 Mbps.

Záleží-li na používaném programu ....

Další z možných pohledů na problematiku komunikace na počítačích PC si všímá toho, jaký druh programu je na těchto počítačích provozován.

Na rozdíl od předchozích pohledů, které byly prakticky beze změny aplikovatelné i na jiné druhy počítačům, budou následující úvahy specificky zaměřeny jen na počítače PC, provozované pod operačním systémem MS DOS.

Diskové manažery se schopností přenosu souborů

V nepřeberné nabídce aplikačních programů pro počítače PC lze najít i takové, které jsou "šité na míru" potřebám přenosu celých souborů z jednoho počítače na druhý. Jsou specificky zaměřeny na situaci, kdy uživatel jednoho počítače potřebuje co možná nejjednodušším způsobem přenést soubory z jednoho počítače na druhý - může jít například o uživatele, který "v terénu" používá svůj notebook, a po návratu do kanceláře potřebuje přenést nově pořízené či alespoň nově aktualizované soubory na svůj stolní počítač. Programy, uzpůsobené právě takovýmto situacím, vyžadují propojení obou počítačů pomocí sériového kabelu (tj. přes sériová rozhraní), případně pomocí paralelního kabelu (propojujícím paralelní rozhraní).

Komunikační program pro přenos souborů, který si v tomto odstavci popisujeme, má v zásadě dvě relativně samostatné části: jednu z nich uživatel spustí na tom z obou počítačů, na kterém nebude bezprostředně pracovat (resp. u kterého nebude "sedět", a který tudíž bude pracovat v bezobslužném režimu). Na druhém počítači si pak spustí druhou část, se kterou již bude interaktivně pracovat. Ta mu bude zpřístupňovat soubory, nacházející se na obou počítačích, a bude mu umožňovat snadné kopírování jednotlivých souborů i celých adresářů oběma směry.

Výsledný efekt je vlastně takový, jako kdyby logické jednotky (drive) obou počítačů splynuly, a uživatel pouze kopíroval soubory v rámci jednoho počítače (i když si stále uvědomuje existenci dvou různých počítačů). Proto se také programy tohoto typu na uživatele většinou "tváří" jako diskové manažery, určené právě pro manipulaci se soubory.

Typickým představitelem programů tohoto typu je LAPLINK od firmy Travelling Software.

Obdobnými schopnostmi přenosu souborů mezi dvěma počítači jsou však dnes vybavovány také některé "skutečné" diskové manažery: příkladem může být verze 4.0 oblíbeného Norton Commanderu.

Komunikační programy pro sériové komunikace

Další širokou skupinou komunikačních programů pro počítače PC jsou programy pro tzv. sériové komunikace - tedy programy, zaměřené především na komunikaci přes veřejnou telefonní síť s využitím modemů (které se ale dají využít také při vzájemném propojení dvou počítačů na krátkou vzdálenost sériovým kabelem). Používají se zejména při připojování počítačů PC na stanice BBS, při připojování na hostitelské počítače v roli terminálů, i pro vzájemnou komunikaci dvou počítačů PC přes veřejnou telefonní síť.

To, co tyto programy obvykle nabízí, je vedle komfortní obsluhy modemů, navazování a rušení spojení zejména možnost on-line komunikace, emulace terminálu a přenos souborů. Některé programy tohoto typu jsou navíc vybaveny skriptovým jazykem, který umožňuje předem naprogramovat průběh relace (neboli akce, prováděné v rámci spojení). Podrobněji viz box: Co by měly umět programy pro sériové komunikace.

Představiteli tohoto typu programů jsou například: PROCOMM, Telix, ...(prosím doplnit podle navazujících článků).

Síťové programy

Mezi programy komunikačního charakteru je jistě třeba zařadit také všechny programy, určené pro práci počítačů PC v lokálních sítích.

Zde je ovšem třeba rozlišovat, zda se jedná o program systémového charakteru, který pouze zajišťuje přístup k síti, nebo o aplikační program, který tuto možnost využívá.

Systémové programy, spadající do první skupiny, si můžeme představit jako složky, které mají na starosti jednak vlastní přenos dat v rámci sítě, jednak zpřístupnění různých systémových zdrojů, které patří jiným uzlovým počítačům, ale které nabízí jejich využití formou sdílení (např. disky, tiskárny apod.). Přitom ovšem musí vhodně spolupracovat s operačním systémem, v rámci kterého pracují, a společně se starat o to, aby tyto sdílené zdroje byly vhodným způsobem zpřístupněny aplikačním programům, které s nimi budou pracovat.

V prostředí jednoúlohového a jednouživatelského operačního systému MS DOS, který možnostem zapojování do sítí nevychází příliš vstříc, musí výše naznačené systémové programy používat různá nepříliš přirozená řešení - nejčastěji se musí "usídlit" v paměti jako rezidentní programy, a modifikovat fungování operačního systému bez jeho vědomí.

Do kategorie těchto systémových programů spadají například všechny ovladače síťových karet (paketové drivery, NDIS drivery, ODI drivery), dále implementace přenosových protokolů (např. IPX/SPX v sítích Novell NetWare, TCP/IP v sítích Unixovského typu), a konečně různé "shell-y" (redirector-y apod.), které mají za úkol kompenzovat neschopnost MS DOSu pracovat se sítí (tím, že jej doslova "překryjí" a následně samy zachytávají a vyřizují veškeré požadavky aplikačních programů, které se týkají sítě, a které by MS DOS nebyl schopen vyřídit).

Aplikační programy, určené pro práci v síti, pak bývají specificky zaměřené na jeden konkrétní účel - například když se potřebujete se svou pracovní stanicí dostat do role terminálu nějakého hostitelského počítače, spustíte si aplikační program z kategorie emulátorů terminálů. Ten pak ke své činnosti využívá přenosových služeb sítě (zprostředkovaných příslušných systémovým programem, který již musí být nainstalován předem). Dalším příkladem může být aplikační program, umožňující přenos souborů mezi uzlovými počítači sítě apod.

Výhodou oddělení aplikační složky od systémové složky, zajišťující přenosové a další funkce, je vyšší stupeň modularity. Jestliže systémová složka musí být uzpůsobena konkrétní přenosové technologii i používaným přenosovým protokolů, aplikační složka na nich již může být nezávislá. V důsledku toho je pak principiálně možné používat například jeden a tentýž program pro emulaci terminálu v různých sítích, s různými přenosovými protokoly apod.

Právě naznačené řešení ovšem klade jisté nároky na uživatele počítačů - již jen v tom, že vyžaduje instalaci systémových programů, které zajišťují přístup do sítě. No a to může být někdy pořádný oříšek i pro zkušeného odborníka.

Proto se v poslední době objevují i takové síťové aplikace, které si všechny potřebné systémové komponenty "nesou v sobě". Tím se vlastně stávají obdobou komunikačních programů pro sériové komunikace (popisovaných v předchozím odstavci) - pouze s tím rozdílem, že místo sériových rozhraní využívají pro vlastní přenos síť.

Typickým příkladem zde může být program MS Kermit (pozor - neztotožňovat s protokolem Kermit pro přenos souborů). Tento program vznikl jako typický program pro sériové komunikace, ale jeho nejnovější verze jsou vybaveny i schopností využívat k přenosu i sítě na bázi přenosových protokolů TCP/IP (tj. samy si tyto protokoly implementují).

Dalším zajímavým momentem, který dokumentuje blízkou příbuznost sériových komunikací a komunikací v prostředí počítačových sítí, je existence tzv. bezeslotových sítí (anglicky: zero-slot networks). Takto jsou označovány "plnohodnotné" počítačové sítě typu peer-to-peer se dvěma uzly, které jsou navzájem propojeny sériovým kabelem (případně kabelem paralelním), a nevyžadují tudíž žádnou síťovou kartu - resp. neobsazují touto kartou žádný volný slot počítače PC (odsud také jejich pojmenování). Příkladem může být síť LANTASTIC ve verzi Z, síť WEB ve verzi PairWEB, či síť EASYnet.

Zajímavým hybridem je také program Interlink, dodávaný jako standardní součást MS DOS-u od verze 6.0. Ve své podstatě jde o bezeslotovou síť, která se ovšem od ostatních sítí tohoto typu liší tím, že počítač v roli serveru nutí do role dedikovaného serveru - neumožňuje tedy, aby na něm pracoval nějaký uživatel. Interlink je určen především ke kopírování souborů z jednoho počítače na druhý (např. z notebooku na stolní počítač), a z tohoto pohledu je tedy spíše obdobou diskových manažerů se schopností přenosu souborů.