Báječný svět počítačových sítí
Část XXVI: ATM, technologie, která nezvítězila
Technologie ATM (Asynchronous Transfer Mode) vznikla jako řešení, které mělo vyhovět potřebám světa spojů i světa počítačů. V zásadě se jí to podařilo, ale zaplatila za to příliš vysokou cenu, zejména pokud jde o celkovou složitost, těžkopádnost a neefektivnost. Ambice stát se konvergovanou technologií, která nahradí dosud používané síťové technologie současně v obou světech, se tak nakonec nenaplnila.
Přesto ale technologie ATM zdaleka nezapadla. Jen si musela najít své místo na slunci, a to skromnější než původně předpokládané nahrazení ostatních technologií a získání dominantního postavení. Dnes se ATM používá zejména v páteřních sítích větších operátorů, kde dokáže přenášet současně různé druhy provozu, od spíše nárazových (jako například přenos el. pošty, WWW stránek atd.) až po souvislé a značně náročné multimediální přenosy živého zvuku a obrazu.
Technologie ATM (Asynchronous Transfer Mode) je veskrze zajímavou technologií. Nejen svým fungováním, ale také historií svého vzniku. Ta se začala psát v době, kdy zkrachoval první pokus o konvergenci přenosových sítí světa spojů a světa počítačů. Ten ještě vycházel z představy, že svět počítačů dobrovolně zahodí „své“ technologie (jako třeba Ethernet, s rychlostí 10 megabitů za sekundu), a místo toho bude vždy a všude používat technologii ISDN (Integrated Services Digital Network), pocházející právě ze světa spojů.
N-ISDN, jako Narrowband ISDN (úzkopásmové ISDN)
Technologie ISDN však nebyla a dodnes není ničím jiným, než dalším vývojovým stádiem telefonní sítě. Takovým, kdy telefonní síť už funguje plně digitálně nejen uvnitř (v rámci telefonních ústředen), ale až ke koncovým uživatelům. Je pravdou, že těm nabízí již plně digitální přenosové kanály – ale dimenzované pro potřeby telefonování, což prakticky znamená rychlost 64 000 bitů za sekundu na jeden tzv. B kanál (B jako Bearer, neboli „nosný“). Oproti 10 megabitům za sekundu u Ethernetu (a obdobným rychlostem u dalších technologií) to působilo spíše jako špatný vtip, než jako možná alternativa, či přímo náhrada.
Pravdou je, že ISDN počítá se sdružováním svých B kanálů, neboli s jejich skládáním do větších celků, tak aby výsledný celek poskytoval přeci jen přijatelnější (vyšší) přenosové kapacity. Jenže háček byl ještě v tom, že tyto kanály nutně musí procházet skrze veřejnou telefonní síť, protože jsou touto sítí přenášeny. No a veřejné telefonní sítě sice jsou určitým způsobem předimenzovávány, tak aby jistou určitou zásobu kapacity, ale stále jen s ohledem na očekávaný počet souběžně vedených hlasových hovorů.
Rozhodně nemají někde v záloze obrovské počty volných B kanálů, které by umožnily nabídnout rychlosti byť jen na úrovni Ethernetu. Na vyrovnání jeho 10 megabitů za sekundu by se spotřebovalo přes 150 takovýchto B kanálů! A ty nejen že nejsou v telefonní síti k dispozici (pro větší počty uživatelů), ale stejně tak by jejich vyhrazení přišlo neúnosně draho. Jelikož se každý takový kanál hradí obecně jako samostatný hlasový hovor, uživatelé by se nedoplatili.
ISDN, jako Integrated Services Digital Network
Pokus prosadit technologii ISDN jako konvergovanou technologii, jak pro svět počítačů, tak i pro svět spojů, byl skutečně dosti naivní, a také podle toho dopadl.
To ale samozřejmě neznamená, že by samotná technologie ISDN jako taková nebyla k ničemu. Nikoli, ve světě spojů našlo ISDN své uplatnění, a dodnes je nabízeno a používáno. Nejspíše také proto, že ve skutečnosti je něčím více, než jen (plně) digitálně fungující telefonní sítí. To by ostatně stačilo jen na polovinu názvu této technologie, protože zkratka ISDN po svém rozepsání znamená Integrated Services Digital Network. V překladu tedy „digitální síť s integrovanými službami“.
Druhá část názvu, „s integrovanými službami“, zdůrazňuje další část záměru autorů ze světa spojů: když už je k dispozici plně digitální síť, proč ji nevyužít k poskytování dalších služeb, než jen „základního“ telefonování? Nejlépe tak, že tyto služby budou do sítě ISDN důsledně „zaintegrovány“, tak aby snad zákazník neměl s jejich dostupností žádné problémy. Nebo aby se jich nemohl zbavit?
Takovýmito „zaintegrovanými službami“ jsou například služby typu identifikace volajícího (CLIP), které běžně známe z mobilní sítě, a které dnes už dokáže nabídnout i analogová telefonní síť. Podobně další služby na podporu telefonování, jako třeba průběžné informování volajícího o ceně hovoru, různé možnosti inteligentního přesměrovávání hovorů, informace o příchozím volání při již probíhajícím hovoru, konferenční hovory atd. To všechno (a mnohé další funkce) ISDN dodnes nabízí, pro potřeby komfortnějšího telefonování.
Jenže původní představa o „integrovaných službách“ byla podstatně obsáhlejší, a zahrnovala například i poskytování různých obsahových služeb, od informačních až po služby interaktivní (například různé nakupování, obecněji ecommerce atd.). Ale takovéto služby se již nepodařilo realizovat, resp. dotáhnout do stádia skutečné a reálně dostupné nabídky.
B-ISDN, jako Broadband ISDN (širokopásmové ISDN)
Z neúspěšného pokusu udělat z technologie ISDN konvergovanou technologii a „vnutit“ ji i světu počítačů, se svět spojů poměrně brzy poučil. A to tak, že celé dosavadní ISDN překřtil na „úzkopásmové ISDN“ (Narrowband ISDN, zkratkou N-ISDN), a začal přemýšlet o novějším, již „širokopásmovém“ ISDN (Broadband ISDN, B-ISDN). Tedy takovém, které nabídne podstatně rychlejší datové přenosy, a umožní poskytovat „ještě báječnější“ (integrované) služby. Pro svět spojů je totiž „širokopásmovost“ synonymem pro dosahování vyšších přenosových rychlostí (zatímco svět počítačů nazývá věci pravými jmény a používá atribut „vysokorychlostní“).
Již od začátku úvah o širokopásmovém ISDN ale bylo patrné, že bude nutná zásadní změna: že podstatně rychlejší přenosové kanály širokopásmového ISDN již nebudou moci procházet skrze veřejnou telefonní síť. Ta na to zkrátka nemá dostatek kapacity. Jediným řešením bylo přenášet data jinudy než skrze telefonní síť.
V úvahu připadalo převzetí nějaké již existující technologie, ale ve světě spojů se rozhodli pro vlastní řešení: pro vývoj vlastní přenosové technologie. Pokud už nyní tušíte, že právě touto technologií je dnešní ATM, pak máte pravdu: ATM skutečně měla být tou přenosovou technologií, která měla sloužit potřebám „širokopásmového ISDN“ (B-ISDN) - a nad ATM pak měly být poskytovány ony „integrované služby“, v co nejširším rozsahu, od čistě datových až po služby multimediální.
Svým způsobem to byla obdobná představa, s jakou svět počítačů vybudoval Internet, na protokolech TCP/IP. Jenže s podstatným rozdílem v tom, že jeho představa začínala jako mnohem skromnější, a teprve s postupem času se obohacovala. A hlavně: byla dotažena do reálně fungujícího konce.
Naproti tomu představa „širokopásmového ISDN“ (B-ISDN) nebyla nikdy dotažena do konce a realizována. Zůstalo jen u nové přenosové technologie, která skutečně byla vyvinuta, a která se dnes stále používá. Ano, je to technologie ATM (Asynchronous Transfer Mode), která přežila „ne-vznik“ celé širokopásmové ISDN, a začala žít vlastním životem.
Jak jsme si již uvedli výše, dnes se s technologií ATM setkáme zejména v páteřních sítích větších poskytovatelů, kteří ji s oblibou využívají pro přenos různých druhů provozů „vedle sebe“. Jedním konkrétním příkladem může být použití ATM sítě pro potřeby ADSL, konkrétně pro svedení provozu od většího počtu tzv. DSLAMů (na místních telefonních ústřednách a tzv. předsunutých ústřednách, alias jednotkách RSU), do podstatně menšího počtu tzv. agregačních bodů, kde dochází ke slučování těchto toků (jejich agregaci) do jednoho výsledného toku (viz obrázek).
Proč má ATM tak zvláštní velikost buňky?
Pojďme nyní již k tomu, jak ATM vypadá a jak vlastně funguje, co umí a dokáže, a co je naopak nad jeho síly. Než se ale do toho dáme, musíme si ještě zdůraznit, že ATM sice vznikalo ve světě spojů, ale pod dojmem neúspěchu „úzkopásmového ISDN“ se jeho autoři přeci jen zajímali také o potřeby a zájmy světa počítačů. Výsledný návrh technologie ATM je tak zcela záměrně poplatný specifickým požadavkům a potřebám obou světů. To se asi nejvíce projevuje na tom, jak velké (či spíše malé) bloky dat ATM přenáší.
Blokům, které technologie ATM přenáší, se říká buňky (anglicky: cells), a mají pevnou velikost. To proto, aby se s nimi co nejsnáze manipulovalo. Například díky tomu, že příjemce bude vždy vědět, jak velký kus dat právě přijímá, snáze najde místo pro dočasné uložení těchto dat (vhodný buffer) a následně data také snáze zpracuje. Jenže otázka zněla: jak velké by tyto buňky měly být? Kolik bytů by měly pojmout?
Názor světa spojů byl jasný a jednoznačný: buňky by měly být co možná nejmenší. To proto, že ve světě spojů se přenáší především multimediální data, která je třeba doručit (resp. odeslat) co nejdříve. A čím budou ATM buňky menší, tím jich bude moci být více – a když pak bude třeba něco rychle odeslat, tím spíše se najde nějaká buňka, která bude volná a do které půjde data vložit a okamžitě odeslat. Sečteno a podtrženo, svět spojů chtěl mít buňky opravdu extrémně malé, maximálně pro 32 bytů užitečného nákladu.
Naproti tomu ve světě spojů se tradičně prosazuje jiný pohled, a to požadavek na efektivnost: čím větší budou bloku (buňky), tím lépe, protože tím menší bude režie, připadající na nezbytnou hlavičku bloku (buňky), a případně i na odstupy mezi buňkami. Naproti tomu četnost buněk, ovlivňující to, za jak dlouho bude možné nějaká data odeslat, není ve světě počítačů, s jeho typickými aplikacemi (nikoli multimediálními), až tak kritická. Takže ve světě spojů chtěli naopak větší buňky. V žádném případě ne menší než pro 64 bytů.
Anály síťové historie přitom praví, že když se v poslední fázi rozhodovalo o velikosti ATM buňky, stály proti sobě oba právě popsané a vzájemně neslučitelné požadavky:
- určitě ne větší než 32 bytů
- určitě ne menší než 64 bytů.
Naštěstí asi byl u volby někdo s diplomatickým nadáním, a tak nakonec zvítězil kompromis: aritmetický průměr mezi 32 a 64, neboli 48 (protože (32+64)/2 je právě 48).
Proto má ATM dodnes značně netypickou (a extrémně malou) velikost své nákladové části, 48 bytů, doplněnou hlavičkou o velikosti pouhých 5 bytů. Celkem tedy ATM buňku tvoří 53 bytů.
Čtyři třídy provozu ATM
K pochopení toho, jak ATM funguje, si nyní přestavme jeho buňky seřazené těsně za sebou jako vagónky pomyslného (a nekonečně velkého) vláčku. To odpovídá tomu, že veškerá přenosová kapacita, kterou má ATM k dispozici, je využívána právě pro přenos jednotlivých buněk, jedné za druhou. A čím větší tato kapacita (na dané přenosové cestě) je, tím více vagónků dokáže „projet“ za jednotku času.
Specifickou vlastností ATM je pak to, jak dokáže s jednotlivými buňkami hospodařit, a využívat je pro více souběžně probíhajících přenosů. K tomu má ATM čtyři základní třídy provozu, které dokáže libovolně kombinovat. Tak, že každý přenos si při navazování spojení doslova „řekne“, co a jak od ATM sítě potřebuje a očekává. ATM síť tyto požadavky zhodnotí, a pokud je schopna jim vyhovět, učiní tak, spojení naváže a po celou dobu jeho existence požadované podmínky přenosu skutečně dodržuje. V opačném případě spojení ani nenaváže.
Takže třeba multimediální přenos, který potřebuje garantovanou přenosovou kapacitu a minimální latenci (přenosové zpoždění), si ATM síti řekne o jinou třídu provozu a jiné parametry přenosu, než například dávkový přenos souborů, který je podstatně méně náročnější. Právě tímto způsobem dokáže ATM vyhovět různým potřebám různých přenosů současně, v rámci jedné přenosové kapacity, kterou má sám k dispozici.
Ale jak to ATM vlastně dělá? Jak dokáže současně vyhovět takovému přenosu, který fakticky požaduje přepojování okruhů s plně vyhrazenou kapacitou, a současně jinému přenosu, který chce přenos na principu přepojování paketů, s minimální režií? Klíčem k pochopení této schopnosti technologie ATM jsou právě ony čtyři různé třídy provozu.
CBR, Constant Bit Rate
První ze čtyř tříd provozu, které technologie ATM nabízí, se jmenuje CBR, což je zkratka od: Constant Bit Rate (doslova: konstantní bitová rychlost). Jde o třídu, ve které ATM garantuje takovou konstantní přenosovou kapacitu, o kterou si daný přenos dopředu “řekne“. Fakticky tak emuluje (napodobuje) samostatnou přenosovou cestu („kus drátu“), která je vyhrazena právě a pouze danému přenosu, s veškerou svou kapacitou.
Dělá to přitom tak, že v rámci pomyslného vláčku rezervuje pro daný přenos vždy každý n-tý vagónek (kde ono „n“ je spočítané právě podle požadované přenosové kapacity). Díky této rezervaci pak má příslušný přenos vždy jistotu, že pro jeho data bude k dispozici ATM buňka, do které půjdou tato data „naložit“ a okamžitě odeslat. A to v takovém objemu (kapacitě), o jaký si daný přenos na začátku řekl a jaký byl pro něj vyhrazen.
Iluze vyhrazené kapacity jde v třídě CBR dokonce tak daleko, že vyhrazené, ale nevyužité ATM buňky nemohou být přenechány jinému přenosu, který by je mohl potřebovat. Bez užitku tak propadají. Proto je tato třída provozu vhodná jen pro takové přenosy, které generují víceméně konstantní objemy dat.
Používá se například pro již zmiňované propojování digitálních telefonních ústředen, které potřebují pro každý hlasový hovor pevně danou přenosovou kapacitu, odpovídající 64 000 bitů za sekundu.
VBR, Variable Bit Rate
Druhá třída provozu se jmenuje VBR, což je zkratkou od Variable Bit Rate, a v doslovném překladu to znamená „proměnná bitová rychlost“. Je to šito na míru takovým provozům, které negenerují konstantní datový tok, ale naopak proměnlivý datový tok. Jinými slovy: v různých časových okamžicích potřebují odeslat různě velké objemy dat. Takto se chovají například multimediální přenosy obrazu či zvuku, využívající technik komprese ke zmenšení objemu přenášených dat. Ten se pak liší v závislosti na tom, jak moc se přenášená scéna či zvuková kulisa mění.
I takovéto komprimované přenosy ale musí dopředu říci, v jakém rozsahu se jimi generované objemy dat budou měnit. Konkrétně jaké bude jejich maximum (MAX), a eventuelně i minimum (MIN). Technologie ATM jim pak vyhradí tolik buněk, kolik odpovídá zadanému maximu. Tedy vlastně stejně jako u režimu CBR - ovšem s tím podstatným rozdílem, že pokud kterákoli z vyhrazených buněk nebude využita, může být přenechána jinému přenosu, který ji může využít.
ABR, Available Bit Rate
Tím, kdo může využít ATM buňky, nevyužité v třídě provozu VBR, jsou provozy v další třídě, označované jako ABR, od Available Bit Rate, doslova: dostupná bitová rychlost. Takovéto přenosy pak při počátečním navazování spojení specifikují jak maximum (MAX), tak i minimum (MIN) zátěže, kterou budou generovat, a ATM síť jim také rezervuje příslušný počet svých buněk – ale podle zadaného minima (MIN).
Tím mají tyto přenosy garantovánu pouze minimální požadovanou přenosovou kapacitu. A pokud budou potřebovat větší kapacitu – a ATM síť bude mít k dispozici potřebné buňky – mohou je tyto přenosy dostat také, až do výše zadaného maxima. Nemohou se na to ale spolehnout, protože ATM síť jim takovéto „přídavky“ skutečně negarantuje.
UBR, Unspecified Bit Rate
Konečně čtvrtou třídou provozu, kterou technologie ATM nabízí, je třída UBR, od: Unspecified Bit Rate. Jde o třídu, v rámci které přenosy dopředu neříkají nic o tom, kolik dat budou potřebovat přenést – a ATM síť jim také vůbec nic negarantuje. Tedy ani žádnou minimální přenosovou kapacitu. Vždy jim poskytne jen tolik, kolik jí zbude po uspokojení všech požadavků ve všech předchozích třídách provozu.
Třída UBR, bez jakýchkoli garancí, odpovídá tomu, jak funguje většina přenosových technologií světa počítačů, na principu přepojování paketů a stylem best effort (tedy na principu maximální snahy, ale nezaručeného výsledku). Pokud je například technologie ATM využita jako „podklad“ pro provozování síťového protokolu IP z rodiny TCP/IP (tj. pokud je IP provozováno nad ATM), využívá se právě této třídy provozu, která nejlépe odpovídá povaze protokolu IP, dnes dominujícího ve světě počítačů.
Naopak třída CBR (a vlastně i třída VBR), umožňuje takové způsoby přenosu, které naopak odpovídají přepojování okruhů, které je tak často a s oblibou používáno ve světě spojů. A to nejen skrze garantovanou přenosovou kapacitu, ale také skrze velmi malé přenosové zpoždění a jeho minimální rozptyl.
Už rozumíte tomu, jak dokáže ATM vycházet současně vstříc potřebám světa spojů i světa počítačů, a rozdělovat mezi ně tu přenosovou kapacitu, kterou má k dispozici?