Vyšlo v týdeníku Computerworld č. 40/91 v roce 1991
Vytištěno z adresy: http://www.earchiv.cz/a91/a140c110.php3

Základní formy přenosů

Základní funkcí každé počítačové sítě je přenos datových signálů od jednoho počítače ke druhému. V počítačových sítích se můžeme setkat s nejrůznějšími formami přenosu signálů, které mohou být navíc různým způsobem modulovány a kódovány. K přenosu se mohou používat přenosové kanály různých vlastností a charakteristik. Začněme tedy právě možnými formami přenosu signálů.

Paralelní a sériový přenos (parallel and serial transmission)

Při paralelním přenosu jsou data přenášena po více bitech najednou, typicky po celých bytech. K tomu je ovšem zapotřebí příslušný počet souběžných (paralelních) vodičů, což je únosné jen na krátké vzdálenosti (typicky 20 metrů). S paralelním přenosem se můžeme setkat nejčastěji při komunikaci mezi počítačem a tiskárnou vybavenou tzv. paralelním rozhraním (standardní případ); v oblasti počítačových sítí pak jen zcela výjimečně u některých experimentálních lokálních sítí.

Při sériovém přenosu jsou data přenášena postupně bit po bitu, nejnižším (přesněji nejméně významným) počínaje. V drtivé většině sítí je přenos dat sériový. Nejmenší položka dat přenášená sériově je označována jako znak (character) a má obvykle rozsah 7 nebo 8 bitů. Znak vyjádřený přímo ve formě posloupnosti dvojkových bitů, které se skutečně přenášejí, se pak označuje jako značka.

Sériový asynchronní přenos (serial asynchronous transmission)

Obrázek 2.1.
Obr. 2.1.: Asynchronní přenos znaku

Při asynchronním sériovém přenosu mohou být jednotlivé znaky (přesněji značky) přenášeny s libovolnými časovými odstupy mezi sebou. Příjemce pak ovšem nemůže předem vědět, kdy začíná další znak, a proto musí být schopen jeho příchod podle vhodného příznaku rozpoznat. Tímto příznakem je tzv. start-bit (též rozběhový prvek, viz obrázek 2.1), kterým začíná každý asynchronně přenášený znak. Příchod start-bitu je pro příjemce současně i možností správně si nastavit své měřítko času (přesněji svou časovou základnu). To je nutné proto, aby příjemce správně určil časové okamžiky, kdy má vyhodnocovat stav jednotlivých datových bitů, které po start-bitu následují.

Za vlastními datovými bity může následovat jeden tzv. paritní bit (viz dále) a konečně tzv. stop-bit (též závěrný prvek), jehož délka obvykle odpovídá délce jednoho nebo dvou datových bitů. Stop-bit v sobě nenese žádnou informaci; jeho smyslem je pouze zajistit určitý minimální odstup mezi jednotlivými znaky - vyslání následujícího znaku může začít nejdříve po odvysílání celého předchozího znaku, tedy včetně jeho stop-bitu.

Asynchronnímu způsobu přenosu se někdy také říká trochu nehezky start-stopní přenos.

Sériový synchronní přenos (serial synchronous transmission)

Obrázek 2.2.
Obr. 2.2.: Synchronní přenos znaků
Při synchronním přenosu jsou obvykle přenášeny celé bloky znaků. Datové bity jednotlivých znaků přitom následují těsně po sobě, bez jakýchkoli časových odstupů, a nejsou prokládány žádnými start- či stop-bity (mohou však být doplněny jedním paritním bitem). Začátek bloku je indikován jedním nebo několika speciálními synchronizačními znaky (tzv. znaky SYN), jejichž hlavním smyslem je zajistit potřebnou časovou synchronizaci odesilatele i příjemce - tzn. pomoci příjemci přesně stanovit časové okamžiky, ve kterých má vyhodnocovat jednotlivé datové bity. Blok znaků je pak opět zakončen synchronizačními znaky, které mohu (ale nemusí) být nepřetržitě vysílány až do začátku následujícího datového bloku.

Synchronní přenos je obecně rychlejší než asynchronní, neboť není zatížen režií připadající na start- a stop-bity. Jeho technická a programová realizace však bývá poněkud složitější než u přenosu asynchronního.

Parita (parity)

Při sériovém i paralelním přenosu dat může docházet k chybám, jejichž důsledkem je přijetí opačné hodnoty jednoho či několika bitů, než jaké byly původně vyslány. Nejjednodušším, ale současně také nejménně účinným způsobem zabezpečení znaku (kterým je umožněno následně rozpoznat výskyt chyby) je doplnění datových bitů jedním dalším bitem tak, aby celkový počet jedniček ve znaku byl (při odesílání) lichý (pak jde o tzv. lichou paritu - odd parity), nebo naopak sudý (pak jde o tzv. sudou paritu - even parity). Příjemce musí vědět, zda mu odesilatel posílá znaky se sudou, nebo lichou paritou.

Pokud počet jedničkových bitů nesouhlasí s očekávanou paritou, může si příjemce dovodit, že došlo k chybě při přenosu jednoho (nebo tří, pěti, obecně lichého počtu) bitů. Má-li přijatý znak očekávanou paritu, není to ještě stoprocentní zárukou jeho bezchybnosti - pomocí jediného paritního bitu nelze rozpoznat chyby v sudém počtu bitů. Zabezpečení pomocí jednoho paritního bitu je tedy vhodné používat jen tam, kde je pravděpodobnost výskytu chyb v jednotlivých bitech malá a pravděpodobnost výskytu chyb ve více bitech současně zanedbatelná.

V praxi se lze setkat také s tím, že se paritní bit nastavuje vždy na 0 (resp. vždy na 1) - v angličtině se tomu říká space parity (resp. mark parity). Smysl je např. ten, že odesilatel může vysílat sedmibitové znaky doplněné tímto konstantním paritním bitem, které příjemce přijme jako osmibitové znaky bez parity (čímž se ovšem ztrácí možnost detekovat přenosové chyby).