Sériová data lze přenášet buď pomocí asynchronního protokolu nebo pomocí některého z rodiny synchronních protokolů.
Při asynchronním přenosu jsou data uložená v počítači převáděna do sériového tvaru a vysílána na linku. Vysílací a přijímací strana musí být domluveny na rychlosti přenosu dat a v poměrně úzkém okruhu ji také dodržet. Rozpoznání (synchronizace) znaku je zabezpečena úvodním start-bitem a ukončujícím stop-bitem (bity). Znak začíná start-bitem, následuje 5-8 datových bitů, případný paritní bit a jeden nebo dva stop-bity. Nejmenší přenášenou informací je jeden znak. Pokud je mezi znaky delší mezera, je vyplněna stop-bitem. Zvláštním stavem na lince je trvalý start-bit, který je vyhodnocen jako BREAK signál a slouží k signalizaci výjimečné události.
Nejčastěji používaný formát je start-bit, 8 datových bitů a stop-bit. Při nastavení softwaru pro přenos dat je třeba vzít v úvahu, že mnohé modemy používají pouze tento formát a v jiném nejsou schopny data přenášet. Tato skutečnost může být zdrojem velmi těžko identifikovatelných chyb. (Autoři článku si vzpomínají na velmi záhadné chování modemů, přes které chtěl uživatel přenášet data ve formátu 8bitů a paritní bit).
Asynchronní přenos je velmi rozšířen díky své jednoduchosti a možnosti použít minimální počet vodičů. Navíc nejrozšířenější počítače třídy IBM PC ani jiný typ přenosu neumožňují (samozřejmě pokud je nedovybavíme specializovanými kartami).
Pro přenos bloků dat vyššími rychlostmi je používána rodina synchronních protokolů. Při použití těchto protokolů je nutné přenášet mimo signály pro přenos dat i signály zabezpečující synchronizaci - hodiny. Výhodou těchto protokolů je vyšší odolnost proti rušení a při stejné rychlosti přenos vyššího množství informace. V synchronním protokolu se na rozdíl od asynchronního synchronizuje celý paket (blok dat), takže každý znak je kratší o start- a stop-bit. Při použití asynchronního protokolu musíme na jeden 8bitový znak bez parity přenést 10 bitů (start-bit, 8 datových bitů, stop-bit), při použití synchronního pouze 8 datových bitů. Nevýhodou synchronního protokolu je potřeba použít většího počtu vodičů a zejména se tento protokol nehodí, díky orientaci na blokový přenos, na terminálový způsob práce, kdy se většinou jednostranně přenášejí velmi krátké povely a druhá strana je buď opakuje na obrazovku (při editování, ...), nebo vypisuje krátké zprávy.
Nejmenší informační jednotkou je jeden znak. Celý blok dat začíná synchronizační značkou (nebo dvěma), následuje případná hlavička, která může obsahovat délku bloku a některé další informace, poté vlastní data a blok bývá ukončen kontrolním součtem a koncovou značkou. Příkladem tohoto protokolu je BSC, který firma IBM používá k přenosu dat mezi sálovými počítači, případně mezi počítači a terminály. Značnou nevýhodou tohoto protokolu je nutnost existence synchronizačních a řídících znaků, které se nesmějí vyskytnout v přenášených datech. Pokud bychom pomocí tohoto protokolu chtěli přenášet binární informaci, je nutné tyto znaky překódovat.
Nejmenší přenášenou informační jednotkou je jeden bit. Nejpoužívanějším protokolem tohoto typu je protokol HDLC, který může mít různé varianty podle obsahu hlavičky bloku. Zajímavou vlastností tohoto protokolu je definice, že v datové části bloku se smí vyskytnout maximálně pět jedničkových bitů vedle sebe. Je-li jich více, je automaticky vkládána po každých pěti bitech nula, kterou přijímací strana odstraňuje. Šest logických jedniček je vyhrazeno pro synchronizační (křídelní) značky. Sedm jedniček vedle sebe znamená abort a signalizuje chybu při přenosu dat. Při přijetí tohoto znaku přijímací strana končí příjem paketu a přijatá data se považují za neplatná.
Blok dat začíná křídelní značkou, následuje hlavička bloku s řídícími informacemi, které se liší podle varianty protokolu. Hlavička nejčastěji obsahuje informace o čísle stanice, které je paket určen, délku bloku a typ informace. Další částí paketu jsou vlastní data, po nich následuje kontrolní součet a celý blok je ukončen křídelní značkou. Velkou výhodou bitově orientovaných protokolů je jejich nezávislost na typu přenášených dat (při přenosu binární informace není potřeba žádné znaky překódovávat), nevýhodou jsou vyšší nároky na hardware, který musí zabezpečit vkládání nul, výpočet kontrolního součtu a dostatečně rychlý přísun znaků. Pokud procesor nestihne dodat včas znaky pro vysílání, mohou nastat dvě situace: U horších řadičů se spočítá a pošle kontrolní součet pro neúplný paket, takže přijímací strana nepozná, že paket není celý; obecně může být chybou, když se pakety takto rozdělí. Kvalitnější řadiče v tomto případě vyšlou znak abort, takže přijímací strana může detekovat, že přenos paketu nebyl úspěšný.
V praxi se často setkáváme s veřejnými datovými sítěmi označovanými často (ne zcela přesně) podle normy, která definuje jejich uživatelské rozhraní, X.25.
X.25 odpovídá třetí úrovni OSI modelu, na druhé úrovni je definován protokol LAP/B, který zaručuje detekci a opravu vadných paketů a jejich znovuvyslání. Tím je utvořen bezchybný kanál. Pro potřeby protokolu X.25 je definováno množství řídících paketů, jejich číslování a předávání nezbytných informací.
V předchozích částech článku jsme si popsali možnosti propojení elektronických zařízení na poměrně krátké vzdálenosti řádově stovek metrů. Při přenosu dat na větší vzdálenosti je nutno použít modemy, což jsou zařízení, která přenášená data upraví tak, že je můžeme přenášet pomocí běžné telefonní sítě.
V praxi můžeme modemy rozdělit na dva typy. První jsou modemy určené pro pevné linky (baseband). Pevná linka je tvořena vodiči, které propojují obě vzdálené stanice, přičemž na nich není žádné další elektronické zařízení. Obě strany jsou galvanicky propojeny. Výhodou pevných linek je vyšší spolehlivost, značnou nevýhodou je vysoká cena.
Druhým typem modemů jsou modemy určené pro běžnou telefonní síť - modemy pro komutované linky. V následujícím textu se zaměříme pouze na popis modemů pro komutované linky, neboť problematika baseband modemů je velmi úzce specializovaná.
V současné době existuje velká škála modemů různých výrobců, které se liší kvalitou, přenosovou rychlostí a vybavením. Rozsah používaných rychlostí přenosu dat je od 300 Bd do 28.800 Bd. Pro zvýšení spolehlivosti přenosu dat používají modemy protokoly pro opravu chyb, pro zvýšení objemu dat se používají kompresní mechanismy.
Rychlost modemů se hodnotí podle rychlosti, kterou jsou data přenášena po telefonní lince. Ta obecně nemusí být shodná s rychlostí, kterou je modem připojen k počítači a která může dosahovat až 115 Kb/s. Moderní modemy jsou vybaveny i prostředky pro sledování kvality linky a při zvýšeném počtu chyb samy snižují rychlost na straně telefonní linky.
Při používání různých rychlostí na obou koncích modemu je nutné, aby byl modem vybaven bufferem a mechanismem pro pozastavení toku dat (handshake). Na straně počítače je možno použít softwarové řízení toku dat (nejčastěji pomocí znaků ^Q a ^S) nebo hardwarové signály RTS/CTS.
Při provozu se modemy mohou nacházet buď v režimu přenosu dat nebo v příkazovém režimu. Většina modemů se ovládá AT příkazy, kdy AT je prefix, který předchází každému povelu. Bohužel sada AT příkazů není standardizovaná, a proto výrobci používají stejné příkazy jen u základních funkcí.
Přechod z příkazového režimu do datového může být buď povelem nebo automaticky (při navázání spojení). Přechod do příkazového režimu nastane automaticky po přerušení spojení nebo po Escape sekvenci, která je tvořena znaky +++, před a po kterých se minimálně jednu vteřinu nepřenášejí data.
Příklad navázání spojení a přechod mezi režimy (módy):
Pomocí Escape příkazu <pausa>+++<pausa> a ATH jsme si předvedli násilné ukončení modemové seance. Většina systémů ale pracuje tak, že po odhlášení příkazem Exit vzdálená strana sama rozpojí spojení a modem potom pouze hlášením OK potvrzuje rozpojení.
Poznámka: pausa je časový interval minimálně 1 sekunda.
Někteří výrobci používají mimo standardní (nebo de-facto standardní) protokoly své vlastní. Jmenujme HST firmy U.S. Robotics nebo PTP firmy Telebit.
Používané normy u komutovaných modemů:
MNP | Microcom Networking Protocol | ||
MNP4 | oprava dat | ||
MNP5 | komprese dat | ||
CCITT | |||
V.21 | přenos dat rychlostí 300 Bd | ||
V.22 | přenos dat rychlostí 1200 Bd | ||
V.22bis | přenos dat rychlostí 2400 Bd | ||
V.23 | přenos dat rychlostí 1200 Bd, dříve používaná verze | ||
V.32 | norma pro používání rychlostí 4800 Bd, 7200 Bd, 9600 Bd, 12 KBd a 14.4 KBd | ||
V.32bis | norma, která umožňuje hlídat kvalitu linky, při jejím snížení snížit rychlost přenosu dat a opět ji zvýšit při zlepšení kvality | ||
V.34 | norma definující provoz vysokorychlostních modemů | ||
V.42 | norma definující protokol pro opravu chyb, zahrnuje i navázání spojení a podporuje i MNP protokol 1-4 | ||
V.42bis | definuje kompresní mechanismy |