Vyšlo v týdeníku CHIPweek číslo 45/98, 3. listopadu 1998
Vytištěno z adresy: http://www.earchiv.cz/a98/a845k180.php3

Druhy přenosu - II.

Simplex, duplex, halfduplex (simplex, duplex a poloduplex)
u nejrůznějších přenosů je vždy podstatné to, zda se přenos může odehrávat jen v jednom směru, nebo v obou směrech. V tomto druhém případě pak záleží i na tom, jestli přenos oběma směry může být současný, nebo jen tzv. "na střídačku", kdy v každém okamžiku může probíhat přenos vždy jen jedním směrem, ale kdykoli může dojít k obrácení tohoto směru. Takový přenos, který je pouze jednosměrný, je označován jako simplexní (simplex). Příkladem mohou být optická vlákna, která lze použít pro přenos jen v jednom směru (proto se v praxi používají ve dvojicích). Jiným příkladem mohou být sítě s kruhovou topologií, kde data cirkulují vždy jen v jednom směru, protože zde také jde jen o simplexní přenos. Naproti tomu tam, kde data mohou "cestovat" oběma směry současně, se jedná o přenos plně duplexní - například většina dnešních modemů funguje takto plně duplexně, a umožňuje přenášet data současně oběma směry. Nebylo tomu ale tak vždy, první modemy které lidé vyvinuli byly pouze poloduplexní, a vyžadovaly specifické mechanismy na řízení toho, kdo kdy "smí mluvit" a kdo musí počkat. Simplexní, poloduplexní či duplexní (též: plně duplexní) charakter komunikace však nemusí být nutně dán vlastnostmi fyzických přenosových médií či jiných prostředků (např. typu modemů). Může jít také o způsob využití takovýchto cest - například po přenosové cestě, která je plně duplexní, lze komunikovat pouze v poloduplexním režimu (naopak to samozřejmě nejde). Termíny "poloduplexní" a "duplexní" (resp. "plně duplexní") se často používají i v jiném kontexty, než jen v souvislosti s přenosem dat. Například u zvukových karet je poloduplexností míněna jejich neschopnost zaznamenávat zvuk i jej generovat současně (zatímco plně duplexní zvukové karty to dokáží oboje současně). Rozdíl pak může být velmi podstatný například při snahách o telefonování po Internetu.
Flow control (řízení toku)
při poloduplexním způsobu komunikace je nutné, aby existoval nějaký mechanismus koordinující vysílání jednotlivých stran a určující, kdy která z nich má právo vysílat a kdy musí naopak s eventuelním vysíláním počkat. U takovýchto mechanismů se říká, že slouží k "řízení toku" (flow of data). Někdy je pro takovéto mechanismy zabudována i nezbytná podpora do rozhraní mezi zařízeními, kterých se to týká - například rozhraní RS-232-C, určené pro připojování modemů k počítačům a terminálům, bylo vybaveno dvěma specifickými signály (RTS, Request to Send, a CTS, Clear to Send) pro potřeby řízení poloduplexnosti - pomocí signálu RTS se počítač či terminál zeptal modemu, zde právě může vysílat. Modem pak odpovídal prostřednictvím signálu CTS.
Handshaking
u plně duplexních přenosů není řízení toku ve výše popsaném smyslu zapotřebí, neboť zde mohou obě strany vysílat kdykoli chtějí. Přesto je ale zapotřebí jiná forma řízení toku - taková, která sleduje to, aby odesilatel nezahlcoval příjemce svými daty, například aby mu je neposílal rychleji než je příjemce schopen je skutečně přijímat či dále zpracovávat. Zde je například potřeba, aby příjemce mohl dočasně pozastavit vysílání, například proto že právě nemá dostatek volné paměti (tzv. bufferů) pro dočasné ukládání přijímaných dat. Jednou z forem řízení toku pro právě popsané účely je i tzv. handshaking (v doslovném překladu: podávání rukou) - jde vlastně o formu řízení toku používanou na úrovni přenosu jednotlivých znaků či bytů, která současně zajišťuje i potřebnou synchronizaci - odesilatel dává prostřednictvím handshakingu signál příjemci, že data určená k přenosu jsou připravena k převzetí (obrazně: podává mu svou ruku). Příjemce na to reaguje převzetím dat (bytu či znaku) a signalizací, že tak učinil, a že odesilatel může přikročit k vyslání dalších dat (obrazně: podává svou ruku, a oba si jimi potřesou na důkaz uskutečněného převzetí dat). V praxi se takovýto handshaking u sériových přenosů nejčastěji realizuje právě prostřednictvím zmíněných signálů RTS a CTS, které doslova "zbyly" v rozhraní RS-232-C po přechodu modemů z poloduplexního na plně duplexní způsob fungování. Existuje ale i možnost tzv. softwarového handshakingu, kdy se odesilatel a příjemce navzájem domlouvají prostřednictvím speciálních řídících znaků XON a XOFF (které mají své definované kódy v abecedě ASCII).
Baseband vs. broadband (přenos v základním pásmu vs. přenos v přeloženém pásmu)
další možný rozdíl mezi datovými přenosy může být v tom, jakým způsobem jsou přenášena digitální data prostřednictvím analogového signálu, který daná přenosová cesta fakticky přenáší. Pokud je použita nějaká forma modulace, tj. je přenášen analogový signál typicky s harmonickým průběhem, a podle přenášených dat se mění některá z jeho charakteristik, například fáze, amplituda či frekvence, pak jde o přenos v tzv. přeloženém pásmu (broadband transmission) přenos. Naproti tomu přenos v tzv. základním pásmu (baseband transmission) je takový, při kterém se fakticky přenášený analogový signál sám od sebe nemění (není to pravidelně se měnící harmonický signál), ale mění se až v závislosti na datech, která má přenášet. Příkladem může být přenos prostřednictvím stejnosměrného proudu, který jednou svou úrovní reprezentuje logickou 0 (například), a jinou svou úrovní logickou 1. Změna napětí pak odpovídá přechodu od jedné logické hodnoty ke druhé, a jde o typický příklad přenosu v základním pásmu. Naproti tomu typickým příkladem přenosu v přeloženém pásmu může být přenos harmonického signálu s frekvenční modulací - jednou úrovní své frekvence (což si lze představit i jako jeden konkrétní "tón" akustického signálu) reprezentuje jednu logickou hodnotu, a jinou hodnotou frekvence (jiným tónem) reprezentuje druhou logickou hodnotu. Principiální rozdíl mezi přenosem v základním a přeloženém pásmu je tedy v tom, že frekvence změn skutečně přenášeného signálu je v prvním případě rovna frekvenci změn přenášených dat, zatímco ve druhém případě (v případě přenosu v přeloženém pásmu) je frekvence změn přenášeného signálu (jeho kmitočet) výrazně vyšší. Zajímavým důsledkem rozdílů mezi přenosem v základním a přeloženém pásmu je i jejich typický dosah - u přenosů v základním pásmu bývá menší, a u přenosů v přeloženém pásmu naopak větší, často i dosti výrazně. Důvodem je fakt, že v tomto druhém případě je skrz příslušnou přenosovou cestu fakticky přenášen takový analogový signál, který tato přenosová cesta přenáší nejlépe, s nejmenšími ztrátami, nejmenším útlumem a zkreslením.
Circuit switching vs. packet switching (přepojování okruhů vs. přepojování paketů)
další možné dělení způsobů přenosu se týká toho, jak je řešen přechod přes různé "přestupní uzly" v případě, kdy mezi příjemcem a odesilatelem neexistuje přímé spojení. Jednou z možností je vytvořit i v takovémto případě analogii "souvislé vodivé" přenosové cesty - například tak, že se vodivě spojí jednotlivé dílčí přenosové cesty po trase mezi oběma komunikujícími stranami (obecně se provede takové propojení, že se výsledné spojení chová jako jediná přímá přenosová cesta "bez přestupů"). Tomuto principu odpovídá technika tzv. přepojování okruhů (circuit switching), oblíbená hlavně ve světě spojů a telekomunikací. Umožňuje to, aby data byla přenášena bez jakéhokoli vnitřního členění, jako souvislý proud bitů či bytů (protože přepojováním okruhů vzniká pomyslná roura, a to co se do ní z jedné strany vkládá, zase z druhé strany vystupuje). Alternativním řešením je členit přenášená data na vhodně velké bloky, které budou opatřeny potřebnými identifikačními údaji (zejména adresou odesilatele a příjemce). Pak není nutné v jednotlivých přestupních uzlech vytvářet "souvislé" přenosové cesty na principu přepojování okruhů, ale je možné individuálně přepojovat (předávat dál) jednotlivé datové bloky. Jelikož se těmto blokům nejčastěji říká pakety (packets), je příslušná technika označována jako přepojování paketů (packet switching).