Báječný svět počítačových sítí, část V. - Základy datových komunikací
Počítačové sítě a komunikace nejsou jen o tom, co dělají jednotlivé vrstvy, a jak fungují ty které protokoly. Klíčem k jejich pochopení i správnému používání je pochopení základní principů přenosu dat. Například toho, čím je dána a na čem je závislá schopnost přenášet data, v čem se měří atd. Třeba co je šířka pásma, co modulace, jaký je vztah mezi modulační a přenosovou rychlostí, a co znamená nominální a efektivní přenosová rychlost.Lidé, kteří budují a provozují počítačové sítě, a stejně tak lidé kteří je používají, by měli mít alespoň základní povědomí o vztazích a souvislostech, které se týkají datových přenosů a v rozhodující míře je determinují (určují). Je to vhodné přinejmenším kvůli tomu, aby si lidé neidealizovali schopnosti dnešních datových sítí a neočekávali od nich nekonečně velikou (vysokou) schopnost přenášet data. Naopak, měli by tušit, na čem je schopnost přenášet data závislá a kde jsou její limity - i kam až se lze dostat zdokonalováním technologií, a kde leží hranice, přes které se v principu nelze dostat, ani se sebelepšími technologiemi.
Nuže tedy: vzhůru k poznání základních principů datových komunikací.
Nejen v životě, ale i v elektrotechnice a elektronice platí, že nic není ideální. Takže ani žádné vedení, které přenáší nějaký signál, se k němu nechová ideálně, tak že by jej během přenosu vůbec neovlivňovalo. Naopak: každý přenášený signál je vždy nějak zeslaben (tzv. utlumen), a také nějak zkreslen (tj. je změněn jeho průběh). Otázkou je pouze síla těchto dvou jevů a to, jak významně se na přenášeném signálu projevují. V praxi se pak uplatňují ještě další vlivy, jako např. rušení, přeslechy atd.
K lepšímu pochopení příčin útlumu a zkreslení nám může pomoci dnešní první obrázek. Ukazuje tzv. náhradní zapojení obyčejného "kusu drátu", na kterém lze snáze ukázat, jak se ve skutečnosti každé vedení chová. Každé dva obyčejné dráty, vedené v určité délce vedle sebe, se mj. chovají jako kondenzátor. Ten svým vybíjením a nabíjením mění průběh signálu, ale sám nezpůsobuje jeho zeslabení (útlum). K zeslabení (útlumu), které zase nemění průběh signálu (nezkresluje ho) však přesto dochází, a tak do náhradního zapojení patří také rezistor (odpor R), a to jak v sérii, tak i mezi oběma vodiči (svod). Stejně tak musíme do náhradního zapojení přidat ještě indukčnost (cívku L), která také mění průběh signálu, ale nezpůsobuje jeho útlum (zeslabení).
Výsledný efekt "reálných obvodových vlastností" pak ukazuje další obrázek, na kterém je znázorněna snaha přenést skrze vedení obdélníkový impuls. Ideální přenosová cesta (které v praxi neexistuje) by signál obdélníkového průběhu přenesla bez jakékoli změny. Vliv útlumu u reálné přenosové cesty se projevuje "zmenšením" obdélníků (na výšku), beze změny jejich tvaru (vliv odporu R).
Vliv kapacity C a indukčnosti L pak lze odvodit z toho, že tyto dva prvky svou podstatou působí proti změnám. Například kondenzátor se po určitou dobu nabíjí, nebo zase vybíjí. Na signálu obdélníkového průběhu se to projevuje zaoblováním ostrých hran. To má tendenci měnit signál obdélníkového průběhu (obecně: s "ostrými" zlomy) na signál který se mění jen pozvolna.
Přenášet signál obdélníkového průběhu, a jeho ostré hrany měnit podle toho, zda právě potřebujeme přenést jedničku nebo nulu, je samozřejmě možné. V praxi se to také tak dělá, a říká se tomu přenos v základním pásmu (anglicky: baseband). Není ale těžké nahlédnout, že to nelze dělat na příliš velkou vzdálenost. Zkreslení signálu s ostrými hranami je totiž tím větší, čím větší je délka vedení - a za určitou hranicí by už příjemce nedokázal správně rozpoznat, co se vlastně původně vysílalo.
Pokud potřebujeme dosáhnout na větší vzdálenost, snažíme se přenášet spíše takový druh signálu, který přenosovým vedením projde co možná nejlépe, přesněji s nejmenším zkreslením. No a nejmenší zkreslení bude mít takový signál, který se mění nikoli skokem, ale naopak co možná nejpozvolněji. V praxi jde o signál sinusového či kosinusového průběhu, kterému se obvykle říká harmonický. Jeho průběh naznačuje obrázek číslo 3.Harmonický signál však sám o sobě nenese žádnou užitečnou informaci. Ta na něj musí být nejprve "naložena", a to způsobem, který se označuje jako modulace. Při té dochází ke změně některého z parametrů přenášeného signálu - ať již jeho frekvence, amplitudy či fáze (podrobněji dále), a příjemce pak detekuje přenášené informace právě z těchto změn. Celkově se pak ale již hovoří o modulovaném přenosu, či o přenosu v přeloženém pásmu. V angličtině se někdy používá i termín "broadband", což ale poněkud koliduje s něčím jiným - s označením vysokorychlostního přenosu.
Než se pustíme do podrobnějšího popisu modulace, vraťme se ještě k jedné věci, která souvisí s reálnými vlastnostmi přenosových cest a se zkreslováním a útlumem signálu. Oba tyto negativní vlivy totiž nejsou snad nikdy absolutní, v tom smyslu že by působily stejně na signály jakéhokoli průběhu.
Závislost obou faktorů na průběhu obecného signálu je poněkud složitější, ale vcelku snadno si ji lze představit pro harmonické signály o určité frekvenci. Ty totiž buďto přenese (nezkreslí, neutlumí), nebo je nepřenese vůbec. Graficky si to můžeme znázornit na následujícím grafu, jehož charakteristický průběh bývá označován jako tzv. vanová křivka. To proto, že jeho "strany" jsou poněkud zaobleny, v důsledku toho že "míra pokažení" přenášeného signálu se nemění úplně skokem. V každém případě ale lze i na této křivce identifikovat určité "hraniční" frekvence (fmin a fmax), ve kterých se schopnost přenášet harmonický signál výrazně mění:
- pokud je frekvence harmonického signálu mezi oběma hodnotami (fmin a fmax), je harmonický signál přenesen v dostatečné kvalitě na to, aby mohl být využit pro potřeby přenosu dat
- pokud je ale frekvence přenášeného signálu mimo uvedený interval (plus minus jeho "zaoblené hrany"), neboli menší než fmin či naopak větší než fmax, pak už je přenášený signál příliš "pokažen" (zkreslen a utlumen) a nedá se využít.
Uvedený rozsah frekvencí, fmin až fmax, se v praxi označuje jako šířka pásma, anglicky: bandwidth. Jak záhy uvidíme, právě tato šířka přenosového pásma je základním faktorem, určujícím míru schopnosti přenášet data.
Vraťme se nyní od pozvolna se měnících signálů harmonického průběhu k signálům obdélníkového průběhu a zkusme si naznačit, jak šířka pásma ovlivňuje jejich přenos. Musíme si k tomu ale vypůjčit jeden z fundamentálních výsledků matematiky, který říká že obecný signál můžeme rozložit na součet (nekonečné řady) harmonických signálů, jejichž frekvence budou vždy celistvým násobkem určité základní frekvence (jednonásobkem, dvojnásobkem, trojnásobkem atd.). V odborném žargonu se hovoří o rozkladu na jednotlivé harmonické složky, či jen na jednotlivé "harmonické". Nám to ale pomůže v tom, že u těchto harmonických složek (signálů harmonického průběhu) již víme, jak budou přeneseny skrze vedení s určitou konkrétní šířkou přenosového pásma:
- některé "harmonické složky" budou přeneseny víceméně bez úhony. Konkrétně ty, jejichž frekvence leží mezi fmin až fmax
- ostatní "harmonické složky" naopak neprojdou vůbec. To se v praxi týká hlavně vyšších harmonických složek, s frekvencí vyšší než fmax.
Zpět ale k původnímu signálu: ten bude na straně příjemce zpětně složen z těch harmonických složek, které "prošly". Jelikož to určitě nebudou všechny složky (to by byly jen při nekonečně velké přenosové kapacitě), bude se přenesený signál poněkud lišit od signálu původně vyslaného. Jak, to naznačuje následující obrázek. Snaží se ukázat, jak "věrnost" přeneseného signálu závisí na šířce pásma.
Obecně můžeme konstatovat, že čím větší je šířka přenosového pásma, tím více harmonických složek se přenese, a tím více se jich dostane do součtu, který na straně příjemce rekonstruuje původní signál - a tím bude tento přijatý signál věrnější. Platí to samozřejmě i naopak: čím menší (užší) bude šířka pásma, tím méně věrný bude přijatý signál.
Nyní si již můžeme dopředu naznačit, že schopnost přenášet data, ve smyslu maximálně dosažitelné přenosové rychlosti (v bitech za sekundu, resp. v násobcích), bude lineárně závislá právě na dostupné šířce pásma. Intuitivní vysvětlení je takové, že čím bude přijatý signál věrnější (díky větší šířce přenosového pásma), tím na něj budeme moci naložit více dat (ať již modulací v přeloženém pásmu či v základním pásmu), a tím dosáhneme větší rychlosti přenosu dat.
Nepředbíhejme ale, protože se ještě musíme seznámit s několika dalšími skutečnostmí.
Vraťme se ještě k podstatě modulace. Tedy k tomu, jak na harmonický signál "naložit" (tzv. namodulovat) nějaká užitečná data, a na straně příjemce je zase správně "sejmout". Zajištění takovéhoto modulovaného přenosu dat je úkolem zařízení označovaného jako modem (což vzniklo zkrácením z anglického "modulator - demodulator").
Modem z jedné strany přijímá data nemodulovaná, přenášená v základním pásmu, a z druhé strany je vysílá v modulované podobě, "naložené" na vhodný harmonický signál. Jeho protějšek (modem na druhé straně přenosového vedení) zajišťuje opačný převod (tzv. demodulaci) přijímaných dat.
Modemů existuje v praxi celá řada, v nejrůznějším provedení. Existují například telefonní modemy, určené pro přenos dat po běžné telefonní lince. Jiný příkladem mohou být DSL modemy, určené pro vysokorychlostní přenosy nad místními smyčkami. Nebo kabelové modemy, zajišťující přenosy dat v sítích kabelové televize atd.
Modemy se liší i v tom, jaký druh modulace používají. V úvahu přitom připadají tři základní varianty modulace, a celá řada jejich kombinací.
Základní varianty modulace jsou tři a vychází z toho, že harmonický signál má tři parametry, které lze měnit a tím i využit k "naložení" dat:
- amplitudu, neboli tzv. rozkmit - pak jde o amplitudovou modulaci
- frekvenci (kmitočet, resp. úhlovou rychlost) - pak jde o tzv. frekvenční modulaci
- fázi (fázový posun) - pak jde o tzv. fázovou modulaci
V praxi je asi nejlépe využitelná fázová modulace, díky tomu že změny fáze se nejlépe detekují. Hlavním problémem demodulace je totiž správné rozpoznání (vzájemné odlišení) jednotlivých stavů, mezi kterými se přenášený signál může měnit.
Pro názornost si to můžeme ukázat na příkladu jedné z kombinovaných modulací, tzv. kvadraturní amplitudové modulace (QAM, Quadrature Amplitude Modulation). Ta využívá tří různých úrovní amplitudy, které kombinuje se dvanácti různými úrovněmi fázového posunu. Výsledkem je celkem 36 možných kombinací, které znázorňuje následující obrázek.
Z těchto 36 stavů se ale využívá jen 16. Konkrétně těch, které jsou "nejdále od sebe" (i ve smyslu obrázku), tak aby šly co nejspolehlivěji odlišit od sebe.
Na příkladu kvadraturní amplitudové modulace si můžeme názorně vysvětlit rozdíl mezi dvěma důležitými veličinami: modulační rychlostí a rychlostí přenosovou.
Modulační rychlost vypovídá o tom, jak rychle se mění modulovaný signál, neboli jak rychle (resp. často) přechází z jednoho stavu do druhého stavu. Vyjadřuje se jako četnost takovýchto přechodů za jednotku času (sekundu), a měří se v jednotkách zvaných Baud (zkratkou Bd). Takže pokud se bude signál měnit například 1000x za sekundu, bude jeho modulační rychlost 1000 Baudů.
Modulační rychlosti se někdy říká také "symbolová rychlost". To když s místo o "stavu" přenášeného signálu hovoří o "symbolu".
Podstatné ale je, že modulační rychlost nevypovídá nic o tom, kolik "užitečných dat" se přenese za jednotku času. Vypovídá o tom, kolikrát se za jednotku času přenášený signál změní, ale už neříká nic o tom, kolik bitů jedna taková změna reprezentuje. To záleží až na tom, kolik je různých stavů, mezi kterými přenášený signál přechází, resp. kolik je různých symbolů, které mohou být přenášeny. Jsou-li tyto stavy (různé symboly) dva, pak mohou reprezentovat (nést) jeden bit informace (neboli: dvě různé hodnoty jednoho bitu). Pokud jsou stavy (symboly) čtyři, mohou reprezentovat dva bity (neboli: čtyři různé kombinace hodnot dvou bitů). Je-li stavů (symbolů) osm, mohou reprezentovat tři bity atd.
Jistě snadno nahlédnete, jaká zde platí obecná závislost mezi počtem stavů a reprezentovaných bitů:
pro n bitů je zapotřebí 2n různých stavů, resp. symbolů,
nebo obráceně:
n různých stavů (symbolů) stačí pro log2(n) bitů
Pokud tedy vezmeme modulační rychlost, vyjadřující počet změn přenášeného signálu za jednotku času, a vynásobíme ji log2(n), kde n je počet různých stavů (symbolů), pak tím získáme počet datových bitů, které jsou takto přenášeny. To už ale jsme u přenosové rychlosti, která se měří v bitech za sekundu a násobcích.
Jinými slovy, mezi modulační a přenosovou rychlostí platí jednoduchý vztah:
v přenosová = v modulační * log2(n)
V případě kvadraturní amplitudové modulace, která pracuje se 16 rozlišovanými stavy (n=16) je tedy přenosová rychlost (číselně) čtyřikrát vyšší než rychlost modulační. Jedna změna stavu přitom reprezentuje 4 datové bity.
Abychom ale nezůstávali jen u učebnicových příkladů, ukažme si něco z reálného života. Například následující tabulka ukazuje, jakých přenosových rychlostí dosahují dnešní telefonní modemy, s jakou modulační rychlostí přitom pracují, kolik stavů rozlišují atd.
přenosová rychlost [bitů/s] | modulační rychlost [Bd] | počet rozlišovaných stavů | bitů/ změnu | standard |
---|---|---|---|---|
2400 | 600 | 16 | 4 | V.22bis |
9600 | 2400 | 16 | 4 | V.32 |
14400 | 2400 | 64 | 6 | V.32bis |
28800, 33600 | 2400-3200 | 512 | 9 | V.34 |
56000 | 8000 | 128 | 7 | V.90,V.92 |
A ještě jeden příklad z praxe, který se týká takových věcí, jako je ADSL či PLC (Powerline Communications), či různých bezdrátových technologií. Mají společné to, že využívají širší přenosové pásmo (tj. větší šířku pásma), ve kterém se ale mohou vyskytovat další rušící vlivy (vnější rušení, přeslechy atd.). Proto tyto technologie rozdělují celé širší pásmo na větší počet užších částí, a každou z nich využívají samostatně, a navíc inteligentně: v každém dílčím pásmu volí takovou modulační rychlost a takový počet stavů, aby optimálně "vytěžili" dostupné přenosové pásmo, a přitom se vyvarovali výraznějšímu působení negativních vlivů (rušení atd.).
Takže tam, kde jsou podmínky pro přenos výhodnějším zvyšují modulační rychlost i počet stavů přenášeného signálu (a tím i dosahovanou přenosovou rychlost). Naopak tam, kde podmínky jsou horší, modulační rychlost i počet stavů snižují.
V našem povídání o vzájemných vztazích mezi šířkou pásma, modulační rychlostí a dalšími veličinami nám stále chybí některé významné souvislosti. Například to, jak konkrétně souvisí modulační rychlost s šířkou přenosového pásma. V intuitivní rovině jsme si ukázali, že čím bude šířka přenosového pásma větší, tím kvalitněji bude signál přenesen - a tím častěji jej asi budeme moci měnit, tj. zvyšovat modulační rychlost.
Jak ale najít přesnou závislost mezi šířkou pásma a modulační rychlostí? To se podařilo až Američanovi norského původu Harry Nyquistovi, v roce 1928. Zjistil, že v optimálním případě by modulační rychlost měla být číselně dvojnásobná oproti šířce pásma. Jinými slovy:
v modulační = 2 * šířka pásma
Vztah mezi šířkou pásma a modulační rychlostí, vyplývající z Nyquistova teorému, můžeme dosadit i do jednoduché formulky pro přenosovou rychlost. Místo :
v přenosová = v modulační * log2(n)
pak dostaneme:
v přenosová = 2 * šířka pásma * log2(n)
Ovšem šířka pásma je většinou dána použitou přenosovou cestou (přenosovým kanálem), a bývá také adekvátně zpoplatněna - čím větší šířku pásma si někdo nechá vyhradit, tím více za ni také zaplatí. Chceme-li pak zvyšovat přenosovou rychlost, lze to jistě dělat "extenzivně", zvyšováním použité přenosové kapacity. To ale může být drahé.
Nabízí se proto zajímavá otázka: ponecháme-li šířku přenosového pásma beze změny (abychom nezvyšovali náklady), je možné libovolně zvyšovat počet stavů přenášeného signálu (hodnotu n)? Pokud by to bylo možné, znamenalo by to, že pouhým zdokonalováním technologie přenosu by se dala libovolně zvyšovat i přenosová rychlost (byť by rostla nikoli lineárně, ale logaritmicky).
Definitivní odpověď na tuto základní otázku našel až zakladatel moderní teorie informace, pan Claudie Shannon. Zjistil, že ani sebedokonalejší technologie přenosu se nikdy nedostanou přes určitou hranici, která je dána právě a pouze:
- šířkou přenosového pásma
- "kvalitou" přenosové cesty, vyjádřenou skrze odstup signálu od šumu
Konkrétní závislost maximální přenosové rychlosti na šířce pásma a kvalitě linky (odstupu signálu od šumu) vyjadřuje následující vzoreček,
max(vpřenosová) = šířka pásma * log2(1 + signál/šum)
Povšimněte si, že v tomto vzorečku skutečně není žádným způsobem zakomponována dokonalost technologie, nebo alespoň nějaký parametr, který by se dal dokonalostí technologií měnit. To koresponduje s avizovaným závěrem, že jde o principiální limit, zcela nezávislý na dokonalosti technologií které budeme používat.
Teoretické závěry pan Shannona si můžeme přiblížit na konkrétním příkladu běžné (tzv. analogové) telefonní linky. Ta má totiž uměle omezenou šířku pásma (pro hlasové hovory) na 3100 Hz, konkrétně od 300 do 3400 Hz. Kvalitní linka přitom nabízí odstup signálu od šumu cca 1000:1. Pokud si tyto hodnoty dosadíme do vzorečku ze Shannonova teorému, vyjde nám jako maximálně dosažitelná přenosová rychlost něco málo přes 30 kbit/s .
V praxi přitom existují a běžně se používají modemy pro takovéto analogové linky, které dosahují přenosové rychlosti až 33,6 kbit/s. Je to již ve sporu se Shannonovým teorémem?
Samozřejmě nikoli. Tyto modemy, vycházející ze standardu V.34, totiž využívají nedokonalostí tzv. vanové křivky, kterou jsme si již jednou kreslili - a využívají i část postranních pásem, kde pokažení signálu ještě není zcela fatální. Vše je ale již "na doraz", takže žádné další zrychlování modemů pro analogové telefonní linky není možné.
Jak je ale potom možné, že dnes existují i telefonní modemy, které slibují přenosovou rychlost až 56 kbit/s? Jsou už tyto modemy ve sporu s Shannonovým teorémem?
Opět samozřejmě nikoli. Modemy pro rychlost 56 kbit/s, vycházející ze standardů V.90 či V.92, dokáží fungovat uvedenou rychlostí jen "oproti" digitální telefonní ústředně. Na příslušné místní smyčce (spojující účastníka s ústřednou) pak již neplatí původní frekvenční omezení (300 až 3400 Hz). K dispozici je zde větší šířka pásma, a dosažitelná přenosová rychlost je shora omezena jinými faktory.
Podmínkou k tomu, aby tyto modemy dosahovaly rychlostí vyšších než 33,6 kbit/s (do 56 kbit/s), je to aby v celém řetězci od koncového účastníka až k serveru, ke kterému se připojuje, chyběl jeden A/D převodník. I pak ale lze dosahovat vyšších rychlostí než 33,6 kbit/s jen v jednom směru (ke koncovému uživateli), zatímco v opačném směru je stále maximem buď 33,6 kbit/s (u modemů dle standardu V.90), nebo 48 kbit/s (u modemů V.92).
V souvislosti s přenosovou rychlostí bychom si měli objasnit ještě jeden aspekt, a to rozdíl mezi nominální a efektivní přenosovou rychlostí.
Až dosud jsme se bavili spíše o nominální přenosové rychlosti, kterou je nejlépe si představit jako veličinu, určující jak dlouho trvá přenos jednoho bitu. Například: jde-li o rychlost 1000 bit/s, pak přenos jednoho bitu trvá tisícinu sekundy. V praxi se ale nemusí neustále přenášet jeden bit za druhým. Data se obvykle přenáší po blocích, mezi kterými mohou být různé odstupy, prodlevy atd. Stejně tak je třeba počítat s tím, že zdaleka ne všechny přenášené bity jsou "užitečné". Mnohé z nich jsou různě režijní, a jsou sice nutné pro fungování přenosů - jde například o celé hlavičky přenášených bloků (rámců, paketů, buněk atd.) - ale na druhé straně se nemohou započítávat mezi "užitečná" data (ve smyslu: nikoli režijní).
Pokud bychom se zabývali tím, kolik "užitečných" dat se přenese, pak už se bavíme o efektivní přenosové rychlosti (někdy označované také jako přenosový výkon). Měří se ve stejných jednotkách jako nominální přenosová rychlost, v bitech za sekundu a násobcích.
Na první pohled by efektivní přenosová rychlost měla být vždy nižší než rychlost nominální. To proto, že vzniká "odpočítáním" různých prodlev a režijních dat. V praxi tomu také tak často je, a efektivní přenosová rychlost se pohybuje výrazně pod rychlosti nominální, uváděné různými poskytovateli přenosových služeb. Mnohdy je tato efektivní přenosová rychlost významně závislá také na intenzitě provozu, resp. na souběhu aktivit více uživatelů, a její pokles pak svědčí o nedostatečném dimenzování poskytovaných přenosových služeb. Příkladem mohou být tuzemské služby ADSL, jejichž efektivní přenosovou rychlost ukazuje následující tabulka (s měřeními serveru dsl.cz).
Na druhou stranu existují i takové faktory, které efektivní rychlost naopak zvyšují (oproti rychlosti nominální). Jde zejména o kompresi přenášených dat, jejíž účinnost bývá závislá na povaze dat (na míře jejich "komprimovatelnosti").
V praxi, když se vzájemně zkombinují opačně působící efekty - tedy režie, snižující efektivní přenosovou rychlost, a komprese, zvyšující tuto rychlost - to může dopadnout tak i tak. Výsledná efektivní přenosová rychlost může být menší než rychlost nominální, ale také třeba větší.