Vyšlo v týdeníku CHIPweek č. 36/97, 2. září 1997
Vytištěno z adresy: http://www.earchiv.cz/a97/a736k150.php3

Spojení v ATM

V dnešním dílu si povšimneme skutečnosti, že ATM je ryze spojovanou přenosovou technologií. Vysvětlíme si proč tomu tak je, a jaké to přináší důsledky.

Jak jsme si již zdůraznili v minulém dílu, technologie ATM se snaží rozkládat přenášená data na velmi malé "kousky", které vkládá do paketů fixní velikosti, označovaných jako ATM buňky (ATM cells), a schopných pojmout 48 bytů užitečného nákladu. Důležitý přitom je asynchronní charakter takovéhoto fungování, zakotvený již v samotném názvu technologie ATM (Asynchronous Transfer Mode) a vycházející z principu tzv. statistického multiplexu (viz minule): dopředu není známo, jaká data bude obsahovat ta která buňka, resp. komu bude její datový obsah (anglicky: payload) patřit. Proto je nutné, aby každý jednotlivý "kousek" dat identifikoval sám sebe, neboli aby každá buňka byla opatřena vhodnou hlavičkou obsahující potřebné identifikační údaje. Zajímavou a velmi důležitou otázkou ovšem je, jak "velká" by takováto identifikační informace měla být, a co přesně by měla vyjadřovat.

Proč je ATM výhradně spojovanou přenosovou technologií

Jedním z důležitých momentů, které je třeba mít na paměti při volbě konkrétního způsobu identifikace přenášených dat, je potřeba udržet režii připadající na tuto identifikaci na únosné míře. Jestliže jsou datové části ATM buněk extrémně malé, pak je asi zřejmé, že i jejich hlavičky musí být také velmi malé. Zcela jistě proto nemohou obsahovat takové adresy, které by dokázaly jednoznačně identifikovat konkrétního cílového příjemce v globálním (celosvětovém) měřítku, tak jako tomu musí být v případě nespojovaných služeb (neboli služeb fungujících na principu datagramové služby). Jelikož takovýchto příjemců může být velmi mnoho, příslušné adresy by vycházely opravdu neúnosně velké.

Už i kvůli právě naznačenému problému s velikostí adres ATM funguje pouze na spojovaném principu, konkrétně na principu virtuálních okruhů, a nespojované přenosy je schopna nabízet pouze prostřednictvím emulace (tj. napodobováním programovými prostředky, na úrovni vyšších vrstev). Důvodem je skutečnost, že adresy při spojovaném principu fungování mohou být výrazně menší než při fungování nespojovaném. Stačí jim totiž identifikovat konkrétní spojení (ať již jednosměrný kanál či obousměrný okruh) například jeho pořadovým číslem, a nemusí vyjadřovat "plnou" identitu subjektů na koncích tohoto spojení. Navíc je možné, při vhodném uspořádání věcí, apriorně omezit počet možných spojení, a tím dokonce explicitně ovlivnit, kolik bitů bude zapotřebí pro identifikaci takovéhoto spojení. Právě této možnosti pak bylo využito v případě ATM.

Identifikátory spojení v ATM jsou lokální

Pro správné pochopení významu adres ve světě ATM je vhodné si upřesnit otázku jeho topologie: zatímco u většiny ostatních přenosových technologií typu Ethernetu či Token Ringu či FDDI jde o topologie systematické logicky i fyzicky (např. musí jít o sběrnici, fyzický a logický kruh apod.), v případě ATM může být topologie značně nesystematická. Lze si ji představit jako soustavu tzv. ATM switchů (ATM ústředen), ke kterým jsou paprskovitě připojovány nejrůznější koncové uzly (jednotlivé počítače). Samotné ATM switche přitom mohou být propojeny mezi sebou zcela libovolným způsobem - například do kruhu, nebo stylem každý s každým, či jakkoli jinak. V zásadě by tedy šlo říci, že ATM nemá žádnou "předepsanou" topologii, a skutečná topologie ATM sítí může být libovolná.

Obrázek 1.
Představa transformace identifikátorů v hlavičce ATM buňky
Skutečná trajektorie, po které cestují data mezi koncovými uzly připojenými k ATM síti, samozřejmě vždy závisí na tom, kudy je vedeno příslušné spojení, tj. přes jakou posloupnost ATM switchů (ústředen). Jak ještě později uslyšíme, ATM nabízí dva druhy spojení - permanentní spojení, která existují trvale a jsou zřizována na základě dohody mezi provozovatelem ATM sítě a jeho zákazníkem/uživatelem, a dále spojení komutovaná (switched), která jsou zřizována až na základě okamžité potřeby, a posléze zase rušena. Zajímavé je, že technologie ATM sama neobsahuje žádnou konkrétní závaznou představu o způsobu volby cesty, resp. posloupnosti ATM switchů, přes které by spojení mělo procházet (tedy to, čemu se v jiných sítích říká směrování, anglicky routing). V případě permanentních okruhů to ostatně není ani tolik zapotřebí, zde může být konkrétní vedení cesty voleno jednorázově operátorem, například i na základě požadavků zákazníka či po dohodě s ním.

Ať už je ale spojení v ATM zřízeno jakkoli, vždy jde o posloupnost "přeskoků" přes jednotlivé ústředny, neboli o posloupnost "dílčích úseků", odpovídajících existenci přímých cest mezi jednotlivými ATM ústřednami (a na obou koncích vedené spoji mezi ústřednami a koncovými uzly). Po každém takovémto dílčím úseku pak může vést vždy jen určitý omezený počet spojení, a právě této skutečnosti se využívá pro minimalizaci objemu adres: adresy obsažené v hlavičkách ATM buňky vždy identifikují konkrétní spojení v rámci jednotlivého dílčího úseku. Jejich význam je ale úzce lokální - při přechodu buňky skrz ATM ústřednu z jednoho dílčího úseku do jiného jsou tyto adresy přepočítávány. Přesněji přepisovány, protože většina ATM ústředen funguje tak, že se podívá do vhodně uspořádané tabulky, a zde si přečte nejen směr, kterým má buňka pokračovat, ale i novou adresu spojení v rámci nového dílčího úseku (viz první obrázek).

Virtuální okruhy a cesty

Naši představu o adresování jednotlivých spojení v ATM si nyní musíme upřesnit: konkrétní způsob adresování je volen jako dvouúrovňový, resp. adresy spojení jako dvousložkové. Jedné jejich části, resp. jedné jejich úrovni, se říká virtuální cesta (virtual path), a druhé virtuální kanál (virtual channel). Jejich konkrétní hodnota je pak v hlavičce ATM buňky vyjádřena identifikátorem virtuálního kanálu (VCI, Virtual Channel Identifier), resp. identifikátorem virtuální cesty (VPI, Virtual Path Identifier). O jejich velikosti a umístění v hlavičce buňky (resp. o konkrétním formátu hlavičky) si povíme příště, dnes se zastavíme spíše u logiky toho, proč je adresování dvouúrovňové.

Obrázek 1.
Představa virtuálních kanálů a cest
Virtuální cestu si lze představit skutečně jako trasu, vytyčenou tak aby vedla z jednoho místa na druhé, například od jednoho koncového uzlu ATM sítě k jinému. Když spolu budou takovéto dva uzly komunikovat, budou si nejspíše mezi sebou zřizovat několik různých spojení - například už jen proto, že v ATM jsou spojení pouze jednosměrná, a plně duplexní spojení se ve skutečnosti zřizují jako dvojice jednosměrných kanálů! Potřebné "trasovací" informace však stačí vztáhnout jen k identifikátoru virtuální cesty, tj. nové spojení může sdílet stejnou virtuální cestu, a lišit se pouze v identifikátoru virtuálního kanálu. Faktické zřízení takovéhoto nového spojení, v situaci kdy již existuje vytyčená virtuální cesta, je velmi jednoduché a rychlé.

Další výhody přináší dvouúrovňový způsob adresování i pro činnost samotných ATM ústředen. Pokud jsou chytré, nemusí se zdržovat tou částí adresy v hlavičce buňky, která reprezentuje číslo kanálu. Své rozhodování o dalším osudu jimi procházející buňky mohou založit jen na identifikátoru cesty, což může být výrazně rychlejší.

Ještě další výhodou je pak snazší správa ATM sítě - například při výpadku určité přenosové cesty či ústředny lze celé skupiny spojení přesměrovávat pouhou změnou virtuální cesty, zatímco na virtuální kanály to nemá vliv.