Vyšlo v týdeníku CHIPweek č. 24/96, 11. června 1996
Vytištěno z adresy: http://www.earchiv.cz/a96/a624k150.php3

Vrstevnatý model

Když se rodila celková koncepce referenčního modelu ISO/OSI, nebylo mezi jejími autory mnoho pochyb o tom, že by mělo jít o vrstevnaté řešení, neboli o řešení členěné na hierarchicky uspořádané vrstvy. Názorové odlišnosti autorů se týkaly spíše počtu vrstev a jejich určení, zatímco konsensus o samotné povaze vrstevnatého modelu a způsobu jeho fungování byl vcelku bezproblémový.

Řešit jeden velký a těžký úkol jako jediný celek je vždy těžší, než rozložit jej na menší kusy a ty řešit samostatně - tuto pravdu lidé znají už hodně dlouho, a řídí se jí v mnoha oborech své činnosti. Nejinak tomu bylo i v situaci, kdy skupina odborníků pracující pro organizaci ISO měla navrhnout základní koncepci „životní filosofie" v oblasti počítačových sítí, posléze pojmenovanou jako Referenční model ISO/OSI. Napomohla tomu ostatně i celková podstata řešeného problému, která si doslova říkala o dekompozici po hierarchicky uspořádaných vrstvách. Zúčastnění odborníci proto velmi rychle dospěli ke konsensu o vrstevnatém modelu, a začali diskutovat o jeho konkrétní podobě.

Pravidla hry ve vrstevnatém modelu

Hlavní výhodou dekompozice jednoho velkého problému na několik problémů menších je bezesporu snazší zvládnutelnost - k tomu je ale nutná možnost samostatného řešení dílčích problémů. Představíme-li si pod dílčími problémy přímo jednotlivé hierarchicky uspořádané vrstvy, pak podmínkou jejich samostatné řešitelnosti je přesné vymezení rozhraní mezi nimi, tak aby konkrétní způsob řešení jedné vrstvy neovlivňoval způsob řešení jiné vrstvy - tj. aby se řešitelé jedné vrstvy nemuseli vázat na to, co vymyslí řešitelé jiné vrstvy. Vymezit takovéto rozhraní samozřejmě lze, ale vyžaduje to už mít poměrně jasnou představu o tom, kolik vrstev by mělo být a co by každá z nich měla dělat. A pak také představu o tom, jak budou spolu jednotlivé vrstvy komunikovat.

Představa o vzájemné komunikaci mezi vrstvami vychází z jejich hierarchického uspořádání, a připouští komunikaci pouze mezi sousedními vrstvami (ve smyslu jejich hierarchického uspořádání) - představíme-li si tedy jednotlivé vrstvy navršené nad sebou, může každá z nich komunikovat jen s vrstvou bezprostředně nižší, a s vrstvou bezprostředně vyšší. Konkrétní představa jde dokonce ještě o něco dále, a blíže vymezuje charakter této komunikace: tato má formu poskytování služeb (kdy nižší vrstva poskytuje své služby vyšší vrstvě), resp. využívání služeb (kdy vyšší vrstva využívá služeb vrstvy nižší). Přesná pravidla této komunikace, tj. konkrétní způsob vzájemného nabízení a využívání služeb, je pak již součástí definice rozhraní mezi každými dvěma sousedními vrstvami, a pro možnost nezávislého řešení jednotlivých vrstev musí být fixován - tak aby určitá vrstva mohla volat služby bezprostředně nižší vrstvy, a nemusela se starat o to jak jsou realizovány.

Dalším předpokladem je i skutečnost, že ke komunikaci mezi dvěma sousedními vrstvami nebude docházet chaoticky, resp. „na libovolném místě" v rámci vzájemného rozhraní. Zde se předpokládá existence přesně vymezených „přechodových bodů", přes které bude veškerá komunikace procházet - v terminologii RM ISO/OSI jsou tyto body označovány jako body SAP (Service Access Points). Přes tyto přechodové body si jednotlivé vrstvy budou předávat své požadavky i odpovědi na ně ve formě speciálních „balíčků" (ve skutečnosti různých datových jednotek, tzv. Data Units), ve kterých budou obsaženy jak specifikace požadavků na provedení konkrétních služeb, tak i jim příslušející data.

Partnerské vrstvy a protokoly

Obrázek 1.
Představa komunikace ve vrstevnatém modelu
Doposud naznačená představa komunikace se zatím týkala pouze hierarchicky uspořádaných vrstev v rámci jednotlivých uzlů. Konkrétní vrstvy ovšem plní své úkoly ve spolupráci se stejnolehlými vrstvami jiných uzlů - tj. komunikují se svými partnerskými vrstvami na jiných uzlech. Zde je přitom velmi důležité, že jde právě a pouze o stejnolehlé vrstvy, tj. o vrstvy na stejné úrovni hierarchického uspořádání. Konkrétní pravidla komunikace mezi stejnolehlými vrstvami se přitom obecně označují jako protokoly, a jsou opět specifické pro jeden konkrétní způsob naplnění toho, co daná vrstva má zajistit.

Právě popsaná základní pravidla fungování vrstevnatých modelů nejsou specifická jen pro Referenční model ISO/OSI, kterým se právě zabýváme. Přijímají je za své snad všechny existující síťové modely a architektury, a následně se liší spíše v tom, kolik vrstev zavádí a jaké úkoly jim přisuzují.

Další výhoda vrstevnatých modelů

Vedle možnosti samostatného řešení jednotlivých vrstev je další obrovskou výhodou vrstevnaté koncepce i možnost alternativního řešení nižších vrstev, bez výraznějšího vlivu na vrstvy vyšší. Projevuje se to tím, že úkoly jedné a téže vrstvy mohou být zajišťovány různými protokoly, resp. pro jednu a tutéž vrstvu mohou existovat různé alternativní protokoly. Zkusme si naznačit některé praktické důsledky - bude-li třeba jedna část soustavy vzájemně propojených sítí „běhat" po Ethernetu, jiná po optickém vlákně technologií FDDI či ATM a ještě jiná třeba po pevném okruhu telefonního typu, budou na několika nejnižších vrstvách používány různé protokoly, ale na vyšších vrstvách by mělo být možné vystačit všude se stejnými protokoly, protože na úrovni těchto vyšších vrstev už nebude rozdíl v konkrétní implementaci nižších vrstev patrný.

Nebo ještě jiný pohled: napadá vás jak by bez rozdělení na vrstvy, vrstevnatého modelu a značné nezávislosti implementace jedné vrstvy na druhé šlo zařídit například to, aby jeden a tentýž síťový produkt dokázal pracovat na počítačích s různými síťovými kartami?