Vyšlo v týdeníku CHIPweek č. 5/97, 28. ledna 1997
Vytištěno z adresy: http://www.earchiv.cz/a97/a705k150.php3

Přepojování buněk

Jedním ze zajímavých trendů v oblasti počítačových sítí je postupné sbližování přenosových technik "ze světa počítačů" a "ze světa spojů" - bude jejich budoucnost společná, nebo oddělená jako doposud? A jakou bude mít podobu? Půjde o svět založený na přepojování paketů, přepojování okruhů, nebo přepojování buněk?

V současné době existuje poměrně ostrá hranice mezi "světem spojů" a "světem počítačů". Projevuje se jak historicky odlišnými preferencemi přenosových technik v obou světech (přepojování okruhů vs. přepojování paketů), tak zejména skutečností, že oba světy si stále ještě budují samostatné přenosové infrastruktury - tedy samostatné přenosové sítě, používané buď pro přenos "dat", nebo pro přenos "hlasu, obrazu atd.", a jejich vzájemné prolínání je spíše výjimkou než pravidlem.

Odhlédneme-li od ekonomických faktorů, byly hlavním důvodem pro dosavadní oddělenost přenosových infrastruktur především odlišné požadavky na charakter přenosových služeb - ve "světě počítačů", který od začátku fungoval digitálně, se zpočátku kladly největší nároky na celkovou efektivnost přenosů, a téměř vůbec ne na časové aspekty a pravidelnost doručování. Výsledkem pak byla jednoznačná preference mechanismu přepojování paketů. Naopak ve "světě spojů", který zpočátku fungoval ještě analogově, byly tradiční preference diametrálně odlišné, a vedly k jednoznačně k mechanismu přepojování okruhů. S časem se ale rozdíly začaly zmenšovat, a ze skutečně kvalitativních odlišností se začaly stávat spíše odlišnosti spíše kvantitativní: ve světě počítačů se začaly prosazovat různé multimediální přenosy a přenosy probíhající v reálném čase, a jejich požadavky na přenosovou infrastrukturu (jako garance přenosové kapacity a přenosového zpoždění) se velmi blíží typickým požadavkům ze "světa spojů". Také v samotném "světě spojů" postupně docházelo k přechodu na plně digitální způsob fungování, přenosy začaly mít čím dál tím více charakter datových přenosů, a zákonitě s tím se začaly dostávat do popředí i požadavky na jejich maximální efektivnosti.

Od přepojování paketů k přepojování rámců

Zajímavým a velmi poučným vývojem prošly i některé přenosové protokoly na bázi přepojování paketů. Ty, které byly od začátku koncipovány spíše jako "chudé" a soustřeďovaly se jen na vlastní přenos (jako třeba protokol IP), v zásadě vydržely beze změny až do dnešních dní. Jiné přenosové protokoly, koncipované původně jako "bohaté" a zabývající se i dalšími činnostmi (zejména zajišťováním spolehlivosti), se s postupem času začaly těchto doplňkových činností zbavovat. Charakteristický byl v tomto ohledu vývoj protokolu X.25, který byl vyvinutý sice "ve světě spojů", ale pro potřeby veřejných datových sítí a vysloveně pro datové přenosy.

Protokol X.25 počítá s tím, že přenosové cesty jsou dosti nekvalitní, a dochází v nich poměrně často k různým ztrátám a poškozením přenášených paketů. Protokol X.25 přitom považuje za svou povinnost, resp. za povinnost přenosové infrastruktury postarat se o nápravu - z tohoto důvodu je protokol X.25 koncipován jako velmi robustní, a je vybaven silnými a efektivními mechanismy pro nápravu případných přenosových chyb.

Časem ovšem původní předpoklad o vysoké úrovni chybovosti přenosových cest přestal platit, neboť dostupné přenosové cesty (a to i v prostředí rozlehlých sítí) se staly mnohem kvalitnějšími. Robustní zabezpečovací mechanismy protokolu X.25 se díky tomu staly zbytečné, a režie spojená s jejich existencí ( projevující se celkovou menší efektivností X.25), se stala neúnosně vysokou.

Dalším vývojovým stádiem pak bylo odstranění nyní již zbytečných zabezpečovacích mechanismů z protokolu X.25. Výsledkem ale byl již zcela nový přenosový protokol, označovaný jako Frame Relay. Ten se tedy nezdržuje zajišťováním spolehlivosti přenosů (předpokládá že případné chyby si ošetří vyšší vrstvy), a v zájmu efektivnějšího fungování se přesunul ze síťové vrstvy níže, na vrstvu linkovou. Zde tedy přenáší rámce (odsud také "Frame" Relay), a pro dosažení vyšší efektivnosti mohou být potřebné přepojovací funkce implementovány přímo technickými prostředky.

I v případě protokolu Frame Relay však stále ještě jde o přenos rámců, které mohou být různě veliké (byť s určitým limitem maximální velikosti). To na jedné straně zachovává původní charakteristické vlastnosti mechanismů přepojování paketů, ale na druhé straně to způsobuje i jisté komplikace. Přestupní uzly i koncový příjemce totiž nevědí předem, jak velkou vyrovnávací paměť budou potřebovat pro uložení toho kterého rámce (znají jen horní hranici), a proto jejich hospodaření různými buffery (vyrovnávacími pamětmi) i samotná manipulace s již načtenými rámci je relativně komplikovanější - oproti situaci, kdy by všechny přenášené bloky dat byly stejně velké.

Přepojování buněk?

Jak jsme si již několikrát naznačili, jedinou schůdnou cestou jak výrazně zrychlit přepojování v různých mezilehlých uzlech je implementovat příslušné přepojovací mechanismy přímo v hardwaru. To je možné v případě, kdy logika rozhodování nebude příliš složitá - což je spíše případ přepojování na úrovni linkové vrstvy, než na úrovni vrstvy síťové. Nyní jsme ale v souvislosti s úvahami o technologii Frame Relay narazili na další zajímavý aspekt - přepojování, implementované plně v hardwaru, bude moci být efektivnější a rychlejší, budou-li přenášeny vždy stejně velké bloky dat. Ovšem jak velké?

Tato zajímavá otázka přišla na přetřes v situaci, kdy se představitelé "světa počítačů" a "světa spojů" sešli u kolébky jedné velmi perspektivní přenosové technologie, dnes známé jako ATM. Ta měla používat přepojování v zásadě na úrovni linkové vrstvy, a pracovat s pevně velkými bloky dat - spíše ale pevně malými bloky dat, kterým se pak začalo říkat buňky (cells). Již od začátku se tušilo, že tyto buňky by měly být spíše menší, ale nejasnosti byly kolem toho, "jak moc malé" by měly být.

Lidé "od spojů" požadovali buňky co možná nejmenší, a argumentovali následovně: čím menší buňky budou, tím více jich připadne na časovou jednotku, a tím větší bude pravděpodobnost, že když bude třeba něco ihned a bez čekání přenést, že se pro to najde volná buňka. Praktický návrh "světa spojů" pak zněl: zaveďme buněk nejvýše pro 32 bytů užitečných dat.

Lidé "od počítačů" však prosazovali spíše větší buňky. Argumentovali tím, že čím menší budou buňky, tím větší bude nezbytná režie, spojená s jejich existencí - každá buňka totiž musí mít určitou hlavičku, a čím menší buňky budou (při pevné velikosti hlavičky), tím větší bude relativní režie, připadající na tyto hlavičky a případné další "neužitečné" položky. Konkrétní návrh pak zněl: udělejme buňky alespoň pro 64 bytů "užitečného" nákladu.

Každá ze stran samozřejmě trvala na svém, a tak dalo dost velkou práci, než se našel alespoň nějaký kompromis: tím se nakonec stal čistý aritmetický průměr 48 bytů. Proto také všechny buňky technologie ATM (Asynchronous Transfer Mode) mají jednotnou velikost 53 bytů - 5 bytů tvoří hlavička, a 48 je "užitečný náklad" (anglicky payload).

ATM - společná perspektiva?

Přepojování buněk (označované též jako "cell relay") je tedy přenosovou technikou, která stojí někde na pomezí mezi přepojováním okruhů a přepojováním paketů, a spojuje v sobě výhody obou variant. Může být velmi rychlá, a díky malé velikosti svých buněk dokáže s dosti vysokou pravděpodobností garantovat přenosovou kapacitu pro toho, kdo ji skutečně potřebuje (podobně jako přepojování okruhů). Díky blokovanému přenosu (kdy jsou data přenášena po blocích, resp. buňkách) umožňuje sdílení celkové dostupné přenosové kapacity více komunikujícími entitami. To je pak také hlavní důvod, proč je technologie ATM, založená právě na principu přepojování buněk, chápána jako společná perspektiva obou dosud hodně disjunktních světů - "světa počítačů" a "světa spojů". Například i v tom smyslu, že přenosové sítě na bázi ATM by mohly být společné pro oba světy, a nenutily by každý z nich budovat si své vlastní přenosové infrastruktury.

Nějaký čas se dokonce zdálo, že přepojování buněk v konkrétní podobě technologie ATM by se mohlo jednotně prosadit jak "na krátké vzdálenosti" (neboli v prostředí lokálních sítí), tak i "na velké vzdálenosti" (v prostředí rozlehlých sítí), a stát se tak skutečně univerzální přenosovou technologií. Dnes se ale tato původní představa začíná poněkud měnit - přechod technologie ATM do stádia běžné obchodní komodity je stále dosti těžkopádný a je doprovázen mnoha obtížemi (například problémy s nedokončenou standardizací). Pozice naopak rychle získávají jiné vysokorychlostní technologie, jako třeba stomegabitový či dokonce gigabitový Ethernet. Takže jaká nakonec bude "síťová" budoucnost?