Vyšlo v týdeníku CHIPweek č. 34-35/97, 26. srpna 1997
Vytištěno z adresy: http://www.earchiv.cz/a97/a734k150.php3

Proč se ATM jmenuje ATM?

Jedním z paradoxů technologie ATM je původ jejího jména - o tomto aspektu se mnoho odborných pramenů vůbec nezmiňuje. Zkusme si proto naznačit, proč se ATM jmenuje právě ATM, a na zdůvodnění si ukázat i základní myšlenky fungování této technologie.

Chceme-li pochopit smysl jména ATM, neboli: Asynchronous Transfer Mode, je třeba se znovu vrátit do světa spojů, ze kterého technologie ATM vzešla: ve světě spojů se sice používá celá řada konkrétních metod a technik, ale pro většinu z nich je charakteristické, že fungují v takovém režimu, který si zaslouží přívlastek "synchronní". Synchronní v tom smyslu, že dostupnou přenosovou kapacitu rozděluje v čase (na časové úseky, časové sloty), a to pravidelným a neustále se opakujícím způsobem, který je tudíž i plně predikovatelný a vykazuje velkou míru rovnoměrnosti. Obecně se takovýto princip označuje také jako časový multiplex (TDM, Time Division Multiplexing). Podstatná je zde právě skutečnost, že jednotlivé časové sloty (úseky) následují pravidelně a bezprostředně za sebou, a že jsou přidělovány jednotlivým zdrojům dat (vstupním kanálům) podle pevně daného a neměnného pravidla. Díky znalosti tohoto pravidla pak příjemce vždy dokáže rozpoznat, komu patří datový obsah určitého slotu, aniž by tento datový obsah musel nějak identifikovat sám sebe (mít nějakou hlavičku, která by říkala co je zač, odkud kam cestuje).

STM vs. ATM

Konkrétní realizace časového multiplexu samozřejmě může být různá, a ve světě spojů se skutečně používá více konkrétních technik, které tento princip naplňují. Jak jsme si již říkali minule, všechny takovéto techniky, implementující princip časového multiplexu, ve své podstatě vždy představují nějakou variantu přepojování okruhů. Technologie ATM však představuje dosti významný odklon od tohoto přístupu, neboli od výhradního používání přenosových technik na principu přepojování okruhů. V terminologii "světa počítačů" stojí někde na pomezí mezi přepojováním okruhů a klasickým přepojováním paketů (striktně vzato je přepojováním paketů extrémně malé a vždy stejné velikosti). Z pohledu světa spojů a jeho terminologie však bylo podstatné, že technologie ATM již nezachovává původní synchronní způsob chování, s absolutní pravidelností v čase a plnou predikovatelností - tedy něco, co měly prakticky všechny dosavadní přenosové technologie světa spojů, a co mělo právo na označení: synchronní režim přenosu (synchronní přenosový režim, anglicky: STM, neboli Synchronous Transfer Mode). Nyní se tedy na scéně objevilo něco, co už nebylo plně synchronní, ale fungovalo to asynchronně. Proto to ve světě spojů dostalo označení "asynchronní režim přenosu" (Asynchronous Transfer Mode, ATM).

Asynchronnost ATM

Obrázek 1.
Představa asynchronního charakteru ATM
Jestliže tedy ATM již podle svého názvu není synchronní, nýbrž asynchronní, v čem vlastně spočívá jeho asynchronnost?

Podobně jako u synchronních přenosových technik, fungujícím na principu časového multiplexu, je i zde přenosová kapacita ve své podstatě dělena na stejně velké a neustále se opakující časové úseky (sloty) - jen se tak děje na poněkud jiné úrovni, takže zmíněné časové sloty neodpovídají "holým" skupinám bitů či bytů bez nějaké vnitřní struktury, ale odpovídají celým datovým blokům (konkrétně označovaným jako ATM buňky). Hlavní rozdíl je ale v tom, že na rozdíl od synchronní varianty na bázi časového multiplexu zde není apriorně určeno, komu který konkrétní slot (resp. buňka) patří, neboli co jsou zač data v něm obsažená. Data jsou do jednotlivých ATM buněk vkládána podle okamžité potřeby, a ne podle předem stanoveného pravidla, které by nedokázalo průběžně reagovat na momentální situaci. Právě zde je tedy hlavní "asynchronní" prvek.

Další druh asynchronnosti je pak možné spatřovat v tom, že posloupnost ATM buněk nemusí nutně být souvislá, jako by tomu muselo být v případě synchronních technik. Místo toho mohou být mezi ATM buňkami libovolně velké časové odstupy (ve skutečnosti jde ale pouze o logickou záležitost, zatímco ve skutečnosti jsou v mezidobí přenášeny zvláštní prázdné buňky). Souvisí s tím i skutečnost, že koncové uzly také mohou předávat svá data do přenosové ATM sítě asynchronním způsobem, tedy po částech a s libovolnými časovými odstupy mezi sebou.

Statistický charakter ATM

Jestliže za všemi synchronními přenosovými technikami světa spojů stojí princip časového multiplexu, pak za technologií ATM analogicky stojí princip tzv. statistického multiplexu. Jeho důležitou charakteristikou je to, že jednotlivé časové úseky (sloty, zde buňky) nejsou nikomu předem pevně přiřazené, neboli že není apriorně jasné, komu patří. Proto obsah těchto slotů musí vhodným způsobem identifikovat sám sebe, neboli musí v sobě nést údaj o tom, co je zač. Právě z tohoto důvodu musí ATM buňky mít svou hlavičku.

Statistický charakter ATM, daný jeho příslušností k principu statistického multiplexu, však znamená mnohem více, než jen nutnost existence hlaviček u všech buněk. Znamená především to, že několik vstupních "datových proudů", které mohou vykazovat různé stupně nerovnoměrnosti, se "slévá" do jednoho výsledného proudu, který samozřejmě má shora pevně omezenou přenosovou kapacitu, přičemž tento "strop" je nižší než prostý součet analogických "stropů" jednotlivých vstupních proudů (jinak by zde nebyla žádná významnější výhoda oproti časovému multiplexu, resp. přepojování okruhů). "Statistický charakter" pak spočívá v tom, že "statisticky" by vše mělo vyjít, požadavky jednotlivých vstupních proudů by se měly rovnoměrně rozložit v čase, a nemělo by docházet k souběhu jejich "špiček" (viz též diskuse v minulém dílu). V praxi takovéto "statisticky dobré" chování samozřejmě není zaručeno, a tak se nelze divit, že se technologie ATM snaží předcházet případných excesům - jak později uvidíme, právě z tohoto důvodu se ATM při navazování spojení velmi snaží získat podrobné informace o tom, jak bude to které spojení využíváno (jaká bude střední zátěž, jaké budou špičky apod.).

Velikost ATM buňky

S principem statistického multiplexu a potřebou opatřit každou ATM buňku identifikující hlavičkou souvisí i otázka volby velikosti takovéto buňky. Legenda praví, že velikost ATM buňky (48 bytů, počítáno bez hlavičky) byla zvolena jako prostý aritmetický poměr mezi požadavkem světa počítačů na minimálně 64-bytovou buňku, a požadavkem světa spojů na maximálně 32-bytovou buňku. I když to ve skutečnosti mohlo být jinak, faktem je že tato legenda dobře vyjadřuje celkové trendy: ve světě počítačů, zvyklém na klasické přepojování paketů, je snaha udržet režii připadající na hlavičky paketů (či buněk) co možná nejmenší, a tudíž volit spíše větší než menší buňku. Naproti tomu ve světě spojů, zvyklém na přepojování okruhů, resp. na časový multiplex, je obvyklá mnohem větší "granularita" dělení, například i na jednotlivé bity! Je to možné díky tomu, že při časovém multiplexu vlastně nevzniká žádná režie v důsledku sebevětší "granularity" (neboť je vždy předem jasné, co je každý konkrétní bit zač). Proto při volbě velikosti ATM buňky zástupci světa spojů požadovali spíše menší velikost, která by umožnila dosáhnout obdobných výhod jaké skýtá přepojování okruhů, zatímco zástupci světa počítačů požadovali spíše větší velikost buňky, aby se minimalizovala režie připadající na nezbytnou hlavičku. Výsledná volba, tj. velikost "nákladové části" buňky 48 bytů a velikost hlavičky 5 bytů, pak jistě byla výsledkem kompromisu, a představuje cca 10 procentní režii.