Modemy


----------------------------------------------------------------------------
----

Modemy - zajímavý hardware
v1.4a, 14.12.1998
      O tomto dokumentu
      Úvod
      Historie modemů
      Jak modem pracuje?
      Baud versus bps
      Datové standardy
      Faxové standardy
      Komprese dat a korekce chyb
      V.90 a rychlost 56 000 bps
      Navázání spojení mezi modemy
      Řízení toku dat
      Metody řízení toku dat (flow control)
      Změna rychlosti během spojení
      Kompatibilita modemů
      Typy modemů
      Hlasové modemy (voice modems)
      Sériové rozhraní počítače
      Připojení více modemů k počítači
      Synchronní a asynchronní přenos
      Přenos dat pomocí modemů
      Programy pro spolupráci s modemem
      Spojení dvou počítačů pomocí modemů
      Připojení k Internetu pomocí modemu
      Slovníček
      ToDo




O tomto dokumentu
      Primární zdroj:  www.spsselib.hiedu.cz/~kerslage/manuals/modemy

      Autor:  milan.kerslager@spsselib.hiedu.cz


Teto dokument je možno bezplatně šířit, odkazovat se na něj, čerpat z něho i
jinak ho využívat za podmínky, že bude vždy uveden autor a odkaz na tento
originální dokument. V případě komerčního využití prosím o zaslání příslušné
informace. Uvítám jakékoliv informace či připomínky k tomuto textu.

Úvod
Modem nám umožňuje pomocí stávajících telefonních linek zprostředkovat
komunikaci mezi vzdálenými počítači. K tomuto spojení nepotřebujeme kromě
telefonu, počítače a modemu žádné další zařízení. Můžeme tedy realizovat
dálkové spojení bez samostatných kabelů či bezdrátových spojů všude tam, kam
vede telefon.

Modem při této komunikaci mění digitální signál vystupující z počítače,
který nelze vyslat přímo do telefonního přístroje, na signál analogový
(charakteristické škvrkání, pískání), který již je možné pomocí telefonu
přenášet stejným způsobem, jako hlas. Tento převod se nazývá modulace. Na
opačné straně druhý modem převede modulovaný signál zpět na digitální, který
může přijímající počítač zpracovat, čemuž se říká demodulace. Odtud pochází
zkratka MoDem, čili modulátor a demodulátor.

Historie modemů
První modemy sloužily k terminálovému spojení s velkými počítači IBM.
Dosahovaly závratných rychlostí 110 bps (bits per second, tedy bitů za
vteřinu - jeden byte je 8 bitů). Do druhé poloviny 60. let se rychlosti
držely na 300, maximálně 600 bps.
V roce 1981 představila firma Hayes Smartmodem řízený mikroprocesorem, který
byl ovládán dnes již všude používanou sadou AT příkazů. Modem se tak změnil
z jednoúčelového zařízení na univerzální přístroj, jehož nastavení se mohla
měnit přímo z počítače bez potřeby hardwarových zásahů. Vznikly stadardy
CCIT V.xx pro rychlý přenos dat, které umožnily komunikovat modemům od
různých výrobců mezi sebou bez omezení. Znamenalo to bouřlivý rozvoj modemů
a jejich masové rozšíření. Organizace CCIT byla později přejmenována na
ITU-T (International Telecommunications Union).

Dnešní modemy obsahují kromě mikroprocesoru i paměť, ve které je uložen
program řídící činnost modemu. Protože se již dále nemění způsob vysílání
dat do telefonní linky, je dnes obvykle možné naučit modem novým kouskům či
vyšší rychlosti pouhou aktualizací tohoto programového vybavení. Pro
ulehčení přechodu na novou verzi jsou některé modemy dokonce vybaveny pamětí
typu FLASH, obsahující program ovládající modem (tzv. firmware), kterou lze
snadno přeprogramovat přímo z připojeného počítače bez speciálního vybavení.
Tuto možnost oceníme zejména když firmware obsahuje nějakou nepříjemnou
chybu.

Jak modem pracuje?
Modem musí umět nejen přenášet data přes telefonní linku k druhému modemu,
ale musí také umožňovat uživateli měnit jeho nastavení. Době, ve které je
modem ovládán a nastavován se říká příkazový režim (včetně vytáčení
telefonního čísla). Po vytočení telefonního čísla modemy vysílají tóny,
které slouží k navázání spojení. Jakmile se modem spojí se svým protějškem,
přejde do tak zvaného přenosového režimu. Na začátku přenosového režimu se
nejprve modemy musí domluvit na parametrech spojení, jako je přenosová
rychlost, použitý modulační protokol, použitá korekce chyb a komprese dat.
Protože se modemy snaží o dohodu od nejnovějších ke starším protokolům, je
zajištěno, že se samy mezi sebou dohodnou na nejlepším možném způsobu
komunikace. Novějšímu typu se tak také podaří spojit se se starším typem
modemu.
Baud versus bps
Pojmy baud a bps v počátcích existence modemů splývaly, díky dnešní honbě za
vyššími rychlostmi však již označují rozdílné skutečnosti.
Baud je počet změn signálu za vteřinu vyslaného modemem. Například 1200
baudů znamená, že vyslaný signál se mění každých 833 mikrosekundy (1/1200).
Běžné hodnoty jsou 50, 75, 110, 300, 600, 1200 a 2400. Většina
vysokorychlostních modemů pracuje s rychlostí 2400 baudů, protože hlasová
telefonní linka má omezenou frekvenční šířku přenášeného pásma zvuků. Toto
pásmo je omezeno proto, že k tomu, aby byla řeč jednoho účastníka
telefonního rozhovoru přenesena nezkresleně k druhému, není potřeba přenášet
vysoké kmitočty. Lidské ucho sice slyší zvuky o kmitočtech mezi 16 a 20 000
Hz (Hertzů), nejlépe je však natrénováno na frekvence pohybující se mezi 500
a 4000 Hz s maximem citlivosti okolo 1000 Hz, tedy v oblasti lidské řeči.

Telefonní společnosti tohoto jevu využívají a různými triky takto mohou po
jedné dvojici drátů přenášet více hovorů současně. Rychlosti vyšší než 2400
baudů je z výše uvedeného důvodu prostřednictvím telefonní linky velice
těžké přenášet. Proto se zvyšování přenosové rychlosti dosahuje kódováním
více bitů do jednoho baudu a ne zvyšováním nosného kmitočtu. Baud je
pojmenován po vynálezci asynchroního telegrafu, který se jmenoval Emile
Baudot.

Bps je množství bitů přenesených za sekundu. Běžné hodnoty jsou 50, 75, 110,
300, 600, 1200, 2400, 9600, ... 115 200. Pří spojení rychlostí 28 800 má
většina lidí na mysli jednotku bps, i když mluví o baudech.

Datovou propustnost je dále možné zvyšovat kompresí přenášených dat nebo
odstraněním start- a stop-bitů, počet baudů se dnes však na rozdíl od bps
již nemění.

Datové standardy
Datové standardy definují parametry pro fyzickou realizaci spojení, jako
jsou pracovní frekvence a způsoby modulace dat. Tyto standardy nijak
nesouvisí s algoritmy pro korekci chyb a kompresi dat, jak si je dále
popíšeme. Dnešní modemy podporují tyto standardy:
  a.. Bell 103, Bell212A jen pro USA a Kanadu
  b.. ITU-T V.21, V.22, V.22bis, V.32, V.32bis, V.FC a V.34, nejnověji pak
V.90
V.FC definovalo rychlosti od 14 000 do 28 800 akceptované mnoha výrobci
modemů před zavedením protokolu V.34. Před přijetím standardu V.90 byly
rychlosti 56 000 kbps označovány jako V.pcm. Této nejnovější technologii je
věnována zvláštní kapitola.
Protokol, který je nakonec použitý při spojení, je závislý na typu modemu,
se kterým se spojujeme. Snahou všech výrobců modemů bývá podporovat co
nejvíce standardů, aby jejich modem nalezl široké uplatnění. Více se dočtete
v odstavci o kompatibiltě modemů. Modemy pro pevné linky nejsou svázány
maximálním počtem baudů jako klasické modemy, dosahují proto vyšších
rychlostí spolehlivějším způsobem, avšak absenci všeobecných standardů
nahrazují proprietálními protokoly a proto není vhodné kombinovat modemy pro
pevné linky od různých výrobců.


      Protokol  bps  Protokol  bps  Protokol  bps  Protokol  bps
      V.21  300  Bell 103  300  V.34  2400  V.90  28 800, 29 333, 30 667
      V.22  1200  Bell 212A  1200  4800  31 200, 32 000, 33 333
      V.22bis  2400  V.FC  14 400  7200  33 600, 34 000, 34 667
      V.32  4800  16 800  9600  36 000, 37 333, 38 000
      9600  19 200  12 000  38 667, 40 000, 41 333
      V.32bis  4800  21 600  14 400  42 000, 42 667, 44 000
      7200  24 000  16 800  45 333, 46 000, 46 667
      9600  26 400  19 200  48 000, 49 333, 50 000
      12 000  28 800  21 600  50 667, 52 000, 53 333
      14 400    24 000  54 000, 54 667, 56 000
        26 400
        28 800

Protokol V.34 definuje kromě povinného základu i volitelná rozšíření, která
nemusí být implementována. V důsledku to pak vede k rozdílům ve
spolehlivosti a rychlosti spojení v závislosti na šíři a kvalitě
implementace zmíněných standardů výrobcem modemu.

Nejzajímavější volitelnou částí protokolu V.34 je možnost rozdílných
(asymetrických) rychlostí pro příjem a vysílání (tzv. split/asymmetric
speeds). Telefonní útředny totiž dovolují, aby hovor byl přenášen v každém
směru různými cestami a to pak vede k rozdílné kvalitě linky pro vysílání a
příjem. Pokud oba modemy toto volitelné rozšíření podporují, můžeme
dosáhnout lepších výsledků při spojení (rozšíření je podporováno např.
modemy USR Robotics, Diamond/Supra, Motorola). Provider by tedy měl vždy
volit modemy solidních značek, které za vyšší cenu zaručí zákazníkům
maximální využití telefonní linky.

Faxové standardy
Faxové standardy mají definovány vlastní pravidla komunikace. Jsou to ITU-T
V.27ter (přenosová rychlost do 4800 bps), V.29 (do 9600 bps) a V.17 (do 14
400 bps). Většina klasických faxů dnes dokáže komunikovat rychlostí 9600
bps, novější pak podporují protokol V.17 s přenosovou rychlostí 14 400 bps.
Mezinárodně akceptované protokoly pro přenášení faxů dělí faxy na tři
skupiny: Group 1, 2, a 3. Většina faxů a faxmodemů dnes podporuje Group 3.

Ke komunikaci programu s modemem jsou k dispozici příkazy Class 1 a Class 2.
Class 1 přenáší většinu práce s kódováním a dekódováním faxového obrazu na
program, zatímco Class 2 přenáší většinu práce na modem a tak šetří výkon
počítače. Výběr příkazové sady závisí na typu použitého modemu a programu
použitému k jeho ovládání.

Příchozí faxové volání lze rozpoznat podle CNG tónu (1100Hz), který vysílá
volající fax. Podle něj faxmodemy rozlišují příchozí faxová volání od
datových tak, že po zvednutí sluchátka naslouchají (tzv. silent answer).

Komprese dat a korekce chyb
Komprese dat a korekce chyb umožňuje bezchybný průtok dat i při vyšších
rychlostech, než je skutečná přenosová rychlost linek. Standardy komprese
jsou MNP 5 a V.42bis. Pro korekci chyb jsou určeny standardy MNP 2-4, MNP 10
a V.42 (neboli LAPM). MNP 5 (MNP je zkratka podle firmy Microcom Network
Protocols, která jej zavedla) je kompresní algoritmus, který umožnuje data
zhustit až dvakrát (poměr 2:1), tedy při přenosové rychlosti 28 800 bps
dosáhne datové propustnosti až 57 600 bps v datových standardech V.FC a
V.34. Spojení podle MNP 5 využívá též opravných kódů dle MNP. Nevýhodou
tohoto protokolu je, že při kompresi již koprimovaných dat dochází paradoxně
k prodloužení dat. Přenos souborů komprimovaných například programy ZIP, ARJ
a podobně trvá pak déle, než bez komprese.
V.42bis je rozšíření opravného protokolu V.42 o BTLZ (British Telecom
Lempel-Ziv) datovou kompresi se zhuštěním až 4:1, tedy s datovou
propustností až 115 200 bps pro datové standardy V.FC a V.34. Tato komprese
se umí vypnout v případě, že přenášená data nelze již dále komprimovat, čímž
odstraňuje nedostatky zmíněné u MNP 5.

Korekci chyb není vhodné vypínat, protože oddělí z každého znaku start- a
stop-bity, čímž zvýší datovou propustnost. Vlastní korekce je prováděna
pomocí kontrolních součtů ve větších blocích dat.

V.90 a rychlost 56 000bps
Maximální obvyklá rychlost přenosu dat je u dnešních modemů díky kódování
více bitů do jednoho baudu běžně 28 800 (V.34) až 33 600 bps (V.34+). O
těchto rychlostech se krátce mluvilo jako o nepřekročitelné magické hranici
za kterou se již dále nedá jít. Pak se ovšem na scéně objevily modemy
dosahující rychlosti 56 000 bps hned od dvou výrobců: 3Com/U.S. Robotics
Corporation (x2 standard) a Rockwell International, Motorola a Lucent
Technologies (technologie K56flex). Jejich řešení nebyla kompatibilní a
komise ITU-T přijala standard nazvaný V.90 po několika odkladech až v únoru
1998 (dříve, než bylo určeno označení V.90, se pro 56K technologii používalo
označení V.pcm). To znamenalo jisté přešlapování na místě a nejistotu
uživatelů, kteří se báli promarněné investice. Dlužno dodat, že tak vysokou
rychlost dosáhneme jen ve směru k uživateli, zpět data tečou stále maximální
rychlostí 33 600 bps. To ovšem většíně uživatelů nevadí, protože právě tento
směr je pro ně důležitější, když si z Internetu stahují WWW stránky nebo
programy. Opačným směrem putují pouze požadavky a příkazy, které stránky či
soubory stáhnout a pro ty dosavadní rychlost stačí.
Podstatou tohoto řešení je spolupráce digitálních ústředen, které přenášejí
digitální data přímo od vysílající strany bez nutnosti jejich modulace až do
poslední ústředny před příjemcem, kde jsou teprve modulována a analogovým
způsobem přenesena do přijímajícího modemu. U tohoto způsoby přenosu je
nutné, aby byl vysílající (provider) připojen k ústředně digitálně a aby
byla rozšířena schopnost demodulátoru v ústředně, který původně sloužil jen
pro demodulaci přenášených zdigitalizovaných hovorů na analogový tvar při
přenosu k uživatelově koncové stanici (telefonu). To ovšem znamená technický
zásah zejména u starších ústředen a tak nelze očekávat, že tato vysoká
rychlost bude dostupná všude a hned.

Ne příliš nadšeně se na tyto investice dívají jak telekomunikační
společnosti, tak provideři. Prvním vadí, že stačí jen jedna nevyhovující
ústředna na cestě a sen o magické rychlosti se rozplyne. Také nutnost
investic, které nepřinášejí zisk přímo, je neveselá. Druhým zase vadí
zvýšené nároky na propustnost jejich linek a nutnost investic do nových
modemů. Nejásejme proto předčasně a odložme zatím pořizování nových modemů
na pozdější dobu. Dalším logickým krokem k vyšším rychlostem je přechod na
plně digitalizovaný telefon, který dnes známe pod názvem ISDN.

U těchto vysokých rychlostí se setkáme i s probémem, jak takové velké
množství dat dostat do počítače. Dnešní sériové porty, které najdeme v
počítačích dosahují maximální propustnosti 115 200 bps, což při maximální
teoreticky dosažitelné rychlosti s kompresí nestačí pro 56k modemy, které
potřebují datovou propustnost až 224 000 bps (při max. přenosové rychlosti
56 000 bps se čtyřnásobnou kompresí pomocí V.42bis). Sériové porty dosahují
zhruba poloviční rychlosti a tak modem brzdí. Když si uvědomíme, že při
brouzdání Internetem přenášíme textové stránky, u kterých čtyřnásobná
komprese není nereálná, získáváme pádný důvod k zakoupení interního modemu,
který omezení sériového portu obchází.

Navázání spojení mezi modemy
Modem se nejprve pokouší navázat spojení nejvyšší možnou rychlostí (např. 28
800 bps). Pokud není možné navázat spojení na této rychlosti, modem zkouší
nejbližší nižší rychlost (26 400 bps). Takto se rychlost snižuje až do
úspěšného spojení modemů, a tak se modemy automaticky spojují nejvyšší
možnou rychlostí za daných okolností.
Je-li povolena komprese dat a korekce chyb, pokusí se modem po navázání
spojení o dohodu se svým protějškem na těchto protokolech. Pro spojení se
pak vyberou nejvýkonnější protokoly, které podporují oba přístroje.
Maximální datová propustnost je ovšem ovlivněna mnoha dalšími faktory, jako
je stav telefonní linky, rychlost sériových portů, rychlost a zatížení
počítačů na obou stranách a podobně.

Řízení toku dat
Po navázání spojení oznámí modem počítači informaci o přenosové rychlosti.
Pokud modem nepodporuje korekci chyb nebo kompresi dat, je při tzv. "přímém
spojení" nutné sladit rychlost přenosu dat mezi modemy s rychlostí přenosu
dat z modemu do počítače. Opakem jsou modemy s "řízením toku dat" které
nepotřebují sladit rychlost datové propustnosti s rychlostí komunikace
modemu s počítačem. Počítač pak může vyzvedávat data z modemu vyšší
rychlostí (např. 38 400), než data přicházejí z druhého modemu (např. 9
600). Opačný poměr rychlostí není možný. Větší rychlost přenosu dat z modemu
do počítače je výhodná, pokud modem používá kompresi dat. Data přicházejí do
modemu z jeho protějšku konstatní rychlostí, ale po dekompresi v modemu
nabydou na objemu (až 4 krát u V.42bis). V tomto případě oceníme rychlejší
přenos dat z modemu do počítače. Pokud se v takovémto případě ovšem špatný
program pokouší sladit rychlost spojení s rychlostí odesílání dat do
počítače, dojde ke ztrátě či znehodnocení dat. V tomto případě modem
umožňuje tuto situaci vyřešit oznamováním "falešných" rychlostí rovných
maximální teoretické datové propustnosti.
Metody řízení toku dat (flow control)
Metody řízení toku dat umožňují přenášet mezi modem a počítačem informace o
možnosti přenosu dat nebo o nutnosti vyčkat, až bude protějšek data schopen
přijmout. Umožňuje tak řešit situaci při komprimaci dat, kdy data sice
přicházejí do modemu konstatní rychlostí, ale po dekomprimaci se dynamicky
mění jejich objem a tak i potřebná frekvence jejich odesílání do počítače.
Tok dat z modemu do počítače lze řídit dvěma způsoby. První je označován
jako softwarový (tzv. software handshaking) a je realizován pomocí posílání
speciálních řídících znaků Xon/Xoff. Druhý je označován jako hardwarový
(tzv. hardware handshaking) a je realizován dvěma řídícími signály RTS/CTS
rozhraní RS-232). Hardwarová metoda řízení toku dat je obecně více
používána, je rychlejší a spolehlivější. Softwarové řízení toku dat nelze
používat při přenosu binárních dat (mohou obsahovat speciální znaky Xon/Xoff
a narušit tak řízení toku dat mezi modemem a počítačem), hodí se tedy pouze
pro terminálovou emulaci a tak patří trochu historii.

Hardware handshaking (označováno také jako RTS/CTS) pracuje s dvěma signály
RTS a CTS. Když je jedna strana připravena odeslat data, nastaví signál RTS
(Request to Send - žádost o povolení k odeslání dat), na který protější
strana odpoví signálem CTS (Clear to Send - připraven přijmout data), až
když je schopna data přijmout. Takto se zařízení chrání před zasláním více
dat, než jsou schopna přijmout. Uvedený postup platí u obou směrů
komunikace.

Nejčastější chybou při nastavování řízení toku dat je situace, kdy nastavíme
jen jednu stranu a zapomeneme shodně nastavit i druhou stranu sériové linky
(tj. sériový port v počítači je nastaven jinak, než modem). Chyba se
projevuje buď úplnou neschopností komunikace s modemem nebo zákeřněji jako
nevysvětlitelná zpomalení či zatuhávání komunikace při pokusu o přenos
většího objemu dat vyšší rychlostí.

Změna rychlosti během spojení
Moderní modemy dovedou změnit během spojení v závislosti na stavu linky
rychlost přenosu dat a maximaliovat tak datovou propustnost spojení.
Vyjednávání o nové rychlosti se provádí buď pasivně (náš modem nebude
iniciovat změnu rychlosti v závislosti na stavu liky) nebo aktivně, kdy
modem při změně podmínek na lince automaticky iniciuje nové vyjednávání o
rychlosti.
Specifikace V.32 požaduje pro změnu rychlosti tzv. Retrain. Retrain trvá
zhruba 30 vteřin a obsahuje tyto kroky:

  1.. změna rychlosti na 4800 bps
  2.. analýza kvality linky a optimalizace spojení, je-li možná
  3.. vyměnit si informace o podporovaných rychlostech ("negoitate")
  4.. pokud to linka umožňuje, přepnout se na další rychlost podporovanou
oběma modemy
Specifikace V.32bis (14 400 bps) obsahuje dva kroky:
  1.. modem musí být schopný změnit rychlost (Rate Renegotation) dolu nebo
nahoru, když druhý modem iniciuje změnu rychlosti
  2.. volitelně může modem iniciovat změnu rychlosti. Protože je iniciace
změny rychlosti volitelná, některé V.32bis modemy neumějí iniciovat tuto
změnu
V.32bis tedy provede prakticky to samé (krok 4 u V.32), ale rychleji, než
během Retrainu. Bohužel to přináší problémy na velmi nekvalitních linkách,
kde rychlost 4800 bps je příliš vysoká.
Některé starší modemy umožňují pouze několik změn směrem nahoru během
jednoho spojení, pak spojení ztratí. Důvodem je chyba v ve firmware, který
řídí modem. Řešením je snížit množství podporovaných přenosových rychlostí
na svém modemu pomocí nastavení příslušných registrů. Pak se rychlost nebude
tak často měnit (budou větší skoky).

Kompatibilita modemů
Jak je zmíněno v kapitole o datových standardech, snahou většiny výrobců je,
aby jejich modem dokázal navázat spojení s většinou ostatních modemů. Z řady
vystupují výrobci modemů, kteří prosazují vlastní standardy. Modem je pak
kompatibilní spíše sám se sebou, než s jiným modemem. Vlastní protokoly mají
modemy US Robotics HST, CompuCom, Telebit a Hayes V Series. S těmito modemy
se téměř vždy dá navázat spojení přinejmenším na 2400 bps. Některé z nich
podporují tzv. "dual standard", čímž je míněno, že modem dokáže jak vlastní,
tak obecný standard V.32 nebo V.32bis. Pokud je však tato funkce nevhodně
nakonfigurována, může se Vám stát, že s obecným standardem V.32 a V.32bis
nepochodíte.
Dalším problémem mohou být potíže s firmware (programové vybavení modemu od
výrobce) modemu. Pokud je modem staršího data, vyplatí se zjistit si u
výrobce možnost upgrade firmware (například pomocí Internetu). Někteří
pionýři vysokých rychlostí uveřejnili opravy firmware, aby odstranili
problémy se vzájemnou kompatibilitou modemů. U nových modemů je obvyklé, že
firmware je uloženo v paměti, kterou je možno bez speciálních zařízení
přeprogramovat (EEPROM, FlashROM) přímo z počítače zvláštním programem.
Pokud hodláte provést upgrade firmware, dejte si pozor na místní podmínky v
telekomunikační síti. Firmware je často přizpůsobováno místním podmínkám a s
firmware pro USA nebudete třeba možné navázat spojení v ČR.

Pokud se spojujete s historickým modemem 2400 bps, je někdy nutné na
novějším modemu vypnout korekci chyb a datovou kompresi, která může činit
těmto muzejním exponátům problémy.

Zvláštní kapitolou kompatibility jsou různé typy modemů, které vznikají jako
levnější varianty nebo proprietální řešení různých výrobců, kteří si
mezinárodně uznávanými standardy hlavu příliš nelámou. Takové modemy
nepůjdou používat například v různých hrách, protože je nebudou umět
ovládat.

Typy modemů
Hayes kompatibilní modemy jsou nejrozšířenější skupinou modemů a pokládáme
je za standard. Jsou to modemy, které mají vlastní mikroprocesor, jsou
řízeny programem (firmware) a je možné je konfigurovat známými AT příkazy. I
když každý výrobce rozšiřuje základní sadu AT příkazů o vlastní vymoženosti,
je jednoduché tyto modemy používat, protože jsou obvykle nastaveny od
výrobce tak, aby vyhověly nejširšímu okruhu zájemců. A i když nejsou, je
snadné vyčíst z dokumentace posloupnost AT příkazů, která modem přizpůsobí
našim požadavkům (tzv. inicializační řetězec). Tyto modemy je snadné
používat i na různých platformách (Windows, DOS, Linux, OS/2, ...) a lze je
jen doporučit, protože nepotřebují speciální ovladače, způsob jejich
ovládaní je znám a nenarazíme na žádná výrobní tajemství či nepřekonatelné
licenční podmínky.
Softwarové modemy (také soft-modemy) jsou odlišné tím, že nemají vlastní
mikroprocesor a proto je musí ovládat procesor počítače (také tzv. "Host
Signal Processing"). Znamená to pro počítač velké zatížení (až 50% na P133).
Výhodou je nízká cena a to, že jsou velmi malé (někdy on-board třeba v
notebookách). Nevýhodou je nekompatibilita a potřeba speciálního programu k
ovládání modemu.

Windows modemy (WinModem) a RPI modemy (také známé jako WinRPI - Rockwell
Protocol Interface). Zástupci této kategorie jsou například USR Sportster
Winmodem a IBM Aptiva MWAVE. Používají procesor počítače k ovládání modemu,
ale ne k manipulaci s daty, takže zatížení procesoru je menší (kolem 7% na
P133). Jejich výhodou je nízká cena, WinModemy jsou (na rozdíl od RPI
modemů) dostupné pouze v interním provedení. Nevýhodou je proprietální
řešení, které vyžaduje pro ovládání speciální program, bez něhož jsou
nepoužitelné. Ovladače nejsou k dispozici například pro Linux a ani jiné
klony Unixu, protože komunikační protokol je chráněn licencí a neochota
výrobců spolupracovat s vývojáři je až zarážející.

Celluární modemy jsou modemy pro mobilní (celluární) telefony. Jejich
výhodou je, že jsou použitelné i v místech, do kterých nevede telefonní
linka a tak jsou využívány hlavně jako doplněk k notebookům, pokud jejich
majitel touží po doopravdy mobilní kanceláři. Vše ostatní lze pokládat za
nevýhody. Maximální přenosová rychlost je pouze 9 600 kbps a jsou dostupné
jen jako PCMCIA karta, která je propojena s vlastním mobilním telefonem
kabelem (telefon ovšem musí datové přenosy podporovat). To vylučuje jejich
použití ve stolním počítači, pokud si nepřikoupíte zvláštní šachtu pro
PCMCIA karty. Cenově vychází náklady na pořízení i provoz výše, než u modemů
pro klasické telefonní linky, zvláště při delší době připojení.

Hlasové modemy (voice modems)
Hlasové nebo jinak voice modemy jsou zcela bězné modemy, které známe. Oproti
běžným modemům mají převodník, který umí digitalizovat přicházející zvuk a
naopak měnit digitální záznam přicházející z počítače na zvuk (analogový
signál). Většina z těchto modemů umí navíc přicházející zvuky do jisté míry
analyzovat. Například rozpoznají ticho na lince, vyzváněcí a obsazovací
tóny. Hlavně však mohou rozpoznávat DTMF tóny (Dual Tone Modulation
Frequency), které vydávají tlačítkové telefony při vytáčení čísel.
Samozřejmostí bývá u těchto modemů vlastní reproduktor a zdířky pro
připojení sluchátek a mikrofonu. Formát zvukových dat se liší podle typu
modemu, proto je potřeba používat různé konvertory, abychom mohli používat
univerzální formáty, které jsou použitelné i jinde.
Nejjednodušší využití pro tyto modemy najdeme snadno - jako telefonní
záznamník, který může snadno nabýt netušených možností. Modem sám při
příchozím volání rozpozná, dovolal-li se člověk nebo má navázat datové či
faxové spojení. Rozpozná-li hlas, můžeme vhodně voleným programem umožnit
uložení záznamu nebo další činnosti, které může modem do telefonu nabízet
hlasově volajícímu. Volající může zpětně ovlivňovat chování programu pomocí
tlačítek na telefonu nebo dokonce i hlasově.

Sériové rozhraní počítače
Sériové rozhraní počítače slouží k připojování periferií k počítači. Vedle
myši, která je asi nejznámmějším sériovým zařízením, se i modem připojuje k
tomuto rozhraní. Existují sice i modemy, které lze připojit na paralelní
port, ale je jich nesrovnatelně méně, než těch klasických, sériových.
Připojujeme-li k sériovému rozhraní starší modem, nemusí to být tak
jednoduché, jako u nejnovějších modelů. Na rozdíl od posledních výkřiků
techniky, které se samy přizpůsobí rychlosti a tvaru zasílaných dat, jsou
starší modely náchylné na přesné nastavení sériového rozhraní.

Rychlost sériového rozhraní počítače byla dříve nízká, ale postačující pro
tehdejší modemy. S nástupem rychlejších modemů bylo nutno zvýšit i rychlost
sériového rozhraní. Za vysokorychlostní se považují všechny modemy s
rychlostí 14 400 bps a vyšší.

Starší sériová rozhraní s obvody 8250 a 16540 neposkytují možnost
vysokorychlostního přenosu. Jejich maximální rychlost je 38 400 bps, což je
pro teoretickou rychlost přenosu dat s V.42bis málo (28 800 bps krát 4 je
115 000 bps). Řešením je buď omezení maximální datové propustnosti modemu
(aby se zabránilo ztrátám dat mezi modemem a počítačem) nebo nákup nových
"rychlých" portů. Nové obvody UART 16550A umožňují komunikaci rychlostí až
115 000 bps, vyhoví tak většině současných modemů. Mají navíc přímo v sobě
integrovánu vyrovnávací paměť o velikosti 16 byte (8250 a 16540 mají pouze 1
byte), která omezí počet vyvolávaných přerušení pro obsloužení sériového
portu počítačem a sníží tak zátěž počítače na rozumnou hodnotu, což oceníme
zejména ve víceúlohových systémech (Unix, OS/2, Windows, ...). Nejnovější
porty sériového rozhraní obsahují obvod 16650, který má na sobě integrovénu
vyrovnávací paměť dokonce 32 byte. Čip UART 16550A je opravenou verzí čipu
16550, který obsahoval hardwarovou chybu a byl proto nahrazen novějším
typem.

Pro nejnovější 56k modemy je potřebná rychlost až 224 000 bps, což je příliš
i na dnešní sériové porty. Můžete si sice koupit přídavné porty, které do
počítače hlásí poloviční nebo čtvrtinovou rychlost, než kterou ve
skutečnosti komunikují se svým okolím (jednoduchá cesta, jak zajistit
zpětnou kompatibilitu). Takový nový port si s modemem ale musí rozumět, a
tak doporučuji spíše interní modemy, u kterých jsou problémy se sériovým
portem vyřešeny už přímo výrobcem. Interní modem má totiž integrované
vlastní sériové rozhraní, které navenek emuluje UART (v počítači přibyde
další sériový port).

Připojení více modemů k počítači
Teoreticky je možné připojit k počítači neomezené množství modemů, prakticky
je ovšem nutné vyhradit každému sériovému rozhraní s modemem jedno IRQ a I/O
port v počítači. U počítačů PC je počet IRQ omezen na 15, a proto brzy
narazíme na horní hranici možností našeho PC nedostatkem IRQ. Teoreticky lze
sice více klasických sériových portů obsluhovat jedním přerušením, bohužel
výrobci SW ani HW (včetně specifikace PC dle IBM) tuto možnost reálně
nepodporují. Řešením tohoto problému jsou speciální multiportové karty,
které obsadí jedno IRQ a je na nich integrováno více sérivých portů (8, 16,
32) včetně potřebných vyrovnávacích pamětí. Nejznámějšími asi jsou Cyclades,
Digiboard, SDL RISCom a Stallion multiport boards.
Synchronní a asynchronní přenos
U všech datových přenosů je důležité, aby vysílající i přijímající strana
pracovala stejnou rychlostí už na nejnižší úrovni (fyzická vrstva).
Činnosti, která tuto problematiku řeší, se říká synchronizace. Oba partneři
si při ní seřizují své vlastní "hodinky" (generátor pravidelně se měnícího
signálu, tzv. hodinového signálu). Čím vyšších rychlostí při přenosu
dosahujeme, tím je synchronizace důležitější a musí být přesnější, protože i
malé odchylky mohou způsobit zkomolení přenášené informace. K tomu slouží
několik různých způsobů.
Asynchronní přenos je nejjednodušší varianta, kdy vysílající označuje
začátek a konec každého jednotlivého intervalu. V tomto případě je dokonce
možné, aby každý interval trval různou dobu a přijímající strana nepotřebuje
vůbec zádný vnitřní generátor hodinového signálu. V praxi se toto řešení
nevyužívá, protože vyžaduje přenášet 3 stavy (tzv. tříhodnotová logika - dvě
úrovně vyjadřující bitovou hodnotu a třetí pro hranice intervalu).

Arytmický přenos je kompromisním řešením, kdy se spoléháme na to, že hodinky
přijímající strany vydrží jít dostatečně přesně alespoň nějakou dobu. Data
jsou pak vysílána ve skupinkách pevně dané velikosti (např. 8 bitů). Na
začátek každé takové skupinky je umístěna speciální posloupnost, která
umožní přijímající straně "seřídit si" jeho hodinky a pak samostatně určovat
časy vzorkování přicházející posloupnosti bitů. V praxi je tato metoda velmi
oblíbená a místo o skupinkách znaků se hovoří o znacích, které jsou při
přenosu ohraničeny na začátku tzv. start bity a na konci stop bitem. Tento
pojem pochází od znakových terminálů, které vysílaly opravdu za sebou
jednotlivá písmenka, přičemž jejich hustota závisela na zručnosti operátora,
který u terminálu seděl a nebylo proto možné předem říci, za jak dlouho
přijde další znak. Odtud pojem arytmický, neboli postrádající rytmus.
Arytmický přenos používá jak běžná sériová rozhraní PC, tak běžně používané
modemy.

POZOR! V běžné odborné praxi se však termín "arytmický" nepoužívá a místo
něho se tomuto způsobu říká "asynchronní".

Synchronní přenos nespoléhá na skutečnost, že příjemcův generátor hodinového
signálu vydrží jít určitou dobu dostatečně přesně, nýbrž jej průběžně
synchronizuje. Tato metoda je nutná zejména u vyšších rychlostí, kdy
přesnost hraje velmi důležitou roli a setkáme se tak s ní zejména u pevných
linek s rychlosmi vyššími než 64 000 bps. Generátory totiž není možné udržet
synchronizované na neomezeně dlouhou dobu. Trvalé synchronizace nejsnadněji
dosáhneme přenosem hodinového signálu, což však není vždy možné (je nutný
třetí vodič). Alternativním řešením je smíchat hodinový signál s daty a
přenášet je jedním společným přenosovým kanálem. To ovšem snižuje
propustnost linky. Třetí alternativou pak je umožnit příjemci, aby se
synchronizoval ze samotných přenášených dat. Jsou-li například data
reprezentována sestupnými a vzestupnými hranami signálu, není problém tyto
hrany využít i k synchronizaci. Problémem je jen zajištění pravidelnosti
těchto hran, kdy jsou nevhodné například samé nuly nebo jedničky. To se řeší
uměle vloženými bity, které zajistí synchronizaci a jsou pak na straně
příjemce zahozeny.

Přenos dat pomocí modemů
Dříve, kdy byl modem využíván pouze k terminálové emulaci při spojení se
vzdáleným počítačem, byly k přenášení dat (souborů) používány protokoly
Zmodem, Xmodem a podobně. Dnes modemy převážně slouží ke spojení s
Internetem, který ke komunikaci mezi jednotlivými počítači používá protokolu
TCP/IP. Pro přenos TCP/IP do počítače přes komutovanou linku s modemy
existují v podstatě dva protokoly: PPP a SLIP. Protokol SLIP je starší,
jednodušší, klient se obtížněji konfiguruje, ale jeho varianta CSLIP je
nejprůchodnější. PPP je naopak novější protokol, který poskytuje při
konfiguraci klienta nebývalý luxus včetně autentifikace, nicméně za cenu
větší režie. Dnes se nejspíše setkáte s PPP protokolem a s autentifikací
pomocí PAP nebo CHAP. Zvláštní variantu autentifikace CHAP (tzv. CHAP-80)
podporují Windows 95, nepodporují ovšem kompresi pro PPP protokol, se kterou
můžeme dosáhnout velice dobré výsledky. Neželme ovšem - provideři nám
kompresi jen tak neumožní, protože je velmi náročná na hardware jejich ne
právě laciných terminálových serverů.
Programy pro spolupráci s modemem
V dobách minulých, kdy terminálová emulace byla běžným jevem, každý
terminálový program ovládal modem sám. Patří sem například terminál z
Nortona, M602, Kermit, Telix a podobně. Dnes je patrná snaha (i u Windows)
přenést ovládání modemu na operační systém a vytvářet pak univerzální
programy, které komunikují s modemem přes standardní rozhraní operačního
systému. Ve Windows 3.x k tomu sloužil převážně program Trumpet, který uměl
obsluhovat modem (nebo síťovou kartu) a vytvářel pro programy stadardní
rozhraní služeb pro protokol TCP/IP (tzv. TCP/IP stack). S příchodem Windows
95 byla tato možnost začleněna přímo do systému. Pomocí tzv. telefonního
adaptéru můžete ve Windows 95 nakonfigurovat své prostředí stejným způsobem,
jako kdybyste vlastnili síťovou kartu a byli do Internetu připojeni přímo.
Pak stačí jen vytočit číslo vašeho providera, uskutečnit spojení pomocí
protokolu PPP či SLIP a po spuštění Netscape, telnetu či ftp můžete přímo
vyrazit do Internetu.
Spojení dvou počítačů pomocí modemů
V kapitole "Navázání spojení mezi modemy" jsme si objasnili, že modemy
naváží spojení mezi sebou samy. Pokud však chceme vytvořené spojení využít,
je potřeba mít na každém konci program, který bude předávat do sériové linky
data k odeslání a zároveň přicházející data zpracovávat.
Nejjednodušším příkladem, kdy můžeme modemy takto využít, jsou hry, které
modemy využívají k tomu, aby si mohli dva hráči, kteří každý sedí u jiného
počítače (třeba na druhém konci světa), spolu zahrát, tak jako by seděli u
počítače jediného. Oba si tedy spustí hru (například Doom) a nastaví ji tak,
aby se spojila modemem s protihráčem. Hry se pak mohou navzájem informovat o
akcích hráče a hráči se mohou "vidět" navzájem. Modemy tak nahrazují
prostředí počítačové sítě a mohou telefonem překročit i velké vzdálenosti.

Postup, který vede k úspěšnému spojení a následnému předávání dat mezi hrami
je naprosto stejný, jako když se pomocí modemu připojujeme k Internetu.
Rozdíl je jen v programech, které nakonec modem využívají (zde hra, při
připojení k Internetu jiná aplikace). Rozeberme si proto celý postup
podrobněji:

V následujícím popisu A označuje prvního hráče (strana providera) a B
druhého hráče (zákazník, který se chce pomocí providera připojit k
Internetu):

  1.. A zapne modem a spustí program, který čeká, až mu B zatelefonuje
(modem začne vyzvánět, jako když někdo zavolá z normálního telefonu)
  2.. B zapne modem a spustí program, který vytočí telefonní číslo A (opět
obdoba telefonování)
  3.. modem u A zachytí zvonění (příchozí volání B) a pošle po sériové lince
programu slovo RING
  4.. program u A který čekal na tuto zprávu pošle modemu příkaz ATA -
zvedni a navaž spojení (u analogie s telefonováním zvedneme telefon a
řekneme: "Haló, kdo tam?")
  5.. modem A zvedne linku a dle kapitoly "Navázání spojení mezi modemy" se
s modemem B domluví na parametrech spojení
  6.. po úspěšném navázání spojení oba modemy přejdou do přenosového
režimu - vše, co přijde, předávají počítači, vše co pošle počítač, předávají
protějšímu modemu
  7.. oba programy, které obsluhují modemy, si navzájem posílají potřebná
data
Pokud jeden z modemů zavěsí nebo je spojení přerušeno, modem ztratí nosnou
frekvenci (modem neustále na svůj protějšek píská, i když nepřenáší žádná
data) a oznámí to počítači shozením signálu DCD (řídící signál sériového
rozhraní). Program (hra) na to reaguje přechodem do příkazového režimu
modemu (pošle "+++") a příkazem ATH zavěsí linku (položí sluchátko).
Připojení k Internetu pomocí modemu
Předchozí kapilola popisuje kroky, které je nutné projít, pokud se chceme
spojit s jiným počítačm pomocí modemů. Když se připojujeme k Internetu,
usilujeme o totéž. Jen místo hry je na naší straně operační systém (Linux,
Windows) nebo program (Trumpet), který všem aplikacím poskytuje jednotné
rozhraní (komunikace pomocí protokolu Internetu TCP/IP). Na straně providera
je terminálový server se speciálním programem, který datagramy, které
přicházejí z Internetu k nám, předává našemu počítači přes modem
(komutovanou linku) a to, co přijde od nás, odesílá do Internetu. Jak je již
vysvětleno výše, datagramy k nám neputují jen tak, ale zabaleny do
přenosového protokolu PPP nebo SLIP.
Protože většina uživatelů nepotřebuje znát detaily navazování spojení a
další technické informace, je vše umě skryto a obvykle stačí zadat pouze
telefonní číslo providera. Protože jsou služby placené, je nezbytné provést
hned na začátku autentifikaci (ihned po navázání spojení), která je řešena
přístupovým jménem a heslem, jak je ve světě počítačů obvyklé.

Slovníček
  komutované spojení
  spojení mezi modemy, které je uskutečněno na omezenou dobu s využitím
veřejné telefonní sítě
  TS (terminálový server)
  počítač nebo specializované zařízení, které obsluhuje k sobě připojené
modemy
  provider
  organizace, která poskytuje svým zákazníkům možnost připojit se k
Internetu. Vlastní pevnou linku a TS (terminálový server), který obsluhuje
modemy, kreté čekají na příchozí volání modemu zákazníka. S ním pak naváží
spojení.
  DCE

  rychlost zařízení (modemu)
  DTE

  rychlost počítače
  DCD (Data Carrier Detect)
  modem přijímá signál od protějšího modemu
  DTR (Data Terminal Ready)
  modem je připraven přijmout data
  RTS (Request to Send)
  signál hardwarového řízení toku dat. Zařízení žádá svůj protějšek o
povolení k odeslání dat
  CTS (Clear to Send)
  signál hardwarového řízení toku dat, který je odpovědí na RTS. Zařízení je
připraveno přijmout data od svého protějšku.
  ITU-T (International Telecommunications Union)
  mezinárodní organizace, která vytvořila standardy pro komunikační
technologie, zejména pro modemy, čímž umožnila modemům od různých výrobců
mezi sebou navázat spojení. Sídlí ve Švýcarsku.
ToDo
  a.. AT příkazy, konfigurace modemu
  b.. homologace
  c.. jak vybrat modem, srovnáni interního a externího modemu
  d.. telefonování přes Internet
  e.. rozšířit část o faxování (grafický formát)
  f.. paralelní rozhraní (již zmínka)
  g.. modemy pro ISDN a pevné linky, synchronní porty


[o úroveň výše]


WEBovský počítadlo spočítalo, že si číslo počitadlo, které navštívilo od 17.října 1999 tyto stránky uložené na serveru Volny.cz
Tato stránka byla autorem naposledy editována 07.08.2007 13:27:24,
automatický update proveden 03.09.2007 22:23:44