Vyšlo v týdeníku CHIPweek č. 23/95, 4. října 1995
Vytištěno z adresy: http://www.earchiv.cz/a95/a523k900.php3

Kam spěje síťový svět?

K fungující jednoduchosti, nebo k nefungující složitosti?


Vyšlo v týdeníku CHIPweeku 23/95 jako součást přílohy "Trendy '95", před Invexem '95"

Když se lidé potýkají s nějakým problémem, hledají vhodné řešení, když se snaží něco navrhnout, zkonstruovat apod., mohou na to jít různými způsoby. Mohou například od začátku usilovat o dokonalé, precizní a rigidní řešení deterministického charakteru, které již má své vlastní vítězství v sobě zakódováno, a které nepočítá s tím, že by se muselo vyrovnávat s nějakými nepříznivými vlivy či přímo „ránami". Takováto řešení mají tendenci vycházet značně složitá, a při jejich praktické realizaci se velmi často zapomene na něco, co se později ukáže jako rozhodující a klíčové. Nebo mohou lidé aplikovat skromnější přístup a usilovat o takové řešení, které se snaží dokonalosti teprve samo dobrat, které se učí z vlastních chyb, které je adaptivní a přizpůsobuje se reálné situaci, které dokáže absorbovat nejrůznější šoky - a v důsledku toho všeho má obvykle nedeterministickou povahu. V praxi takovéto řešení většinou vychází výrazně jednodušší, a tudíž i snáze realizovatelné. Pro markantní praktické příklady není třeba chodit daleko: ekonomika socialismu (a vlastně celý socialismus) se snažila aplikovat první z obou přístupů, zatímco tržní ekonomika kapitalismu vychází z druhého přístupu. Výsledek jejich klání snad ani není třeba nějak blíže rozvádět.

ISO/OSI vs. TCP/IP

Můžeme ale něco podobného vysledovat i v oblasti počítačových sítí? Ano, a opět dosti markantního. Jde o srovnání referenčního modelu ISO/OSI a síťového modelu TCP/IP. Najdete ve svém okolí nějakou síť na bázi protokolů ISO/OSI? Dokážete se orientovat v existující nabídce produktů pro tuto platformu? A co takhle Internet a produkty na bázi TCP/IP? To je asi jiné, že?

Referenční model ISO/OSI, pocházející ze „světa spojů", je velmi dobrým příkladem dokonalého řešení. Tak dokonalého, že v praxi moc nefunguje. Dokonce tak dokonalého, že jej mnohdy ani nelze v plném rozsahu implementovat. Dnes už je to dostatečně patrné, a vzali to na vědomí například i státní byrokraté. Ti ještě donedávna trvali na tom, že veškerá síťová řešení v jejich dosahu musí vycházet z koncepce ISO/OSI. Pak ale zjistili, že svět kolem nich vesele „síťuje", zatímco oni stále přešlapují na místě. A tak dostali rozum, a připustili i řešení na bázi TCP/IP.

Základním problémem referenčního modelu ISO/OSI je právě jeho snaha o dokonalost a celkově maximalistický přístup tvůrců k řešení celého problému. Refereční model je možná dobrou platformou pro výuku počítačových sítí, ale už nikoli pro skutečné používání. Praxe dala jednoznačně přednost celkové filosofii TCP/IP, na jejíž základech stojí velmi mnoho dobře fungujících sítí, od miniaturních sítí LAN až po skutečně celosvětový Internet. V čem je příčina úspěchu TCP/IP?

Je v tom, že autoři TCP/IP neusilovali o dokonalé řešení. Úplně na začátku měli jako hlavní úkol vymyslet vše tak, aby výsledek byl maximálně robustní, a dokázal přežít i libovolně velké výpadky svých jednotlivých částí. Adaptivnost a důsledný akcent na praktickou použitelnost pak zůstaly celé koncepci TCP/IP věrné až do dnešních dnů, a jsou v ní tak hluboce zakořeněné, že jejich opuštění je velmi nepravděpodobné. Konkrétním příkladem může být odvaha tvůrců TCP/IP použít takové řešení, které funguje pouze stochasticky (tj. bude fungovat správně a dle očekávání jen s určitou pravděpodobností, a nikoli se stoprocentní jistotou). Vždyť co jiného je nespolehlivý a nespojovaný způsob přenosu, který TCP/IP předpokládá na úrovni síťové vrstvy (a realizuje protokolem IP). Tvůrci referenčního modelu ISO/OSI k něčemu takovému odvahu nenašli, a proto jejich výtvor počítal od začátku pouze se spolehlivými a spojovanými službami (a teprve dodatečně, pod tlakem „počítačové" odborné veřejnosti, připustili i nespojované a nespolehlivé služby).

Mezi referenčním modelem ISO/OSI a modelem TCP/IP však existují ještě další významné rozdíly. Například ten, že autoři ISO/OSI se snažili a nadále snaží všechno striktně „sešněrovat" vlastními standardy a normami, každému a na každé úrovni přesně předepsat co a jak má dělat, zatímco tvůrci TCP/IP to udělali jen tam, kde je to nezbytně nutné a všude jinde se snažili ponechat maximální možnou volnost (a snažili se specifikovat spíše „co" má být dosaženo, než „jak").

Velmi významný je odlišný pohled ISO/OSI a TCP/IP na přenosovou část sítě. Referenční model ISO/OSI vychází z představy že přenosová síť má být inteligentní, a má zajišťovat co možná nejvíce funkcí, které by pak koncové uzly již mohly pouze využívat, a nemusely si je zajišťovat samy. Dovedeno ad absurdum, referenční model počítá s tím, že síť má být inteligentní, a koncové uzly mohou být hloupé. Naproti tomu síťový model TCP/IP vychází z toho, že mu stačí nejjednodušší přenosová síť, která plní v zásadě jen jednu jedinou funkci - přenáší data. Zato ale co možná nejrychleji. Všechno ostatní už si pak vyřídí koncové uzly. Dovedeme-li to opět ad absurdum, síťový model TCP/IP počítá s hloupou sítí, a chytrými koncovými uzly.

S pohledem na vlastnosti a způsob fungování přenosové části sítě pak souvisí i další markantní rozdíl mezi ISO/OSI a TCP/IP: zatímco ISO/OSI říká jak konkrétně má být tato přenosová část realizována, TCP/IP nic takového nespecifikuje a v zásadě říká: „použijte cokoli, co máte k dispozici, nám stačí abychom to mohli využít pro nespolehlivý a nespojovaný přenos". Tvůrci referenčního modelu ISO/OSI přitom měli před očima technologii X.25 (a filosofii veřejných datových sítí), zatímco autoři TCP/IP neměli žádnou úzce vyhraněnou představu. Později ale do jejich obecné představy téměř ideálně zapadnul Ethernet.

Ethernet vs. veřejné datové sítě

Pokud bychom chtěli vzájemně porovnat celkovou filosofii veřejných datových sítí s filosofií Ethernetu, pak nám z toho vyjde celkem jednoznačné přiřazení k oběma alternativním přístupům, citovaným již v úvodu tohoto článku. Veřejné datové sítě jsou od začátku „dokonalým", deterministickým a složitým řešením, hýřícím různými funkcemi, zatímco Ethernet je jednoduchým adaptivním řešením, fungujícím na stochastickém principu, a nabízejícím holé minimum funkcí, nezbytných pro přenos. Podobně jako celý referenční model ISO/OSI (do kterého ostatně od začátku zapadají) předpokládají veřejné datové sítě inteligentní síť a hloupé koncové uzly. Naproti tomu Ethernet počítá s hloupu sítí, a chytrými uzly. Zkusme si to poněkud rozvést.

Koncepce veřejných datových sítí předpokládá, že již samotná přenosová část sítě bude zajišťovat všechny funkce, související s korektním doručováním přenášených dat od jejich příjemců až ke koncovým adresátům. Počítá tedy s tím, že se sama postará o nápravu, když se někde po cestě něco poškodí či zcela ztratí. Sama se také stará i o to, že každému koncovému uzlu bude předloženo jen to, co se ho skutečně týká, a čemu by měl věnovat svou pozornost. Veřejné datové sítě tedy předpokládají výrazně aktivní roli přenosové sítě jako takové, a spíše pasivní roli koncových uzlů.

Naproti tomu Ethernet počítá s aktivní rolí koncových uzlů, a se zcela pasivní rolí přenosového média - fungujícího pouze jako prostředí, ve kterém se přenášená data šíří všemi směry současně. Kdysi dávno, když ještě fyzikové nedokázali vysvětlit šíření nejrůznějších vln, vymysleli si všudypřítomnou a všeprostupující substanci, která svou pouhou pasivní existencí ono šíření různých druhů vln umožňuje. Později sice sami sobě dokázali, že nic takového nemůže existovat, ale termín „éter" již byl na světě, a tvůrcům Ethernetu se velmi dobře hodil pro vyjádření pasivní role, jakou v jejich řešení hraje přenosové médium.

Robert Metcalfe, považovaný za hlavního autora Ethernetu, již v roce 1973 napsal: „někdy možná budeme pro naše přenosy využívat například i stromovité uspořádání kabelových segmentů nebo dokonce bezdrátové přenosové cesty, telefonní síť či něco ještě jiného. Přesto ale raději uvažujme o přenosové cestě jako o éteru, než jako o „kabelu" či jiném konkrétním přenosovém médiu - protože to podstatné je skutečnost, že náš přenosový kanál šíří data současně všemi směry, ke všem příjemců." Jinými slovy to znamená, že přenosová síť doručí každému uzlu úplně všechno, a teprve koncový uzel se musí na něj dopadající „lavinou" sám probrat a vybrat si z ní to, co mu patří.

Dnes se tato prorocká slova skutečně naplnila. Původní Ethernet sice začínal s „lineárními" koaxiálními segmenty, které se jako mnohobodové spojení nemohly chovat jinak než jako skutečný éter. V současnosti se ale Ethernet nejčastěji používá na rozvodech se stromovitou topologií, vybudovaných pomocí kroucené dvoulinky (tj. dle standardu 10 Base T). Ty by se již nemuseli chovat jako éter, a přenášet „všechno všem" - ale kvůli zachování samotné podstaty Ethernetu se tak stále chovají. Stejně tak se bytostná podstata Ethernetu nemění ani v jeho nejnovějších mutacích, jakou je například stomegabitový Ethernet (100 Base T). V čem ale spočívá ona podstata Ethernetu, a čemu tato technologie vděčí za svůj obrovský úspěch?

Nejspíše tomu, že je velmi jednoduchá, robustní, a snadno implementovatelná. Navíc je řešením, které neusiluje o apriorní dokonalost, ale snaží se učit z vlastních chyb a přizpůsobovat se. Je řešením, které se nebojí o sobě tvrdit, že nemusí fungovat - jak kdysi trefně poznamenal sám Robert Metcalfe, „Ethernet je řešením, které funguje v praxi, ale nikoli v teorii". Důvodem je neřízená přístupová metoda Ethernetu (metoda CSMA/CD), která zaručuje přístup k přenosovému médiu a právo vysílat jen s určitou pravděpodobností, ale nikoli s jistotou. To je také hlavní rozdíl například mezi Ethernetem a technologií Token Ring vyvinutou firmou IBM. Ta se snaží být od začátku dokonalá, používá řízenou přístupovou metodu, a ani na chvilku si nepřipouští, že by někdy mohla selhat a nezajistit žadateli právo a možnost vysílat. Čísla však hovoří jasně: sítí na bázi Ethernetu je ve světě zhruba třikrát více než sítí Token. V Evropě, a zejména pak u nás, je převaha Ethernetu ještě výraznější.

Hází bůh kostkami?

Zkusme si nyní odvodit nějaký závěr, kerý by vyplýval z výše uvedených příkladů. Mohl by znít asi takto: řešení, která se snaží být dokonalá, přesná a deterministická, vychází příliš složitá a v dlouhodobém výhledu většinou nefungují. Mnohem životaschopnější se ukazují taková řešení, která sází na jednoduchost a adaptivnost, byť za cenu nedeterministického chování.

Ještě by ale bylo možné učinit jeden zajímavý závěr: ona „apriorně dokonalá" a složitá řešení jsou vesměs řešení centralistická, která se snaží soustředit všechnu inteligenci do jednoho bodu či místa, zatímco fungující nedeterministická řešení mají většinou distribuovanou povahu, a počítají s účastí většího počtu aktivních prvků, které již nemusí být nijak „přehnaně inteligentní".

Život jako by chtěl tuto úvahu názorně dokumentovat: například v minulém roce se čtyřem vědcům z prestižní americké univerzity MIT podařilo rozluštit 129-místný kód RSA. Kód, o kterém jeho autor v roce 1977 dokázal, že tehdy nejvýkonnější superpočítač by jej luštil čtyři kvadriliony let. Od té doby výkonnost superpočítačů rozhodně nestoupla tak výrazně, aby se tato doba zkrátila na minimum. To pouze oni čtyři vědci použili distribuovaný systém, tvořený 1600 vcelku obyčejnými pracovními stanicemi, připojenými k Internetu. Centralizované řešení, přistupující k řešení problému „hrubou výpočetní silou superpočítače", tak dostalo značně na frak od řešení distribuovaného, sázejícího na vysoký paralelismus relativně jednoduchých prvků.

A co například takové výzkumy v oblasti umělé inteligence? Proč se stále nedaří namodelovat lidské myšlení? Ukazuje se, že je to nesmírně obtížné, a zřejmě nerealizovatelné klasickým „centralizovaným" přístupem. Spíše než k superpočítači má asi lidský mozek blíže k neuronovým sítím či jinak značně distribuovaným modelům, které pracují s obrovským množstvím jednoduchých až velmi jednoduchých prvků. A také se začíná ukazovat, že i tyto jednoduché prvky fungují nedeterministicky, a tudíž i výsledný celek je stochastické povahy. Je úplně náhodné, že dva z nejvýznamnějších pilířů soudobé vědy, kvantová teorie a teorie informace, stojí také na stochastických základech, a nikoli na základech exaktního determinismu? Možná že celý náš svět stojí na nedeterministických základech - možná že i Bůh si někdy hodí kostkou.

Na obzoru je ATM

Filosofie a celkové vlastnosti Ethernetu vcelku dobře vyhověly požadavkům datových přenosů v lokálních počítačových sítích. Ty až dosud neměly přehnané nároky na okamžitě disponibilní přenosovou kapacitu, a díky svému spíše nárazovitému charakteru nebyly ani příliš citlivé na případná zpoždění. Takže jim ani moc nevadilo, když se díky nedeterministické povaze Ethernetu někde něco na chvíli zdrželo, a ve velmi vzácných případech případně ani neodeslalo.

Nyní se ale nároky uživatelů a jejich aplikací mění. Roste zejména jejich apetit po dostupné šířce pásma, na které především závisí celková přenosová kapacita. Současně s tím začínají některé aplikace pracovat v reálném čase, a s tím se pak mění i jejich nároky na plynulost „dodávky" dat: například novým multimediálním aplikacím dost vadí, když svá data nedostávají s železnou pravidelností, s pravidelnými časovými odstupy. Ostatně, jak by se Vám líbilo dívat se například na takovou projekci filmu, při které by rychlost posuvu filmového pásu neustále kolísala?

Zcela objektivně tedy vznikla potřeba takové přenosové technologie, která by dokázala vyhovět nejen stále větším požadavkům na přenosovou kapacitu, ale také požadavkům na pravidlený přísun dat. Klasický Ethernet se tomuto požadavku snaží přizpůsobit - jednak svým desetinásobným zrychlením na 100 megabitů, a jednak různými mutacemi, včetně tzv. izochronního Ethernetu, který se snaží vyjít vstříc aplikacím pracujícím v reálném čase.

Na scéně se však objevil další kandidát - technologie ATM (Asynchronous Transfer Mode). Jde o řešení, které vzniklo do značné míry ve „světě spojů", ale je kladně přijímáno i ve „světě počítačů". Technologie ATM má mnoho zajímavých vlastností: není například vázána na žádnou konkrétní přenosovou rychlost. Je to možné díky tomu, že sama nezajišťuje fyzický přenos dat (na úrovni fyzické vrstvy), a spoléhá se na jiné technologie, které řeší právě toto. Zjednodušeně řečeno to znamená, že rychlost ATM je dána rychlostí fyzické technologie, která se „pod ATM podstrčí". V současné době se nejčastěji mluví o ATM přenosech rychlostí 155 Mbitů za sekundu po optických vláknech, ale to zdaleka není poslední slovo. Dalším stupínkem je rychlost 622 Mbps, ale v nepříliš daleké budoucnosti se zcela jistě setkáme s ATM o rychlosti v řádu gigabitů.

Další významnou vlastností ATM je skutečnost, že přenášená data člení na velmi malé části (velikosti 48 bytů). Přesněji: ke zmíněným 48 bytům připojí ještě 5 bytovou hlavičku, čímž vznikne tzv. ATM buňka velikosti 53 bytů, a ta se pak skutečně přenáší. Zlé jazyky přitom tvrdí, že oněch značně nestandardních 48 bytů vzniklo jako smírčí kompromis mezi zájmy „lidí od spojů" a „lidí od počítačů": pro přenos zvuku a obrazu v reálném čase je totiž nejvýhodnější co možná největší počet co možná nejmenších buněk, zatímco pro ostatní druhy přenosů (pro klasické „datové" přenosy) jsou zase výhodnější co nejdelší buňky. Takže jedna strana navrhovala 32 bytů, a druhá byla ochotna klesnout až na 64 bytů. Výsledný kompromis však stále ještě zaručuje, že v takovém množství buněk se vždy najde alespoň jedna volná, kterou bude možné využít pro taková data, která musí být doručena včas. Díky tomu dokáže ATM vyhovět i požadavkům na přenos v reálném čase.

Vliv technologie ATM na oblast datových přenosů i na samotné telekomunikace, které jsou dnes stále více čistě digitální záležitostí, bude obrovský, a lze jej přirovnat k vlivu kontejnerizace na nákladovou dopravu. Tím, že se všechno začalo balit do standardně velkých kontejnerů, bylo možné sjednotit prakticky všechny postupy, a vytvořit jednotné a velmi efektivní nástroje a prostředky pro manipulaci s těmito kontejnery. V případě technologie ATM jde o buňky, které jsou vždy přesně stejně velké, a navíc hodně malé. Díky tomu je možné s nimi manipulovat jednotným způsobem (jde-li pouze o jejich transport), a jelikož jsou malé, není tato manipulace příliš složitá. Je dokonce možné ji přímo „zadrátovat", neboli zajistit hardwarem, šitým na míru potřebám přepojování ATM buněk - a zde je zřejmě hlavní klíč k rychlosti technologie ATM. Její rychlostní strop dnes není omezen nějakým apriorním limitem, ale pouze schopností fyzické přenosové technologie přijímat a odebírat jednotlivé bity, a dále schopností hardwaru manipulovat s jednotlivými buňkami („přepojovat je"). To je například také důvod, proč v dnešní době ATM ještě nenabízí ony báječné gigabity, ale zatím pouze megabity za sekundu.

ATM - velký sjednotitel

Velmi mnoho vlivných představitelů současného počítačového světa i světa spojů a telekomunikací se vcelku vzácně shoduje v názoru, že ATM je jejich společnou budoucností. Že jde o technologii, která vychází stejnou měrou vstříc potřebám obou světů, a která bude jednou provždy „konečným řešením" všech problémů kolem digitálních přenosů. Případné rozdíly v názorech jednotlivců se pak projevují spíše v tom, kde přesně ATM převládne jako první: lidé „od lokálních počítačových sítí" se většinou domnívají, že se prosadí nejdříve v sítích rozlehlých, zatímco lidé „od rozlehlých sítí" to vidí opačně.

O skvělé budoucnosti ATM a o zániku Ethernetu, jsou dnes podle vlastních slov přesvědčeni například i jeho autoři - sám Robert Metcalfe, který Ethernet z větší části vymyslel, Leonard Kleinrock, který je podepsán pod matematikou stojící za reálným fungováním Ethernetu, i například Ronald Schmidt, kterému svět vděčí za dnes nejrozšířenější verzi Ethernetu, standard 10 Base T (umožňující provozovat Ethernet po kroucené dvoulince). Je ale budoucnost ATM skutečně tak zářná? Nenajde se ani špetka pochybností?

Zkusme se na to podívat z trochu jiného úhlu. ATM rozhodně patří do kategorie „apriorně dokonalých" a složitých řešení. Navíc řešení centralizovaného charakteru, které předpokládá existenci centrálních přepojovacích prvků, tzv. ATM ústředen (ATM switches), vybavených nemalou vlastní inteligencí. ATM tedy znovu dělá to, co se již jednou ukázalo jako špatně průchodné - snaží se vnášet složitost a inteligenci do samotné přenosové části sítě. Představuje tedy výrazný odklon od cesty směrem k jednoduchým decentralizovaným řešením, která v oblasti počítačových sítí nastoupil Ethernet, a která se i v jiných oborech ukazuje jako dlouhodobě schůdnější a perspektivnější. Není tedy ATM pokusem vydat se znovu cestou, která se již jednou ukázala jako slepá vývojová větev? Odpověď na tuto otázku dnes nezná nikdo, a s prvními náznaky přijde teprve čas.

Již dnes je ale možné najít oblasti, pro které ATM nebude požehnáním a „konečným řešením". Například celá oblast bezdrátových komunikací má svou příslušnost k distribuovaným řešením s přenosovým médiem na principu éteru doslova vrozenou. V současné době přitom již funguje na principech, které jsou velmi blízké principům Ethernetu, a těžko se jich bude moci někdy vzdát. A co takhle kabelové společnosti, které se snaží dovést koaxiální kabel či ještě lépe optické vlákno až do každé domácnosti? Pro ně by také bylo jistě výhodnější úplně „hloupé" a pasivní přenosové médium, fungující na principu éteru. Pročpak asi dnes experimentují s tzv. širokopásmovým Ethernetem, a snaží se výrazně zvýšit jeho dosah? Nedočkáme se nakonec renesance Ethernetu, či nějaké jiné jednoduché a výkonné technologie, stojící na distribuovaných a nedeterministických řešeních?

Nebo se konečně podaří najít alespoň jedno řešení odvěké rovnice „dejte nám X, a pak už bude všechno dobře" - tentokráte pro X=ATM? Držím technologii ATM palce, ale na univerzální řešení nevěřím.