Vyšlo v týdeníku CHIPweek č. 18/96, 30. dubna 1994
Vytištěno z adresy: http://www.earchiv.cz/a96/a618k150.php3

Sítě s přepojováním okruhů vs. sítě s přepojováním paketů

Další možné dělení počítačových sítí vychází z toho, na jakém základním principu fungují - zda na principu přepojování okruhů, nebo na principu přepojování paketů. Nejvíce se takovéto rozlišování týká sítí veřejných či alespoň poloveřejných, a souvisí i s celkovou filosofií a přístupem k budování počítačových sítí, které jsou poněkud odlišné ve „světě počítačů" a ve „světě spojů".

První snahy o budování počítačových sítí rozlehlejšího charakteru se začínají objevovat zhruba v polovině šedesátých let. V té době samozřejmě již existoval dobře zavedený telekomunikační sektor, který již také měl velmi ustálenou představu o tom, jak by přenosové sítě měly fungovat. Šlo zejména o představy a konvence, které sebou přinášela jedna již tehdy existující a vcelku dobře fungující síť s celosvětovým dosahem - síť telefonní.

Princip, na kterém veřejná telefonní síť fungovala a funguje, je dnes označován jako přepojování okruhů (circuit switching). Jeho podstatou je zásada, že pro potřeby komunikujících stran (typicky dvou účastníků) se vyhradí přenosový kanál o určité kapacitě, který tyto strany budou mít plně a výhradně ke své dispozici. Když tedy někomu telefonem zavoláte, je mezi vámi a volanou stranou vytvořen kanál, který máte jen a jen pro sebe, a nikdo jiný vám do něj nemůže „mluvit". Na druhé straně za něj také podle toho platíte (typicky podle délky spojení), a provozovateli telefonní sítě je srdečně jedno, jak vytvořený kanál po celou dobu využíváte - on vám poskytnul určitou přenosovou kapacitu, a je na vás, zda na sebe s druhou stranou mluvíte, nebo naopak mlčíte. V případě telefonních hovorů je takovýto přístup vcelku opodstatněný, protože zde přeci jen lze očekávat jistou rovnoměrnost vytížení přiděleného přenosového kanálu. V případě datových přenosů je tomu ale jinak.

Datové přenosy mezi počítači a terminály či mezi počítači navzájem mají naopak tendenci k nerovnoměrnosti. Zde je spíše typické to, že komunikující strany potřebují přenášet mezi sebou určitá data jen někdy, zatímco po většinu času žádné požadavky na přenos nemají. Pak je ale značně neefektivní přidělit takto komunikujícím stranám výhradně k jejich dispozici přenosový kanál, protože by jej nechávali většinu času „ležet ladem". Místo toho je výhodnější zařídit věci tak, aby dostupnou přenosovou kapacitu mohlo sdílet více komunikujících dvojic či skupin současně. No a právě to umožňuje mechanismus přepojování paketů.

Přepojování okruhů (circuit switching)

Obrázek 1.
Představa přepojování okruhů
V síti, která funguje na principu přepojování okruhů, tedy dochází k vytvoření souvislého přenosového kanálu (ve „spojařské" terminologii: okruhu) mezi komunikujícími stranami, s pevně danou přenosovou kapacitou. Tento kanál se přitom chová stejně jako přímý dvoubodový spoj mezi koncovými účastníky, bez ohledu na to zda ve skutečnosti prochází přes nějaké přestupní (propojovací) body, například různé ústředny. Dovedeno ad absurdum, je to v zásadě totéž jako když mezi oběma stranami vedou „přímé dráty". Díky tomu pak mohou komunikující strany využívat spojení mezi sebou takovým způsobem jaký uznají za vhodný, tj. není jim apriorně předepsán určitý komunikační protokol (jako je tomu v případě přepojování paketů). Komunikující strany si také samy rozhodují o tom, jak využijí přenosovou kapacitu která jim byla vyhrazena, a například i to, zda budou svá data přenášet jako víceméně souvislý proud, či zda je budou členit a přenášet po blocích určité velikosti, kterou si také mohou stanovit samy. Výhodou (zejména z hlediska poskytovatele spojení) je jistě i jednoduchý a zřejmý způsob účtování: okruh o takové a takové přenosové kapacitě, za takovou a takovou dobu rovná se tolik a tolik.

Přepojování paketů (packet switching)

Obrázek 2.
Představa přepojování paketů
V síti, která funguje na principu přepojování paketů, jsou přenášená data členěna na bloky. Těm se nejčastěji říká pakety, ale podle konkrétního způsobu řešení (zejména podle toho na jaké úrovni ke členění dat dochází) jsou používána i jiná označení - rámce, buňky atd. Základním charakteristickým rysem přepojování paketů je to, že jednotlivé pakety (bloky) od různých odesilatelů a určené různým příjemcům se přenáší společným přenosovým kanálem, který v jistém smyslu „patří všem" (zatímco při přepojování okruhů je z něj jakoby uměle „vyříznuto" více individuálních podkanálů, a ty jsou přiděleny jednotlivým komunikujícím dvojicím k výhradnímu využití). Právě díky tomu pak dokáže přepojování paketů snáze a efektivněji reagovat na nárazový charakter datových přenosů - v určitou dobu může být celá dostupná přenosová kapacita intenzivněji využívána jednou komunikující dvojicí, zatímco jindy ji zase mohou více využívat jiné dvojice.

Při přepojování paketů si tedy lze představit, že všechny požadavky na přenos se „dají na jednu hromadu", a pak postupně vyřizují maximální možnou rychlostí. Aby ale toto korektně fungovalo, musí být pro každý datový paket zřejmé, od koho pochází a komu je určen. Každý paket tedy musí nějakým způsobem určovat svého příjemce a odesilatele (ať již přímo jeho adresou, nebo nepřímo, prostřednictvím logického spojení navázaného mezi příjemcem a odesilatelem). To pak dále znamená, že musí existovat společná konvence o tom, jak mají být pakety velké a jaký mají mít formát (např. jakou mají mít hlavičku, ze které vyplynou údaje potřebné pro korektní přenos). Všichni tedy musí používat stejný přenosový protokol, fungující na principu přepojování paketů, který tyto náležitosti definuje.

Další důležitou odlišností přepojování paketů od přepojování okruhů je jejich „průběžnost": v případě přepojování okruhů se přenášená data v mezilehlých uzlech žádným způsobem nezastavují - jde o fungování víceméně v reálném čase, kdy jediným vznikajícím zpožděním je přenosové zpoždění na přenosových cestách, dané konečnou rychlostí šíření přenášených signálů. Naproti tomu přepojování paketů funguje na principu označovaném jako store and forward (doslova: ulož a předej dál) - jednotlivé přestupní uzly vždy přijmou určitý paket (uloží si jej do své vyrovnávací paměti), a teprve pak jej zpracují (předají dál). To ale může trvat různě dlouho, v závislosti na momentální intenzitě provozu, vytížení dostupných přenosových kapacit i vytížení přestupních uzlů. V důsledku toho pak při přepojování paketů obecně není předem známo, za jak dlouhou dobu data dorazí ke svému cíli. Stejně tak nelze při přepojování paketů zaručit, že data dorazí nejpozději do určité doby, ani že budou doručována pravidelně, se stejnými časovými odstupy (zatímco při přepojování okruhů to je možné zaručit).

PSPDN vs. CSPDN

Počítačové sítě, určené pro přenos dat, mohou být v zásadě vystavěny jak na principu přepojování okruhů, tak i na principu přepojování paketů. V případě lokálních sítí (sítí LAN), které si budují „lidé od počítačů", jde ale téměř výlučně o přepojování paketů. Trochu jiné to může být v případě rozlehlejších sítí a zejména pak těch, které mají povahu veřejných datových sítí (PDN, Public Data Network). Pokud je veřejná datová síť budována na principu přepojování okruhů, je obecně označována zkratkou CSPDN (Circuit Switching Public Data Network), zatímco v případě veřejných sítí na bázi přepojování paketů jde o sítě PSPDN (Packet Switched Public Data Network).

Důležité je ovšem uvědomit si, že veřejná datová síť je mnohdy „černou skříňkou", o jejímž interním fungování rozhoduje její provozovatel (a často nezveřejňuje žádné podrobnosti), zatímco z pohledu uživatele jsou patrné pouze její vnější projevy. Je pak docela dobře možné i to, aby konkrétní veřejná datová síť fungovala navenek určitým způsobem, zatímco interně fungovala jiným způsobem. Důvodem pro takovouto zdánlivou nelogičnost bývá to, že provozovatel veřejné datové sítě (což je typicky spojová organizace, provozující i jiné telekomunikační sítě) buduje svou veřejnou datovou síť nad již existující komunikační infrastrukturou, která funguje na jiném principu (nejspíše na přepojování okruhů). Faktem je, že „navenek" veřejné datové sítě obvykle fungují na principu přepojování paketů.

Takže až si budeme povídat o sítích na bázi standardu X.25, který je nejstarším standardem pro veřejné datové sítě, budeme mít na paměti že jde o standard určující vnější chování takové veřejné datové sítě.