Referenční model ISO/OSI
V současnosti nejspíš nejpoužívanějším standardem v počítačových sítích je tzv. Referenční model ISO/OSI (často také označován RM ISO/OSI), kde zkratky ISO patří standardizační organizaci, která normu vydala, tedy International Organization for Standardization a OSI je zkratka z anglického Open System Interconnection neboli propojování otevřených systémů. Byl přijat v roce 1979 jako norma standardizační organizace ISO a posléze i jako doporučení X.200 společnost CCITT. Tento model se skládá ze sedmi vrstev směrem shora dolů, viz následující Obr. 7:
RM ISO/OSI využívá základní pojmy jako jsou vrstva, entita, protokol a služba. Vrstva (anglicky Layer) je přesně definována nějakou funkcí a bezprostředně sousedí s vrstvou nižší a vyšší. Výjimkami jsou vrstva nejvyšší (aplikační), která sousedí přímo s aplikačním procesem a vrstva nejnižší (fyzická), která sdílí rozhraní přímo s fyzickým médiem. Entita (Entity) je objekt, který v dané vrstvě vykonává konkrétní činnost. Ve vrstvách vyšších se jedná o software, ve vrstvách nižších je to hardware. Entity v sobě odpovídajících vrstvách mezi sebou komunikují pomocí pravidel, kterým se říká protokoly (protocols) a pro již výše zmíněné činnosti uvnitř entity využívají služby nižší vrstvy a poskytují služby vrstvě vyšší.
Nyní se zaměříme na jednotlivé vrstvy a vysvětlíme si jejich funkce. Začneme vrstvou nejnižší (fyzickou) a skončíme vrstvou nejvyšší (aplikační).
Fyzická vrstva (Physical layer)
Nejnižší vrstva RM ISO/OSI zprostředkovává fyzický přenos dat v podobě bitů mezi odesílatelem a příjemcem. Řeší se zde především technické parametry, jako jsou elektrické signály definující 0 a 1, typy konektorů, druhy kabelů apod. Nezajímá se o význam jednotlivých bitů, jen je posílá dál. Zabývá se také kódováním, modulací a synchronizací přenosu dat.
Vyšší, linkové, vrstvě nabízí služby typu „přijmi bit“ a „odešli bit“ a musí zajistit, aby byl vyslaný jedničkový bit přijmut také jako jedničkový, nikoli nulový.
Linková vrstva (Data link layer)
Tato vrstva bývá také označována jako spojová nebo vrstva datového spoje. Data jsou zde spojována do tzv. rámců o velikosti několik stovek bajtů. Linková vrstva musí poznat začátek a konec rámce, kontroluje jejich správnost pomocí CRC kontrolních součtů. Pokud je na linkové vrstvě požadováno zajištění spolehlivého přenosu, musí se příjemce postarat o to, aby byl odesílatel upozorněn, že rámec přišel poškozen a má ho poslat znovu.
Další vlastností linkové vrstvy je tzv. řízení toku, kterým se rozumí řízení rychlosti přenosu tak, aby příjemce stíhal rámce zpracovávat. Pokud by přenos byl příliš rychlý a příjemci by již nestačila vyrovnávací paměť k ukládání rámců, nezbylo by mu nic jiného, než další rámce zahodit. Příjemce tedy zpravidla řídí rychlost přenosu pomocí nějakého mechanismu.
Tato vrstva se dělí na dvě podvrstvy a to LLC (Logical Link Control), která se zabývá úkoly již výše popsanými a MAC (Media Access Control), která hlídá kolizní stavy při přístupu více uzlů na společné medium v lokálních LAN sítích.
Linková vrstva zajišťuje přenos pouze u přímého spojení a tudíž i adresy na úrovni linkové vrstvy jsou jednorozměrové bez dalšího logického členění. Bezprostředně vyšší (síťové) vrstvě nabízí služby typu „odešli rámec sousednímu uzlu“ resp. „přijmi rámec ze sousedního uzlu“.
Síťová vrstva (Network layer)
Jestliže vrstva spojová (linková) přenášela data jen u přímého spojení, vrstva síťová využívá tzv. směrování k přenášení dat dále než k sousedním uzlům. Data jsou zde členěna do tzv. packetů. Na rozdíl od rámců složených z záhlaví, dat a patičky využívajících tzv. MAC adresu odesílatele a příjemce je packet blok dat s hlavičkou na úrovni síťové a vyšší vrstvy a jako adresy jsou zde používány IP adresy obou koncových účastníků a také informace o potvrzování nebo o řízení toku.
Směrování (angl. routing) je rozhodování, jakým směrem budou data putovat a to na základě znalosti topologie sítě. U spojovaných přenosů je nejdříve vytyčena cesta mezi odesílatelem a příjemcem, kdežto u nespojovaných přenosů je směr přenosu určován vždy pro každý blok znovu, někdy dokonce znovu i v každém přestupním uzlu.
Transportní vrstva (Transport layer)
Transportní vrstva RM ISO/OSI se zabývá rozdělením balíku odesílaných dat do packetů, které pak síťová vrstva posílá směrem k příjemci nebo naopak k sestavení došlých packetů opět dohromady. Jedním z jejich úkolů je vyrovnávat rozdíly mezi síťově orientovanými třemi spodními vrstvami a aplikačně orientovanými třemi vyššími.
Umí rozpoznávat chyby a někdy je i dokonce opravovat. Jelikož při rozdělení dat na packety jsou tyto označeny číselně, dovede také odhalit nesprávné pořadí při doručení packetů a uspořádat je správně. Dovede také rozpoznat, kterému programu dané data patří a podle toho ho předat konkrétnímu příjemci v rámci uzlu. Transportní vrstva tedy nebývá implementována v meziuzlech (směrovačích, mostech apod.), ale až v koncových zařízeních.
Relační vrstva (Session layer)
Název relační vrstva pochází z relace, tzn. doby, po kterou spolu uzly komunikují. Tato vrstva se tedy stará o operace během této doby, jako je navázání, řízení a rušení spojení, rozhodování o jaké spojení půjde – poloduplexní, kde se uzly střídají v příjmu a vysílání dat nebo plně duplexní, kde oba uzly zároveň přijímají a vysílají. Také rozhoduje o tom, zda bude použit šifrovaný přenos dat.
Prezentační vrstva (Presentation layer)
Prezentační vrstva překládá data z nejvyšší aplikační vrstvy tak, aby byla srozumitelná všem nižším vrstvám a naopak na straně příjemce je převádí do formátu takového, aby je cílová stanice dovedla rozpoznat a předat dané aplikaci. Zabývá se tedy kompresí a kódováním dat, protože k jedné a téže posloupnosti bitů může jedna aplikace nahlížet jinak než aplikace druhá právě díky např. rozdílnému kódování znaků. Proto je někdy nezbytná konverze dat mezi různými datovými formáty. Tato vrstva se zabývá pouze strukturou dat, nikoli jejich významem.
Aplikační vrstva (Application layer)
Tato nejvyšší vrstva RM ISO/OSI má za úkol poskytování služeb aplikacím. Ze samostatných aplikací jsou zde zahrnuty jen ty součásti, které mají cenu standardizovat. Příkladem služby aplikační vrstvy jsou mechanismy pro přenos elektronické pošty. Naopak, rozhraní e-mailového klienta už součástí aplikační vrstvy není, to si již každý výrobce může udělat jaké chce. V této vrstvě se dále typicky nachází programy pro řízení databází, souborové a tiskové servery a příkazy operačního systému. Je to jediná vrstva, do které má uživatel přístup.
Zkrácený přehled všech sedmi vrstev RM ISO/OSI spolu s jejich funkcí je uveden
v Tab. 1.
Název vrstvy |
Funkce vrstvy |
Aplikační |
Vytvoření zprávy v aplikaci. |
Prezentační |
Převedení zprávy do srozumitelného formátu pro příjemce. |
Relační |
Vytvoření spojení s příjemcem a jeho údržba. |
Transportní |
Dohled nad spolehlivým přenosem zpráv, opravy chyb, vytvoření packetů. |
Síťová |
Vytvoření trasy a opatření packetů adresami a dalšími náležitostmi. |
Linková |
Vytvoření rámců a jejich vysílání. |
Fyzická |
Přenos bitů elektrickými nebo optickými signály. |
Tab. 1: Přehled funkcí jednotlivých vrstev RM ISO/OSI
Na závěr uvedeme jednoduchou mnemotechnickou pomůcku k zapamatování vrstev RM ISO/OSI:
Aplikace potkala prezentaci, zrealizovaly transport sítí, spojily se fyzicky.